如何設計基于DSP的分析儀器CAN網(wǎng)絡(luò )通信系統?
0 引言
本文引用地址:http://dyxdggzs.com/article/201808/385076.htm現代流程工業(yè)中,多組分分析儀器成為必不可少的環(huán)節。常用的在線(xiàn)分析儀器有工業(yè)色譜儀、光譜分析儀等。工業(yè)色譜儀在流程工業(yè)生產(chǎn)和環(huán)保領(lǐng)域得到廣泛應用,但是其分析周期長(cháng),不易實(shí)現直接質(zhì)量控制;拉曼光譜分析儀分析周期短精度高,但是成本太高,所以尚未被推廣。因此,實(shí)驗室研制開(kāi)發(fā)了基于80C196和DSP的多組分氣體分析平臺,通過(guò)不同傳感器的組合對樣品中不同組分進(jìn)行檢測,實(shí)現了分析周期短、精度高,成本低等目標的統一。由于每臺組合式分析儀器一般只能分析2-4個(gè)組分,為了實(shí)現更多組分的測量,同時(shí)實(shí)現各個(gè)分析儀器之間或分析儀器與上位機之間信息的交互,這就有必要構建基于多組分氣體分析平臺的CAN總線(xiàn)網(wǎng)絡(luò )。
CAN(Controll Area Network)是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一,使用了一種串行多控制方通信協(xié)議,可以有效地支持分布式實(shí)時(shí)控制,并且具有很高的安全性和高達1Mbps的通信速率。由于CAN具有多主站控制、無(wú)破壞性總線(xiàn)仲裁、可靠的檢錯和重發(fā)機制以及故障節點(diǎn)的判斷和自動(dòng)脫離等等顯著(zhù)優(yōu)點(diǎn),在富含噪聲和其他要求苛刻的環(huán)境中得到越來(lái)越廣泛的應用,而且其應用領(lǐng)域也在不斷的擴大[1]。
1分析儀器網(wǎng)絡(luò )結構
多組分氣體分析平臺基于過(guò)程分析儀器系統的物流和信息兩通道所需的基本共性功能,系統采用模塊化設計。各硬件模塊具有獨立結構,可適應不同分析傳感器及其組合以及預處理裝置的選擇要求;軟件系統則為檢測信號的數據處理、儀器的自動(dòng)診斷、自動(dòng)標定的操作控制以及為與DCS間的信息通信提供支持[2]。
分析平臺采用TMS320F2812作為處理器。TMS320F2812是TI公司推出的一款用于控制領(lǐng)域的高性能32位數字信號處理器,適用于實(shí)時(shí)數據處理,并集成了豐富的外設,如片上12位模數轉換器(ADC)、SPI、eCAN等功能模塊,可以方便地進(jìn)行功能擴展。平臺由數據采集模塊、控制模塊、開(kāi)關(guān)量輸入輸出模塊、人機交互模塊以及通訊接口組成。
根據現場(chǎng)情況,通過(guò)不同傳感器的組合對樣品中不同組分進(jìn)行檢測,配合相應的軟件實(shí)現不同的數據處理方法,構成組合式分析儀器,每臺分析儀器可檢測2-4個(gè)組分。此處我們以?xún)膳_分析儀器為例,每臺能檢測兩個(gè)組分,一臺檢測CO2和O2,另一臺檢測SO2和CO,與上位機一起構建CAN通信網(wǎng)絡(luò )。
CAN網(wǎng)絡(luò )系統一般由上位機、CAN適配卡、若干節點(diǎn)以及CAN總線(xiàn)構成。由于PC機上有多條擴展槽,利用局域網(wǎng)絡(luò )通信卡,使得該系統很容易與其他生產(chǎn)管理部門(mén)聯(lián)網(wǎng),便于統一調度和管理;另外,選用PC機還可以充分利用現有的軟件工具和開(kāi)發(fā)環(huán)境,方便快捷地設計功能豐富的計算機軟件,所以此處上位機我們選用通用PC機。
CAN適配卡我們選用的是北京科日新工控的KPCI-8110光隔非智能CAN總線(xiàn)通訊卡,符合ISO/ISO11898國際標準,滿(mǎn)足2.0B(PeliCAN)兼容CAN2.0A通信協(xié)議,通訊距離最長(cháng)達10km,傳輸速率最高達1Mbps?;诙嘟M分氣體分析平臺的組合式分析儀器做為CAN智能節點(diǎn)??偩€(xiàn)上的信息傳輸遵守CAN通信協(xié)議,通信介質(zhì)采用雙絞線(xiàn)即可。
系統總體結構圖如下所示:

