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