<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CAN總線(xiàn)在測溫系統中的應用

CAN總線(xiàn)在測溫系統中的應用

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

控制器局部網(wǎng)(controller area network,CAN)屬于現場(chǎng)總線(xiàn)的范疇,它是一種有效支持分布式控制的串行通訊網(wǎng)絡(luò ),被公認為是最有前途的現場(chǎng)總線(xiàn)之一。本文利用MAX6675測溫芯片作為傳感器,使用CAN總線(xiàn)標準設計了一種智能測溫系統(適用范圍0℃~+1023.5℃)。該系統精度高(±0.5℃)、可靠性好、結構簡(jiǎn)單、成本低,在適用范圍內可取代傳統的測溫系統,對該系統稍加修改,可使它應用于在多種測溫場(chǎng)合。

本文引用地址:http://dyxdggzs.com/article/201609/303295.htm

1 硬件設計

硬件電路由微處理器、CAN控制器、測溫芯片MAX6675、LED、鍵盤(pán)、復位電路、蜂鳴器等幾部分組成,如圖1所示。單片機AT89C51是硬件電路的核心,承擔CAN 控制器的初始化、數據收發(fā)控制等任務(wù);CAN總線(xiàn)控制器用于同上位機進(jìn)行遠程通訊,能夠獨立完成CAN總線(xiàn)上數據的接收和發(fā)送工作;MAX6675芯片用于檢測和發(fā)送溫度數據。

圖2 測溫電路圖

MAX6675從I/O口線(xiàn)輸出數據的具體過(guò)程如下:P12端口輸出的低電平將CS變低,并提供時(shí)鐘信號給SCK,由SO口讀取測量結果。CS變低,將停止任何轉換過(guò)程,CS變高將啟動(dòng)一個(gè)新的轉換過(guò)程。

一個(gè)完整串行接口讀操作需16個(gè)時(shí)鐘周期,在時(shí)鐘的下降沿讀16個(gè)輸出位。第15位是偽標志位,并總為0;第14位到第3位為以MSB到LSB順序排列的轉換溫度值;第2位平時(shí)為低,當熱電偶輸入開(kāi)放時(shí)為高,開(kāi)放熱電偶檢測電路完全由MAX6675實(shí)現,為開(kāi)放熱電偶檢測器操作,T-必須接地,并使能地點(diǎn)盡可能接近GND 腳;第1位為低以提供MAX6675器件身份碼,第0位為三態(tài)標志位 。

1.2的通信節點(diǎn)電路

通信節點(diǎn)采用PHILIPS公司生產(chǎn)的符合CAN2.0B協(xié)議的獨立CAN通信控制器SJA1000及CAN收發(fā)器PCA82C250組成與其他智能節點(diǎn)或上位機的通信接口,實(shí)現數據傳輸。CAN控制器SJA1000工作在中斷模式,通過(guò)其中斷輸出引腳向CPU申請中斷,CPU在中斷子程序內完成對上位機命令的解釋與執行。CAN通信節點(diǎn)電路如圖3所示。

圖4 溫度采集程序流程圖

2.2 CAN通訊節點(diǎn)設計

CAN接口通信軟件設計主要分為三部分:CAN初始化、數據發(fā)送、數據接收。

2.2.1 CAN控制器SJA1000的初始化

CAN初始化主要是設置SJA1000的參數。需要初始化的CAN控制寄存器有:模式寄存器、時(shí)分寄存器、接收代碼寄存器、屏蔽寄存器、總線(xiàn)定時(shí)寄存器、輸出控制寄存器。這些寄存器只能在CAN控制器處于復位狀態(tài)下才可寫(xiě)訪(fǎng)。設SJA1000的首地址是0BF00H。初始化子程序如下:

CR EQU 0BF00H; 控制寄存器

CMR EQU 0BF01H; 命令寄存器

SR EQU 0BF02H; 狀態(tài)寄存器

IR EQU 0BF03H; 中斷寄存器

ACR EQU 0BF04H; 驗收碼寄存器

AMR EQU 0BF05H; 驗收屏蔽寄存器

BTR0 EQU 0BF06H; 總線(xiàn)定時(shí)寄存器0

BTR1 EQU 0BF07H; 總線(xiàn)定時(shí)寄存器1

OCR EQU 0BF08H; 輸出控制寄存器

CANINI:MOV DPTR,#CR ;開(kāi)始初始化

MOV A,#01H ;置復位請求為高

MOVX @DPTR,A

CANI1:MOVX A,@DPTR ;判復位請求有效

JNB ACC.0,CAN I1

MOV DPTR,#ACR ;寫(xiě)接收碼寄存器

MOV A,NODE;設置接點(diǎn)號

MOVX @DPIR,A

MOV DPTR,#AMR;寫(xiě)接收碼屏蔽寄存器

MOV A,#00H

MOVX @DPTR,A

MOV DPTR,#BTR0;寫(xiě)總線(xiàn)定時(shí)寄存器0

MOV A,NBTR0;設置波特率

MOVX @DPIR,A

MOV DPTR,#BTR1;寫(xiě)總線(xiàn)定時(shí)寄存器1

MOV A,NBTR1

MOVX @DPTR,A

MOV DPTR,#OCR;寫(xiě)輸出控制寄存器

MOV A,#0FAH

MOV @DPTR,A

MOV DPTR,#CDR;寫(xiě)時(shí)鐘分頻寄存器

MOV A,#00H ;設定工作模式

MOVX @DfTR ,A

MOV DPTR,#CR ;寫(xiě)控制寄存器

MOV A,#0EH ;開(kāi)放中斷源

MOVX @DPTR,A

RET

2.2.2 CAN接收與發(fā)送數據程序

發(fā)送數據程序把數據存儲區中待發(fā)送的數據取出,組成數據幀,并將主機的ID地址填人幀頭,然后將數據幀發(fā)送到CAN 控制器的發(fā)送緩沖區。其數據幀形式如下:

幀起始→仲裁場(chǎng)→控制場(chǎng)→數據場(chǎng)(8B)→CRC場(chǎng)→ACK場(chǎng)→幀結束。

在接收到主機的發(fā)送請求后,發(fā)送程序啟動(dòng)發(fā)送命令。數據從CAN控制器發(fā)送到總線(xiàn)是由CAN控制器自動(dòng)完成的。數據從CAN總線(xiàn)到CAN控制器的接收緩沖區也是由CAN控制器自動(dòng)完成的。接收程序只需從接收緩沖區讀取數據,并將其存儲在數據存儲區。接收和發(fā)送數據的中斷程序流程如圖5、圖6所示。

圖5 接收數據的中斷程序流程 圖6 發(fā)送數據的中斷程序流程

3 結語(yǔ)

基于CAN總線(xiàn)的智能測溫系統具有測量范圍廣、精度高、環(huán)境適應能力強等特點(diǎn)。該系統通過(guò)CAN適配器與計算機連接,可以方便地構成分布式測控系統。已經(jīng)成功應用于CNC精密成型磨削設備數控的研制項目中。此外,該智能測溫系統在電力、油田、樓宇、冶金等工業(yè)自動(dòng)化領(lǐng)域可具有廣泛的應用前景。



關(guān)鍵詞: CAN總線(xiàn) 測溫系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>