當(dāng)前,,機(jī)器視覺技術(shù)與運(yùn)動控制技術(shù)正日益成為新一代智能機(jī)器人系統(tǒng)的熱門技術(shù),,在反恐防爆與抗險救災(zāi)、星際探測,、地質(zhì)勘察等領(lǐng)域,,機(jī)器視覺技術(shù)和運(yùn)動控制技術(shù)都已得到大量應(yīng)用。然而,,在很多情況下,,這兩種技術(shù)的無縫聯(lián)結(jié)和有機(jī)融合卻并不理想,以至直接影響到它們的使用效果,。筆者通過研究和探索發(fā)現(xiàn),,機(jī)器人控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng)硬件平臺搭建得合理與否是影響上述技術(shù)協(xié)調(diào)工作的重要原因之一。
對于傳統(tǒng)的機(jī)器人控制系統(tǒng)來說,,選用單一的核心芯片將難以讓其在機(jī)器視覺和運(yùn)動控制兩方面都具有優(yōu)良的表現(xiàn),,將會導(dǎo)致機(jī)器人綜合效能得不到充分發(fā)揮。眾多的集成芯片生產(chǎn)廠家意識到圖像處理和運(yùn)動控制將會是未來半導(dǎo)體芯片的兩大重要應(yīng)用領(lǐng)域,,都紛紛推出了基于上述兩種應(yīng)用的芯片,。
筆者經(jīng)過系統(tǒng)研究認(rèn)識到,利用TI公司的C6000+C2000系列芯片搭建的機(jī)器人控制系統(tǒng)架構(gòu)方案可在機(jī)器視覺和運(yùn)動控制之間找到了一個很好的結(jié)合點和平衡點,,能較好地起到功能互補(bǔ)的效果,。但應(yīng)當(dāng)看到,C6000和C2000雖同屬TI公司的產(chǎn)品線,,而兩者的體系架構(gòu)是不同的,,在選擇雙DSP" title="DSP">DSP建立系統(tǒng)時,如何處理它們之間的信號交互和協(xié)調(diào)工作是必須解決的首要問題,。新型雙DSP架構(gòu)的信息交互機(jī)制的研究無論在學(xué)術(shù)上,,還是在應(yīng)用上都具有重大意義。
球形機(jī)器人控制系統(tǒng)的整體架構(gòu)
筆者所在科研團(tuán)隊新近研制了一種新型球形機(jī)器人,,該機(jī)器人能自動掃描和跟蹤目標(biāo),,并可根據(jù)圖像傳感器采集到的數(shù)據(jù)自主對目標(biāo)進(jìn)行識別和判斷,屬于典型的機(jī)器視覺和運(yùn)動控制相互協(xié)調(diào),、并行工作的系統(tǒng),。在搭建該球形機(jī)器人控制系統(tǒng)時,,筆者采用了DSP C6000+C2000的雙核架構(gòu)。其中,,C6000芯片主要用來對采集的現(xiàn)場圖像信息進(jìn)行分析和處理,,完成目標(biāo)識別和判斷,并輸出處理結(jié)果;C2000芯片主要用來接收C6000芯片的處理結(jié)果,,并完成相應(yīng)的任務(wù)管理,,如視覺系統(tǒng)云臺的掃描運(yùn)動、防御功能的實現(xiàn)等等,。該機(jī)器人控制系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,。
在C6000芯片的選型上,選擇了TMS320DM6437(以下簡稱DM6437)芯片,,它是目前TI公司的TMS320C6000系列中性能較好的定點DSP之一,。在C2000芯片的選擇上,選擇了TMS320F28015" title="TMS320F28015">TMS320F28015(以下簡稱F28015)芯片,,它是TI公司推出的低成本,,低功耗,基于TMS320C28x內(nèi)核的定點控制器芯片,。
DSP C6000+C2000的組合架構(gòu)形式,,既解決了C6000控制能力稍顯不足的問題,又克服了C2000圖像處理功能薄弱的缺點,,可以最大程度地滿足球形機(jī)器人控制系統(tǒng)在綜合性能上的需求,。但是,引入了強(qiáng)大的雙DSP系統(tǒng)后,,隨之而來的便是兩者之間的通信" title="通信">通信問題,,若處理不好,反而會適得其反,。因此,,雙DSP芯片間的通信接口" title="通信接口">通信接口的設(shè)計是保證整體機(jī)器人控制系統(tǒng)能完成高效協(xié)調(diào)工作的關(guān)鍵所在。
球形機(jī)器人控制系統(tǒng)雙處理器通信接口方案的選擇
筆者在研究過程中曾仔細(xì)分析過雙DSP架構(gòu)的硬件結(jié)構(gòu),,發(fā)現(xiàn)C6000與C2000硬連接的接口方式可以多種多樣,,如串口(UART)連接、USB連接,、以太網(wǎng)(Ethernet)連接,、HPI并行連接、I2C總線" title="I2C總線">I2C總線連接等,。這些方式各有優(yōu)缺點和各自的適應(yīng)場合,,須考慮自身功能和外部環(huán)境的需求來合理選擇,。表1給出了上述幾種信號傳輸接口的各自性能比較,。
從表1中可以看出,,I2C為片內(nèi)總線接口,其接口連接簡單可靠,,非常適合于短距離高效通信,。注意到DM6437和F28015片上都擁有I2C模塊,且將雙DSP做在同一塊PCB板上可以大大減小控制板卡的尺寸,,降低電磁干擾,,提高整個系統(tǒng)的可靠性。采用這樣的硬件設(shè)計思路后,,片內(nèi)總線就應(yīng)該成為首選的通信方式了,。而I2C通信是一種很簡捷高效的片內(nèi)總線,其不占用芯片額外資源,,除了通信可靠性高外,,該接口的硬件設(shè)計難度也較小,因此,,新型球形機(jī)器人控制系統(tǒng)最終確定I2C接口為雙DSP的通信接口方式,。
球形機(jī)器人控制系統(tǒng)的接口設(shè)計
I2C總線介紹
I2C總線(Inter IC
Bus)是一種用于IC器件之間連接的二進(jìn)制總線。它通過SDA(串行數(shù)據(jù)線)及SCI(并行時鐘線)兩根線,,在連到總線上的器件之間傳送數(shù)據(jù),。它根據(jù)地址識別每個支持I2C接口的器件。
I2C總線的基本結(jié)構(gòu)
采用I2C總線標(biāo)準(zhǔn)的I2C器件,,其內(nèi)部不僅有I2C接口電路,,而且實現(xiàn)了將內(nèi)部各單元按功能劃分為若干相對應(yīng)獨立的模塊,通過軟件尋址實現(xiàn)片選,,減少了器件片選線的連接,。CPU不僅能通過指令將某個功能單元掛靠和摘離總線,還可對單元的工作狀況進(jìn)行檢測,,從而實現(xiàn)對硬件系統(tǒng)簡單和靈活的擴(kuò)展和控制,。I2C接口電路結(jié)構(gòu)如圖2所示。
I2C總線上的時鐘信號
在I2C總線上傳送信息時的時鐘同步信號是由掛接在SCL時鐘線上的所有器件的連接“與”完成的,。SCL線上由高電平到低電平的跳變將影響到這些器件,,一旦某個器件的時鐘信號下跳為低電平,將使SCL線上一直保持低電平,,使SCL線上的所有器件開始低電平期,。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態(tài),,于是這些器件將進(jìn)入高電平等待的狀態(tài),。
當(dāng)所有器件的時鐘信號都上跳為高電平時,低電平期結(jié)束,,SCL線被釋放返回高電平,,即所有的器件都同時開始它們的高電平期,。其后,第一個結(jié)束高電平期的器件又將SCL線拉成低電平,。這樣就在SCL線上產(chǎn)生一個同步時鐘,。可見,,時鐘低電平時間由時鐘低電平期到最長的器件確定,,而時鐘高電平期由時鐘高電平期最短的器件確定。
I2C總線上的數(shù)據(jù)傳輸
在數(shù)據(jù)傳送過程中,,必須確認(rèn)數(shù)據(jù)傳送的開始和結(jié)束,。在I2C總線技術(shù)規(guī)范中,開始和結(jié)束信號(也稱啟動和停止信號)的定義如圖3所示,。
鐘線SCL為高電平時,,數(shù)據(jù)線SDA由高電平跳變?yōu)榈碗娖蕉x為“開始”信號;當(dāng)SCL線為高電平時,SDA線發(fā)生低電平到高電平的跳變?yōu)?ldquo;結(jié)束”信號,。開始和結(jié)束信號都是由主器件產(chǎn)生,。在開始信號以后,總線即被認(rèn)為處于忙狀態(tài);在結(jié)束信號以后的一段時間內(nèi),,總線被認(rèn)為是空閑的,。
I2C總線的數(shù)據(jù)傳送格式是:在I2C總線開始信號后,送出的第一個字節(jié)數(shù)據(jù)是用來選擇從器件地址的,,其中前7位是地址碼,,第8位是方向位(R/W)。方向位“0”表示發(fā)送,,即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件將從從器件讀信息,。開始信號后,系統(tǒng)中的各個器件將自己的地址和主器件送到總線上的地址進(jìn)行比較,,如果與主器件發(fā)送到總線上的地址一致,,則該器件即為主器件尋址的器件,其接收信息還是發(fā)送信息則由第8位(R/W)確定,。
I2C接口的硬件設(shè)計
由于DM6437和F28015都支持I2C接口,,這使得I2C接口的硬件設(shè)計變得非常簡單,只需將各自的信號線和時鐘線對應(yīng)相連即可,。雙DSP的I2C總線接口硬件連接圖如圖4所示,。
各引腳連接說明如下:
① DM6437的M3和M2引腳分別對應(yīng)I2C_DATA和I2C_CLK,而F28015的GPIO32和GPIO33可以分別復(fù)用為I2C_DATA和I2C_CLK ,??紤]到阻抗不匹配等因素會影響總線數(shù)據(jù)傳輸效果,因此還應(yīng)該在I2C_DATA和I2C_CLK 的直連線路上各串聯(lián)一個小電阻(R107和R108),。
?、?由3.1.1節(jié)的I2C總線結(jié)構(gòu)介紹可知,,I2C_DATA和I2C_CLK是雙向電路,必須都通過一個電流源或上拉電阻連接到正的電源電壓,。由于DSP的輸出CMOS電平為3.3V,所以在硬件設(shè)計時將I2C_DATA和I2C_CLK總線通過上拉電R59和R60連接到了3.3V的Vcc電源上,。
I2C總線通信的軟件設(shè)計
雙DSP系統(tǒng)通信思路
雙機(jī)通信軟件的設(shè)計問題涉及到DSP C6000(DM6437)和DSP 2000(F28015)兩部分的軟件設(shè)計,。設(shè)計雙DSP系統(tǒng)的初期設(shè)想是,用DM6437來接收圖像信息并進(jìn)行處理,,將最終得到的處理結(jié)果傳送給F28015,,F(xiàn)28015根據(jù)得到的處理結(jié)果來執(zhí)行相應(yīng)的電機(jī)控制及其他子任務(wù)??梢钥吹?,在這個通信過程中,DM6437是主機(jī),,負(fù)責(zé)發(fā)送數(shù)據(jù),,而F28015是從機(jī),負(fù)責(zé)接收數(shù)據(jù)并執(zhí)行相應(yīng)控制命令,。但是應(yīng)注意到,,在I2C總線通信中,主從機(jī)的地位并不是一直不變,,可以根據(jù)需要隨時重新設(shè)定主機(jī)和從機(jī),。由于嵌入式系統(tǒng)的人機(jī)界面一般不大友好,想要觀察實驗結(jié)果往往需要打印數(shù)據(jù)或者通過LED等指示裝置來體現(xiàn),。在本文中,,考慮到DM6437芯片極其對應(yīng)的軟件開發(fā)系統(tǒng)CCS 3.3支持在線打印功能,因此,,為了簡化設(shè)計,,便于觀察,雙DSP的I2C通信可以這樣考慮:先讓DM6437發(fā)送一個數(shù)據(jù)到I2C總線上,,并打印這個發(fā)送數(shù)據(jù)的相關(guān)信息,,然后在F28015這一端接收數(shù)據(jù),如果接收到DM6437傳來的數(shù)據(jù),,就將數(shù)據(jù)進(jìn)行一定的變換(例如乘以一個倍數(shù)),,然后再通過I2C總線將變換后的數(shù)據(jù)發(fā)送給DM6437。DM6437接收返回的數(shù)據(jù)并打印返回數(shù)據(jù)的相關(guān)信息,。通過觀察打印信息,,就可以很清楚地了解到I2C通信的實時效果。
DM6437的I2C通信軟件
根據(jù)所介紹的基本思路,,可以設(shè)計出DM6437的I2C通信軟件的流程圖(圖5),。
F28015的I2C通信軟件
根據(jù)所介紹的基本思路,,可以設(shè)計出F28015的I2C通信軟件的流程圖(圖6)。
結(jié)論
文中提出的TMS320DM6437+TMS320F28015的軟硬件設(shè)計方案在新型球形機(jī)器人控制系統(tǒng)中得到初步應(yīng)用,,驗證了理論設(shè)計的可行性和可靠性,,實驗結(jié)果表明接口數(shù)據(jù)讀寫高效可靠。本設(shè)計對以后其他雙核控制系統(tǒng)接口的設(shè)計與研究工作具有很好的參考價值,。
參考文獻(xiàn):
[1] Texas Instruments.TMS320DM6437 Digital Media Processor
[EB].http://www.ti.com
[2] Texas Instruments.TMS320x280x Data Manual [EB].http://www.ti.com
[3] Philips Semiconductors. The I2C-Bus Specification
[EB].http://www.philips.com
[4] 何立民.I2C總線應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1995:13-23
[5] 王輝平,,吳宇,康惠駿.基于I2C總線數(shù)字收音機(jī)的控制實現(xiàn) [J].儀表儀器,,2008.11期
[6] 江思敏,,劉暢.TMS320C6000 DSP應(yīng)用開發(fā)教程 [M].北京:機(jī)械工業(yè)出版社,2005
[7] Texas Instruments.TMS320x28xx, 28xxx Inter-Integrated Circuit(I2C)
Module Reference Guide [EB].http://www.ti.com
[8] 湯瑜瑜,,翁東山,,危峻,馮旗. 一種基于I2C總線的新型可編程增益放大電路的設(shè)計 [J]. 電子產(chǎn)品世界,,2005(17)