專利名稱:機械臂系統中的m-lvds高速串行通信裝置及其通信控制方法
技術領域:
本發明涉及的是高速串行通信的技術領域。
技術背景HIT四自由度可折疊機器人系統由機械臂和末端HIT-DLR靈巧手組 成,整體重量約為25kg,伸直狀態高度約為1.3m。機械臂共有四個旋轉關 節,每個關節的設計采用大中心孔永磁無刷直流電機進行驅動,通過160:1 的諧波減速器實現大力矩輸出。系統內所有走線均從中心孔穿過,結構緊 湊,并避免關節內產生繞線現象。通過此機器人,可以代替人在危險、惡 劣的環境下完成普通裝置所不能完成的復雜操作任務,將在惡劣的空間環 境、危險的核工業環境和高級服務機器人等領域發揮重要作用。在機械手電氣設計上采用上下位機結構下位機由四個關節和靈巧手 組成,控制電路集成在關節和靈巧手內部,其微處理器均采用FPGA;上位 機電路設計通過PCI總線集成在主計算機中,其微處理器使用DSP/FPGA, 其中FPGA主要實現數據的收發功能,是系統總線的重要組成部分。上下 位機采用兩條高速串行總線,將機械臂和靈巧手分開通信,以實現實時高 精度的宏微協調操作,其中靈巧手采用點對點PPSeCo通信(專利號 200410013732.0)。另外,上位機DSP與主計算機實時通信,DSP接收主計 算機的操作信號,主計算機通過DSP反饋機械手的狀態變量。對于上位機DSP、下位機FPGA只能進行定點運算,運算速度較慢且 內部微處理器資源有限,不利于實現系統運動學、動力學、軌跡規劃和動 態補償等運算。為了提高機器人系統動態性和穩定性,下位機應以最快的 速度從上位機更新關節角度期望值、速度值、加速度值和此時關節所承受 的重力。上海交通大學申請了 "基于通用串行總線接口的個人機械臂系統(公 開號1434391)的專利,將USB總線應用于固定機械臂同個人計算機相連 接,使機械臂具有即插即用功能,但是實際系統仍受USB總線協議中所規 定的電纜長度和通信速率的限制。 發明內容本發明是為了克服現有機械手的上位機與下位機之間通訊總線的通信 速率太低,導致存在下位機不能快速的從上位機中更新關節角度期望值、 速度值、加速度值和此時關節所承受的重力數據的問題。而提出了一種機械臂系統中的M-LVDS高速串行通信裝置及其通信控制方法。本發明由主節點2、多個分節點3、串行總線4、電阻RT1、電阻RT2組成;主節點2由主FPGA邏輯器件2-1、主M-LVDS驅動收發器2-2組成;FPGA邏輯器件2-1的通信數據輸入輸出總線端連接上位機中的DSP 數字信號處理器1的通信數據輸入輸出總線端,FPGA邏輯器件2-1的 M-LVDS數據控制輸出輸入總線端連接主M-LVDS驅動收發器2-2的數據 控制輸出輸入總線端;每個分節點3都由M-LVDS驅動收發器3-l、FPGA邏輯器件3-2組成;M-LVDS驅動收發器3-1的數據控制輸出輸入總線端連接FPGA邏輯器 件3-2的M-LVDS數據控制輸出輸入總線端,FPGA邏輯器件3-2的通信數 據輸入輸出總線端為外部數據輸入輸出端;主節點2中的主M-LVDS驅動收發器2-2的串行通信端、每個分節點3 中的M-LVDS驅動收發器3-1的串行通信端都依次連接在串行總線4上, 串行總線4兩端的兩條線之間分別跨接有電阻RT1 、電阻RT2。機械臂系統中的M-LVDS高速串行通信控制方法步驟為步驟一、開機,系統自檢;步驟二、每個分節點3中的FPGA邏輯器件3-2都讀取自己的地址數據; 地址數據包括接收總線地址和發送給主節點2中的主FPGA邏輯器件2-1 的地址;步驟三、設置數據收發過程時間T,分節點數量N,設置每個分節點3 發送數據時間T1;步驟四、主節點2的主FPGA邏輯器件2-1中的接收模塊處于待機狀態, 每個分節點3中的FPGA邏輯器件3-2的收發模塊處于待機狀態并實時接收
串行總線4上傳送的數據,主節點2中的主FPGA邏輯器件2-1的發送模塊
開始開啟周期為r的定時中斷;
步驟五、主節點2的主FPGA邏輯器件2-1的發送模塊判斷是否進入T 定時中斷,判斷結果為否,則待機,判斷結果為是,則進入T定時中斷過 程;在T定時中斷程序過程中,首先將已經接收到的各分節點3數據按照 分節點3順序合并成包上傳發送給上位機中的DSP數字信號處理器1,(第 一個周期數據均為0),然后下傳上位機中的DSP數字信號處理器1中發給 各分節點3的數據;開啟T1單分節點3數據發送定時中斷,并打開發送標 志位,退出T中斷過程進入待機狀態;
步驟六、在待機狀態下,判斷是否進入T1中斷且發送標志位是否為1, 判斷結果為否,則待機,判斷結果為是,則進入T1定時中斷過程;在T1 定時中斷過程中,首先發送單分節點3數據;然后判斷最后一個分節點3 的數據是否發送結束,結果為否,則進入待機狀態等待下一個T1中斷發送 下一個分節點3的數據,判斷結果為是,則關閉T1定時中斷且將發送標志 位清零,繼續待機;
步驟七、當主節點2的主FPGA邏輯器件2-1的發送模塊陸續發送各分 節點3數據的同時,每個分節點3中的FPGA邏輯器件3-2收發模塊正處于 待機狀態;在待機狀態下,每個分節點3中的FPGA邏輯器件3-2實時接收 串行總線4上傳送的數據,首先判斷是否檢測到幀開始段數據,判斷結果 為否,則繼續待機,結果為是,則接收地址段數據;接收完地址段數據后, 分節點3中的FPGA邏輯器件3-2進行地址匹配檢測,判斷結果為否,則說 明不是發給本分節點3的,繼續持機,判斷結果為是,則接收全部數據, 并把數據存入相應的存儲器中;接收完數據后,數據進行循環冗余校驗,
用于確定數據包在傳輸過程中是否出錯;判斷結果為是,則進行解釋和處 理數據,判斷結果為否,則將接收的數據丟棄;循環冗余驗證結束后,立 刻啟動中斷發送本分節點3數據;中斷發送完自身分節點3數據后,繼續
待機;
步驟八、當串行總線4上有數據返回時,主節點2的主FPGA邏輯器 件2-1的接收模塊正處于待機狀態;在待機狀態下,主節點2的主FPGA
邏輯器件2-1實時接收串行總線4上上傳的數據,首先判斷是否檢測到幀開 始段數據,判斷結果為否,則繼續待機,判斷結果為是,則接收地址段數 據;接收完地址段數據后,主節點2的主FPGA邏輯器件2-1進行地址匹配 檢測,判斷結果為否,則說明數據發送有誤不屬于地址段數據,繼續持機, 判斷結果為是,則判斷是哪個分節點3發來的數據,并接收全部數據,將 其存儲在相應的存儲器中; 一個分節點3數據接收結束后,將進行循環冗 余校驗,用于確定數據包在傳輸過程中是否出錯;判斷結果為是,則進行 解釋和處理數據,判斷結果為否,則將接收的數據丟棄;循環冗余驗證結 束后,繼續待機;
步驟九、返回,運行步驟三。
本發明能達到500Mbps(百萬字節/秒)的傳輸速度,在實際應用中將數 據傳輸率被設定為25Mbps,就已滿足機械臂實時控制的要求。M-LVDS信 號使用了士350mV的差分信號,因此具有極小的電磁干擾,很強的抗干擾 能力,這對于在傳感器數據采集來說非常重要,極低的電磁干擾使得高精 度的傳感器數據采集更加易于實現。并具有造價成本低廉、結構簡單的優 占。
八、、o
圖1是本發明的整體電路結構示意圖。
具體實施例方式
具體實施方式
一結合圖l說明本實施方式,本實施方式由主節點2、 多個分節點3、串行總線4、電阻RT1、電阻RT2組成;
主節點2由主FPGA邏輯器件2-1、主M-LVDS驅動收發器2-2組成; FPGA邏輯器件2-1的通信數據輸入輸出總線端連接上位機中的DSP數字 信號處理器1的通信數據輸入輸出總線端,FPGA邏輯器件2-1的M-LVDS 數據控制輸出輸入總線端連接主M-LVDS驅動收發器2-2的數據控制輸出 輸入總線端-,
每個分節點3都由M-LVDS驅動收發器3-l、FPGA邏輯器件3-2組成; M-LVDS驅動收發器3-1的數據控制輸出輸入總線端連接FPGA邏輯器件 3-2的M-LVDS數據控制輸出輸入總線端,FPGA邏輯器件3-2的通信數據
輸入輸出總線端為外部數據輸入輸出端;
主節點2中的主M-LVDS驅動收發器2-2的串行通信端、每個分節點3 中的M-LVDS驅動收發器3-1的串行通信端都依次連接在串行總線4上, 串行總線4兩端的兩條線之間分別跨接有電阻RT1 、電阻RT2。
機械臂系統中的M-LVDS高速串行通信控制方法步驟為
步驟一、開機,系統自檢;
步驟二、每個分節點3中的FPGA邏輯器件3-2都讀取自己的地址數據; 地址數據包括接收總線地址和發送給主節點2中的主FPGA邏輯器件2-1 的地址;
步驟三、設置數據收發過程時間T,分節點數量N,設置每個分節點3 發送數據時間T1;
步驟四、主節點2的主FPGA邏輯器件2-1中的接收模塊處于待機狀態, 每個分節點3中的FPGA邏輯器件3-2的收發模塊處于待機狀態并實時接收 串行總線4上傳送的數據,主節點2中的主FPGA邏輯器件2-1的發送模塊 開始開啟周期為r的定時中斷;
步驟五、主節點2的主FPGA邏輯器件2-1的發送模塊判斷是否進入T 定時中斷,判斷結果為否,則待機,判斷結果為是,則進入T定時中斷過 程;在T定時中斷程序過程中,首先將已經接收到的各分節點3數據按照 分節點3順序合并成包上傳發送給上位機中的DSP數字信號處理器1,(第 一個周期數據均為0),然后下傳上位機中的DSP數字信號處理器1中發給 各分節點3的數據;開啟T1單分節點3數據發送定時中斷,并打開發送標 志位,退出T中斷過程進入待機狀態;
步驟六、在待機狀態下,判斷是否進入T1中斷且發送標志位是否為1, 判斷結果為否,則待機,判斷結果為是,則進入Tl定時中斷過程;在Tl 定時中斷過程中,首先發送單分節點3數據;然后判斷最后一個分節點3 的數據是否發送結束,結果為否,則進入待機狀態等待下一個T1中斷發送 下一個分節點3的數據,判斷結果為是,則關閉T1定時中斷且將發送標志 位清零,繼續待機;
步驟七、當主節點2的主FPGA邏輯器件2-1的發送模塊陸續發送各分 節點3數據的同時,每個分節點3中的FPGA邏輯器件3-2收發模塊正處于 待機狀態;在待機狀態下,每個分節點3中的FPGA邏輯器件3-2實時接收 串行總線4上傳送的數據,首先判斷是否檢測到幀開始段數據,判斷結果 為否,則繼續待機,結果為是,則接收地址段數據;接收完地址段數據后, 分節點3中的FPGA邏輯器件3-2進行地址匹配檢測,判斷結果為否,則說 明不是發給本分節點3的,繼續持機,判斷結果為是,則接收全部數據, 并把數據存入相應的存儲器中;接收完數據后,數據進行循環冗余校驗, 用于確定數瑪包在傳輸過程中是否出錯;判斷結果為是,則進行解釋和處 理數據,判斷結果為否,則將接收的數據丟棄;循環冗余驗證結束后,立 刻啟動中斷發送本分節點3數據;中斷發送完自身分節點3數據后,繼續
待機;
步驟八、當串行總線4上有數據返回時,主節點2的主FPGA邏輯器 件2-1的接收模塊正處于待機狀態;在待機狀態下,主節點2的主FPGA 邏輯器件2-1實時接收串行總線4上上傳的數據,首先判斷是否檢測到幀開 始段數據,判斷結果為否,則繼續待機,判斷結果為是,則接收地址段數 據;接收完地址段數據后,主節點2的主FPGA邏輯器件2-1進行地址匹配 檢測,判斷結果為否,則說明數據發送有誤不屬于地址段數據,繼續持機, 判斷結果為是,則判斷是哪個分節點3發來的數據,并接收全部數據,將 其存儲在相應的存儲器中; 一個分節點3數據接收結束后,將進行循環冗 余校驗,用于確定數據包在傳輸過程中是否出錯;判斷結果為是,則進行 解釋和處理數據,判斷結果為否,則將接收的數據丟棄;循環冗余驗證結 束后,繼續待機;
步驟九、返回,運行步驟三。
上述方法步驟中T可選為200us, N可選為7個分節點,每個節點用 時T1可選為28us。
所述電阻RT1、電阻RT2選用的阻值都為IOO歐姆,主FPGA邏輯器 件2-l 、FPGA邏輯器件3-2選用的型號都為ALTERA Cyclone EP1C20F32417 可編程邏輯門陣列,主M-LVDS驅動收發器2-2、 M-LVDS驅動收發器3-1 選用的型號都為MLVDS204,上位機中的DSP數字信號處理器1選用的型 號為TMS320C6713、串行總線4為雙絞線。
權利要求
1、機械臂系統中的M-LVDS高速串行通信裝置,它由主節點(2)、多個分節點(3)、串行總線(4)、電阻RT1、電阻RT2組成;其特征在于主節點(2)由主FPGA邏輯器件(2-1)、主M-LVDS驅動收發器(2-2)組成;FPGA邏輯器件(2-1)的通信數據輸入輸出總線端連接上位機中的DSP數字信號處理器(1)的通信數據輸入輸出總線端FPGA邏輯器件(2-1)的M-LVDS數據控制輸出輸入總線端連接主M-LVDS驅動收發器(2-2)的數據控制輸出輸入總線端;每個分節點(3)都由M-LVDS驅動收發器(3-1)、FPGA邏輯器件(3-2)組成;M-LVDS驅動收發器(3-1)的數據控制輸出輸入總線端連接FPGA邏輯器件(3-2)的M-LVDS數據控制輸出輸入總線端,FPGA邏輯器件(3-2)的通信數據輸入輸出總線端為外部數據輸入輸出端;主節點(2)中的主M-LVDS驅動收發器(2-2)的串行通信端、每個分節點(3)中的M-LVDS驅動收發器(3-1)的串行通信端都依次連接在串行總線(4)上,串行總線(4)兩端的兩條線之間分別跨接有電阻RT1、電阻RT2。
2、 機械臂系統中的M-LVDS高速串行通信控制方法,其特征在于它的 控制方法步驟為步驟一、開機,系統自檢;步驟二、每個分節點(3)中的FPGA邏輯器件(3-2)都讀取自己的地址數 據;地址數據包括接收總線地址和發送給主節點(2)中的主FPGA邏輯器件 (2-l)的地址;步驟三、設置數據收發過程時間T,分節點數量N,設置每個分節點(3) 發送數據時間T1;步驟四、主節點(2)的主FPGA邏輯器件(2-l)中的接收模塊處于待機狀 態,每個分節點(3)中的FPGA邏輯器件(3-2)的收發模塊處于待機狀態并實 時接收串行總線(4)上傳送的數據,主節點(2)中的主FPGA邏輯器件(2-l)的發送模塊開始開啟周期為r的定時中斷; 步驟五、主節點(2)的主FPGA邏輯器件(2-l)的發送模塊判斷是否進入 T定時中斷,判斷結果為否,則待機,判斷結果為是,則進入T定時中斷 過程;在T定時中斷程序過程中,首先將己經接收到的各分節點(3)數據按 照分節點(3)順序合并成包上傳發送給上位機中的DSP數字信號處理器1,(第一個周期數據均為0),然后下傳上位機中的DSP數字信號處理器1中 發給各分節點(3)的數據;開啟Tl單分節點(3)數據發送定時中斷,并打開 發送標志位,退出T中斷過程進入待機狀態;步驟六、在待機狀態下,判斷是否進入T1中斷且發送標志位是否為1, 判斷結果為否,則待機,判斷結果為是,則進入Tl定時中斷過程;在Tl 定時中斷過程中,首先發送單分節點(3)數據;然后判斷最后一個分節點(3) 的數據是否發送結束,結果為否,則進入待機狀態等待下一個T1中斷發送 下一個分節點(3)的數據,判斷結果為是,則關閉T1定時中斷且將發送標志 位清零,繼續待機;步驟七、當主節點(2)的主FPGA邏輯器件(2-l)的發送模塊陸續發送各 分節點(3)數據的同時,每個分節點(3)中的FPGA邏輯器件(3-2)收發模塊正 處于待機狀態;在待機狀態下,每個分節點(3)中的FPGA邏輯器件(3-2)實 時接收串行總線(4)上傳送的數據,首先判斷是否檢測到幀開始段數據,判 斷結果為否,則繼續待機,結果為是,則接收地址段數據;接收完地址段 數據后,分節點(3)中的FPGA邏輯器件(3-2)進行地址匹配檢測,判斷結果 為否,則說明不是發給本分節點(3)的,繼續持機,判斷結果為是,則接收 全部數據,并把數據存入相應的存儲器中;接收完數據后,數據進行循環冗余校驗,用于確定數據包在傳輸過程中是否出錯;判斷結果為是,則進 行解釋和處理數據,判斷結果為否,則將接收的數據丟棄;循環冗余驗證 結束后,立刻啟動中斷發送本分節點(3)數據;中斷發送完自身分節點(3)數 據后,繼續待機;步驟八、當串行總線(4)上有數據返回時,主節點(2)的主FPGA邏輯器 件(2-l)的接收模塊正處于待機狀態;在待機狀態下,主節點(2)的主FPGA 邏輯器件(2-l)實時接收串行總線(4)上上傳的數據,首先判斷是否檢測到幀 開始段數據,判斷結果為否,則繼續待機,判斷結果為是,則接收地址段 數據;接收完地址段數據后,主節點(2)的主FPGA邏輯器件(2-l)進行地址 匹配檢測,判斷結果為否,則說明數據發送有誤不屬于地址段數據,繼續 持機,判斷結果為是,則判斷是哪個分節點(3)發來的數據,并接收全部數 據,將其存儲在相應的存儲器中; 一個分節點(3)數據接收結束后,將進行 循環冗余校驗,用于確定數據包在傳輸過程中是否出錯;判斷結果為是, 則進行解釋和處理數據,判斷結果為否,則將接收的數據丟棄;循環冗余 驗證結束后,繼續待機;步驟九、返回,運行步驟三。
全文摘要
機械臂系統中的M-LVDS高速串行通信裝置及其通信控制方法,它涉及的是高速串行通信的技術領域。它是為了克服現有機械手的上位機與下位機之間通訊總線的通信速率太低,導致存在下位機不能快速的從上位機中更新關節角度期望值、速度值、加速度值和此時關節所承受的重力數據的問題。它的主M-LVDS驅動收發器(2-2)、M-LVDS驅動收發器(3-1)的串行通信端都依次連接在串行總線(4)上。它的方法步驟為每個分節點(3)讀取自己的地址數據、待機、實時接收串行總線(4)上傳送的數據,主節點(2)待機,主節點(2)周期為T的中斷發送數據,分節點(3)接收數據、循環冗余校驗。本發明能達到500Mbps(百萬字節/秒)的傳輸速度,在實際應用中將數據傳輸率被設定為25Mbps,就已滿足機械臂實時控制的要求。
文檔編號G05B19/418GK101131586SQ20071014440
公開日2008年2月27日 申請日期2007年9月30日 優先權日2007年9月30日
發明者宏 劉, 璐 劉, 奎 孫, 熊根良, 蔣再男, 謝宗武, 金明河, 黃劍斌 申請人:哈爾濱工業大學