《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于CAN总线的嵌入式测温系统设计
基于CAN总线的嵌入式测温系统设计
微计算机信息
周华茂 程小辉 王新政
摘要: 基于CAN总线的嵌入式测温系统设计,本文介绍了一种基于CAN总线的嵌入式温度测量系统的设计,系统主要采用单片机控制,运用热电偶与MAX6675集成块组成具体的温度采集电路,将采集好的数据送入单片机进行数据处理后通过CAN总线硬件电路及软件通信程序传送给上位机,最后实现对被测对象的温度进行远程监视和网络控制的功能。<br />
Abstract:
Key words :

1.引言
溫度是一個十分重要的物理量,對它的測量與控制有十分重要的意義。隨著現代工農業技術的發展及人們對生活環境要求的提高,人們也迫切需要檢測與控制溫度:如大氣及空調房中溫度的高低,直接影響著人們的身體健康;在大規模集成電路生產線上,環境溫度不適當,會嚴重影響產品的質量。由此作者提出設計一種基于工業通用的CAN總線標準的嵌入式測溫系統,該系統能自動監測被測對象的溫度,并且能通過CAN總線對溫度進行遠程監視和網絡控制的智能測溫系統。
2.整體系統設計
根據所給的設計要求,即具有數字顯示、鍵盤輸入、溫度自動采樣、能通過CAN(Controller Area Network)總線與上位機進行通信、異常情況自動報警等功能。我們可以構架出此智能溫度儀表的整體設計框圖如下圖1所示。從圖中可以看出整體硬件電路設計主要


包括:微處理器8051部分、電源電路部分、溫度信號輸入部分、鍵盤輸入部分、CAN總線通信部分、LED顯示部分[1]。限于篇幅原因,作者在本文將重點介紹溫度信號輸入和CAN總線通信部分的具體電路設計。                      
3.溫度輸入電路設計
MAX6675是MAXIM公司生產的基于SPI(Serial Peripheral Interface) 串行外設接口總線的專用芯片,它不僅能對K型熱電偶進行冷端溫度補償,還能對熱電勢信號進行數字化處理。可廣泛用于工業、儀器儀表、自動化等領域[2]。
3.1 MAX6675的結構及工作原理
MAX6675的具體內部結構框圖如圖2所示。GND為地。UCC接電源的正極,該端需經外部


圖2  MAX6675的內部框圖
0.1μF電容接地。T-接K型熱電偶的冷端,并從外部接地。T+接熱電偶的熱端。SCK為串行輸入端,SO為串行輸出端。 為片選端,當 =0(低電平)時,串行接口有效。NC為空腳。主要包括8個部分:①低噪聲電壓放大器A1;②電壓跟隨器A2;③冷端溫度補償二極管;④基準電壓源;⑤數字控制器;⑥12位ADC;⑦SPI串行接口(SCK、SO、 );⑧模擬開關(S1—S5)。其工作原理如下:K型熱電偶產生的熱電勢(e)經過A1、A2得到放大后的熱電勢信號U1,再經過S4送給ADC。有公式:
U1=αTΔT=αT(T-T0)
其中:αT為K型熱電偶的電壓溫度系數。αT=41μV/℃。T和T0分別為被測溫度、冷端的環境溫度。與此同時,冷端溫度補償二極管將T0轉換成補償電壓U2,有公式:U2=αTT0,U2通過S5送給ADC。在數字控制器的控制下,ADC首先將U1、、U2轉換成數字量,再將U1、和U2相加并除以αT,即獲得輸出電壓UO的數據,該數據就代表測量點的實際溫度值T。需要指出,U2為毫伏級信號,e為微伏級信號,因此e必須首先放大成U1,二者才能相加。
3.2由MAX6675構成的測溫系統
由MAX6675構成的測溫系統電路如圖3所示。將K型熱電偶KH1的T+和T-分別接到MAX6675芯片的T+和T-的引腳上。MAX6675的 為片選端口接到CPU的P1.2引腳、SO輸出端口接到CPU的P1.0引腳、SCK輸入端口接到CPU的P1.1引腳[3]。


4.CAN總線通信電路及程序設計
4.1 CAN硬件電路設計
采用AT89C51單片機微控制器、獨立CAN通信控制器SJA1000、CAN總線驅動器PCA82C250及復位電路IMP708組成的CAN應用節點具體電路如下圖4所示[4]。為了提高系統的抗干擾能力,本設計在SJA1000和CAN總線驅動器PCA82C250之間增加了光電隔離器6N137。

