數(shù)控同步現(xiàn)場總線與CAN總線網(wǎng)關的設計
引言
現(xiàn)場總線控制系統(tǒng)在過去集散控制系統(tǒng)的基礎上順應用戶對控制系統(tǒng)提出的開放性的要求而誕生。開放的具有互操作性的現(xiàn)場總線將網(wǎng)絡現(xiàn)場的控制器及儀表設備互聯(lián),構成現(xiàn)場總線控制系統(tǒng)。由于工業(yè)控制領域現(xiàn)場總線技術的競爭,形成了當今眾多總線標準并存的局面。這一局面限制了用戶對總線產(chǎn)品的選擇,同時也約束了總線技術的發(fā)展,這也使得各現(xiàn)場總線之間的互聯(lián)和互操作成為當務之急。
開放式數(shù)控系統(tǒng)在結構上具有互換性、伸縮性、可操作性和可移植性,其能夠方便靈活的進行裁剪、擴展和升級。數(shù)控系統(tǒng)中的現(xiàn)場總線是數(shù)控裝置、執(zhí)行裝置和傳感器件之間通信的系統(tǒng)。數(shù)控系統(tǒng)的開放性勢必對現(xiàn)場總線開放性提出一定的要求。
數(shù)控同步現(xiàn)場總線(Numerical Control Synehronoas Fieldbus,NCSF)是中國科學院沈陽計算技術研究所總線實驗室針對數(shù)控系統(tǒng)自主研發(fā)的現(xiàn)場總線。為真正實現(xiàn)數(shù)控系統(tǒng)的可裁剪、可擴展和可升級,數(shù)控系統(tǒng)的現(xiàn)場總線需要兼容不同的總線產(chǎn)品。CAN總線作為一種可靠的、功能完善的、成本合理的遠程網(wǎng)絡通信方式被廣泛應用于自動化控制領域,是國際上廣泛應用的現(xiàn)場總線之一,其應用范圍遍及工業(yè)機器人和傳感器等領域,有必要設計NCSF與CAN的互操作接口設備。設計NCSF和CAN總線的通信網(wǎng)關,有利于增強NCSF與其它現(xiàn)場總線的兼容能力,擴展其應用范圍。同時也為其它現(xiàn)場總線與數(shù)控同步現(xiàn)場總線互聯(lián)的軟硬件結構提供方案和技術參考。
1 相關工作
沈陽計算所牽頭制定的《機械電器設備開放式數(shù)控系統(tǒng)第三部分:總線接口與通信協(xié)議》中提出,開放式數(shù)控系統(tǒng)總線是用于連接系統(tǒng)裝置間的數(shù)字式、雙向、多點的通信系統(tǒng),以ISO/OSI開放系統(tǒng)互連參考模型為基礎,并對其加以改造,由物理層、數(shù)據(jù)鏈路層、應用層與用戶層行規(guī)組成。開放式數(shù)控系統(tǒng)由數(shù)控裝置、伺服驅(qū)動裝置、主軸驅(qū)動裝置、傳感器裝置、I/O裝置等組成,裝置間通過總線進行互操作,總線由站點、通信介質(zhì)與設備組成,如圖1所示。
圖1 開放式數(shù)控總線結構
數(shù)控總線結構的設計標準只是一個規(guī)范,并未對具體的實現(xiàn)方法做規(guī)定。每個NCSF站點包括兩個網(wǎng)絡接121,它們通過雙絞線依次連成環(huán)形或線形,此種拓撲結構可以有效避免總線式結構的介質(zhì)沖突,另外在總線的某一處出現(xiàn)異常時總線結構可自動轉(zhuǎn)變?yōu)閮蓚€線性的總線系統(tǒng)結構,這種冗余的拓撲結構,也進一步確保了通信的確定性和可靠性。
2 NCSF和CAN連接的總線拓撲結構
NCSF支持環(huán)形和線性的結構,而CAN是一種多主式的串行通信總線。本文中設計一個特殊的NCSF從站,它具有兩個網(wǎng)口和一個CAN接口。此從站通過兩個網(wǎng)口連接在NCSF總線中,同時通過CAN接口和CAN總線進行相關的交互,其總線結構如圖2。
圖2 NCSF與CAN互聯(lián)的總線拓撲結構
圖2中NCSF總線的從站3負責NCSF-CAN之間的交互。此從站在普通NCSF從站的基礎上,實現(xiàn)CAN總線的軟硬件支持。它把需要轉(zhuǎn)發(fā)到NCSF主站的CAN總線數(shù)據(jù)幀封裝到NCSF的應用層數(shù)據(jù)包通過NCSF的鏈路發(fā)送到主站,在NCSF的應用層中把還原CAN的數(shù)據(jù)幀交給上層協(xié)議;另外當主站需要發(fā)送CAN數(shù)據(jù)幀時,主站把這個CAN數(shù)據(jù)幀封裝在NCSF數(shù)據(jù)幀中轉(zhuǎn)發(fā)到此從站,然后還原為CAN數(shù)據(jù)幀發(fā)送到CAN總線上,這樣的能夠?qū)崿F(xiàn)NCSFCAN之間數(shù)據(jù)交互的從站被稱為NCSF—CAN網(wǎng)關。
整個NCSF.CAN網(wǎng)關分為三部分:NCSF總線模塊、CAN總線模塊、NCSF-CAN數(shù)據(jù)幀封裝轉(zhuǎn)換模塊。NCSF.CAN數(shù)據(jù)幀封裝轉(zhuǎn)換模塊的主要工作是,在NCSF應用層的數(shù)據(jù)包中封裝或還原CAN數(shù)據(jù)幀;使得CAN數(shù)據(jù)幀能夠通過NCSF鏈路發(fā)往從站,同時也使得主站發(fā)往CAN總線的數(shù)據(jù)包能夠正確解析。
3 NCSF接口模塊與CAN接口模塊的設計
NCSF—CAN網(wǎng)關硬件由NCSF接口和CAN接口構成。協(xié)議網(wǎng)關的主控芯片S3C2440是一款高性能低功耗處理器,其采用ARM920T內(nèi)核,全靜態(tài)的設計特別適合對成本和功率敏感型的應用。
S3C2440有著豐富的片上資源,CAN總線控制芯片選用MCP2515,其通過串行外設接口(Serial PeripheralInterface,SPI)與S3C2440進行通信,NCSF接口選用DM9000。
3.1 NCSF總線接口模塊
NCSF使用標準以太網(wǎng)的物理層,其接口電路使用普通的以太網(wǎng)接口芯片,同時為了保證數(shù)據(jù)傳輸速率應該選用100Mbit/s支持全雙工模式的芯片。圖3是從站的NCSF接口電路簡圖,圖中僅標出芯片關鍵的引腳的連接。圖中DM9000的片選信號AEN連接在nGCS4上,表明此接口DM9000的起始地址為0x20000000,使用7號外部中斷腳EINT7,DM9000的內(nèi)部存儲空間的基地址為300H。
圖3 NCSF接口電路簡圖
需要特別指出的是DM9000的SD0一SDl5引腳是數(shù)據(jù)和地址的復用引腳。當CMD為低電平時,數(shù)據(jù)線為地址端口,否則為數(shù)據(jù)端口。DM9000的地址寄存器端121地址為Ox20000000,數(shù)據(jù)寄存器的端口地址為0x20000004。由此訪問片上特定的寄存器時要先寫地址再讀寫數(shù)據(jù),下面是DM9000驅(qū)動程序讀其內(nèi)部寄存器的函數(shù)實現(xiàn)。
評論