關鍵字:虛擬儀器,虛擬儀器軟件, 虛擬儀器教程, 虛擬儀器設計,虛擬儀器儀表,虛擬儀器開發(fā)
摘要:本文重點介紹了CAN總線在熱網監(jiān)控系統(tǒng)中的應用,,設計了基于DSP的現(xiàn)場測控器硬件系統(tǒng),,制定了用戶層通信協(xié)議,,并詳細介紹了CAN網絡通信部分的硬件和軟件,。
關鍵詞:網絡通信,;CAN,;現(xiàn)場控制器,;DSP,;熱網監(jiān)控
引言
目前我國北方許多城市已經或者即將進行熱網改造工程,,將傳統(tǒng)的分散供熱改造為集中供熱,。
由于CAN總線相比其它現(xiàn)場總線技術具有眾多優(yōu)點,因此在工業(yè)中的應用越來越廣泛,。本文基于該總線技術針對熱網監(jiān)控系統(tǒng)開發(fā)的現(xiàn)場控制和通信的子系統(tǒng),,能安全可靠地實現(xiàn)現(xiàn)場數(shù)據采集、閉環(huán)控制及數(shù)據傳輸,。鑒于篇幅,本文重點介紹CAN網絡通信部分的設計與實現(xiàn),。
一,、系統(tǒng)結構及其硬件構成
1、系統(tǒng)結構
熱網監(jiān)控系統(tǒng)主要由上位機和現(xiàn)場控制器組成,,總體結構如圖1所示,。
熱網監(jiān)控系統(tǒng)是在一次設備(傳感器、變送器,、各種執(zhí)行機構)的基礎上完成對熱網的監(jiān)測與控制,,通過調節(jié)熱管網的供水流量、供水溫度,、供水壓力,,來保證熱網安全、可靠,、高效,、穩(wěn)定的運行。根據上述要求,,本系統(tǒng)在保證系統(tǒng)可靠工作和降低成本的條件下,,考慮到通用性,、實時性和可擴展性等方面的因素,,采用了主要由上位計算機系統(tǒng)和現(xiàn)場控制器構成的系統(tǒng)結構。
系統(tǒng)工作過程如下:上位機首先初始化CAN網卡,設置網卡工作模式,、接收碼,、接收掩碼和波特率,然后進入運行狀態(tài),在適當條件下與現(xiàn)場控制器進行通信?,F(xiàn)場控制器主要完成現(xiàn)場數(shù)據的采集與處理和現(xiàn)場設備的控制等功能,并以查詢或中斷方式與主機進行通信,。
圖1 熱網監(jiān)控系統(tǒng)總體結構
2、硬件系統(tǒng)
CAN網絡的拓撲結構采用總線式結構,,其結構簡單,、成本低、系統(tǒng)可靠性高,。信息的傳輸采用CAN通信協(xié)議,,通信介質采用雙絞線。
圖2 現(xiàn)場控制器的結構框圖
3,、上位機
上位機采用工控機,,負責對整個系統(tǒng)進行管理。上位機通過CAN網卡與現(xiàn)場控制器通信,,同時通過局域網或者公共電話交換網與整個工廠或者公司的計算機信息網絡進行連接,,實現(xiàn)信息共享。上位機具有組態(tài),、數(shù)據采集,、參數(shù)設置,、遠程控制、流程顯示,、數(shù)據存儲,、趨勢顯示、報表打印以及通信等功能,。
圖3 CAN網絡通信接口單元電路
4,、CAN網卡
CAN網卡是負責CAN總線與上位機之間數(shù)據交換的功能模塊。CAN網卡上存在兩個方向的數(shù)據交換:CAN網卡與上位機之間的數(shù)據交換(通過雙端口RAM實現(xiàn))以及CAN網卡與CAN總線之間的數(shù)據交換(由微處理器通過訪問CAN控制器的接收緩沖區(qū)以及發(fā)送緩沖區(qū)來實現(xiàn)),。CAN網卡上的CAN控制器選用的是PHILIPS公司的SJA1000芯片,。
圖4 通用定時器周期中斷服務程序
5、現(xiàn)場控制器
現(xiàn)場控制器的結構框圖如圖2所示,。
該現(xiàn)場控制器具有14路模擬量輸入端口,、2路模擬量輸出端口、4路開關量輸入端口,、4路開關量輸出端口以及時鐘接口,、數(shù)據存儲接口、液晶顯示接口,、網絡通信接口,、報警輸出接口等。本系統(tǒng)采用了TI公司的帶有10位ADC和CAN控制器的DSP芯片TMS320LF2407A作為CPU,。
網絡通信接口單元是用來對CAN總線進行讀寫訪問的部分控制電路,。當需要發(fā)送數(shù)據時,CPU將數(shù)據交給網絡接口單元電路,,由網絡接口單元電路進行數(shù)據格式轉換,、串并轉換和信號形式轉換,并將數(shù)據按照CAN協(xié)議信號形式發(fā)送到CAN總線上,。當CAN總線上有數(shù)據時,,它負責從CAN總線上讀取數(shù)據。首先通過幀過濾功能判斷是否接收此幀,,若接收,,則通過與發(fā)送相反的過程,將數(shù)據交給CPU,。
表1 標識符分配方案
網絡通信接口單元主要由TMS320LF2407A片內的CAN控制器及CAN收發(fā)器PCA82C250組成,。CAN控制器負責對數(shù)據的格式進行轉換,承擔網絡通訊的控制任務,。CAN收發(fā)器PCA82C250是CAN控制器和物理總線間的接口,,負責信號的電平及形式轉換,可以提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力,。為防止CAN總線上的干擾進入板卡,,本系統(tǒng)采用光電隔離器件6N137來實現(xiàn)收發(fā)雙向隔離,。網絡通信接口單元具體電路如圖3所示。
二,、CAN通信軟件設計與實現(xiàn)
CAN遵從OSI模型,,按照OSI基準模型,CAN結構劃分為兩層:數(shù)據鏈路層和物理層,。然而,,在實際應用中,即使只是實現(xiàn)簡單的基于CAN的分布式系統(tǒng),,僅有物理層和數(shù)據鏈路層也是遠遠不夠的,。比如對于傳輸長度超過8個字節(jié)的數(shù)據塊、帶有握手協(xié)議的數(shù)據傳輸過程,、標識符分配以及通過網絡管理節(jié)點等功能就不能實現(xiàn),。
因此需要在這兩層之外附加一層來支持應用過程,即應用層,。這一層功能對應OSI基準模型中的上五層,,主要完成網絡層和傳輸層的工作,提供接口,,使得通信模塊和具體應用模塊分離,。針對熱網監(jiān)控系統(tǒng),應用層協(xié)議需要通信雙方具體協(xié)商制定,。
三,、CAN通信應用層協(xié)議
現(xiàn)場控制器軟件設計中與上位機的通信是最關鍵的部分之一,。針對熱網監(jiān)控系統(tǒng),,使用現(xiàn)場總線CAN網絡技術,制定了CAN應用層協(xié)議,。應用層完成的主要工作有:標識符分配,、多報文數(shù)據包的處理、報文發(fā)送與接收等,。
四,、標識符分配方案
TMS320LF2407A支持CAN 2.0B協(xié)議,本系統(tǒng)通信的信息幀采用擴展幀,,具有29位標識符,,標識符分配方案如表1所示。
其中,,DIR表示方向,。DIR=0時,表示主站向從站發(fā)送數(shù)據,;DIR=1時,,表示從站向主站發(fā)送數(shù)據,。TYPE為報文幀類型。當TYPE.2=0時,,表示點對點發(fā)送,;當TYPE.2=l時,表示廣播發(fā)送,。當TYPE~TYPE.0Xb時,,表示單幀報文;TYPE.1~TYPE.0=11b時,,表示非結束多幀報文,;TYPE.1~TYPE.0=10b時,表示結束多幀報文,。另外還有目標地址和源地址各七位,,命令符八位。命令符是用來標識上位機對現(xiàn)場控制器的控制命令,,或現(xiàn)場控制器對上位機的上傳命令,。
五、報文的處理
本設計對CAN通信中的報文處理做了以下規(guī)定:
單報文:單報文由標識符中的數(shù)據類型TYPE.1決定,,當其為0時表示為單報文,,此時待傳送的數(shù)據不超過8個字節(jié),數(shù)據段中為實際傳送的數(shù)據,。
多報文的首幀和中間幀:多報文的首幀和中間幀由TYPE.1~TYPE.0決定,,當其為11b時表示為非結束多報文,即為多報文的首幀和中間幀,,此時待傳送的數(shù)據超過8個字節(jié),,數(shù)據段中第1個字節(jié)為索引項,后7個字節(jié)為傳送的數(shù)據,。
多報文的尾幀:多報文的尾幀由TYPE.1~TYPE.0決定,,當其為10b時表示為結束多報文,即為多報文的尾幀,,此時規(guī)定該幀中數(shù)據長度為2個字節(jié),,數(shù)據段中第1個字節(jié)為索引項,第2個字節(jié)為待傳送數(shù)據的總長度,,單位為字節(jié),。
六、CAN通信初始化
CAN通信初始化主要是設置CAN的通信參數(shù),,包括配置位定時器和初始化郵箱兩部分,。需要初始化的寄存器有:位配置寄存器2、位配置寄存器1,、標識符寄存器,、控制寄存器,、局部屏蔽寄存器等。需要注意的是,,只有當全局狀態(tài)寄存器中的改變配置使能位為高時,,才能配置位定時器;當主控制器中的改變配置請求位為1,,即CAN控制器處于復位工作方式時,,才能配置標識符寄存器、控制寄存器和數(shù)據域,。在訪問位配置寄存器時,,由于其內容決定波特率的數(shù)值,位配置寄存器的初始化字必須依據系統(tǒng)中各CAN控制器的晶振頻率而設定,。
1,、數(shù)據發(fā)送
信息從CAN控制器發(fā)送到CAN總線是由CAN控制器自動完成的。發(fā)送程序只需把要發(fā)送的信息幀送到相關的CAN寄存器,,啟動發(fā)送命令即可,。數(shù)據發(fā)送采用通用定時器周期中斷,定時發(fā)送已采集的數(shù)據到上位機,,實現(xiàn)數(shù)據的存儲,,以便用戶查詢。由于采集到的數(shù)據超過8個字節(jié),,所以需對數(shù)據包進行分片構造報文,。通用定時器周期中斷服務程序如圖4所示。
2,、數(shù)據接收
信息從CAN總線到CAN接收郵箱是由CAN控制器自動完成的,,數(shù)據接收采用郵箱中斷。在中斷服務程序中讀取接收到的數(shù)據,,對接收到的數(shù)據進行解碼,,并置位相應標志位。在主程序循環(huán)中查詢標志位,,當檢測到標志位被置位時,則進入相應處理程序,,同時對標志位清零,。
六、結語
應用層協(xié)議是CAN網絡應用的關鍵,,因此該系統(tǒng)中的重點工作是在現(xiàn)場控制器與上位機之間的通信中,,使用現(xiàn)場總線CAN網絡技術,制定了用戶層通信協(xié)議,。而且本系統(tǒng)已經完成了在實驗室階段的調試工作,,通信部分能夠正常工作,。本文介紹的CAN 通信設計具有很強的通用性,其成果可以應用在很多數(shù)據采集的場合。