4.2 CAN通信程序設計
CAN應用節點的通信程序設計主要包括三部分:初始化子程序、發送子程序、接收子程序,各個部分的具體程序如下[5]:
(1)CAN總線初始化子程序
NODE    EQU    30H ;節點號緩沖區
NBTR0   EQU    31H ;總線定時寄存器0緩沖區
NBTR1   EQU    32H ;總線定時寄存器1緩沖區
…;定義RAM內發送TXBF、接收RXBF緩沖區,即40H與50H
…;再定義相應的控制CR、命令CMR、狀態SR、中斷IR寄存器,即0BF00H-0BF04H
AMR     EQU   0BF05H ;接收碼屏蔽寄存器
BTR0    EQU    0BF06H ;總線定時寄存器0
BTR1    EQU    0BF07H ;總線定時寄存器1
OCR     EQU    0BF08H ;輸出控制寄存器
CDR     EQU    0BF1FH ;時鐘分頻寄存器
   … ;定義接收RXB、發送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       ;設置節點號
MOVX   @DPTR,  A
MOV     DPTR, #AMR  ;寫接收碼屏蔽寄存器
MOV    A, #00H
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  ;讀狀態寄存器判斷接收緩沖區滿
        MOVX   A, @DPTR
        JNB      ACC.0, RXSB
  RXSB1: MOV     DPTR, #RXB  ;將接收的數據放在CPU RAM區
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  ;接收完畢釋放接收緩沖區
MOV     A, #04H
MOVX    @DPTR, A
MOV      DPTR, #SR  ;讀此狀態寄存器
MOVX    A, @DPTR
…;判斷ACC.1、ACC.7、ACC.6,分別跳到DATAOVER、BUSWRONG、CNTWRONG
SJMP   RECEEND
DATAOVER:做相應的數據益處錯誤處理后直接跳到RECEEND
BUSWRONG:做總線錯誤處理后直接跳到RECEEND
CNTWRONG:做數據錯誤處理
RECEEND: ;接收任務結束
(3)CAN總線發送子程序
    TXSB: MOV     DPTR, #SR   ;讀狀態寄存器
MOVX    A, @DPTR   ;判斷發送緩沖區狀態
JNB       ACC.2, TXSB
MOV      R1, #TXBF
MOV      DPTR, #TXB
TX1: MOV      A, @R1       ;向發送緩沖區10填入標示符
MOVX    @DPTR, A
INC       R1
INC       DPTR
MOV      A, @R1       ;向發送緩沖區11填入數據長度
MOVX     @DPTR, A
MOV      B, A
TX2:  INC       R1
INC       DPTR
MOV      A, @R1    ;向發送緩沖區12到19送數據
MOVX     @DPTR, A
DJNZ      B, TX2
MOV      DPTR, #CMR  ;置CMR.0為1請求發送
MOV      A, #01H
MOVX    @DPTR, A
5.設計總結
    根據上述的嵌入式溫度測量系統設計出的測溫系統能通過熱電偶實現自動溫度信號采集,再由MAX6675將此信號轉換成12位的數字信號輸入到微處理器,讓微處理器對它進行自動處理后送到LED顯示器顯示出來,也可以通過CAN總線送向上位機,實現遠程測量溫度和網絡監視控制的功能。整個系統采用12位的高速的模數轉換系統,使其溫度測量誤差可以達到小于0.1°C,同時系統也具有良好的實時性[6]。本文作者創新點:運用嵌入式系統設計思想和方法、結合相應的測溫精度和實時性、采用CAN工業通信總線標準,設計出一種基于CAN總線的嵌入式測溫系統,此系統可以作為一種通用的小型測溫系統使用也可以嵌入到其他大型的工業檢測與控制系統中。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品美女久久久久av福利| 99久久99| 欧美亚洲国产成人精品| 久久夜色精品国产亚洲aⅴ| 国产在线视频91| 欧美日韩免费精品| 日本最新一区二区三区视频观看| 亚洲综合在线播放| 亚洲日本精品国产第一区| 在线视频一二三区| 日韩中文字幕国产精品| 日本国产一区二区三区| 91精品中文在线| 97久久精品国产| 91精品视频在线播放| 99精品视频网站| 中文字幕欧美日韩一区二区| 777精品久无码人妻蜜桃| www日韩av| 日韩一二区视频| 欧美日韩一区在线视频| 日本高清久久天堂| 欧美 日韩 国产精品| 日韩欧美一区三区| 不卡一区二区三区视频| 97精品视频在线| wwwwww欧美| 91九色国产社区在线观看| 中文精品视频一区二区在线观看 | 91免费精品视频| 亚洲一区中文字幕| 日本婷婷久久久久久久久一区二区 | 欧美日韩一区二| 久久久久久美女| 国产在线观看不卡| 亚洲激情免费视频| 欧美成人中文字幕| 国产精品91一区| 日韩免费中文专区| 激情五月婷婷六月| 91国产一区在线|