国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CAN 總線的遠(yuǎn)程溫度采集系統(tǒng)*

2015-11-28 03:06:38王奧運(yùn)范冰新潘文強(qiáng)高宏峰
山西電子技術(shù) 2015年3期
關(guān)鍵詞:子程序寄存器報(bào)文

王奧運(yùn),范冰新,潘文強(qiáng),高宏峰

(河南科技大學(xué) 信息工程學(xué)院,河南 洛陽(yáng) 471023)

溫度測(cè)量是人們?nèi)粘I钪薪?jīng)常遇到的問(wèn)題,在工農(nóng)業(yè)生產(chǎn)、地質(zhì)勘探、國(guó)防科研等領(lǐng)域扮演著重要的角色,對(duì)溫度進(jìn)行準(zhǔn)確的測(cè)量顯得尤為重要,而在人工操作不便的偏遠(yuǎn)地區(qū)、氣候惡略地帶,需要使用自動(dòng)測(cè)溫系統(tǒng)進(jìn)行溫度的測(cè)量。

控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)是一種串行雙向通信的總線[1]。它采用多主工作方式,能夠支持分布控制和實(shí)時(shí)控制。CAN 總線能在遠(yuǎn)距離傳輸上保持較高的通信速率,其網(wǎng)絡(luò)節(jié)點(diǎn)可達(dá)110 個(gè)[2]。CAN 總線協(xié)議建立在OSI 模型基礎(chǔ)上的,已成為國(guó)際化標(biāo)準(zhǔn)并在工業(yè)測(cè)控和工業(yè)自動(dòng)化領(lǐng)域廣泛應(yīng)用。

本文實(shí)現(xiàn)了一種遠(yuǎn)程溫度采集系統(tǒng)。該系統(tǒng)含有多個(gè)智能的測(cè)溫模塊,在每個(gè)節(jié)點(diǎn)位置上的測(cè)溫模塊不僅可以獨(dú)立的進(jìn)行溫度測(cè)量采集,而且它們還可通過(guò)CAN 總線連接起來(lái)集中的管理和監(jiān)控。

1 系統(tǒng)總體結(jié)構(gòu)

溫度采集系統(tǒng)總體結(jié)構(gòu)如圖1 所示。位于現(xiàn)場(chǎng)的智能節(jié)點(diǎn)構(gòu)成單個(gè)溫度采集模塊,諸多溫度采集模塊構(gòu)成了整個(gè)溫度采集系統(tǒng),系統(tǒng)通過(guò)CAN 總線對(duì)各節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行實(shí)時(shí)地采集和傳輸,發(fā)送到CAN 總線上的數(shù)據(jù)可傳送到上位計(jì)算機(jī),通過(guò)上位計(jì)算機(jī)實(shí)現(xiàn)集中監(jiān)控和管理。

圖1 系統(tǒng)總體結(jié)構(gòu)

2 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)的智能節(jié)點(diǎn)由STC89C52 微控制器和其外圍電路組成。外圍電路包含測(cè)溫電路、CAN 總線接口電路、LCD 顯示模塊等部分。下面就主要部分進(jìn)行詳細(xì)地介紹。

2.1 微處理器

本系統(tǒng)采用能夠兼容8051 的STC 系列中的STC89C52微處理器。STC89C52 微處理器集成了微處理器模塊、存儲(chǔ)器模塊和輸入/輸出接口模塊的8 位嵌入式微控制器芯片。其存儲(chǔ)器模塊包含8 kB 內(nèi)部程序存儲(chǔ)器、512 數(shù)據(jù)存儲(chǔ)器以及內(nèi)置4KB 的EEPROM;輸入/輸出接口模塊包含4 個(gè)8 位并行的I/O 端口、32 個(gè)可編程的I/O 引腳。

2.2 測(cè)溫電路

測(cè)溫電路采用單總線器件DS18B20 實(shí)現(xiàn)。DS18B20 內(nèi)部集成了溫度傳感器和模數(shù)轉(zhuǎn)換器,其溫度測(cè)量范圍包含在-55 ℃+125 ℃與之間。它在一定的溫度范圍其精度可達(dá)0.5 ℃。DS18B20 采用單一總線方式傳輸,接線方式經(jīng)濟(jì)靈活,既降低了硬件的成本又提高了系統(tǒng)的可靠性。DS18B20通過(guò)位片序列號(hào),可實(shí)現(xiàn)將多個(gè)DS18B20 掛接在一根單總線上,因此可以將該溫度傳感器放在不同的地方,進(jìn)行多節(jié)點(diǎn)溫度的采集。STC89C52 可按照DS18B20 的序列號(hào)得到不同節(jié)點(diǎn)上的溫度值[3]。這是本文實(shí)現(xiàn)遠(yuǎn)程溫度采集系統(tǒng)的關(guān)鍵。DS18B20 與STC89C52 的連接如圖2 所示。數(shù)字輸入輸出端DQ 與單片機(jī)的P2.3 口相連。

