一種具有CAN總線(xiàn)通信的稱(chēng)重設備設計
一、稱(chēng)重設備的硬件設計
本文引用地址:http://dyxdggzs.com/article/201611/318329.htm稱(chēng)重設備硬件結構如圖1所示,主要由單片機、外部存儲器、電源電路、看門(mén)狗電路、CAN總線(xiàn)接口電路和傳感器采集電路組成。

圖1
1.單片機
本課題選用宏晶科技的STC12C5A60S2作為中央處理器。它處理速度快、功耗低、抗干擾能力強,集成了內部復位電路,2路PWM,8路高速10位A/D轉換、大容量Flash、大容量SRAM、定時(shí)/計數器以及片內R/C振蕩器和外部晶體振蕩電路等模塊,功能穩定強大。
2.外部存儲單元
外部存儲單元包括外部非易失性存儲器(E2PROM)和數據存儲器(RAM)。非易失性存儲器選用Atmel公司的存儲芯片AT24C02,主要應用于需要掉電保存歷史記錄;數據存儲器選取英特爾公司生產(chǎn)的6264RAM芯片,相當于PC機中的內存條,主要用來(lái)存放程序中間變量和參數。
3.看門(mén)狗電路
看門(mén)狗芯片選取MAX706。能夠在上電或斷電時(shí)產(chǎn)生復位信號,也能夠防止程序鎖死。為了保持系統的一致性,該設計不考慮單片機內部的看門(mén)狗,而統一采用看門(mén)狗芯片進(jìn)行監控。
4.LED指示單元
紅綠雙色LED組成了設備狀態(tài)指示燈,參照CAN協(xié)議規范,指示燈的顏色及閃爍的含義如表1所示。

表1
5.傳感器信號采集電路
稱(chēng)重傳感器信號采集電路采用電子秤常用的高精度的A/D轉換芯片HX711。它內部包含穩壓電源和時(shí)鐘振蕩電路,可以減少一些外圍電路的設計,節省了元器件和布線(xiàn)空間。
6.系統電源
電路板上所有電子元器件都采用5V電壓供電,因此選用TI公司生產(chǎn)的開(kāi)關(guān)電源芯片LM2575-5.0將現場(chǎng)總線(xiàn)上的24V電壓轉換為5V的標準電壓提供給電路板上的所有電子元器件。
7.現場(chǎng)總線(xiàn)接口電路
包括總線(xiàn)控制器芯片SJA1000、光耦和總線(xiàn)接收發(fā)送芯片PCA82C250。
采用恩智浦半導體的控制器芯片SJA1000來(lái)實(shí)現CAN總線(xiàn)中物理層與數據鏈路層的復雜網(wǎng)絡(luò )協(xié)議,通過(guò)編寫(xiě)SJA1000的驅動(dòng)程序,把應用層建立在SJA1000的基礎之上。
CAN總線(xiàn)收發(fā)器PCA82C250可以在最大1Mbps的通信速率下進(jìn)行工作。該芯片可以把控制器數據信號與總線(xiàn)的差分信號進(jìn)行相互轉換,實(shí)現傳輸和接收總線(xiàn)數據功能。
二、稱(chēng)重設備的軟件設計
1.軟件架構設計
軟件程序采用前后臺結構,包括主程序和中斷程序,其中中斷程序為外部中斷程序。從開(kāi)始進(jìn)入稱(chēng)重狀態(tài)后進(jìn)行初始化和參數配置,然后判斷是否上線(xiàn),如是則運行應用程序,循環(huán)采集重量并往總線(xiàn)發(fā)送數據;如否則進(jìn)行錯誤診斷,排除故障后繼續判斷是否上線(xiàn)。
2.稱(chēng)重傳感器數據采集的程序設計
串口通信線(xiàn)由管腳DOUT和TPD_SCK組成,當管腳DOUT輸出的數據等于高電平時(shí),表示未輸出采集數據,端口PD_SCK應為低電平。當管腳DOUT由高電平轉換成低電平后,端口PD_SCK會(huì )輸入25或者27個(gè)時(shí)鐘脈沖。從第一個(gè)時(shí)鐘脈沖的上升沿開(kāi)始讀數,直到第24個(gè)脈沖被讀完,將讀出輸出24位數據的MSB。
3.CAN現場(chǎng)總線(xiàn)接口程序設計
CAN現場(chǎng)總線(xiàn)接口程序設計包括CAN控制器SJA1000的初始化、CAN對象類(lèi)的設計和應用層協(xié)議的設計。本課題設計的稱(chēng)重設備是具備CAN現場(chǎng)總線(xiàn)通信能力的從站設備。
在設備上電和硬件復位后,為了配置CAN通信參數,需要先對CAN控制器SJA1000進(jìn)行上電初始化。初始化首先進(jìn)行關(guān)中斷,然后復位,之后設置接收代碼寄存器和屏蔽寄存器,再設置波特率和地址,最后設置輸出控制寄存器。完成后開(kāi)中斷,打開(kāi)操作模式,結束。
三、實(shí)驗設計與結果
1.實(shí)驗平臺的搭建
該實(shí)驗的測試平臺如圖2所示。傳感器采集的數據同時(shí)發(fā)送給標準負荷測量?jì)x與CAN總線(xiàn)。

圖2
2.實(shí)驗結果和分析
USB轉CAN接口模塊通道選擇Channel0,網(wǎng)絡(luò )波特率選擇250kbps,設備MAC ID濾波范圍為000~7FF。上位機采用德國SYSTEC公司的USB轉CAN接口模塊,它能支持多達64個(gè)設備同時(shí)連接到上位機,網(wǎng)絡(luò )分析軟件為PCANView。壓力傳感器使用的是一只S型傳感器,它的準確度等級為C2級,最大量程為200kg,檢定分度值e=0.1kg。標準負荷測量?jì)x的準確度為0.005%FS。傳感器和標準負荷測量?jì)x經(jīng)檢驗是合格的,依據JJG539-1997《數字指示秤檢定規程》進(jìn)行相關(guān)測試點(diǎn)的選擇。
以稱(chēng)重砝碼為1.7kg時(shí)舉例,此地址包含8個(gè)字節,在PCANView上顯示時(shí)從左到右為低字節到高字節排列顯示??稍O定左面第一位為小數點(diǎn)后第一位第二位是個(gè)位數,第三位是十位數,第四位是百位數,以此類(lèi)推,單位為kg。程序運行后,在PCANView中顯示讀數為1.7kg。同時(shí)觀(guān)察標準負荷測量?jì)x的示值,得到的測量值與CAN總線(xiàn)上傳輸的值是一致的。
本實(shí)驗證明在CAN總線(xiàn)上傳輸的稱(chēng)重數據是實(shí)時(shí)完整和有效的。通過(guò)本實(shí)驗,開(kāi)發(fā)的稱(chēng)重設備能夠連接到CAN總線(xiàn)上并能準確傳輸具有CAN接口的稱(chēng)重設備采集信號并且通信正常,實(shí)現了預定的目標。
評論