劉寶寶,楊東升,劉蔭忠,尹振宇
(1.中國科學(xué)院研究生院,北京 100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所,沈陽 110168)
數(shù)控同步現(xiàn)場總線與CAN總線網(wǎng)關(guān)的設(shè)計(jì)*
劉寶寶1,2,楊東升2,劉蔭忠2,尹振宇2
(1.中國科學(xué)院研究生院,北京 100049;2.中國科學(xué)院沈陽計(jì)算技術(shù)研究所,沈陽 110168)
眾多總線標(biāo)準(zhǔn)的并存與不兼容制約了現(xiàn)場總線的發(fā)展與應(yīng)用,使得各現(xiàn)場總線之間的互聯(lián)成為當(dāng)務(wù)之急。參考開放式數(shù)控系統(tǒng)中有關(guān)現(xiàn)場總線的規(guī)范,設(shè)計(jì)了數(shù)控同步現(xiàn)場總線與CAN總線的通信網(wǎng)關(guān),其主要包含數(shù)控同步現(xiàn)場總線模塊、CAN總線模塊和數(shù)據(jù)幀封裝轉(zhuǎn)換模塊三部分。在對這兩種現(xiàn)場總線深入研究的基礎(chǔ)上,設(shè)計(jì)了帶優(yōu)先級的CAN數(shù)據(jù)幀的緩沖隊(duì)列,提出了數(shù)控同步現(xiàn)場總線應(yīng)用層封裝CAN數(shù)據(jù)幀的方法,保障了數(shù)控同步現(xiàn)場總線與CAN總線之間速率和周期的協(xié)調(diào)。
現(xiàn)場總線;開放式數(shù)控系統(tǒng);數(shù)控同步現(xiàn)場總線;CAN總線;網(wǎng)關(guān)
現(xiàn)場總線控制系統(tǒng)在過去集散控制系統(tǒng)的基礎(chǔ)上順應(yīng)用戶對控制系統(tǒng)提出的開放性的要求而誕生。開放的具有互操作性的現(xiàn)場總線將網(wǎng)絡(luò)現(xiàn)場的控制器及儀表設(shè)備互聯(lián),構(gòu)成現(xiàn)場總線控制系統(tǒng)。由于工業(yè)控制領(lǐng)域現(xiàn)場總線技術(shù)的競爭,形成了當(dāng)今眾多總線標(biāo)準(zhǔn)并存的局面。這一局面限制了用戶對總線產(chǎn)品的選擇,同時也約束了總線技術(shù)的發(fā)展,這也使得各現(xiàn)場總線之間的互聯(lián)和互操作成為當(dāng)務(wù)之急[1]。
開放式數(shù)控系統(tǒng)在結(jié)構(gòu)上具有互換性、伸縮性、可操作性和可移植性,其能夠方便靈活的進(jìn)行裁剪、擴(kuò)展和升級。數(shù)控系統(tǒng)中的現(xiàn)場總線是數(shù)控裝置、執(zhí)行裝置和傳感器件之間通信的系統(tǒng)。數(shù)控系統(tǒng)的開放性勢必對現(xiàn)場總線開放性提出一定的要求。
數(shù)控同步現(xiàn)場總線(Numerical Control Synchronous Fieldbus,NCSF)是中國科學(xué)院沈陽計(jì)算技術(shù)研究所總線實(shí)驗(yàn)室針對數(shù)控系統(tǒng)自主研發(fā)的現(xiàn)場總線。為真正實(shí)現(xiàn)數(shù)控系統(tǒng)的可裁剪、可擴(kuò)展和可升級,數(shù)控系統(tǒng)的現(xiàn)場總線需要兼容不同的總線產(chǎn)品。CAN總線作為一種可靠的、功能完善的、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通信方式被廣泛應(yīng)用于自動化控制領(lǐng)域,是國際上廣泛應(yīng)用的現(xiàn)場總線之一[2],其應(yīng)用范圍遍及工業(yè)機(jī)器人和傳感器等領(lǐng)域,有必要設(shè)計(jì)NCSF與CAN的互操作接口設(shè)備。設(shè)計(jì)NCSF和CAN總線的通信網(wǎng)關(guān),有利于增強(qiáng)NCSF與其它現(xiàn)場總線的兼容能力,擴(kuò)展其應(yīng)用范圍。同時也為其它現(xiàn)場總線與數(shù)控同步現(xiàn)場總線互聯(lián)的軟硬件結(jié)構(gòu)提供方案和技術(shù)參考。
沈陽計(jì)算所牽頭制定的《機(jī)械電器設(shè)備開放式數(shù)控系統(tǒng)第三部分:總線接口與通信協(xié)議》中提出,開放式數(shù)控系統(tǒng)總線是用于連接系統(tǒng)裝置間的數(shù)字式、雙向、多點(diǎn)的通信系統(tǒng),以ISO/OSI開放系統(tǒng)互連參考模型為基礎(chǔ),并對其加以改造,由物理層、數(shù)據(jù)鏈路層、應(yīng)用層與用戶層行規(guī)組成[3-4]。開放式數(shù)控系統(tǒng)由數(shù)控裝置、伺服驅(qū)動裝置、主軸驅(qū)動裝置、傳感器裝置、I/O裝置等組成,裝置間通過總線進(jìn)行互操作,總線由站點(diǎn)、通信介質(zhì)與設(shè)備組成,如圖1所示。
圖1 開放式數(shù)控總線結(jié)構(gòu)
數(shù)控總線結(jié)構(gòu)的設(shè)計(jì)標(biāo)準(zhǔn)只是一個規(guī)范,并未對具體的實(shí)現(xiàn)方法做規(guī)定。每個NCSF站點(diǎn)包括兩個網(wǎng)絡(luò)接口,它們通過雙絞線依次連成環(huán)形或線形,此種拓?fù)浣Y(jié)構(gòu)可以有效避免總線式結(jié)構(gòu)的介質(zhì)沖突,另外在總線的某一處出現(xiàn)異常時總線結(jié)構(gòu)可自動轉(zhuǎn)變?yōu)閮蓚€線性的總線系統(tǒng)結(jié)構(gòu),這種冗余的拓?fù)浣Y(jié)構(gòu),也進(jìn)一步確保了通信的確定性和可靠性。
NCSF支持環(huán)形和線性的結(jié)構(gòu),而CAN是一種多主式的串行通信總線。本文中設(shè)計(jì)一個特殊的NCSF從站,它具有兩個網(wǎng)口和一個CAN接口。此從站通過兩個網(wǎng)口連接在NCSF總線中,同時通過CAN接口和CAN總線進(jìn)行相關(guān)的交互,其總線結(jié)構(gòu)如圖2。
圖2中NCSF總線的從站3負(fù)責(zé)NCSF-CAN之間的交互。此從站在普通NCSF從站的基礎(chǔ)上,實(shí)現(xiàn)CAN總線的軟硬件支持。它把需要轉(zhuǎn)發(fā)到NCSF主站的CAN總線數(shù)據(jù)幀封裝到NCSF的應(yīng)用層數(shù)據(jù)包通過NCSF的鏈路發(fā)送到主站,在NCSF的應(yīng)用層中把還原CAN的數(shù)據(jù)幀交給上層協(xié)議;另外當(dāng)主站需要發(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)關(guān)。
整個NCSF-CAN網(wǎng)關(guān)分為三部分:NCSF總線模塊、CAN總線模塊、NCSF-CAN數(shù)據(jù)幀封裝轉(zhuǎn)換模塊。NCSF-CAN數(shù)據(jù)幀封裝轉(zhuǎn)換模塊的主要工作是,在NCSF應(yīng)用層的數(shù)據(jù)包中封裝或還原CAN數(shù)據(jù)幀;使得CAN數(shù)據(jù)幀能夠通過NCSF鏈路發(fā)往從站,同時也使得主站發(fā)往CAN總線的數(shù)據(jù)包能夠正確解析。
NCSF-CAN網(wǎng)關(guān)硬件由NCSF接口和CAN接口構(gòu)成。協(xié)議網(wǎng)關(guān)的主控芯片S3C2440是一款高性能低功耗處理器,其采用ARM920T內(nèi)核,全靜態(tài)的設(shè)計(jì)特別適合對成本和功率敏感型的應(yīng)用[5]。S3C2440有著豐富的片上資源,CAN總線控制芯片選用MCP2515,其通過串行外設(shè)接口(Serial Peripheral Interface,SPI)與S3C2440進(jìn)行通信,NCSF接口選用DM9000。
NCSF使用標(biāo)準(zhǔn)以太網(wǎng)的物理層,其接口電路使用普通的以太網(wǎng)接口芯片,同時為了保證數(shù)據(jù)傳輸速率應(yīng)該選用100Mbit/s支持全雙工模式的芯片。
圖3是從站的NCSF接口電路簡圖,圖中僅標(biāo)出芯片關(guān)鍵的引腳的連接。圖中DM9000的片選信號AEN連接在nGCS4上,表明此接口DM9000的起始地址為0x20000000,使用7號外部中斷腳 EINT7,DM9000的內(nèi)部存儲空間的基地址為300H[6]。
需要特別指出的是DM9000的SD0-SD15引腳是數(shù)據(jù)和地址的復(fù)用引腳。當(dāng)CMD為低電平時,數(shù)據(jù)線為地址端口,否則為數(shù)據(jù)端口。DM9000的地址寄存器端口地址為0x20000000,數(shù)據(jù)寄存器的端口地址為0x20000004。由此訪問片上特定的寄存器時要先寫地址再讀寫數(shù)據(jù),下面是DM9000驅(qū)動程序讀其內(nèi)部寄存器的函數(shù)實(shí)現(xiàn)。
NCSF數(shù)據(jù)幀頭部長18字節(jié),圖4為NCSF數(shù)據(jù)幀的頭部結(jié)構(gòu)。EthAREA六個字節(jié)填充0xFF,使NCSF幀能夠通過以太網(wǎng)交換設(shè)備;幀的總長度G_Length;兩個全局控制字G_CTRL1和G_CTRL2;①數(shù)據(jù)幀標(biāo)識G_mtype;②幀類型標(biāo)識G_stype;③從站計(jì)數(shù)器G_sno。
圖4 NCSF幀頭部結(jié)構(gòu)
在DM9000的設(shè)備驅(qū)動和NCSF協(xié)議中,為了方便管理每個NCSF數(shù)據(jù)包及其控制信息,特設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu) ncsf_buff。
在ncsf_buff中next和prev使所有需發(fā)送的數(shù)據(jù)包構(gòu)成一個雙向鏈表;cb為數(shù)據(jù)包狀態(tài)控制字,保存此數(shù)據(jù)包當(dāng)前的狀態(tài)和控制信息,ncsf_buff中最重要的幾個成員變量為head、data、tail和end,這四個成員變量指向同一連續(xù)內(nèi)存區(qū)域的不同位置,其結(jié)構(gòu)和關(guān)系如圖5所示。
圖5 ncsf_buff數(shù)據(jù)結(jié)構(gòu)
在創(chuàng)建ncsf_buff的同時會申請一段足夠容納最大的NCSF數(shù)據(jù)幀2倍的連續(xù)內(nèi)存,head指向這一塊內(nèi)存的首地址,end指向其尾部,data指向head+LEN的位置,在tail和data之間是NCSF有效數(shù)據(jù),即在data前預(yù)留LEN長空閑空間,以便在此有效數(shù)據(jù)前擴(kuò)展數(shù)據(jù)包頭部和其它數(shù)據(jù),tail預(yù)留的空閑空間用于在尾部擴(kuò)展有效數(shù)據(jù)。有效數(shù)據(jù)區(qū)前后預(yù)留的空閑空間可以避免在數(shù)據(jù)包擴(kuò)展時重新分配內(nèi)存和拷貝相關(guān)數(shù)據(jù),由此提高了發(fā)送接收數(shù)據(jù)包的速度。
MPC2515是一款獨(dú)立的CAN控制器,完全支持CAN2.0B技術(shù)規(guī)范。該器件能夠收發(fā)標(biāo)準(zhǔn)和擴(kuò)展的數(shù)據(jù)幀以及遠(yuǎn)程幀。MPC2515自帶兩個驗(yàn)收屏蔽寄存器、六個驗(yàn)收濾波寄存器,這些寄存器用于過濾不必要接收的報文,它們可以有效降低微控制器的負(fù)擔(dān)。MPC2515和S3C2440之間的連接通過SPI實(shí)現(xiàn)。
圖6中特別畫出CAN模塊的電源電路,為了增強(qiáng)CAN總線的抗干擾能力,MCP2515與總線收發(fā)器TJA1050之間采用高速光電耦合器6N137相連以實(shí)現(xiàn)電氣隔離,而為了實(shí)現(xiàn)完全的電器隔離,6N137兩端的電源也應(yīng)該進(jìn)行完全隔離,B0505S為它們提供了完全隔離的電源[7]。
圖6 CAN模塊電路簡圖
S3C2440通過特定的SPI命令與MPC2515進(jìn)行交互,命令包含復(fù)位、讀、寫、讀RX緩沖器、裝載TX緩沖器、請求發(fā)送報文、讀狀態(tài)和位修改命令等。通過這些命令S3C2440可以讀寫CAN控制器的狀態(tài)、發(fā)送CAN數(shù)據(jù)幀,以及重置CAN控制器。S3C2440通過SPI向MPC2515發(fā)出每個命令字節(jié)前,CS都需要被置為低電平。在任何操作期間CS都要保持低電平,操作完成后需要把CS置為高電平。
CAN模塊的初始化依次為:軟件復(fù)位、設(shè)置CAN總線的波特率、關(guān)閉中斷、設(shè)置驗(yàn)收屏蔽寄存器和驗(yàn)收濾波寄存器、切換MPC2515到正常模式、清空接收和發(fā)送寄存器,最后開啟相應(yīng)的中斷。
can_frame是CAN數(shù)據(jù)幀發(fā)送隊(duì)列的數(shù)據(jù)結(jié)構(gòu)。為了能夠兼容CAN擴(kuò)展報文接收,在can_frame中ext_f標(biāo)志為0表示為正常報文,為1表示為擴(kuò)展報文;rtr_f對應(yīng)數(shù)據(jù)幀仲裁場中的RTR位;pri為報文的優(yōu)先級,為0按照先入先出順序出隊(duì),少數(shù)緊急指令為1,此報文優(yōu)先出隊(duì)被發(fā)送。
NCSF-CAN協(xié)議轉(zhuǎn)換模塊把CAN數(shù)據(jù)幀封裝在NCSF數(shù)據(jù)包中。NCSF應(yīng)用層提供四類設(shè)備應(yīng)用服務(wù):計(jì)數(shù)器、操作站、伺服電機(jī)和簡單I/O設(shè)備,其中計(jì)數(shù)器設(shè)備服務(wù)數(shù)據(jù)包中可利用的字段比較多,所以選擇把CAN報文封裝在計(jì)數(shù)器數(shù)據(jù)包中。
CAN數(shù)據(jù)幀由七部分構(gòu)成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應(yīng)答場和幀結(jié)尾。其中,幀起始為一個“顯性”位;仲裁場由11位標(biāo)識符和遠(yuǎn)程發(fā)送請求位(RTR)構(gòu)成;控制場有六位,最后四位是數(shù)據(jù)場長度,其余兩位保留;數(shù)據(jù)場是數(shù)據(jù)幀中的有效數(shù)據(jù),長度為0-8個字節(jié);應(yīng)答場有兩位分別為應(yīng)答間隙和應(yīng)答定界符;最后是7位的幀結(jié)尾。CAN遠(yuǎn)程幀沒有數(shù)據(jù)場,RTR位為“隱形”[8]。綜合CAN的各種幀,NCSF-CAN網(wǎng)關(guān)需要把標(biāo)識符、RTR位、數(shù)據(jù)長度字段、0-8字節(jié)的數(shù)據(jù)封裝在計(jì)數(shù)器數(shù)據(jù)包的計(jì)數(shù)器字段中,然后通過NCSF的鏈路傳送給主站。
計(jì)數(shù)器數(shù)據(jù)包長48個字節(jié),支持5個計(jì)數(shù)器,按絕對增量方式計(jì)數(shù),采用32位計(jì)數(shù)。由此每個計(jì)數(shù)器數(shù)據(jù)包傳輸20字節(jié)的數(shù)據(jù),每個CAN幀的數(shù)據(jù)至多8個字節(jié),再加上標(biāo)識符等字段也不多于20字節(jié)。表1為計(jì)數(shù)器數(shù)據(jù)包與CAN數(shù)據(jù)幀的封裝轉(zhuǎn)換。
表1 計(jì)數(shù)器數(shù)據(jù)包與CAN數(shù)據(jù)幀的封裝轉(zhuǎn)換
(續(xù)表)
為了區(qū)分普通計(jì)數(shù)器數(shù)據(jù)包和封裝CAN數(shù)據(jù)幀的特殊計(jì)數(shù)器數(shù)據(jù)包,規(guī)定前兩個字節(jié)為0x0101的計(jì)數(shù)器數(shù)據(jù)包為封裝CAN協(xié)議數(shù)據(jù)的數(shù)據(jù)包。IOIN和IO-OUT是輸入輸出端子控制字段。CNT0_CNT、CNT1_CNT、CNT2_CNT、CNT3_CNT 和 CNT4_CNT為五個計(jì)數(shù)器,在主站發(fā)往計(jì)數(shù)器從站的計(jì)數(shù)器數(shù)據(jù)包中這些字段為1表示對應(yīng)的計(jì)數(shù)器清零,為0表示正常計(jì)數(shù),其它值沒有定義。
為了兼容主站的計(jì)數(shù)器命令,主站發(fā)往NCSFCAN網(wǎng)關(guān)的計(jì)數(shù)器字段不能為0或1。為了達(dá)到此目的規(guī)定:CNT0_CNT、CNT1_CNT、CNT2_CNT、CNT3_CNT和CNT4_CNT最高位為1,即這些字段的最小值為0x80000000。CNT0_CNT的0-15位對應(yīng)于CAN數(shù)據(jù)幀的id字段的0-15位;CNT0_CNT的16位是擴(kuò)展報文標(biāo)志;17位對應(yīng)為RTR位;CNT0_CNT的18位表示此數(shù)據(jù)包是否包含有效數(shù)據(jù),為1表示此數(shù)據(jù)包封裝了一個CAN數(shù)據(jù)幀,為0表示不含有效數(shù)據(jù)的計(jì)數(shù)器報文,直接轉(zhuǎn)發(fā)此幀即可;CNT0_CNT的19位,標(biāo)識此數(shù)據(jù)包中信息是否為主站對NCSFCAN網(wǎng)關(guān)的配置控制信息,為1表示配置數(shù)據(jù)用于配置網(wǎng)關(guān)的運(yùn)行參數(shù),為0表示封裝的是CAN數(shù)據(jù)幀。CNT1_CNT的0-15位對應(yīng)其余的CAN數(shù)據(jù)幀id字段位,這32位足以存儲CAN擴(kuò)展報文29位長的id字段;CNT1_CNT的16-22位存儲數(shù)據(jù)長度。
引入NCSF-CAN網(wǎng)關(guān)后,NCSF主站的軟件結(jié)構(gòu)如圖7所示。用戶層行規(guī)為用戶提供統(tǒng)一的接口服務(wù),而服務(wù)映射管理層用于把用戶層行規(guī)的通用接口映射到具體協(xié)議的應(yīng)用層服務(wù)。主站接收到計(jì)數(shù)器數(shù)據(jù)包頭部為0x0101時經(jīng)過CAN數(shù)據(jù)幀封裝轉(zhuǎn)換處理得到CAN數(shù)據(jù)幀,此幀經(jīng)過CAN的應(yīng)用層,通過服務(wù)映射管理和用戶層行規(guī)提交給NC系統(tǒng),NC系統(tǒng)由此可以得知CAN總線上的設(shè)備狀態(tài)、I/O和傳感器數(shù)據(jù)等信息。NC系統(tǒng)向CAN總線上發(fā)送命令或數(shù)據(jù)時,先通過用戶層行規(guī)和服務(wù)映射管理層映射到相應(yīng)的CAN應(yīng)用層,然后把需要傳送的CAN數(shù)據(jù)幀封裝到 NCSF計(jì)數(shù)器數(shù)據(jù)包中,通過NCSF的物理鏈路發(fā)到NCSF-CAN網(wǎng)關(guān),對數(shù)據(jù)包解析和轉(zhuǎn)換后,即可把相應(yīng)的命令或數(shù)據(jù)發(fā)送到CAN總線上。
圖7所示軟件結(jié)構(gòu)也是其它現(xiàn)場總線與NCSF互聯(lián)的基本結(jié)構(gòu):用戶層行規(guī)為NC系統(tǒng)提供統(tǒng)一的服務(wù)接口,而服務(wù)映射管理層先把相應(yīng)的命令或數(shù)據(jù)映射到具體的某一種協(xié)議應(yīng)用層,然后封裝到NCSF應(yīng)用層,通過NCSF的物理鏈路發(fā)送到NCSF與此協(xié)議的交互網(wǎng)關(guān),最后發(fā)送到特定的總線上。
圖7 引入NCSF-CAN網(wǎng)關(guān)后的主站軟件結(jié)構(gòu)
NCSF-CAN網(wǎng)關(guān)設(shè)備加電后首先初始化NCSF模塊,接著初始化CAN模塊和數(shù)據(jù)幀封裝轉(zhuǎn)換模塊。初始化完成后,NCSF-CAN網(wǎng)關(guān)等待接收NCSF總線和CAN總線數(shù)據(jù)。為確保NCSF的實(shí)時性,NCSFCAN網(wǎng)關(guān)接收到每個數(shù)據(jù)包后應(yīng)該在盡量短的時間內(nèi)把有效數(shù)據(jù)插入,然后轉(zhuǎn)發(fā)出去。為此,當(dāng)收到NCSF數(shù)據(jù)幀后,并不等待CAN總線的響應(yīng),僅僅查看當(dāng)前NCSF發(fā)送隊(duì)列中是否有數(shù)據(jù),沒則立即轉(zhuǎn)發(fā);有則封裝隊(duì)頭數(shù)據(jù)后再轉(zhuǎn)發(fā)。處理NCSF數(shù)據(jù)包的過程如圖8所示。
CAN接口接收CAN總線上需要發(fā)給NCSF主站的數(shù)據(jù)幀,然后封裝轉(zhuǎn)換為NCSF計(jì)數(shù)器設(shè)備數(shù)據(jù)包,插入到NCSF發(fā)送隊(duì)列,等待NCSF下一個總線周期把有效數(shù)據(jù)傳遞到NCSF主站中,經(jīng)過主站的解包處理交給NC系統(tǒng),其工作流程如圖9。
本文設(shè)計(jì)的NCSF-CAN網(wǎng)關(guān),描述了NCSF總線與CAN交互的系統(tǒng)結(jié)構(gòu),此方法也是NCSF和其它現(xiàn)場總線交互的基本結(jié)構(gòu)。NCSF-CAN網(wǎng)關(guān)使NCSF主站可以與CAN總線上的設(shè)備進(jìn)行交互通信,同時提升了CAN模塊對緊急數(shù)據(jù)的響應(yīng)速率,提高了NCSF模塊處理數(shù)據(jù)包的速度,可以滿足數(shù)控系統(tǒng)對現(xiàn)場總線實(shí)時性的要求。
圖8 NCSF模塊處理數(shù)據(jù)包流程圖
圖9 CAN接口接收處理數(shù)據(jù)流程圖
[1]樊留群.實(shí)時以太網(wǎng)及運(yùn)動控制總線技術(shù)[M].上海:同濟(jì)大學(xué)出版社,2009.
[2]周渡海,何此昂.現(xiàn)場總線控制技術(shù)開發(fā)入門與應(yīng)用實(shí)例[M].北京:中國電力出版社,2010.
[3]GB/T 18759.2-2006,開放式數(shù)控系統(tǒng)——體系結(jié)構(gòu)[S].
[4]GB/T 18759.3-2009,開放式數(shù)控系統(tǒng)——總線接口與通信協(xié)議[S].
[5]S3C2440A 32-BIT CMOS MICROCONTROLLER USER'S MANUAL Revision 1[Z].2004.
[6]DM9000 ISA TO ETHERNET MAC CONTROLLER WITH INTEGRATED 10/100 PHY[Z].2006.
[7]季厭浮.基于USB的CAN總線智能適配卡的軟硬件設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2008(8):86-88.
[8]王黎明,夏立,邵英,等.CAN現(xiàn)場總線系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2008.
Design a Gateway Linking Numerical Control Synchronous Fieldbus with CAN Bus
LIU Bao-bao1,2,YANG Dong-sheng2,LIU Yin-zhong2,YIN Zhen-yu2
(1.Graduate University of Chinese Academy of Sciences,Beijing 100049,China;2.Shenyang Institute of Computing Technology,Chinese Academy of Science,Shenyang 110168,China)
The coexistence and incompatibility of many fieldbus standards restricts the development and application of fieldbus,so the connectivity of buses becomes more and more important.Reference to specifications of fieldbuses on Open Numerical Control system,a gateway linking NCSF with CAN bus is designed,which mainly consists of three parts,NCSF module,CAN bus module,the module of packaging and conversing data frames.On the basis of deep study of NCSF and CAN bus,a priority queue of CAN data frames is designed,how to package CAN data frames on NCSF application layer is proposed,the coordination of cycle and rate between NCSF and CAN bus is provided.
fieldbus;open numerical control system;NCSF;CAN;gateway
TH16;TG65
A
1001-2265(2012)02-0049-05
2011-07-04
“高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備”國家科技重大專項(xiàng)-開放式數(shù)控系統(tǒng)支撐技術(shù)創(chuàng)新平臺建設(shè)(2011ZX04016-071)
劉寶寶(1983—),男,河南焦作人,中國科學(xué)院研究生院,碩士研究生,研究方向?yàn)楦邫n數(shù)控系統(tǒng),(E-mail)liubao568@163.com。
(編輯 李秀敏)