一種具有CAN總線通信的稱重設(shè)備設(shè)計
一、稱重設(shè)備的硬件設(shè)計
本文引用地址:http://m.butianyuan.cn/article/201611/318329.htm稱重設(shè)備硬件結(jié)構(gòu)如圖1所示,主要由單片機、外部存儲器、電源電路、看門狗電路、CAN總線接口電路和傳感器采集電路組成。
圖1
1.單片機
本課題選用宏晶科技的STC12C5A60S2作為中央處理器。它處理速度快、功耗低、抗干擾能力強,集成了內(nèi)部復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換、大容量Flash、大容量SRAM、定時/計數(shù)器以及片內(nèi)R/C振蕩器和外部晶體振蕩電路等模塊,功能穩(wěn)定強大。
2.外部存儲單元
外部存儲單元包括外部非易失性存儲器(E2PROM)和數(shù)據(jù)存儲器(RAM)。非易失性存儲器選用Atmel公司的存儲芯片AT24C02,主要應(yīng)用于需要掉電保存歷史記錄;數(shù)據(jù)存儲器選取英特爾公司生產(chǎn)的6264RAM芯片,相當于PC機中的內(nèi)存條,主要用來存放程序中間變量和參數(shù)。
3.看門狗電路
看門狗芯片選取MAX706。能夠在上電或斷電時產(chǎn)生復(fù)位信號,也能夠防止程序鎖死。為了保持系統(tǒng)的一致性,該設(shè)計不考慮單片機內(nèi)部的看門狗,而統(tǒng)一采用看門狗芯片進行監(jiān)控。
4.LED指示單元
紅綠雙色LED組成了設(shè)備狀態(tài)指示燈,參照CAN協(xié)議規(guī)范,指示燈的顏色及閃爍的含義如表1所示。
表1
5.傳感器信號采集電路
稱重傳感器信號采集電路采用電子秤常用的高精度的A/D轉(zhuǎn)換芯片HX711。它內(nèi)部包含穩(wěn)壓電源和時鐘振蕩電路,可以減少一些外圍電路的設(shè)計,節(jié)省了元器件和布線空間。
6.系統(tǒng)電源
電路板上所有電子元器件都采用5V電壓供電,因此選用TI公司生產(chǎn)的開關(guān)電源芯片LM2575-5.0將現(xiàn)場總線上的24V電壓轉(zhuǎn)換為5V的標準電壓提供給電路板上的所有電子元器件。
7.現(xiàn)場總線接口電路
包括總線控制器芯片SJA1000、光耦和總線接收發(fā)送芯片PCA82C250。
采用恩智浦半導(dǎo)體的控制器芯片SJA1000來實現(xiàn)CAN總線中物理層與數(shù)據(jù)鏈路層的復(fù)雜網(wǎng)絡(luò)協(xié)議,通過編寫SJA1000的驅(qū)動程序,把應(yīng)用層建立在SJA1000的基礎(chǔ)之上。
CAN總線收發(fā)器PCA82C250可以在最大1Mbps的通信速率下進行工作。該芯片可以把控制器數(shù)據(jù)信號與總線的差分信號進行相互轉(zhuǎn)換,實現(xiàn)傳輸和接收總線數(shù)據(jù)功能。
二、稱重設(shè)備的軟件設(shè)計
1.軟件架構(gòu)設(shè)計
軟件程序采用前后臺結(jié)構(gòu),包括主程序和中斷程序,其中中斷程序為外部中斷程序。從開始進入稱重狀態(tài)后進行初始化和參數(shù)配置,然后判斷是否上線,如是則運行應(yīng)用程序,循環(huán)采集重量并往總線發(fā)送數(shù)據(jù);如否則進行錯誤診斷,排除故障后繼續(xù)判斷是否上線。
2.稱重傳感器數(shù)據(jù)采集的程序設(shè)計
串口通信線由管腳DOUT和TPD_SCK組成,當管腳DOUT輸出的數(shù)據(jù)等于高電平時,表示未輸出采集數(shù)據(jù),端口PD_SCK應(yīng)為低電平。當管腳DOUT由高電平轉(zhuǎn)換成低電平后,端口PD_SCK會輸入25或者27個時鐘脈沖。從第一個時鐘脈沖的上升沿開始讀數(shù),直到第24個脈沖被讀完,將讀出輸出24位數(shù)據(jù)的MSB。
3.CAN現(xiàn)場總線接口程序設(shè)計
CAN現(xiàn)場總線接口程序設(shè)計包括CAN控制器SJA1000的初始化、CAN對象類的設(shè)計和應(yīng)用層協(xié)議的設(shè)計。本課題設(shè)計的稱重設(shè)備是具備CAN現(xiàn)場總線通信能力的從站設(shè)備。
在設(shè)備上電和硬件復(fù)位后,為了配置CAN通信參數(shù),需要先對CAN控制器SJA1000進行上電初始化。初始化首先進行關(guān)中斷,然后復(fù)位,之后設(shè)置接收代碼寄存器和屏蔽寄存器,再設(shè)置波特率和地址,最后設(shè)置輸出控制寄存器。完成后開中斷,打開操作模式,結(jié)束。
三、實驗設(shè)計與結(jié)果
1.實驗平臺的搭建
該實驗的測試平臺如圖2所示。傳感器采集的數(shù)據(jù)同時發(fā)送給標準負荷測量儀與CAN總線。
圖2
2.實驗結(jié)果和分析
USB轉(zhuǎn)CAN接口模塊通道選擇Channel0,網(wǎng)絡(luò)波特率選擇250kbps,設(shè)備MAC ID濾波范圍為000~7FF。上位機采用德國SYSTEC公司的USB轉(zhuǎn)CAN接口模塊,它能支持多達64個設(shè)備同時連接到上位機,網(wǎng)絡(luò)分析軟件為PCANView。壓力傳感器使用的是一只S型傳感器,它的準確度等級為C2級,最大量程為200kg,檢定分度值e=0.1kg。標準負荷測量儀的準確度為0.005%FS。傳感器和標準負荷測量儀經(jīng)檢驗是合格的,依據(jù)JJG539-1997《數(shù)字指示秤檢定規(guī)程》進行相關(guān)測試點的選擇。
以稱重砝碼為1.7kg時舉例,此地址包含8個字節(jié),在PCANView上顯示時從左到右為低字節(jié)到高字節(jié)排列顯示??稍O(shè)定左面第一位為小數(shù)點后第一位第二位是個位數(shù),第三位是十位數(shù),第四位是百位數(shù),以此類推,單位為kg。程序運行后,在PCANView中顯示讀數(shù)為1.7kg。同時觀察標準負荷測量儀的示值,得到的測量值與CAN總線上傳輸?shù)闹凳且恢碌摹?/p>
本實驗證明在CAN總線上傳輸?shù)姆Q重數(shù)據(jù)是實時完整和有效的。通過本實驗,開發(fā)的稱重設(shè)備能夠連接到CAN總線上并能準確傳輸具有CAN接口的稱重設(shè)備采集信號并且通信正常,實現(xiàn)了預(yù)定的目標。
評論