專利名稱:基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)及其控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高實(shí)時(shí)、高可靠性要求的底層設(shè)備間的數(shù)據(jù)通信,尤其涉及基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)及其控制方法。
背景技術(shù):
數(shù)字伺服裝置的出現(xiàn)是數(shù)控技術(shù)發(fā)展史上的一個(gè)重要的里程碑。采用數(shù)字伺服裝置,使所有指令值和實(shí)際值能在一個(gè)微處理器內(nèi)完成處理,不但能實(shí)現(xiàn)傳統(tǒng)的扭矩環(huán)和速度環(huán)控制,而且能在極短的時(shí)間內(nèi)完成精差補(bǔ),實(shí)現(xiàn)位置環(huán)控制。隨著數(shù)字伺服裝置的發(fā)展,如何實(shí)現(xiàn)控制單元與數(shù)字伺服裝置之間的數(shù)據(jù)通訊成為一個(gè)關(guān)鍵問題,即必須為控制單元和數(shù)字伺服裝置配備合適的數(shù)字接口,用以簡(jiǎn)化控制單元與伺服裝置之間的連線;簡(jiǎn)化控制硬件,并可實(shí)現(xiàn)遠(yuǎn)距離控制。
現(xiàn)有基于模擬接口的傳統(tǒng)控制系統(tǒng),一個(gè)模擬接口只能連接一個(gè)驅(qū)動(dòng)器,當(dāng)被控軸數(shù)增加時(shí),硬件的需求會(huì)引起設(shè)計(jì)和成本的問題,并且由此引起的連線的增加會(huì)使系統(tǒng)更加復(fù)雜化。現(xiàn)有技術(shù)的另一個(gè)限制是它所能處理的信息量有限,數(shù)據(jù)傳送率和實(shí)時(shí)性不能滿足高速高精度加工的需求;并且,基于傳統(tǒng)技術(shù)的系統(tǒng),連線的復(fù)雜化還會(huì)導(dǎo)致系統(tǒng)對(duì)噪聲信號(hào)的敏感,降低系統(tǒng)的可靠性,難于實(shí)現(xiàn)分布式控制。現(xiàn)有的一些通信協(xié)議,如CAN總線,Profibus等,由于通信效率,速率及通信實(shí)時(shí)性,成本等方面的原因,并不適合于開放型的高實(shí)時(shí)性,高可靠性底層設(shè)備間的數(shù)據(jù)通信。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn),提供基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)及其控制方法,本發(fā)明硬件連線簡(jiǎn)便、設(shè)計(jì)成本低,通信速率高、實(shí)時(shí)性和系統(tǒng)抗干擾能力強(qiáng)。
本發(fā)明的目的通過下述技術(shù)方案實(shí)現(xiàn)基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),包括主站、從站、光纖收發(fā)模塊及數(shù)字伺服裝置,所述主站依次通過光纖收發(fā)模塊、從站與數(shù)字伺服裝置連接;所述主站包括主站處理器、主站ISA總線接口模塊及主站數(shù)據(jù)處理模塊,所述主站處理器與主站ISA總線接口模塊連接,所述主站ISA總線接口模塊與主站數(shù)據(jù)處理模塊連接,所述主站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接;所述從站包括從站處理器總線接口模塊及從站數(shù)據(jù)處理模塊,所述從站數(shù)據(jù)處理模塊通過從站處理器總線接口模塊與數(shù)字伺服裝置連接,所述從站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接。
所述主站數(shù)據(jù)處理模塊包括輸出暫存RAM模塊、時(shí)間計(jì)數(shù)器模塊、輸入暫存RAM模塊、中斷寄存器模塊、控制寄存器模塊、數(shù)據(jù)打包模塊、環(huán)路同步模塊、環(huán)路測(cè)試模塊、超時(shí)/出錯(cuò)重發(fā)模塊、4B/5B編碼模塊、CRC編碼模塊、并/串轉(zhuǎn)換模塊、串/并轉(zhuǎn)換模塊、4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊,所述控制寄存器模塊與主站ISA總線接口模塊互連,所述控制寄存器模塊的輸出端分別與數(shù)據(jù)打包模塊、環(huán)路同步模塊、超時(shí)/出錯(cuò)重發(fā)模塊及環(huán)路測(cè)試模塊的輸入端連接,所述數(shù)據(jù)打包模塊、環(huán)路同步模塊、超時(shí)/出錯(cuò)重發(fā)模塊及環(huán)路測(cè)試模塊的輸出端分別連接4B/5B解碼模塊的輸入端,所述中斷寄存器模塊的輸入端分別與校驗(yàn)/診斷模塊、環(huán)路測(cè)試模塊、環(huán)路同步模塊的輸出端連接,所述中斷寄存器模塊和超時(shí)/出錯(cuò)重發(fā)模塊互連,所述中斷寄存器模塊的輸出端與主站ISA總線接口模塊的輸入端連接,所述時(shí)間計(jì)數(shù)器模塊的輸出端分別與中斷寄存器模塊、控制寄存器模塊的輸入端連接,所述4B/5B編碼模塊的輸出端通過CRC編碼模塊與并/串轉(zhuǎn)換模塊的輸入端連接,所述串/并轉(zhuǎn)換模塊的輸出端依次通過4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊、輸入暫存RAM模塊與主站ISA總線接口模塊的輸入端連接,所述主站ISA總線接口模塊的輸出端與輸出暫存RAM模塊的輸入端連接。
所述從站數(shù)據(jù)處理模塊包括輸出暫存RAM模塊、輸入暫存RAM模塊、中斷寄存器模塊、控制寄存器模塊、時(shí)間計(jì)數(shù)器模塊、數(shù)據(jù)打包模塊、超時(shí)/出錯(cuò)重發(fā)模塊、4B/5B編碼模塊、CRC編碼模塊、總線數(shù)據(jù)發(fā)送權(quán)切換模塊、并/串轉(zhuǎn)換模塊、串/并轉(zhuǎn)換模塊、4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊,所述控制寄存器模塊和輸出暫存RAM模塊的輸出端依次通過數(shù)據(jù)打包模塊與4B/5B編碼模塊的輸入端連接,所述控制寄存器模塊的輸出端通過超時(shí)/出錯(cuò)重發(fā)模塊與4B/5B編碼模塊輸入端連接,所述4B/5B編碼模塊的輸出端依次通過CRC編碼模塊、總線數(shù)據(jù)發(fā)送權(quán)切換模塊與并/串轉(zhuǎn)換模塊的輸入端連接,所述中斷寄存器模塊與超時(shí)/出錯(cuò)重發(fā)模塊互連,所述串/并轉(zhuǎn)換模塊的輸出端分別與4B/5B編碼模塊及總線數(shù)據(jù)發(fā)送權(quán)切換模塊的輸入端連接,所述4B/5B編碼模塊的輸出端依次通過校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊、輸出暫存RAM模塊與從站處理器總線接口模塊的輸入端連接,所述時(shí)間計(jì)數(shù)器模塊的輸出端分別與中斷寄存器模塊和控制寄存器模塊的輸入端連接,所述中斷寄存器模塊的輸入端分別與校驗(yàn)/診斷模塊及控制寄存器模塊的輸出端連接,所述控制寄存器模塊與從站處理器總線接口模塊互連,所述中斷寄存器模塊的輸出端與從站處理器總線接口模塊的輸入端連接,所述從站處理器總線接口模塊的輸出端與輸出暫存RAM模塊的輸入端連接。
所述從站為多個(gè),所述主站與從站之間通過光纖收發(fā)模塊構(gòu)成環(huán)形網(wǎng)絡(luò)。
所述主站數(shù)據(jù)處理模塊或從站數(shù)據(jù)處理模塊與光纖收發(fā)模塊之間用低電壓晶體管至晶體管邏輯電平-低電壓正射極耦合邏輯電平轉(zhuǎn)換電路連接。
所述的光纖收發(fā)一體化模塊是接口采用低電壓正射極耦合邏輯電平的光纖收發(fā)一體化模塊,所述的主站處理器是基于IntelX86架構(gòu)的PC104處理器,所述的主站數(shù)據(jù)處理模塊或從站數(shù)據(jù)處理模塊是現(xiàn)場(chǎng)可編程門陣列芯片。
基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)的控制方法,其特征在于,包括以下步驟(1)開始時(shí),系統(tǒng)上電,主站數(shù)據(jù)處理模塊和從站數(shù)據(jù)處理模塊內(nèi)部所有協(xié)議模塊均初始化;(2)初始化后,主站處理器發(fā)出相關(guān)指令,當(dāng)收到數(shù)據(jù)傳輸指令后,主站進(jìn)入下一工作階段;(3)主站數(shù)據(jù)處理模塊中的環(huán)路測(cè)試模塊首先測(cè)試整個(gè)鏈路,測(cè)試整個(gè)環(huán)路是否連通,若環(huán)路測(cè)試失敗,則主站數(shù)據(jù)處理模塊產(chǎn)生錯(cuò)誤中斷,并則返回到步驟(2);(4)若環(huán)路測(cè)試成功,主站數(shù)據(jù)處理模塊的環(huán)路同步模塊向環(huán)路廣播同步信號(hào),各個(gè)從站同時(shí)收到同步信號(hào),同步信號(hào)在環(huán)路上傳輸一周,最終若主站能夠收到自己發(fā)出的同步信號(hào),表示環(huán)路同步成功,進(jìn)入下一通信階段;若主站不能收到自身發(fā)出的同步信號(hào),表示同步失敗,則主站數(shù)據(jù)處理模塊向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回等待主站處理器的指令;(5)主站和各個(gè)從站收到同步信號(hào)時(shí),一個(gè)數(shù)據(jù)傳輸周期開始,主站數(shù)據(jù)處理模塊和各個(gè)從站數(shù)據(jù)處理模塊內(nèi)的時(shí)間計(jì)數(shù)器模塊開始計(jì)數(shù),在通信周期內(nèi),各個(gè)站根據(jù)自己的地址和當(dāng)前計(jì)數(shù)值,確定哪個(gè)時(shí)間槽屬于該站點(diǎn),當(dāng)屬于自己的時(shí)間槽到來時(shí),該站點(diǎn)便擁有總線的數(shù)據(jù)發(fā)送權(quán),向總線發(fā)送數(shù)據(jù);數(shù)據(jù)傳輸周期開始后,主站在屬于自己的時(shí)間槽內(nèi)往從站發(fā)送數(shù)據(jù);(6)主站發(fā)送一幀數(shù)據(jù)后,等待從站的應(yīng)答信號(hào),若收到從站的正應(yīng)答信號(hào),表示數(shù)據(jù)被從站正確接收,主站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到從站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被從站正確接收,主站產(chǎn)生錯(cuò)誤中斷并返回等待主站處理器指令,否則,主站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)發(fā)送則等待該時(shí)間槽的結(jié)束;(7)主站時(shí)間槽結(jié)束后,從站在屬于自己的時(shí)間槽內(nèi)往主站發(fā)送數(shù)據(jù),從站發(fā)送一幀數(shù)據(jù)后,等待主站的應(yīng)答信號(hào),若收到主站的正應(yīng)答信號(hào),表示數(shù)據(jù)被主站正確接收,從站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到主站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被主站正確接收,從站產(chǎn)生錯(cuò)誤中斷并返回等待新一次的同步信號(hào),否則,從站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)發(fā)送則等待該時(shí)間槽的結(jié)束;(8)主站數(shù)據(jù)處理模塊和各個(gè)從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值時(shí),當(dāng)前數(shù)據(jù)傳送周期結(jié)束,主站返回步驟(2),等待主站處理器指令開始下一次數(shù)據(jù)傳送周期。
所述主站數(shù)據(jù)處理模塊的處理數(shù)據(jù)包括以下步驟(1)主站上電后,主站數(shù)據(jù)處理模塊內(nèi)部所有模塊均初始化;(2)初始化之后,主站等待主站處理器的指令,當(dāng)收到數(shù)據(jù)傳輸指令后,主站進(jìn)入下一工作階段;(3)當(dāng)主站數(shù)據(jù)處理模塊收到主站處理器的數(shù)據(jù)傳輸指令后,便開始發(fā)送環(huán)路測(cè)試信號(hào),測(cè)試環(huán)路是否正常接通;若環(huán)路測(cè)試失敗,主站數(shù)據(jù)處理模塊會(huì)向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回步驟(2)等待主站處理器的指令;若測(cè)試環(huán)路連通成功,主站進(jìn)入下一步工作階段;(4)環(huán)路測(cè)試成功后主站數(shù)據(jù)處理模塊發(fā)送環(huán)路同步信號(hào),同步環(huán)路上的各個(gè)從站,各個(gè)從站同時(shí)收到同步信號(hào),同步信號(hào)在環(huán)路上成功傳輸一周,若主站能夠收到自己發(fā)出的同步信號(hào),表示環(huán)路同步成功,若主站不能收到自身發(fā)出的同步信號(hào),表示環(huán)路同步失敗,則主站數(shù)據(jù)處理模塊會(huì)向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回步驟(2)等待主站處理器的指令;(5)環(huán)路同步成功后,主站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊啟動(dòng),主站進(jìn)入發(fā)送數(shù)據(jù)階段;(6)主站發(fā)送一幀數(shù)據(jù)后,等待從站的應(yīng)答信號(hào),若收到從站的正應(yīng)答信號(hào),表示數(shù)據(jù)被從站正確接收,主站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到從站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被從站正確接收,主站將產(chǎn)生錯(cuò)誤中斷并返回等待主站處理器指令,否則主站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)可以發(fā)送則等待該時(shí)間槽的結(jié)束;(7)主站時(shí)間槽結(jié)束后,主站處于接收數(shù)據(jù)的階段;(8)當(dāng)主站收到一幀從站的數(shù)據(jù)后,會(huì)對(duì)其進(jìn)行CRC校驗(yàn),若數(shù)據(jù)傳輸正確則返回正應(yīng)答信號(hào);若數(shù)據(jù)校驗(yàn)出錯(cuò),則返回負(fù)應(yīng)答信號(hào);(9)當(dāng)主站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值的時(shí)候,當(dāng)前通信周期結(jié)束,主站數(shù)據(jù)處理模塊向主站處理器產(chǎn)生一個(gè)周期結(jié)束中斷并返回等待主站處理器的指令。
所述從站數(shù)據(jù)處理模塊的處理數(shù)據(jù)包括以下步驟(1)從站上電后,從站數(shù)據(jù)處理模塊內(nèi)部初始化,從站進(jìn)入中繼器狀態(tài);(2)初始化后,從站等待主站發(fā)送的環(huán)路同步信號(hào);(3)當(dāng)從站正確接收到同步信號(hào)后,從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊啟動(dòng),從站數(shù)據(jù)處理模塊根據(jù)計(jì)數(shù)值判斷從站是否處于自己的時(shí)間槽內(nèi),若是,則從站進(jìn)入發(fā)送數(shù)據(jù)階段,總線發(fā)送權(quán)切換開關(guān)閉合,結(jié)束中繼器狀態(tài);(4)從站發(fā)送一幀數(shù)據(jù)后,等待主站的應(yīng)答信號(hào),若收到主站的正應(yīng)答信號(hào),表示數(shù)據(jù)被主站正確接收,從站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到主站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被主站正確接收,從站將產(chǎn)生錯(cuò)誤中斷并返回等待新一次的同步信號(hào),否則,從站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)可以發(fā)送則等待該時(shí)間槽的結(jié)束;(5)若從站沒有處于自己的時(shí)間槽內(nèi),則從站進(jìn)入接收數(shù)據(jù)階段,總線發(fā)送權(quán)切換開關(guān)斷開,繼續(xù)進(jìn)入中繼器狀態(tài);(6)在接收數(shù)據(jù)階段,從站接收主站的服務(wù)數(shù)據(jù)并對(duì)收到的數(shù)據(jù)進(jìn)行CRC校驗(yàn),若數(shù)據(jù)傳輸正確則返回正應(yīng)答信號(hào);若數(shù)據(jù)校驗(yàn)出錯(cuò),則返回負(fù)應(yīng)答信號(hào);(7)當(dāng)從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值的時(shí)候當(dāng)前通信周期結(jié)束,從站數(shù)據(jù)處理模塊向上層產(chǎn)生一個(gè)周期結(jié)束中斷并返回步驟(2)等待主站同步信號(hào)。
本發(fā)明采用分層機(jī)制,分為四層物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)控制層、ISA接口層;所述物理層負(fù)責(zé)數(shù)據(jù)的并串轉(zhuǎn)換,0/1數(shù)據(jù)的發(fā)送和接收;所述數(shù)據(jù)鏈路層負(fù)責(zé)數(shù)據(jù)的4B/5B編碼,CRC編碼,握手機(jī)制的實(shí)現(xiàn),超時(shí)重發(fā),出錯(cuò)重發(fā);所述網(wǎng)絡(luò)控制層負(fù)責(zé)環(huán)路同步,計(jì)時(shí),總線擁有權(quán)的切換,數(shù)據(jù)轉(zhuǎn)發(fā)開關(guān)的切換,同時(shí)把ISA接口層發(fā)下來的數(shù)據(jù)進(jìn)行重新打包,加上目的站,源站的地址信息,把發(fā)給本站的數(shù)據(jù)去掉相應(yīng)的地址信息后傳給ISA接口層RAM;所述ISA接口層負(fù)責(zé)把主站處理器(即PC104處理器)發(fā)下來的數(shù)據(jù)分組,然后給各個(gè)數(shù)據(jù)加上ID,進(jìn)行RAM緩存,然后等待網(wǎng)絡(luò)層讀取。同時(shí)接收網(wǎng)絡(luò)層傳上來的數(shù)據(jù)等待主站處理器(即PC104處理器)讀取。
本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn)和有益效果1、本發(fā)明自行設(shè)計(jì)的通信協(xié)議通過通用的現(xiàn)場(chǎng)可編程門陣列芯片F(xiàn)PGA實(shí)現(xiàn),由于系統(tǒng)的可編程性,協(xié)議的修改和功能的添加并不會(huì)導(dǎo)致設(shè)計(jì)周期的延長(zhǎng)和成本的增加。
2、本發(fā)明采用光纖作為傳輸介質(zhì),簡(jiǎn)化了現(xiàn)有技術(shù)設(shè)備之間連線的復(fù)雜性,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和可靠性。
3、本發(fā)明在協(xié)議和硬件上都同時(shí)支持單軸和多軸,并能提供多軸系統(tǒng)之間的同步功能。
4、本發(fā)明在通信協(xié)議上是自主設(shè)計(jì)并實(shí)現(xiàn)硬件的通用化,另外本設(shè)計(jì)在應(yīng)用時(shí)不受驅(qū)動(dòng)器和控制器供應(yīng)商的限制。
圖1為本發(fā)明的系統(tǒng)框圖;圖2為本發(fā)明的主站數(shù)據(jù)處理模塊的結(jié)構(gòu)框圖;圖3為本發(fā)明的從站數(shù)據(jù)處理模塊的結(jié)構(gòu)框圖;圖4為本發(fā)明的主站與從站之間數(shù)據(jù)處理流程圖;圖5為本發(fā)明的主站數(shù)據(jù)處理模塊的處理數(shù)據(jù)流程圖;圖6為本發(fā)明的從站數(shù)據(jù)處理模塊的處理數(shù)據(jù)流程圖;圖7為本發(fā)明的硬件實(shí)現(xiàn)結(jié)構(gòu)框圖;圖8為本發(fā)明一實(shí)施例的主站ISA總線接口模塊、主站數(shù)據(jù)處理模塊及其配置電路的電路圖;圖9為本發(fā)明一實(shí)施例的LVTTL-LVPECL電平轉(zhuǎn)換電路,光纖收發(fā)模塊及其配置電路的電路圖。
具體實(shí)施例方式
下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
實(shí)施例如圖1所示的,本發(fā)明提供的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),該系統(tǒng)包括主站、從站、光纖收發(fā)模塊及數(shù)字伺服裝置,所述主站依次通過光纖收發(fā)模塊、從站與數(shù)字伺服裝置連接;所述主站包括主站處理器、主站ISA總線接口模塊及主站數(shù)據(jù)處理模塊,所述主站處理器通過主站ISA總線接口模塊與主站數(shù)據(jù)處理模塊連接,所述主站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接;所述從站包括從站處理器總線接口模塊及從站數(shù)據(jù)處理模塊,所述從站數(shù)據(jù)處理模塊通過從站處理器總線接口模塊與數(shù)字伺服裝置連接,所述從站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接。
在系統(tǒng)中采用主站為一個(gè),從站的數(shù)目則可多達(dá)127個(gè),主站與從站之間通過光纖收發(fā)模塊構(gòu)成環(huán)形網(wǎng)絡(luò)。由于其直接面向底層設(shè)備間的通信,數(shù)據(jù)量較小,該傳輸網(wǎng)絡(luò)能在很短的時(shí)間內(nèi)(32個(gè)站點(diǎn)時(shí)為1ms以內(nèi))完成和所有站點(diǎn)的通信。
如圖2所示,本發(fā)明的主站數(shù)據(jù)處理模塊包括輸出暫存RAM模塊、時(shí)間計(jì)數(shù)器模塊、輸入暫存RAM模塊、中斷寄存器模塊、控制寄存器模塊、數(shù)據(jù)打包模塊、環(huán)路同步模塊、環(huán)路測(cè)試模塊、超時(shí)/出錯(cuò)重發(fā)模塊、4B/5B編碼模塊、CRC編碼模塊、并/串轉(zhuǎn)換模塊、串/并轉(zhuǎn)換模塊、4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊,所述控制寄存器模塊與主站ISA總線接口模塊互連,所述控制寄存器模塊的輸出端分別與數(shù)據(jù)打包模塊、環(huán)路同步模塊、超時(shí)/出錯(cuò)重發(fā)模塊及環(huán)路測(cè)試模塊的輸入端連接,所述數(shù)據(jù)打包模塊、環(huán)路同步模塊、超時(shí)/出錯(cuò)重發(fā)模塊及環(huán)路測(cè)試模塊的輸出端分別連接4B/5B解碼模塊的輸入端,所述中斷寄存器模塊的輸入端分別與校驗(yàn)/診斷模塊、環(huán)路測(cè)試模塊、環(huán)路同步模塊的輸出端連接,所述中斷寄存器模塊和超時(shí)/出錯(cuò)重發(fā)模塊互連,所述中斷寄存器模塊的輸出端與主站ISA總線接口模塊的輸入端連接,所述時(shí)間計(jì)數(shù)器模塊的輸出端分別與中斷寄存器模塊、控制寄存器模塊的輸入端連接,所述4B/5B編碼模塊的輸出端通過CRC編碼模塊與并/串轉(zhuǎn)換模塊的輸入端連接,所述串/并轉(zhuǎn)換模塊的輸出端依次通過4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊、輸入暫存RAM模塊與主站ISA總線接口模塊的輸入端連接,所述主站ISA總線接口模塊的輸出端與輸出暫存RAM模塊的輸入端連接。
如圖3所示,本發(fā)明的從站數(shù)據(jù)處理模塊包括輸出暫存RAM模塊、輸入暫存RAM模塊、中斷寄存器模塊、控制寄存器模塊、時(shí)間計(jì)數(shù)器模塊、數(shù)據(jù)打包模塊、超時(shí)/出錯(cuò)重發(fā)模塊、4B/5B編碼模塊、CRC編碼模塊、總線數(shù)據(jù)發(fā)送權(quán)切換模塊、并/串轉(zhuǎn)換模塊、串/并轉(zhuǎn)換模塊、4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊,所述控制寄存器模塊和輸出暫存RAM模塊的輸出端依次通過數(shù)據(jù)打包模塊與4B/5B編碼模塊的輸入端連接,所述控制寄存器模塊的輸出端通過超時(shí)/出錯(cuò)重發(fā)模塊與4B/5B編碼模塊輸入端連接,所述4B/5B編碼模塊的輸出端依次通過CRC編碼模塊、總線數(shù)據(jù)發(fā)送權(quán)切換模塊與并/串轉(zhuǎn)換模塊的輸入端連接,所述中斷寄存器模塊與超時(shí)/出錯(cuò)重發(fā)模塊互連,所述串/并轉(zhuǎn)換模塊的輸出端分別與4B/5B編碼模塊及總線數(shù)據(jù)發(fā)送權(quán)切換模塊的輸入端連接,所述4B/5B編碼模塊的輸出端依次通過校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊、輸出暫存RAM模塊與從站處理器總線接口模塊的輸入端連接,所述時(shí)間計(jì)數(shù)器模塊的輸出端分別與中斷寄存器模塊和控制寄存器模塊的輸入端連接,所述中斷寄存器模塊的輸入端分別與校驗(yàn)/診斷模塊及控制寄存器模塊的輸出端連接,所述控制寄存器模塊與從站處理器總線接口模塊互連,所述中斷寄存器模塊的輸出端與從站處理器總線接口模塊的輸入端連接,所述從站處理器總線接口模塊的輸出端與輸出暫存RAM模塊的輸入端連接。
如圖4所示,本發(fā)明的主站與從站是通過以下步驟進(jìn)行數(shù)據(jù)通信處理(1)開始時(shí),系統(tǒng)上電,主站數(shù)據(jù)處理模塊和從站數(shù)據(jù)處理模塊內(nèi)部所有協(xié)議模塊均初始化;(2)初始化后,主站處理器發(fā)出相關(guān)指令,當(dāng)收到數(shù)據(jù)傳輸指令后,主站進(jìn)入下一工作階段;(3)主站數(shù)據(jù)處理模塊中的環(huán)路測(cè)試模塊首先測(cè)試整個(gè)鏈路,測(cè)試整個(gè)環(huán)路是否連通,若環(huán)路測(cè)試失敗,則主站數(shù)據(jù)處理模塊產(chǎn)生錯(cuò)誤中斷,并則返回到步驟(2);(4)若環(huán)路測(cè)試成功,主站數(shù)據(jù)處理模塊的環(huán)路同步模塊向環(huán)路廣播同步信號(hào),各個(gè)從站同時(shí)收到同步信號(hào),同步信號(hào)在環(huán)路上傳輸一周,最終若主站能夠收到自己發(fā)出的同步信號(hào),表示環(huán)路同步成功,進(jìn)入下一通信階段;若主站不能收到自身發(fā)出的同步信號(hào),表示同步失敗,則主站數(shù)據(jù)處理模塊向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回等待主站處理器的指令;(5)主站和各個(gè)從站收到同步信號(hào)時(shí),一個(gè)數(shù)據(jù)傳輸周期開始,主站數(shù)據(jù)處理模塊和各個(gè)從站數(shù)據(jù)處理模塊內(nèi)的時(shí)間計(jì)數(shù)器模塊開始計(jì)數(shù),在通信周期內(nèi),各個(gè)站根據(jù)自己的地址和當(dāng)前計(jì)數(shù)值,確定哪個(gè)時(shí)間槽屬于該站點(diǎn),當(dāng)屬于自己的時(shí)間槽到來時(shí),該站點(diǎn)便擁有總線的數(shù)據(jù)發(fā)送權(quán),向總線發(fā)送數(shù)據(jù);數(shù)據(jù)傳輸周期開始后,主站在屬于自己的時(shí)間槽內(nèi)往從站發(fā)送數(shù)據(jù);(6)主站發(fā)送一幀數(shù)據(jù)后,等待從站的應(yīng)答信號(hào),若收到從站的正應(yīng)答信號(hào),表示數(shù)據(jù)被從站正確接收,主站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到從站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被從站正確接收,主站產(chǎn)生錯(cuò)誤中斷并返回等待主站處理器指令,否則,主站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)發(fā)送則等待該時(shí)間槽的結(jié)束;(7)主站時(shí)間槽結(jié)束后,從站在屬于自己的時(shí)間槽內(nèi)往主站發(fā)送數(shù)據(jù),從站發(fā)送一幀數(shù)據(jù)后,等待主站的應(yīng)答信號(hào),若收到主站的正應(yīng)答信號(hào),表示數(shù)據(jù)被主站正確接收,從站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到主站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被主站正確接收,從站產(chǎn)生錯(cuò)誤中斷并返回等待新一次的同步信號(hào),否則,從站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)發(fā)送則等待該時(shí)間槽的結(jié)束;(8)主站數(shù)據(jù)處理模塊和各個(gè)從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值時(shí),當(dāng)前數(shù)據(jù)傳送周期結(jié)束,主站返回步驟(2),等待主站處理器指令開始下一次數(shù)據(jù)傳送周期。
以上階段依次進(jìn)行,不斷循環(huán),直到控制器終止傳輸或者環(huán)路傳輸錯(cuò)誤被迫中斷。
本發(fā)明中,主站與從站之間實(shí)現(xiàn)通信,其特點(diǎn)之一在于數(shù)據(jù)傳輸分為非周期性傳輸階段和周期性傳輸階段,并且可以根據(jù)上層命令控制當(dāng)前通信周期進(jìn)入非周期性傳輸階段還是周期性傳輸階段。在非周期傳輸階段,一個(gè)通信周期內(nèi)主站只和某一個(gè)從站進(jìn)行數(shù)據(jù)交換,這種情況下,通信周期的第一個(gè)時(shí)間槽屬于主站,其間主站給某一個(gè)從站發(fā)送命令,參數(shù)配置等數(shù)據(jù),用以設(shè)置從站的伺服裝置;而在通行周期的剩余時(shí)間內(nèi),只有被主站選中的從站才會(huì)向主站返回應(yīng)答數(shù)據(jù)。在周期傳輸階段,一個(gè)通信周期內(nèi)主站和所有地址有效的從站進(jìn)行數(shù)據(jù)交換,這種情況下,通信周期的第一個(gè)時(shí)間槽屬于主站,其間主站給所有從站發(fā)送控制指令值等服務(wù)數(shù)據(jù),用以控制各從站伺服裝置的正常運(yùn)行;在通行周期的剩余時(shí)間內(nèi),各個(gè)從站依次在自己的時(shí)間槽內(nèi)向主站返回應(yīng)答數(shù)據(jù)。
無論是非周期傳輸還是周期傳輸,主站數(shù)據(jù)處理模塊的服務(wù)數(shù)據(jù)打包模塊會(huì)從與ISA接口連接的RAM中提取要發(fā)送的數(shù)據(jù),加上從站地址等信息,打包成主站服務(wù)數(shù)據(jù)包發(fā)送給從站;同理從站數(shù)據(jù)處理模塊的應(yīng)答數(shù)據(jù)打包模塊從與其ISA接口連接的RAM中提取要發(fā)送的數(shù)據(jù),加上自身地址等信息,打包成從站應(yīng)答數(shù)據(jù)包發(fā)送給主站;主站或從站在接收到數(shù)據(jù)包后協(xié)議的診斷模塊會(huì)檢驗(yàn)其傳輸?shù)恼_性,然后由數(shù)據(jù)包解析模塊對(duì)數(shù)據(jù)包進(jìn)行解析,提出上層軟件需要的數(shù)據(jù)信息,放入RAM中,供上層軟件調(diào)用。
如圖5所示,主站數(shù)據(jù)處理模塊的處理數(shù)據(jù)包括以下步驟(1)主站上電后,主站數(shù)據(jù)處理模塊內(nèi)部所有模塊均初始化;(2)初始化之后,主站等待主站處理器的指令,當(dāng)收到數(shù)據(jù)傳輸指令后,主站進(jìn)入下一工作階段;(3)當(dāng)主站數(shù)據(jù)處理模塊收到主站處理器的數(shù)據(jù)傳輸指令后,便開始發(fā)送環(huán)路測(cè)試信號(hào),測(cè)試環(huán)路是否正常接通;若環(huán)路測(cè)試失敗,主站數(shù)據(jù)處理模塊會(huì)向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回步驟(2)等待主站處理器的指令;若測(cè)試環(huán)路連通成功,主站進(jìn)入下一步工作階段;(4)環(huán)路測(cè)試成功后主站數(shù)據(jù)處理模塊發(fā)送環(huán)路同步信號(hào),同步環(huán)路上的各個(gè)從站,各個(gè)從站同時(shí)收到同步信號(hào),同步信號(hào)在環(huán)路上成功傳輸一周,若主站能夠收到自己發(fā)出的同步信號(hào),表示環(huán)路同步成功,若主站不能收到自身發(fā)出的同步信號(hào),表示環(huán)路同步失敗,則主站數(shù)據(jù)處理模塊會(huì)向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回步驟(2)等待主站處理器的指令;(5)環(huán)路同步成功后,主站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊啟動(dòng),主站進(jìn)入發(fā)送數(shù)據(jù)階段;(6)主站發(fā)送一幀數(shù)據(jù)后,等待從站的應(yīng)答信號(hào),若收到從站的正應(yīng)答信號(hào),表示數(shù)據(jù)被從站正確接收,主站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到從站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被從站正確接收,主站將產(chǎn)生錯(cuò)誤中斷并返回等待主站處理器指令,否則主站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)可以發(fā)送則等待該時(shí)間槽的結(jié)束;(7)主站時(shí)間槽結(jié)束后,主站處于接收數(shù)據(jù)的階段;(8)當(dāng)主站收到一幀從站的數(shù)據(jù)后,會(huì)對(duì)其進(jìn)行CRC校驗(yàn),若數(shù)據(jù)傳輸正確則返回正應(yīng)答信號(hào);若數(shù)據(jù)校驗(yàn)出錯(cuò),則返回負(fù)應(yīng)答信號(hào);(9)當(dāng)主站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值的時(shí)候,當(dāng)前通信周期結(jié)束,主站數(shù)據(jù)處理模塊向主站處理器產(chǎn)生一個(gè)周期結(jié)束中斷并返回等待主站處理器的指令。
如圖6所示,從站數(shù)據(jù)處理模塊的處理數(shù)據(jù)包括以下步驟
(1)從站上電后,從站數(shù)據(jù)處理模塊內(nèi)部初始化,從站進(jìn)入中繼器狀態(tài);(2)初始化后,從站等待主站發(fā)送的環(huán)路同步信號(hào);(3)當(dāng)從站正確接收到同步信號(hào)后,從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊啟動(dòng),從站數(shù)據(jù)處理模塊根據(jù)計(jì)數(shù)值判斷從站是否處于自己的時(shí)間槽內(nèi),若是,則從站進(jìn)入發(fā)送數(shù)據(jù)階段,總線發(fā)送權(quán)切換開關(guān)閉合,結(jié)束中繼器狀態(tài);(4)從站發(fā)送一幀數(shù)據(jù)后,等待主站的應(yīng)答信號(hào),若收到主站的正應(yīng)答信號(hào),表示數(shù)據(jù)被主站正確接收,從站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到主站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被主站正確接收,從站將產(chǎn)生錯(cuò)誤中斷并返回等待新一次的同步信號(hào),否則,從站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)可以發(fā)送則等待該時(shí)間槽的結(jié)束;(5)若從站沒有處于自己的時(shí)間槽內(nèi),則從站進(jìn)入接收數(shù)據(jù)階段,總線發(fā)送權(quán)切換開關(guān)斷開,繼續(xù)進(jìn)入中繼器狀態(tài);(6)在接收數(shù)據(jù)階段,從站接收主站的服務(wù)數(shù)據(jù)并對(duì)收到的數(shù)據(jù)進(jìn)行CRC校驗(yàn),若數(shù)據(jù)傳輸正確則返回正應(yīng)答信號(hào);若數(shù)據(jù)校驗(yàn)出錯(cuò),則返回負(fù)應(yīng)答信號(hào);(7)當(dāng)從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值的時(shí)候當(dāng)前通信周期結(jié)束,從站數(shù)據(jù)處理模塊向上層產(chǎn)生一個(gè)周期結(jié)束中斷并返回步驟(2)等待主站同步信號(hào)。
如圖7、圖8及圖9所示,本發(fā)明的主站數(shù)據(jù)處理模塊是采用現(xiàn)場(chǎng)可編程門陣列芯片F(xiàn)PGA實(shí)現(xiàn),主站處理器采用基于IntelX86架構(gòu)的PC104處理器。PC104處理器通過主站ISA總線接口模塊與主站數(shù)據(jù)處理模塊(主站FPGA通信協(xié)議芯片)連接。主站數(shù)據(jù)處理模塊(主站FPGA通信協(xié)議芯片)連接的電路有FPGA配置電路、測(cè)試信號(hào)及I/O端口電路、鎖相環(huán)電路、電源電路、系統(tǒng)時(shí)鐘,復(fù)位電路及從站數(shù)量設(shè)置開關(guān)電路,其中與主站連接的從站數(shù)量設(shè)置開關(guān)電路則設(shè)置整個(gè)環(huán)中從站的個(gè)數(shù)。主FPGA通信協(xié)議芯片與光纖收發(fā)模塊之間通過LVTTL-LVPECL電平轉(zhuǎn)換電路連接,并配有測(cè)試端口,用以觀察和測(cè)試FPGA協(xié)議芯片的內(nèi)部工作狀況。在本發(fā)明中采用MC100EPT20和MC100EPT23芯片實(shí)現(xiàn)LVPECL/LVTTL電平轉(zhuǎn)換;另外該光纖收發(fā)模塊是接口用LVPECL電平的光纖收發(fā)一體化模塊。光纖的串行傳輸機(jī)制大大簡(jiǎn)化了硬件電路結(jié)構(gòu),電路板的面積可控制在15CM×15CM以內(nèi)。
本發(fā)明的從站ISA總線接口模塊、從站數(shù)據(jù)處理模塊及其配置電路的電路與主站ISA總線接口模塊、主站數(shù)據(jù)處理模塊及其配置電路的電路結(jié)構(gòu)相同。從站FPGA通信協(xié)議芯片連接的電路有FPGA配置電路、測(cè)試信號(hào)及I/O端口電路、鎖相環(huán)電路、電源電路、系統(tǒng)時(shí)鐘、復(fù)位電路及從站地址選擇開關(guān)電路,其中從站地址選擇開關(guān)電路,其作用是選擇從站地址,用以總線數(shù)據(jù)發(fā)送權(quán)的切換,若當(dāng)前時(shí)間槽屬于該從站,則該從站的開關(guān)電路接通數(shù)據(jù)發(fā)送模塊和環(huán)路,這樣該站點(diǎn)取得了當(dāng)前時(shí)間槽的總線數(shù)據(jù)發(fā)送權(quán),其中各個(gè)時(shí)間槽的長(zhǎng)度也可以根據(jù)各個(gè)站數(shù)據(jù)的傳輸量進(jìn)行設(shè)置;在其余時(shí)間這個(gè)開關(guān)只是簡(jiǎn)單的連接了該從站的輸入和輸出,此時(shí)該從站相當(dāng)于一個(gè)中繼器,簡(jiǎn)單的將輸入給它的數(shù)據(jù)輸出到環(huán)路上的下一個(gè)從站。
本發(fā)明的主站數(shù)據(jù)處理模塊(主站FPGA通信協(xié)議芯片)和從站數(shù)據(jù)處理模塊(從站FPGA通信協(xié)議芯片),光纖收發(fā)模塊以及ISA總線接口電路設(shè)計(jì)在同一塊電路板上。使用塑料光纖,節(jié)點(diǎn)間通信距離可達(dá)40M,使用玻璃光纖,節(jié)點(diǎn)間通信距離可以達(dá)到800M,能夠滿足大規(guī)模工業(yè)現(xiàn)場(chǎng)的分布式控制需求。
本發(fā)明的設(shè)計(jì)原理是開始時(shí),主站首先測(cè)試整個(gè)鏈路,給整個(gè)環(huán)發(fā)檢測(cè)信號(hào)十次,如果它自己都能正確收到,則表明環(huán)路是通的,否則報(bào)錯(cuò),同時(shí)一直發(fā)送檢測(cè)信號(hào)。當(dāng)環(huán)路通時(shí),主站向環(huán)廣播同步信號(hào),當(dāng)各個(gè)站及它本身都收到該廣播信號(hào)時(shí),各站進(jìn)行嚴(yán)格同步,開始計(jì)時(shí),一個(gè)數(shù)據(jù)傳輸周期也開始,在這個(gè)時(shí)鐘周期內(nèi),各個(gè)站根據(jù)自己的地址,確定哪個(gè)時(shí)間槽屬于該站點(diǎn),當(dāng)屬于自己的時(shí)間槽到來時(shí),該站點(diǎn)便擁有總線的數(shù)據(jù)發(fā)送權(quán),可以向總線發(fā)送數(shù)據(jù)。當(dāng)一個(gè)傳輸周期結(jié)束時(shí),主站又向環(huán)型網(wǎng)絡(luò)廣播同步信號(hào),然后開始新的數(shù)據(jù)傳輸周期。依此在處理器的控制下循環(huán)或終止。
所述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受所述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),其特征在于,包括主站、從站、光纖收發(fā)模塊及數(shù)字伺服裝置,所述主站依次通過光纖收發(fā)模塊、從站與數(shù)字伺服裝置連接;所述主站包括主站處理器、主站ISA總線接口模塊及主站數(shù)據(jù)處理模塊,所述主站處理器與主站ISA總線接口模塊連接,所述主站ISA總線接口模塊與主站數(shù)據(jù)處理模塊連接,所述主站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接;所述從站包括從站處理器總線接口模塊及從站數(shù)據(jù)處理模塊,所述從站數(shù)據(jù)處理模塊通過從站處理器總線接口模塊與數(shù)字伺服裝置連接,所述從站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接。
2.根據(jù)權(quán)利要求1所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),其特征在于,所述主站數(shù)據(jù)處理模塊包括輸出暫存RAM模塊、時(shí)間計(jì)數(shù)器模塊、輸入暫存RAM模塊、中斷寄存器模塊、控制寄存器模塊、數(shù)據(jù)打包模塊、環(huán)路同步模塊、環(huán)路測(cè)試模塊、超時(shí)/出錯(cuò)重發(fā)模塊、4B/5B編碼模塊、CRC編碼模塊、并/串轉(zhuǎn)換模塊、串/并轉(zhuǎn)換模塊、4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊,所述控制寄存器模塊與主站ISA總線接口模塊互連,所述控制寄存器模塊的輸出端分別與數(shù)據(jù)打包模塊、環(huán)路同步模塊、超時(shí)/出錯(cuò)重發(fā)模塊及環(huán)路測(cè)試模塊的輸入端連接,所述數(shù)據(jù)打包模塊、環(huán)路同步模塊、超時(shí)/出錯(cuò)重發(fā)模塊及環(huán)路測(cè)試模塊的輸出端分別連接4B/5B解碼模塊的輸入端,所述中斷寄存器模塊的輸入端分別與校驗(yàn)/診斷模塊、環(huán)路測(cè)試模塊、環(huán)路同步模塊的輸出端連接,所述中斷寄存器模塊和超時(shí)/出錯(cuò)重發(fā)模塊互連,所述中斷寄存器模塊的輸出端與主站ISA總線接口模塊的輸入端連接,所述時(shí)間計(jì)數(shù)器模塊的輸出端分別與中斷寄存器模塊、控制寄存器模塊的輸入端連接,所述4B/5B編碼模塊的輸出端通過CRC編碼模塊與并/串轉(zhuǎn)換模塊的輸入端連接,所述串/并轉(zhuǎn)換模塊的輸出端依次通過4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊、輸入暫存RAM模塊與主站ISA總線接口模塊的輸入端連接,所述主站ISA總線接口模塊的輸出端與輸出暫存RAM模塊的輸入端連接。
3.根據(jù)權(quán)利要求1所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),其特征在于,所述從站數(shù)據(jù)處理模塊包括輸出暫存RAM模塊、輸入暫存RAM模塊、中斷寄存器模塊、控制寄存器模塊、時(shí)間計(jì)數(shù)器模塊、數(shù)據(jù)打包模塊、超時(shí)/出錯(cuò)重發(fā)模塊、4B/5B編碼模塊、CRC編碼模塊、總線數(shù)據(jù)發(fā)送權(quán)切換模塊、并/串轉(zhuǎn)換模塊、串/并轉(zhuǎn)換模塊、4B/5B解碼模塊、校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊,所述控制寄存器模塊和輸出暫存RAM模塊的輸出端依次通過數(shù)據(jù)打包模塊與4B/5B編碼模塊的輸入端連接,所述控制寄存器模塊的輸出端通過超時(shí)/出錯(cuò)重發(fā)模塊與4B/5B編碼模塊輸入端連接,所述4B/5B編碼模塊的輸出端依次通過CRC編碼模塊、總線數(shù)據(jù)發(fā)送權(quán)切換模塊與并/串轉(zhuǎn)換模塊的輸入端連接,所述中斷寄存器模塊與超時(shí)/出錯(cuò)重發(fā)模塊互連,所述串/并轉(zhuǎn)換模塊的輸出端分別與4B/5B編碼模塊及總線數(shù)據(jù)發(fā)送權(quán)切換模塊的輸入端連接,所述4B/5B編碼模塊的輸出端依次通過校驗(yàn)/診斷模塊、數(shù)據(jù)包解析模塊、輸出暫存RAM模塊與從站處理器總線接口模塊的輸入端連接,所述時(shí)間計(jì)數(shù)器模塊的輸出端分別與中斷寄存器模塊和控制寄存器模塊的輸入端連接,所述中斷寄存器模塊的輸入端分別與校驗(yàn)/診斷模塊及控制寄存器模塊的輸出端連接,所述控制寄存器模塊與從站處理器總線接口模塊互連,所述中斷寄存器模塊的輸出端與從站處理器總線接口模塊的輸入端連接,所述從站處理器總線接口模塊的輸出端與輸出暫存RAM模塊的輸入端連接。
4.根據(jù)權(quán)利要求1所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),其特征在于,所述從站為多個(gè),所述主站與從站之間通過光纖收發(fā)模塊構(gòu)成環(huán)形網(wǎng)絡(luò)。
5.根據(jù)權(quán)利要求1所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),其特征在于,所述主站數(shù)據(jù)處理模塊或從站數(shù)據(jù)處理模塊與光纖收發(fā)模塊之間用低電壓晶體管至晶體管邏輯電平-低電壓正射極耦合邏輯電平轉(zhuǎn)換電路連接。
6.根據(jù)權(quán)利要求1所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng),其特征在于,所述的光纖收發(fā)一體化模塊是接口采用低電壓正射極耦合邏輯電平的光纖收發(fā)一體化模塊,所述的主站處理器是基于IntelX86架構(gòu)的PC104處理器,所述的主站數(shù)據(jù)處理模塊或從站數(shù)據(jù)處理模塊是現(xiàn)場(chǎng)可編程門陣列芯片。
7.權(quán)利要求1所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)的控制方法,其特征在于,包括以下步驟(1)開始時(shí),系統(tǒng)上電,主站數(shù)據(jù)處理模塊和從站數(shù)據(jù)處理模塊內(nèi)部所有協(xié)議模塊均初始化;(2)初始化后,主站處理器發(fā)出相關(guān)指令,當(dāng)收到數(shù)據(jù)傳輸指令后,主站進(jìn)入下一工作階段;(3)主站數(shù)據(jù)處理模塊中的環(huán)路測(cè)試模塊首先測(cè)試整個(gè)鏈路,測(cè)試整個(gè)環(huán)路是否連通,若環(huán)路測(cè)試失敗,則主站數(shù)據(jù)處理模塊產(chǎn)生錯(cuò)誤中斷,并則返回到步驟(2);(4)若環(huán)路測(cè)試成功,主站數(shù)據(jù)處理模塊的環(huán)路同步模塊向環(huán)路廣播同步信號(hào),各個(gè)從站同時(shí)收到同步信號(hào),同步信號(hào)在環(huán)路上傳輸一周,最終若主站能夠收到自己發(fā)出的同步信號(hào),表示環(huán)路同步成功,進(jìn)入下一通信階段;若主站不能收到自身發(fā)出的同步信號(hào),表示同步失敗,則主站數(shù)據(jù)處理模塊向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回等待主站處理器的指令;(5)主站和各個(gè)從站收到同步信號(hào)時(shí),一個(gè)數(shù)據(jù)傳輸周期開始,主站數(shù)據(jù)處理模塊和各個(gè)從站數(shù)據(jù)處理模塊內(nèi)的時(shí)間計(jì)數(shù)器模塊開始計(jì)數(shù),在通信周期內(nèi),各個(gè)站根據(jù)自己的地址和當(dāng)前計(jì)數(shù)值,確定哪個(gè)時(shí)間槽屬于該站點(diǎn),當(dāng)屬于自己的時(shí)間槽到來時(shí),該站點(diǎn)便擁有總線的數(shù)據(jù)發(fā)送權(quán),向總線發(fā)送數(shù)據(jù);數(shù)據(jù)傳輸周期開始后,主站在屬于自己的時(shí)間槽內(nèi)往從站發(fā)送數(shù)據(jù);(6)主站發(fā)送一幀數(shù)據(jù)后,等待從站的應(yīng)答信號(hào),若收到從站的正應(yīng)答信號(hào),表示數(shù)據(jù)被從站正確接收,主站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到從站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被從站正確接收,主站產(chǎn)生錯(cuò)誤中斷并返回等待主站處理器指令,否則,主站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)發(fā)送則等待該時(shí)間槽的結(jié)束;(7)主站時(shí)間槽結(jié)束后,從站在屬于自己的時(shí)間槽內(nèi)往主站發(fā)送數(shù)據(jù),從站發(fā)送一幀數(shù)據(jù)后,等待主站的應(yīng)答信號(hào),若收到主站的正應(yīng)答信號(hào),表示數(shù)據(jù)被主站正確接收,從站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到主站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被主站正確接收,從站產(chǎn)生錯(cuò)誤中斷并返回等待新一次的同步信號(hào),否則,從站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)發(fā)送則等待該時(shí)間槽的結(jié)束;(8)主站數(shù)據(jù)處理模塊和各個(gè)從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值時(shí),當(dāng)前數(shù)據(jù)傳送周期結(jié)束,主站返回步驟(2),等待主站處理器指令開始下一次數(shù)據(jù)傳送周期。
8.根據(jù)權(quán)利要求7所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)的控制方法,其特征在于,所述主站數(shù)據(jù)處理模塊的處理數(shù)據(jù)包括以下步驟(1)主站上電后,主站數(shù)據(jù)處理模塊內(nèi)部所有模塊均初始化;(2)初始化之后,主站等待主站處理器的指令,當(dāng)收到數(shù)據(jù)傳輸指令后,主站進(jìn)入下一工作階段;(3)當(dāng)主站數(shù)據(jù)處理模塊收到主站處理器的數(shù)據(jù)傳輸指令后,便開始發(fā)送環(huán)路測(cè)試信號(hào),測(cè)試環(huán)路是否正常接通;若環(huán)路測(cè)試失敗,主站數(shù)據(jù)處理模塊會(huì)向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回步驟(2)等待主站處理器的指令;若測(cè)試環(huán)路連通成功,主站進(jìn)入下一步工作階段;(4)環(huán)路測(cè)試成功后主站數(shù)據(jù)處理模塊發(fā)送環(huán)路同步信號(hào),同步環(huán)路上的各個(gè)從站,各個(gè)從站同時(shí)收到同步信號(hào),同步信號(hào)在環(huán)路上成功傳輸一周,若主站能夠收到自己發(fā)出的同步信號(hào),表示環(huán)路同步成功,若主站不能收到自身發(fā)出的同步信號(hào),表示環(huán)路同步失敗,則主站數(shù)據(jù)處理模塊會(huì)向主站處理器產(chǎn)生相應(yīng)的出錯(cuò)中斷,并返回步驟(2)等待主站處理器的指令;(5)環(huán)路同步成功后,主站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊啟動(dòng),主站進(jìn)入發(fā)送數(shù)據(jù)階段;(6)主站發(fā)送一幀數(shù)據(jù)后,等待從站的應(yīng)答信號(hào),若收到從站的正應(yīng)答信號(hào),表示數(shù)據(jù)被從站正確接收,主站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到從站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被從站正確接收,主站將產(chǎn)生錯(cuò)誤中斷并返回等待主站處理器指令,否則主站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)可以發(fā)送則等待該時(shí)間槽的結(jié)束;(7)主站時(shí)間槽結(jié)束后,主站處于接收數(shù)據(jù)的階段;(8)當(dāng)主站收到一幀從站的數(shù)據(jù)后,會(huì)對(duì)其進(jìn)行CRC校驗(yàn),若數(shù)據(jù)傳輸正確則返回正應(yīng)答信號(hào);若數(shù)據(jù)校驗(yàn)出錯(cuò),則返回負(fù)應(yīng)答信號(hào);(9)當(dāng)主站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值的時(shí)候,當(dāng)前通信周期結(jié)束,主站數(shù)據(jù)處理模塊向主站處理器產(chǎn)生一個(gè)周期結(jié)束中斷并返回等待主站處理器的指令。
9.根據(jù)權(quán)利要求7所述的基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)的控制方法,其特征在于,所述從站數(shù)據(jù)處理模塊的處理數(shù)據(jù)包括以下步驟(1)從站上電后,從站數(shù)據(jù)處理模塊內(nèi)部初始化,從站進(jìn)入中繼器狀態(tài);(2)初始化后,從站等待主站發(fā)送的環(huán)路同步信號(hào);(3)當(dāng)從站正確接收到同步信號(hào)后,從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊啟動(dòng),從站數(shù)據(jù)處理模塊根據(jù)計(jì)數(shù)值判斷從站是否處于自己的時(shí)間槽內(nèi),若是,則從站進(jìn)入發(fā)送數(shù)據(jù)階段,總線發(fā)送權(quán)切換開關(guān)閉合,結(jié)束中繼器狀態(tài);(4)從站發(fā)送一幀數(shù)據(jù)后,等待主站的應(yīng)答信號(hào),若收到主站的正應(yīng)答信號(hào),表示數(shù)據(jù)被主站正確接收,從站繼續(xù)發(fā)送下一幀數(shù)據(jù);若收到主站的負(fù)應(yīng)答信號(hào),表示數(shù)據(jù)沒有被主站正確接收,從站將產(chǎn)生錯(cuò)誤中斷并返回等待新一次的同步信號(hào),否則,從站在自己的時(shí)間槽內(nèi)繼續(xù)發(fā)送數(shù)據(jù),若沒有新的數(shù)據(jù)可以發(fā)送則等待該時(shí)間槽的結(jié)束;(5)若從站沒有處于自己的時(shí)間槽內(nèi),則從站進(jìn)入接收數(shù)據(jù)階段,總線發(fā)送權(quán)切換開關(guān)斷開,繼續(xù)進(jìn)入中繼器狀態(tài);(6)在接收數(shù)據(jù)階段,從站接收主站的服務(wù)數(shù)據(jù)并對(duì)收到的數(shù)據(jù)進(jìn)行CRC校驗(yàn),若數(shù)據(jù)傳輸正確則返回正應(yīng)答信號(hào);若數(shù)據(jù)校驗(yàn)出錯(cuò),則返回負(fù)應(yīng)答信號(hào);(7)當(dāng)從站數(shù)據(jù)處理模塊的時(shí)間計(jì)數(shù)器模塊計(jì)數(shù)到設(shè)定值的時(shí)候當(dāng)前通信周期結(jié)束,從站數(shù)據(jù)處理模塊向上層產(chǎn)生一個(gè)周期結(jié)束中斷并返回步驟(2)等待主站同步信號(hào)。
全文摘要
本發(fā)明公開了一種基于光纖的高速串行工業(yè)實(shí)時(shí)通信總線系統(tǒng)及其控制方法,該系統(tǒng)包括主站、從站、光纖收發(fā)模塊及數(shù)字伺服裝置,所述主站依次通過光纖收發(fā)模塊、從站與數(shù)字伺服裝置連接;所述主站包括主站處理器、主站ISA總線接口模塊及主站數(shù)據(jù)處理模塊,所述主站處理器通過主站ISA總線接口模塊與主站數(shù)據(jù)處理模塊連接,所述主站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接;所述從站包括從站處理器總線接口模塊及從站數(shù)據(jù)處理模塊,所述從站數(shù)據(jù)處理模塊通過從站處理器總線接口模塊與數(shù)字伺服裝置連接,所述從站數(shù)據(jù)處理模塊與光纖收發(fā)模塊連接。本發(fā)明通信周期短,數(shù)據(jù)傳輸率高,能在極短的時(shí)間內(nèi)完成精差補(bǔ),實(shí)現(xiàn)位置環(huán)控制,滿足高速高精度加工的需求。
文檔編號(hào)H04B10/20GK101060457SQ20071002742
公開日2007年10月24日 申請(qǐng)日期2007年4月5日 優(yōu)先權(quán)日2007年4月5日
發(fā)明者裴海龍, 劉少君, 刁明新, 焦瑩 申請(qǐng)人:華南理工大學(xué)