王斌 薛文奎
摘要:針對娛樂機器人系統(tǒng)開放性差、通信接口標準不統(tǒng)一、數據傳輸性差等問題,機器人利用嵌入式開發(fā)板和CAN總線模塊搭建娛樂機器人控制系統(tǒng)硬件平臺,然后將開放的Linux操作系統(tǒng)移植到控制器上,經測試系統(tǒng)動態(tài)性好和實時性強。
關鍵詞:娛樂機器人;硬件平臺;CAN總線模塊;Linux操作系統(tǒng)
中圖分類號:TB
文獻標識碼:A
doi:10.19311/j.cnki.16723198.2017.09.091
娛樂機器人的研究網絡通信協(xié)議不開放和專用的操作系統(tǒng),導致市場上出現的娛樂機器人開放性差、通信接口標準不統(tǒng)一、數據傳輸性差等問題,阻礙娛樂機器人的更好的發(fā)展。本文提出將開放的嵌入式Linux操作系統(tǒng)移植到ARM9開發(fā)板,實現娛樂機器人通信接口標準不統(tǒng)一的問題,數據傳輸的可靠性得到提高。
1系統(tǒng)總體設計
采用模塊化設計娛樂機器人控制系統(tǒng),系統(tǒng)主要由主節(jié)點模塊、通信總線模塊、從節(jié)點模塊、紅外線檢測模塊和驅動模塊等組成。娛樂機器人系統(tǒng)框架如圖1所示。
2硬件平臺組成
2.1主節(jié)點模塊
主節(jié)點模塊是娛樂機器人控制系統(tǒng)的核心,負責與其他各個模塊進行數據交換和管理網絡功能。系統(tǒng)采用S3C2441A處理器作為主控芯片。S3C2440A微處理器主頻400MHz,系統(tǒng)集成SDRAM儲存器、專用LCD的DMA控制器、擁有外部請求的4路引腳DMA控制器,支持16/32位精簡指令集。
2.2CAN總線模塊
CAN總線模塊由CAN收發(fā)器和CAN控制器組成,本文采用MSG-3CM類型CAN總線控制芯片和TJA1050的CAN總線收發(fā)器,其電路原理圖如圖2所示。
2.3從節(jié)點模塊
采用68HC11單片機作為從節(jié)點控制器模塊,68HC11是增強型8位單片機,芯片具有運算高速、系統(tǒng)功能齊備、低功耗等優(yōu)點。68HC11通過SPI接口與CAN總線模塊的SPI接口進行通訊,外圍電路設計簡單,可靠性高。
2.4紅外傳感器模塊
紅外傳感器接收與發(fā)送模塊由紅外發(fā)射器和紅外接收器組成,檢測距離為18—75cm。其原理圖如3所示。
3娛樂機器人軟件平臺
搭建娛樂機器人軟件平臺,將開放的嵌入式Linux操作系統(tǒng)移植到GT2440上。具體需要進行主機的配置、Boot Loader的移植、linux內核的移植及配置、根系統(tǒng)文件的建立等方面。
3.1嵌入式Linux開發(fā)環(huán)境的建立
嵌入式系統(tǒng)開發(fā)采用交叉開發(fā)方式,即在電腦將代碼編寫好,然后通過編譯交叉工具生成執(zhí)行機器代碼,再通過串口下載到系統(tǒng)平臺上,如圖4所示。
3.2移植Boot Loader
移植U-Boot原理是將U-Boot源代碼上進行刪減或添加系統(tǒng)相關配置文件,然后進行編譯及下載到控制板的過程。移植具體如下:
(1)將u-boot-1.1.6解壓到GT2440文件中。
(2)修改smdk2410.c、smdk2410.o、smdk2410.h分別修改為GTStudio.c、GTStudio.o、GTStudio.h。
(3)指定交叉編譯器為“Carm-linux-”。
(4)中斷向量根據需要進行修改start.s文件,修改serial.c與設置的FPCLK和串口波特率相同。
(5)設置bank控制器參數及修改lowlevel_init.s文件與內存配置一致。
(6)在drivers中添加設備驅動程序,實現USB等設備的驅動。
(7)執(zhí)行make指令,生成機器語言映像文件。
3.3Linux內核移植
3.3.1內核源碼的解壓
在Linux源代碼包,執(zhí)行#tar xvzf 指令將Linux-2.6.38.6進行解壓縮。
3.3.2設置編譯環(huán)境
修改makefile文件完成目標代碼的類型的更改,系統(tǒng)編譯交叉工具為4.3.4.具體設計為:
ARCH2?= arm1
CROSS_COMPILE ?=/local/arm1/4.4.3/bin/arm-linux-
3.3.3修改系統(tǒng)時鐘
GT2440開發(fā)板采用的外部時鐘為12MHz,對應的內核源代碼為mach-smdk2440.c文件中,將s3c24xx_init_clocks修改為12MHz(12000000)。
4系統(tǒng)測試
將生成的二進制映像文件下載到GT2440芯片中。用USB線將GT2440開發(fā)板與電腦連接好,然后利用DNW軟件將編譯好的文件下載到開發(fā)板中,并重新啟動系統(tǒng),可通過SecureCRT軟件看到系統(tǒng)界面,如圖5所示。
5結論
本文搭建娛樂機器人硬件平臺,通過CAN總線實現系統(tǒng)各硬件模塊的底層通信,同時使用CANopen協(xié)議完成主從節(jié)點的通信,實現硬件模塊化,同時也提高了數據傳輸的可靠性。
參考文獻
[1]白俊利.娛樂機器人控制器與無線通信網絡的設計與實現[D].蘭州:蘭州理工大學,2010.
[2]Dominik Off.Multimodal Integration Processes in Plan-Based Service Robot Control[J].Tsinghua Science and Technology,2011.
[3]嵇鵬程.服務機器人的現狀及發(fā)展趨勢[J].常州大學學報,2010.
[4]李衛(wèi).基于ARM的嵌入式服務機器人控制器的研究[J].電子設計工程,2009.
[5]辛鑫.基于嵌入式ARM9平臺的Linux-2.6移植[D].武漢:華中科技大學,2008.