如何設(shè)計(jì)基于DSP的分析儀器CAN網(wǎng)絡(luò)通信系統(tǒng)?
圖3 智能節(jié)點(diǎn)程序流程圖
本文引用地址:http://butianyuan.cn/article/201808/385076.htm智能節(jié)點(diǎn)端CAN模塊初始化(流程圖如圖4所示[4])主要包括三個(gè)方面的內(nèi)容:波特率的配置、郵箱分配(包括郵箱方向、標(biāo)識(shí)符分配等)、中斷寄存器初始化。波特率和標(biāo)識(shí)符的分配非常重要,是CAN網(wǎng)絡(luò)通信成功的關(guān)鍵所在。F2812內(nèi)置CAN控制器使用位時(shí)序配置寄存器CANBTC中的BRP、TSEG1和TSEG2來(lái)設(shè)置波特率,計(jì)算公式為:SYSCLK/(BRP+1)×[(TSEG1reg+1)+(TSEG2reg+1)+1],此處我們采用的晶振頻率為30MHZ,系統(tǒng)倍頻為1/2,BRP=9,TSEG1=10,TSEG2=2,因此波特率為100Kbps。標(biāo)識(shí)符就根據(jù)表1的描述來(lái)確定。
圖4 智能節(jié)點(diǎn)CAN模塊初始化流程圖
中斷程序中主要對(duì)從節(jié)點(diǎn)傳送的數(shù)據(jù)進(jìn)行處理,然后轉(zhuǎn)存到主節(jié)點(diǎn)的發(fā)送郵箱中,等待發(fā)送給上位機(jī)。在進(jìn)行數(shù)據(jù)處理的時(shí)候要把接收郵箱中的數(shù)據(jù)賦給中間變量,處理完后再把中間變量的值賦給發(fā)送郵箱,這個(gè)過程中要注意借助指針來(lái)完成。如下所示:
Mailbox = ECanaMboxes.MBOX0 + n; // n為郵箱號(hào)
receiveboxl = Mailbox->MDRL.all;
receiveboxh = Mailbox->MDRH.all;
3.2上位機(jī)端
PC機(jī)端主要完成對(duì)各分析平臺(tái)分析結(jié)果的采集、處理,采用適合快速開發(fā)的面向?qū)ο蟾呒?jí)語(yǔ)言VB來(lái)編寫。KPCI-8110CAN適配卡提供.dll驅(qū)動(dòng)和.lib庫(kù)函數(shù),通過在VB程序中調(diào)用相關(guān)的驅(qū)動(dòng)函數(shù)就可以實(shí)現(xiàn)CAN適配卡的配置和數(shù)據(jù)的讀寫。數(shù)據(jù)的處理主要完成對(duì)各組分檢測(cè)結(jié)果中干擾背景氣的去除以及單位換算等工作。
上位機(jī)在接收主節(jié)點(diǎn)傳送過來(lái)的數(shù)據(jù)時(shí),在SJA1000 CAN控制器采用單濾波器模式,只接收在界面中輸入的組分的數(shù)據(jù)。濾波規(guī)則為:驗(yàn)收代碼位(ACR.7-ACR.0)和信息識(shí)別碼(標(biāo)識(shí)符)的高8位(ID.10-ID.3)相等,且與驗(yàn)收屏蔽位(AMR.7-AMR.0)的相應(yīng)位相或?yàn)?[5]。例如,在上位機(jī)接收界面中輸入組分名“co2”,運(yùn)行程序時(shí)就會(huì)把“co2”對(duì)應(yīng)的一組驗(yàn)收代碼值和驗(yàn)收屏蔽值初始化為驗(yàn)收濾波器的預(yù)設(shè)值。為了具有通用性,把驗(yàn)收屏蔽碼設(shè)為ACR xor HFF。
由于SJA1000CAN控制器每個(gè)地址存儲(chǔ)8位的數(shù)據(jù),而F2812內(nèi)置CAN控制器每個(gè)地址存儲(chǔ)16位的數(shù)據(jù)而且標(biāo)準(zhǔn)數(shù)據(jù)幀的標(biāo)識(shí)符也不是從字節(jié)的起始位開始的,所以定義標(biāo)識(shí)符的時(shí)候要按照不同控制器的要求來(lái)定義。例如F2812內(nèi)置CAN控制器定義數(shù)據(jù)幀標(biāo)識(shí)符為1144 0000(bit28-bit18為標(biāo)識(shí)符位),SJA1000獨(dú)立控制器對(duì)應(yīng)的標(biāo)識(shí)符應(yīng)為8A20(bit15-bit5為標(biāo)識(shí)符位)。.
下圖為自己開發(fā)的接收界面成功接收到數(shù)據(jù):
圖5 上位機(jī)接收界面
4 結(jié)論
該通信系統(tǒng)在試驗(yàn)中得到了良好的效果,滿足了多組分分析儀器的設(shè)計(jì)要求。數(shù)字化在線分析儀器作為網(wǎng)絡(luò)神經(jīng)元,有機(jī)地融入網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)信息實(shí)時(shí)傳輸、遠(yuǎn)程故障診斷是分析儀器的發(fā)展趨勢(shì),也是工業(yè)化和信息化的發(fā)展趨勢(shì)。
評(píng)論