圖1 基于分析儀器的CAN網(wǎng)絡(luò )結構圖
2 CAN總線(xiàn)通信協(xié)議
CAN技術(shù)規范版本2.0包括兩部分內容:版本2.0A描述CAN技術(shù)規范1.2中定義的CAN報文格式;版本2.0B描述標準和擴展格式兩種報文格式。為了同CAN技術(shù)規范2.0兼容,要求CAN執行既同版本2.0A,也同版本2.0B兼容。
鑒于我們目前所要傳輸的內容僅限于檢測結果,同時(shí)考慮到現場(chǎng)需要網(wǎng)絡(luò )中可能連接的智能節點(diǎn)的個(gè)數,采用標準報文格式完全能夠滿(mǎn)足我們的要求。
CAN技術(shù)規范版本2.0B中,數據幀由7個(gè)不同的位場(chǎng)組成:即幀起始、仲裁場(chǎng)、控制場(chǎng)、數據場(chǎng)、CRC場(chǎng)、應答場(chǎng)、幀結束。數據幀格式如下所示[3]:

圖2 CAN2.0B數據幀格式
分析儀器主控制器F2812 DSP片上共有32個(gè)郵箱,在SCC模式下0-15郵箱可用,在eCAN模式下,32個(gè)郵箱全部可用,而且與2407不同的是,F2812可以發(fā)送和存儲包括報文ID在內的所有幀信息。所以我們只需對標準標識符的位進(jìn)行分配,而不用定義數據字節,即可滿(mǎn)足上位機和主節點(diǎn)識別幀來(lái)源和幀意義的要求。對標準標識符的分配如下表所示:

表1 標識符分配
3 通信程序設計
若想實(shí)現CAN網(wǎng)絡(luò )的正常通信,必須保證各通信節點(diǎn)的波特率和標識符都定義得一致。由于KPCI-8110使用獨立的CAN控制器SJA1000,而智能節點(diǎn)多組分氣體分析平臺中使用微處理器DSP中內置的CAN控制器,各自寄存器的定義和分配不盡相同,所以數據幀格式的定義方法也不一樣,在編寫(xiě)初始化和通信程序時(shí)要特別注意寄存器的定義和分配。
3.1智能節點(diǎn)端
為了實(shí)現各個(gè)節點(diǎn)信息的同步,考慮把智能節點(diǎn)中的一個(gè)做為主節點(diǎn),其他節點(diǎn)做為從節點(diǎn)。主節點(diǎn)先收集所有從節點(diǎn)的數據,再把所有的數據一起發(fā)送給上位機。
做為CAN網(wǎng)絡(luò )的智能節點(diǎn),組合式分析儀器采用內置了CAN模塊的F2812做為微處理器,從硬件上來(lái)講,外接一個(gè)CAN收發(fā)器就可以方便地掛接到CAN總線(xiàn)上,從軟件設計上來(lái)講,由于F2812強大的寄存器功能,也可以很容易地實(shí)現CAN模塊的初始化以及信息的發(fā)送和接收。
智能節點(diǎn)的編程采用C語(yǔ)言與匯編語(yǔ)言相結合的方式,采用結構化程序設計方案,可讀可移植性好。流程如圖3所示。程序設計的重點(diǎn)在于CAN模塊的初始化和中斷程序的調用。

評論