圖2 DS18B20 與單片機(jī)的連接

2.3 CAN 總線接口電路

本系統(tǒng)采用了CAN 總線通信技術(shù),以便于數(shù)據(jù)及時(shí)而有效的傳輸。CAN 總線接口電路由CAN 總線控制器SJA1000 和CAN 總線收發(fā)器82C50 兩部分組成。其結(jié)構(gòu)如圖3 所示。

圖3 CAN 總線接口電路

CAN 總線控制器芯片SJA1000 是一種獨(dú)立控制器。其具有完成CAN 通信協(xié)議所要求的全部特性[4]。CAN 總線收發(fā)控制器82C50 是CAN 總線控制器與物理總線之間的接口。其具有差動(dòng)發(fā)送和差動(dòng)接收能力[5]。CAN 總線通信協(xié)議由CAN 控制器芯片和接口芯片共同作用實(shí)現(xiàn),本系統(tǒng)在C語(yǔ)言編程設(shè)計(jì)中采用的是BasicCAN 協(xié)議模式。

3 系統(tǒng)軟件設(shè)計(jì)

本遠(yuǎn)程溫度采集系統(tǒng)的軟件設(shè)計(jì)主要包括兩部分:CAN總線接口軟件部分和溫度采集軟件部分。CAN 總線接口軟件設(shè)計(jì)包括:SJA1000 的初始化、CAN 總線數(shù)據(jù)的發(fā)送和溫度的接收。系統(tǒng)軟件設(shè)計(jì)是在STC 系列單片機(jī)的C 語(yǔ)言編程環(huán)境下編寫(xiě)的。

3.1 CAN 控制器SJA1000 的初始化

CAN 總線節(jié)點(diǎn)的軟件設(shè)計(jì)首先要進(jìn)行CAN 控制器SJA1000 初始化。SJA1000 初始化是在復(fù)位情況下默認(rèn)的BasicCAN 模式下進(jìn)行的。其主要包括設(shè)置CAN 模式位選擇工作模式,設(shè)置相應(yīng)的寄存器定義接收濾波方式和總線定時(shí)器。另外還有中斷允許寄存器和輸出模式的設(shè)置等[6]。

首先SJA1000 在上電復(fù)位進(jìn)入默認(rèn)BasicCAN 模式,設(shè)置總線定時(shí)寄存器BTR0 和BTR1 值。所有節(jié)點(diǎn)的這兩個(gè)總線定時(shí)寄存器設(shè)置都應(yīng)相同,否則系統(tǒng)可能無(wú)法通信。通過(guò)設(shè)置這兩個(gè)寄存器從而確定系統(tǒng)的通信波特率和同步跳轉(zhuǎn)寬度。在復(fù)位模式中總線定時(shí)寄存器可被讀/寫(xiě)訪問(wèn)。驗(yàn)收濾波器通過(guò)驗(yàn)收代碼寄存器ACR 和驗(yàn)收屏蔽寄存器AMR來(lái)設(shè)置。其次設(shè)置OCR 確定CAN 控制器輸出方式。SJA1000 初始化完畢,系統(tǒng)即可成功傳輸報(bào)文。

3.2 CAN 總線數(shù)據(jù)發(fā)送/接收子程序

CAN 總線發(fā)送子程序完成報(bào)文的發(fā)送。CAN 總線數(shù)據(jù)發(fā)送子程序流程圖如圖4 所示。程序先把待發(fā)送的信息按照要求的格式組成單幀報(bào)文,并將其寫(xiě)入SJA1000 的發(fā)送緩存寄存器。將SJA1000 的命令寄存器CMR 第0 位置1 提出發(fā)送請(qǐng)求,開(kāi)始發(fā)送報(bào)文[7]。

