1.引言
溫度是一個十分重要的物理量,對它的測量與控制有十分重要的意義。隨著現(xiàn)代工農(nóng)業(yè)技術的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度:如大氣及空調房中溫度的高低,直接影響著人們的身體健康;在大規(guī)模集成電路生產(chǎn)線上,環(huán)境溫度不適當,會嚴重影響產(chǎn)品的質量。由此作者提出設計一種基于工業(yè)通用的CAN總線標準的嵌入式測溫系統(tǒng),該系統(tǒng)能自動監(jiān)測被測對象的溫度,并且能通過CAN總線對溫度進行遠程監(jiān)視和網(wǎng)絡控制的智能測溫系統(tǒng)。
2.整體系統(tǒng)設計
根據(jù)所給的設計要求,即具有數(shù)字顯示、鍵盤輸入、溫度自動采樣、能通過CAN(Controller Area Network)總線與上位機進行通信、異常情況自動報警等功能。我們可以構架出此智能溫度儀表的整體設計框圖如下圖1所示。從圖中可以看出整體硬件電路設計主要
500)this.style.width=500;" border="0" />
包括:微處理器8051部分、電源電路部分、溫度信號輸入部分、鍵盤輸入部分、CAN總線通信部分、LED顯示部分[1]。限于篇幅原因,作者在本文將重點介紹溫度信號輸入和CAN總線通信部分的具體電路設計。
3.溫度輸入電路設計
MAX6675是MAXIM公司生產(chǎn)的基于SPI(Serial Peripheral Interface) 串行外設接口總線的專用芯片,它不僅能對K型熱電偶進行冷端溫度補償,還能對熱電勢信號進行數(shù)字化處理??蓮V泛用于工業(yè)、儀器儀表、自動化等領域[2]。
3.1 MAX6675的結構及工作原理
MAX6675的具體內(nèi)部結構框圖如圖2所示。GND為地。UCC接電源的正極,該端需經(jīng)外部
500)this.style.width=500;" border="0" />
圖2 MAX6675的內(nèi)部框圖
0.1μF電容接地。T-接K型熱電偶的冷端,并從外部接地。T+接熱電偶的熱端。SCK為串行輸入端,SO為串行輸出端。 500)this.style.width=500;" border="0" />為片選端,當 500)this.style.width=500;" border="0" />=0(低電平)時,串行接口有效。NC為空腳。主要包括8個部分:①低噪聲電壓放大器A1;②電壓跟隨器A2;③冷端溫度補償二極管;④基準電壓源;⑤數(shù)字控制器;⑥12位ADC;⑦SPI串行接口(SCK、SO、 );⑧模擬開關(S1—S5)。其工作原理如下:K型熱電偶產(chǎn)生的熱電勢(e)經(jīng)過A1、A2得到放大后的熱電勢信號U1,再經(jīng)過S4送給ADC。有公式:
U1=αTΔT=αT(T-T0)
其中:αT為K型熱電偶的電壓溫度系數(shù)。αT=41μV/℃。T和T0分別為被測溫度、冷端的環(huán)境溫度。與此同時,冷端溫度補償二極管將T0轉換成補償電壓U2,有公式:U2=αTT0,U2通過S5送給ADC。在數(shù)字控制器的控制下,ADC首先將U1、、U2轉換成數(shù)字量,再將U1、和U2相加并除以αT,即獲得輸出電壓UO的數(shù)據(jù),該數(shù)據(jù)就代表測量點的實際溫度值T。需要指出,U2為毫伏級信號,e為微伏級信號,因此e必須首先放大成U1,二者才能相加。
3.2由MAX6675構成的測溫系統(tǒng)
由MAX6675構成的測溫系統(tǒng)電路如圖3所示。將K型熱電偶KH1的T+和T-分別接到MAX6675芯片的T+和T-的引腳上。MAX6675的 為片選端口接到CPU的P1.2引腳、SO輸出端口接到CPU的P1.0引腳、SCK輸入端口接到CPU的P1.1引腳[3]。
500)this.style.width=500;" border="0" />
[!--empirenews.page--]4.CAN總線通信電路及程序設計
4.1 CAN硬件電路設計
采用AT89C51單片機微控制器、獨立CAN通信控制器SJA1000、CAN總線驅動器PCA82C250及復位電路IMP708組成的CAN應用節(jié)點具體電路如下圖4所示[4]。為了提高系統(tǒng)的抗干擾能力,本設計在SJA1000和CAN總線驅動器PCA82C250之間增加了光電隔離器6N137。
500)this.style.width=500;" border="0" />
4.2 CAN通信程序設計
CAN應用節(jié)點的通信程序設計主要包括三部分:初始化子程序、發(fā)送子程序、接收子程序,各個部分的具體程序如下[5]:
(1)CAN總線初始化子程序
NODE EQU 30H ;節(jié)點號緩沖區(qū)
NBTR0 EQU 31H ;總線定時寄存器0緩沖區(qū)
NBTR1 EQU 32H ;總線定時寄存器1緩沖區(qū)
…;定義RAM內(nèi)發(fā)送TXBF、接收RXBF緩沖區(qū),即40H與50H
…;再定義相應的控制CR、命令CMR、狀態(tài)SR、中斷IR寄存器,即0BF00H-0BF04H
AMR EQU 0BF05H ;接收碼屏蔽寄存器
BTR0 EQU 0BF06H ;總線定時寄存器0
BTR1 EQU 0BF07H ;總線定時寄存器1
OCR EQU 0BF08H ;輸出控制寄存器
CDR EQU 0BF1FH ;時鐘分頻寄存器
… ;定義接收RXB、發(fā)送TXB緩沖器,即0BF14H與0BF0AH
CANINI: MOV DPTR,#CR ;寫控制寄存器
MOV A,#01H ;置復位請求為高
MOVX @DPTR, A
CANI1: MOVX A, @DPTR ;判斷復位請求有效
JNB ACC.0, CANI1
MOV DPTR, #ACR ;寫接收碼寄存器
MOV A, NODE ;設置節(jié)點號
MOVX @DPTR, A
MOV DPTR, #AMR ;寫接收碼屏蔽寄存器
MOV A, #00H[!--empirenews.page--]
MOVX @DPTR, A
MOV DPTR, #BTR0 ;寫總線定時寄存器0
MOV A , NBTR0 ;設置波特率
MOVX @DPTR, A
… ;同上三行進行寫總線定時寄存器1并設置好波特率
MOV DPTR, #OCR ;寫輸出控制寄存器
MOV A, #OFAH
MOV @DPTR, A
MOV DPTR, #CDR ;寫時鐘分頻寄存器
MOV A, #00H ;將CAN工作模式設為BasicCAN模式時鐘2分頻
MOVX @DPTR, A
MOV DPTR, #CR ;寫控制寄存器
MOV A, #0EH ;開放中斷源
MOVX @DPTR, A
(2)CAN總線接收子程序
RXSB: MOV DPTR, #SR ;讀狀態(tài)寄存器判斷接收緩沖區(qū)滿
MOVX A, @DPTR
JNB ACC.0, RXSB
RXSB1: MOV DPTR, #RXB ;將接收的數(shù)據(jù)放在CPU RAM區(qū)
MOV R0, #RXBF
MOVX A, @DPTR
MOV @R0, A
INC R0
INC DPTR
MOVX A, @DPTR
MOV @R0, A
MOV B, A
RXSB2: INC DPTR
INC R0
MOVX A, @DPTR
MOV @R0, A
DJNZ B, RXSB2
MOV DPTR, #CMR ;接收完畢釋放接收緩沖區(qū)
MOV A, #04H
MOVX @DPTR, A
MOV DPTR, #SR ;讀此狀態(tài)寄存器
MOVX A, @DPTR
…;判斷ACC.1、ACC.7、ACC.6,分別跳到DATAOVER、BUSWRONG、CNTWRONG
SJMP RECEEND
DATAOVER:做相應的數(shù)據(jù)益處錯誤處理后直接跳到RECEEND
BUSWRONG:做總線錯誤處理后直接跳到RECEEND
CNTWRONG:做數(shù)據(jù)錯誤處理
RECEEND: ;接收任務結束
(3)CAN總線發(fā)送子程序
TXSB: MOV DPTR, #SR ;讀狀態(tài)寄存器
MOVX A, @DPTR ;判斷發(fā)送緩沖區(qū)狀態(tài)
JNB ACC.2, TXSB
MOV R1, #TXBF
MOV DPTR, #TXB
TX1: MOV A, @R1 ;向發(fā)送緩沖區(qū)10填入標示符
MOVX @DPTR, A
INC R1
INC DPTR
MOV A, @R1 ;向發(fā)送緩沖區(qū)11填入數(shù)據(jù)長度
MOVX @DPTR, A
MOV B, A
TX2: INC R1
INC DPTR
MOV A, @R1 ;向發(fā)送緩沖區(qū)12到19送數(shù)據(jù)
MOVX @DPTR, A
DJNZ B, TX2
MOV DPTR, #CMR ;置CMR.0為1請求發(fā)送
MOV A, #01H
MOVX @DPTR, A
5.設計總結
根據(jù)上述的嵌入式溫度測量系統(tǒng)設計出的測溫系統(tǒng)能通過熱電偶實現(xiàn)自動溫度信號采集,再由MAX6675將此信號轉換成12位的數(shù)字信號輸入到微處理器,讓微處理器對它進行自動處理后送到LED顯示器顯示出來,也可以通過CAN總線送向上位機,實現(xiàn)遠程測量溫度和網(wǎng)絡監(jiān)視控制的功能。整個系統(tǒng)采用12位的高速的模數(shù)轉換系統(tǒng),使其溫度測量誤差可以達到小于0.1°C,同時系統(tǒng)也具有良好的實時性[6]。本文作者創(chuàng)新點:運用嵌入式系統(tǒng)設計思想和方法、結合相應的測溫精度和實時性、采用CAN工業(yè)通信總線標準,設計出一種基于CAN總線的嵌入式測溫系統(tǒng),此系統(tǒng)可以作為一種通用的小型測溫系統(tǒng)使用也可以嵌入到其他大型的工業(yè)檢測與控制系統(tǒng)中。
經(jīng)過幾十年發(fā)展,嵌入式技術已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強的屬性,讓很多非嵌入式領域的同學望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領域,不僅吸引...
關鍵字: 嵌入式 物聯(lián)網(wǎng) 技術隨著IT技術飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)進入了“物聯(lián)網(wǎng)”時代。物聯(lián)網(wǎng)中需要的大量設備不在依賴人與人之間的交互產(chǎn)生聯(lián)系,更多通過協(xié)議、通信、程序設計等方式連接到一處。即 “物聯(lián)網(wǎng)”的目的則是讓所有的物品都具有計算機的智能但并不以通...
關鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...
關鍵字: 系統(tǒng)設計 技術選型 需求分析萬物智聯(lián)時代,嵌入式技術及其應用的形態(tài)將更加豐富和多元,同時也將日益呈現(xiàn)深度物理融合、混合架構共存、群體智能協(xié)同、網(wǎng)絡安全攸關等諸多新的計算特性。顯然,經(jīng)典的嵌入式系統(tǒng)體系結構、軟硬件技術和開發(fā)方法都已很難應對新趨勢下的...
關鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機物聯(lián)網(wǎng)是新一代信息技術的重要組成部分,是互聯(lián)網(wǎng)與嵌入式系統(tǒng)發(fā)展到高級階段的融合。通用計算機經(jīng)歷了從智慧平臺到互聯(lián)網(wǎng)的獨立發(fā)展道路;嵌入式系統(tǒng)則經(jīng)歷了智慧物聯(lián)到局域智慧物聯(lián)的獨立發(fā)展道路。
關鍵字: 嵌入式 物聯(lián)網(wǎng) 計算機隨著工業(yè)4.0、醫(yī)療電子、智能家居、物流管理和電力控制等快速的發(fā)展和推進,嵌入式系統(tǒng)利用自身的技術特點,逐漸成為眾多行業(yè)的標配產(chǎn)品。嵌入式系統(tǒng)具有可控制、可編程、成本低等,它在未來的工業(yè)和生活中有著廣闊的應用前景。在現(xiàn)在...
關鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能長久來看,嵌入式只會越來越火,隨著人工智能時代的發(fā)展,嵌入式必定又將迎來一次浪潮和技術的巨大變革。人工智能越是想要表達智能水平,就越要依靠嵌入式技術,嵌入式技術將朝著自動化控制和人機交互發(fā)展。嵌入式因其體積小、可靠性高、...
關鍵字: 嵌入式 物聯(lián)網(wǎng) 人工智能