本發(fā)明涉及數(shù)字通信網(wǎng)絡(luò)測控技術(shù)領(lǐng)域,尤其涉及一種基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)及方法。
背景技術(shù):
在機(jī)器人中的數(shù)字通信領(lǐng)域,系統(tǒng)與系統(tǒng)之間需要傳輸大量的數(shù)據(jù)。因總線是服務(wù)于系統(tǒng)的一個很重要的組成部分,它作為系統(tǒng)間通信的橋梁,對提高系統(tǒng)性能起著至關(guān)重要的作用,為系統(tǒng)之間的數(shù)據(jù)傳輸提供了有效保證??偩€技術(shù)成為構(gòu)建大型測試系統(tǒng)的關(guān)鍵技術(shù)。但隨著機(jī)器人的傳感器數(shù)量的增多,所需傳輸數(shù)據(jù)量的不斷增加,以及數(shù)據(jù)采集模塊布局的分散,時鐘速度的不斷提高,時鐘與信號線之間的偏移在時鐘周期中占據(jù)的百分比日益增大,致使測試系統(tǒng)功能的復(fù)雜化,傳統(tǒng)的并行總線已不能滿足機(jī)器人系統(tǒng)高速數(shù)據(jù)傳輸?shù)男枰蔀橛绊懴到y(tǒng)性能的主要瓶頸。為了及時將采集到的大量傳感器數(shù)據(jù)傳送至主控計(jì)算機(jī)處理,系統(tǒng)的傳輸總線需要更高的速率來滿足高速數(shù)據(jù)通信的需求,同時分布式的數(shù)據(jù)采集模塊間的數(shù)據(jù)傳輸距離較長,如何更可靠,快速地傳輸數(shù)據(jù),使系統(tǒng)穩(wěn)定可靠地運(yùn)行,成為新的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中并行總線不能滿足機(jī)器人系統(tǒng)高速數(shù)據(jù)傳輸?shù)男枰娜毕荩峁┮环N能夠?qū)?shù)據(jù)進(jìn)行實(shí)時采集并且高速傳輸?shù)幕贚VDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)及方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
本發(fā)明提供一種基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng),包括主控計(jì)算機(jī)、數(shù)據(jù)通信主模塊和多個數(shù)據(jù)采集模塊;其中:
多個數(shù)據(jù)采集模塊之間依次相連,并與數(shù)據(jù)通信主模塊組成環(huán)網(wǎng);
數(shù)據(jù)通信主模塊包括LVDS主發(fā)送口和LVDS主接收口;每個數(shù)據(jù)采集模塊均包括傳感器、LVDS從發(fā)送口和LVDS從接收口;
LVDS主發(fā)送口與環(huán)網(wǎng)中第一個數(shù)據(jù)采集模塊的LVDS從接收口相連,數(shù)據(jù)采集模塊之間通過LVDS從接收口和LVDS從發(fā)送口依次相連,最后一個數(shù)據(jù)采集模塊通過LVDS從發(fā)送口與LVDS主接收口相連;
主控計(jì)算機(jī)產(chǎn)生控制信號,并由數(shù)據(jù)通信主模塊發(fā)送至環(huán)網(wǎng)各節(jié)點(diǎn);通過環(huán)形鏈路中各個節(jié)點(diǎn)后,將傳感器采集到的數(shù)據(jù)匯總至數(shù)據(jù)通信主模塊進(jìn)行處理,并將處理結(jié)果發(fā)送回主控計(jì)算機(jī)。
進(jìn)一步地,本發(fā)明的所述數(shù)據(jù)通信主模塊還包括系統(tǒng)總線,所述主控計(jì)算機(jī)與所述數(shù)據(jù)通信主模塊通過所述系統(tǒng)總線連接。
進(jìn)一步地,本發(fā)明的該環(huán)網(wǎng)中至少包括三個數(shù)據(jù)采集模塊。
進(jìn)一步地,本發(fā)明的每個所述數(shù)據(jù)采集模塊均與經(jīng)過PLL倍頻后的晶振相連。
進(jìn)一步地,本發(fā)明的所述數(shù)據(jù)采集模塊還包括數(shù)據(jù)存儲器,所述數(shù)據(jù)存儲器用于存儲傳感器采集到的數(shù)據(jù),并通過并/串總線接口與LVDS從接收口和LVDS從發(fā)送口相連。
進(jìn)一步地,本發(fā)明的所述數(shù)據(jù)通信主模塊還包括數(shù)據(jù)存儲器。
本發(fā)明提供一種基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控方法,包括以下步驟:
S1、將主控計(jì)算機(jī)與數(shù)據(jù)通信主模塊相連,數(shù)據(jù)通信主模塊與多個數(shù)據(jù)采集模塊依次相連組成環(huán)網(wǎng);
S2、主控計(jì)算機(jī)產(chǎn)生控制信號,經(jīng)過通信主模塊發(fā)送至環(huán)網(wǎng)中各數(shù)據(jù)采集模塊;通過環(huán)形鏈路后,將各傳感器采集到的數(shù)據(jù)匯總至數(shù)據(jù)通信主模塊進(jìn)行處理,并將處理結(jié)果發(fā)送回主控計(jì)算機(jī)。
進(jìn)一步地,本發(fā)明的步驟S2中信號處理的具體方法為:
S21、數(shù)據(jù)通信主模塊按信號的字節(jié)依次寫入各個地址,地址累加后,狀態(tài)位由低電平轉(zhuǎn)為高電平,在每一個時鐘的上升沿將數(shù)據(jù)由并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去,數(shù)據(jù)發(fā)送完成后狀態(tài)位轉(zhuǎn)為低電平;
S22、數(shù)據(jù)采集模塊在信號時鐘的下降沿時,將接收到的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并將傳感器采集到的傳感器信息寫入其中,數(shù)據(jù)整合完成后,再將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去。
本發(fā)明產(chǎn)生的有益效果是:本發(fā)明的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng),通過串行傳輸技術(shù)以其較少的信號連線、高帶寬等優(yōu)點(diǎn)取代了傳統(tǒng)并行總線而達(dá)到高速數(shù)據(jù)傳輸技術(shù)的要求;基于低壓差分信號LVDS的串行通信技術(shù)增強(qiáng)了抗噪聲、抗干擾能力,并以時鐘和數(shù)據(jù)恢復(fù)技術(shù)解決了限制數(shù)據(jù)傳輸速率的信號時鐘參差問題,提高了數(shù)據(jù)傳輸?shù)臄?shù)據(jù)率;環(huán)網(wǎng)總線在物理上通過總線將各節(jié)點(diǎn)連接,在邏輯上構(gòu)成邏輯環(huán),具有在多負(fù)載下利用率高、網(wǎng)絡(luò)性能對距離不敏感以及具有公平訪問的優(yōu)越性能。
附圖說明
下面將結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明,附圖中:
圖1是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)的數(shù)據(jù)通信環(huán)網(wǎng)傳輸系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖;
圖2是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)的主模塊發(fā)送端邏輯圖;
圖3是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)的主模塊接收端邏輯圖;
圖4是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)的數(shù)據(jù)采集模塊邏輯設(shè)計(jì)圖;
圖5是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)的點(diǎn)對點(diǎn)串行通信時序圖;
圖6是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng)的單次調(diào)試時序圖;
圖7是本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控方法的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng),包括主控計(jì)算機(jī)、數(shù)據(jù)通信主模塊和多個數(shù)據(jù)采集模塊;其中:
多個數(shù)據(jù)采集模塊之間依次相連,并與數(shù)據(jù)通信主模塊組成環(huán)網(wǎng);
數(shù)據(jù)通信主模塊包括LVDS主發(fā)送口和LVDS主接收口;數(shù)據(jù)采集模塊包括傳感器、LVDS從發(fā)送口和LVDS從接收口;
LVDS主發(fā)送口與第一個數(shù)據(jù)采集模塊的LVDS從接收口相連,數(shù)據(jù)采集模塊之間通過LVDS從接收口和LVDS從發(fā)送口依次相連,最后一個數(shù)據(jù)采集模塊通過LVDS從發(fā)送口與LVDS主接收口相連;
主控計(jì)算機(jī)產(chǎn)生控制信號,并由數(shù)據(jù)通信主模塊發(fā)送至環(huán)網(wǎng)各節(jié)點(diǎn);通過環(huán)形鏈路中各個節(jié)點(diǎn)后,將傳感器采集到的數(shù)據(jù)匯總至數(shù)據(jù)通信主模塊進(jìn)行處理,并將處理結(jié)果發(fā)送回主控計(jì)算機(jī)。
在本發(fā)明的另一個具體實(shí)施例中,該系統(tǒng)包括:主控計(jì)算機(jī)、數(shù)據(jù)通信主模塊、三個數(shù)據(jù)采集模塊。數(shù)據(jù)通信主模塊還包括系統(tǒng)總線,主控計(jì)算機(jī)與數(shù)據(jù)通信主模塊通過系統(tǒng)總線連接。每個數(shù)據(jù)采集模塊均與經(jīng)過PLL倍頻后的晶振相連。數(shù)據(jù)采集模塊還包括數(shù)據(jù)存儲器,數(shù)據(jù)存儲器用于存儲傳感器采集到的數(shù)據(jù),并通過并/串總線接口與LVDS從接收口和LVDS從發(fā)送口相連。數(shù)據(jù)通信主模塊還包括數(shù)據(jù)存儲器。
數(shù)據(jù)通信主模塊是環(huán)網(wǎng)通信的始端和終端,負(fù)責(zé)信號的發(fā)送、接收和處理,同時將處理過后的數(shù)據(jù)傳送至主控計(jì)算機(jī)ARM。三個邏輯結(jié)構(gòu)相同的數(shù)據(jù)采集模塊1、2和3分別是環(huán)網(wǎng)的三個節(jié)點(diǎn),原始發(fā)送數(shù)據(jù)經(jīng)各個節(jié)點(diǎn)后與各節(jié)點(diǎn)處采集到的傳感器信息一同傳送至下一個節(jié)點(diǎn),直至將環(huán)網(wǎng)內(nèi)的傳感器信息全部傳輸至通信主模塊。
數(shù)據(jù)通信主模塊主要包含3部分,發(fā)送端、接收端和系統(tǒng)總線。發(fā)送端主要是將主控計(jì)算機(jī)ARM傳送的控制信息發(fā)送至環(huán)網(wǎng)的各節(jié)點(diǎn)以實(shí)現(xiàn)對驅(qū)動系統(tǒng)的控制。
如圖2和圖3所示,分別是通信主模塊的發(fā)送端和接收端的邏輯圖。發(fā)送端主要由ARM接口模塊arm_interface和ARM發(fā)送模塊arm_transmit組成。arm_interface中當(dāng)片選使能信號ce和寫使能we有效后,數(shù)據(jù)通過系統(tǒng)總線按字節(jié)依次從地址0寫入至s_Tx[63…0],地址累加為8,寫入狀態(tài)位state_T由低電平轉(zhuǎn)為高電平。當(dāng)狀態(tài)為state_T有效后,arm_transmit在每一個時鐘上升沿將要發(fā)送的數(shù)據(jù)rx[63…0]由并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并從s_Tx口發(fā)送出去。當(dāng)串口數(shù)據(jù)發(fā)送完后,片選s_Cs轉(zhuǎn)為低電平,表明數(shù)據(jù)已發(fā)送完畢。
數(shù)據(jù)采集模塊1、2和3是環(huán)網(wǎng)中的三個節(jié)點(diǎn),除采集傳感器信號外,還是系統(tǒng)同步通行的通信從模塊,都具有相同的結(jié)構(gòu)和工作原理。以模塊3為例,其邏輯設(shè)計(jì)如圖4所示,主要包含接收和發(fā)送兩部分。其工作原理為:cs片選信號低電平有效時,在同步信號時鐘下降沿時,將接收模塊將rx端口接收到的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)data_rx[255…0],然后將本模塊采集到的傳感器信息data_in[111…0]寫入data_rx[367…256]中。數(shù)據(jù)接收并整合完畢后,狀態(tài)位state_T轉(zhuǎn)為高電平有效。此時發(fā)送端將rx[367…0]中的數(shù)據(jù)有并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并依次從s_Tx發(fā)送出去。發(fā)送完畢后s_Cs片選信號變?yōu)榈碗娖剑砻靼l(fā)送結(jié)束。
為測試環(huán)網(wǎng)通信的可靠性和傳輸速率,通過對環(huán)網(wǎng)進(jìn)行多次重復(fù)循環(huán)試驗(yàn),每次試驗(yàn)的發(fā)送數(shù)據(jù)都是互不相同的隨機(jī)數(shù),且循環(huán)按ARM最高的主頻來進(jìn)行處理。通過一百萬次的雙環(huán)網(wǎng)循環(huán)通信試驗(yàn),實(shí)驗(yàn)結(jié)果顯示一百萬次試驗(yàn)的正確率為100%,這表明該環(huán)網(wǎng)通信系統(tǒng)十分可靠。而一百萬次試驗(yàn)總共耗時約為38s,即單次數(shù)據(jù)采集通信試驗(yàn)的時間為38us,滿足常規(guī)機(jī)器人各種子系統(tǒng)對高速數(shù)據(jù)傳輸?shù)男枨蟆?/p>
(1)在進(jìn)行點(diǎn)對點(diǎn)通信時,用SignalTapII邏輯分析儀捕捉到的發(fā)送端信號和近LVDS傳輸后接收端收到的信號。如圖5所示,發(fā)送端輸出8位并行16進(jìn)制數(shù)據(jù)BD即二進(jìn)制位1011 1101時,接收端在同步時鐘上升沿依次接收,緩存變化為80(1000 0000),80(1000 0000),A0(1010 0000),B0(1011 0000),B8(1011 1000),BC(1011 1100),BC(1011 1100),BD(1011 1101),數(shù)據(jù)由高向低位依次通過SPI串行總線完成1個字節(jié)的數(shù)據(jù)傳輸,經(jīng)歷8個接收同步時鐘上升沿后接收到完整數(shù)據(jù)BD。
(2)由數(shù)據(jù)通信環(huán)網(wǎng)結(jié)構(gòu)可知,數(shù)據(jù)通信環(huán)網(wǎng)的發(fā)送數(shù)據(jù)是由ARM發(fā)出的,并且經(jīng)環(huán)網(wǎng)傳輸后,接收到的數(shù)據(jù)包括ARM發(fā)送的數(shù)據(jù)及3個網(wǎng)絡(luò)節(jié)點(diǎn)的傳感器數(shù)據(jù)。為了方便驗(yàn)證環(huán)網(wǎng)通信數(shù)據(jù)的準(zhǔn)確性,調(diào)試時ARM發(fā)送8個字節(jié)的隨機(jī)數(shù),而三個節(jié)點(diǎn)的傳感器數(shù)據(jù)中數(shù)據(jù)采集模塊1、3都設(shè)為0xFF的12字節(jié)數(shù)據(jù),而數(shù)據(jù)采集模塊C則設(shè)為全0x00的12字節(jié)數(shù)據(jù)。
(3)當(dāng)ARM發(fā)送的8字節(jié)隨機(jī)數(shù)據(jù)位為0x1730EACA、0x476BF5A6時,經(jīng)環(huán)網(wǎng)后傳輸?shù)紸RM的44字節(jié)數(shù)據(jù)為0x1730EACA、0x476BF5A6、0xffffffff、0xffffffff、0xffffffff、0x00000000、0x00000000、0x00000000、0xffffffff、0xffffffff、0xffffffff共44字節(jié)的數(shù)據(jù),其中前8個字節(jié)與ARM發(fā)送的隨機(jī)數(shù)完全相同,后36個字節(jié)與調(diào)試時設(shè)定的0xff和0x00的組合完全相同。經(jīng)過多次單次環(huán)網(wǎng)試驗(yàn),接收到的數(shù)據(jù)都是準(zhǔn)確無誤的。通過此單次環(huán)網(wǎng)通信調(diào)試表明,該系統(tǒng)能夠?qū)崿F(xiàn)LVDS環(huán)網(wǎng)數(shù)據(jù)傳輸,具有非常高的可靠性。單次調(diào)試的時序圖如圖6所示。
如圖7所示,本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控方法,用于實(shí)現(xiàn)本發(fā)明實(shí)施例的基于LVDS環(huán)網(wǎng)總線的機(jī)器人高速測控系統(tǒng),包括以下步驟:
S1、將主控計(jì)算機(jī)與數(shù)據(jù)通信主模塊相連,數(shù)據(jù)通信主模塊與多個數(shù)據(jù)采集模塊依次相連組成環(huán)網(wǎng);
S2、主控計(jì)算機(jī)產(chǎn)生控制信號,經(jīng)過通信主模塊發(fā)送至環(huán)網(wǎng)中各數(shù)據(jù)采集模塊;通過環(huán)形鏈路后,將各傳感器采集到的數(shù)據(jù)匯總至數(shù)據(jù)通信主模塊進(jìn)行處理,并將處理結(jié)果發(fā)送回主控計(jì)算機(jī);
S21、數(shù)據(jù)通信主模塊按信號的字節(jié)依次寫入各個地址,地址累加后,狀態(tài)位由低電平轉(zhuǎn)為高電平,在每一個時鐘的上升沿將數(shù)據(jù)由并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去,數(shù)據(jù)發(fā)送完成后狀態(tài)位轉(zhuǎn)為低電平;
S22、數(shù)據(jù)采集模塊在信號時鐘的下降沿時,將接收到的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并將傳感器采集到的傳感器信息寫入其中,數(shù)據(jù)整合完成后,再將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并將該數(shù)據(jù)發(fā)送出去。
應(yīng)當(dāng)理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。