CAN 總線數(shù)據(jù)接收子程序完成報(bào)文的接收。CAN 總線接收子程序流程圖如圖5 所示。接收數(shù)據(jù)采用中斷方式。當(dāng)SJA1000 收到一幀報(bào)文時(shí),將報(bào)文濾波后存放在接收緩沖器內(nèi),再釋放接收緩沖區(qū),等待下面的報(bào)文接收。程序在接收?qǐng)?bào)文時(shí),還要處理單片機(jī)中斷關(guān)閉、錯(cuò)誤警告、數(shù)據(jù)溢出等各種情況。具體來(lái)講,首先將CPU 關(guān)中斷,判斷狀態(tài)寄存器的RBS 位是否為1,如果為1,就可以接收數(shù)據(jù);接收完之后釋放緩沖寄存器,開(kāi)放CPU 中斷。

圖4 CAN 總線數(shù)據(jù)發(fā)送子程序流程圖

圖5 CAN 總線數(shù)據(jù)接收子程序流程圖

3.3 溫度采集軟件

根據(jù)DSl8820 的通信協(xié)議,單片機(jī)STC89C52 控制DSl8B20 完成溫度采集。溫度采集軟件流程圖如圖6 所示。讀寫(xiě)前要對(duì)DSl8B20 進(jìn)行初始化,初始化成功后發(fā)送溫度轉(zhuǎn)化指令。由此方可對(duì)DSl8B20 進(jìn)行預(yù)定的操作[8]。主機(jī)使用時(shí)隙來(lái)讀寫(xiě)DSl820 的數(shù)據(jù)位和寫(xiě)命令字的位。

圖6 溫度采集軟件流程圖

4 結(jié)束語(yǔ)

本文介紹了該系統(tǒng)的硬軟件設(shè)計(jì)及其實(shí)現(xiàn)過(guò)程。其使用STC89C52 作為主控芯片,配合DSl8820 溫度傳感器、CAN總線電路,實(shí)現(xiàn)基于CAN 總線協(xié)議的遠(yuǎn)程溫度采集。實(shí)驗(yàn)表明,該溫度采集系統(tǒng)可采集多個(gè)遠(yuǎn)程溫度采集模塊的數(shù)據(jù),每一溫度采集模塊都可對(duì)各個(gè)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行遠(yuǎn)程采集、遠(yuǎn)距離傳輸和數(shù)字顯示,系統(tǒng)通過(guò)CAN 總線對(duì)其進(jìn)行實(shí)時(shí)地的監(jiān)控和管理。

[1]鄔寬明.CAN 總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2001.

[2]陳能虎,胡榮強(qiáng).CAN 總線在多路溫度采集系統(tǒng)中的應(yīng)用[J].儀表技術(shù),2010(10):55-59.

[3]牛廣文.基于CAN 總線的分布式智能溫度采集系統(tǒng)設(shè)計(jì)[J].低壓電器,2012(7):43-45.

[4]饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線CAN 原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003.

[5]廣州周立功單片機(jī)發(fā)展有限公司.SJA1000 獨(dú)立的CAN 控制器應(yīng)用指南,2001.

[6]葉露林,吳秋芹.基于CAN 總線的溫度測(cè)控系統(tǒng)[J].電子科技,2005(8):43-45.

[7]韓成浩,高曉紅.CAN 總線技術(shù)及其應(yīng)用[J].制造業(yè)自動(dòng)化,2010(2):146-149.

[8]朱其慎.基于CAN 總線的溫室環(huán)境溫度檢測(cè)系統(tǒng)[J].安徽農(nóng)業(yè)科學(xué),2010(38):4241-4243.

猜你喜歡
子程序寄存器報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
汽車電器(2022年9期)2022-11-07 02:16:24
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
淺析反駁類報(bào)文要點(diǎn)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
ATS與列車通信報(bào)文分析
淺談子程序在數(shù)控車編程中的應(yīng)用
子程序在數(shù)控車加工槽中的應(yīng)用探索
西門(mén)子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
簡(jiǎn)化編程與子程序嵌套的應(yīng)用
科技傳播(2011年24期)2011-08-29 05:39:46
广丰县| 绥江县| 遂宁市| 临城县| 金川县| 南澳县| 甘孜县| 金坛市| 富顺县| 安国市| 柘城县| 三都| 耒阳市| 大荔县| 黑河市| 三门县| 牡丹江市| 安远县| 石首市| 邓州市| 依兰县| 泊头市| 右玉县| 南投市| 陕西省| 沙雅县| 施秉县| 涟水县| 佛冈县| 松桃| 东海县| 汕尾市| 鄯善县| 铅山县| 安乡县| 馆陶县| 蕲春县| 珠海市| 平顶山市| 长寿区| 无为县|