基于A(yíng)RM的嵌入式系統在機器人控制系統中的應用
3.2 系統設計
此系統的設計主要是為了能夠滿(mǎn)足多種機器人控制需求,同時(shí)兼顧機器人對控制器體積、重量、功耗等敏感的特性。
上位機CPU選用Samsung公司的基于ARM920T[5,6]核(適用于實(shí)時(shí)環(huán)境)的低功耗、16/32 bit、高性能RISC微控制器S3C2410,它的主頻為266MHz;操作系統選用源碼公開(kāi)、專(zhuān)為ARM設計的、可靠性高的實(shí)時(shí)、多任務(wù)內核arm- Linux;下位機選用Ti公司的具有低功耗、靈活指令集、內部操作靈活、高速的運算能力等性能的DSP-TMS320LF2407。
3.2.1 體系結構
基于ARM、DSP和arm-Linux的機器人控制系統硬件結構圖如圖1所示。
圖1 機器人控制器硬件結構
上位機主要解決算法問(wèn)題,處理各個(gè)傳感器送回的信號,根據各個(gè)信號,向下位機發(fā)送控制命令,同時(shí),上位機接收來(lái)自下位機的信號,判斷下位機的狀態(tài),以便發(fā)送相應的數據和命令。下位機主要是對電機的控制,根據上位機發(fā)送過(guò)來(lái)的命令和數據,結合前饋算法和PID算法,對電機進(jìn)行速度、位置等控制。
不同類(lèi)型的機器人,其主要區別在于上位機的算法編寫(xiě),上位機的算法與具體的機器人所要求完成的任務(wù)有關(guān)。在一個(gè)機器人系統中,只需一個(gè)上位機,作為機器人的“大腦”;下位機的個(gè)數則根據機器人需要而定。
3.2.2 硬件設計
硬件設計的原則是:部件模塊化,接口標準化,互換性、擴展性好,可靠性高。
硬件可劃分為CPU模塊、外設模塊。兩個(gè)模塊層可疊在一起,機械上可拆分,相互之間有接口相連,便于互換和維護。
1)CPU模塊:上位機包括S3C2410、SDRAM、NAND FLASH、晶振等系統運行的基本要素;下位機包括TMS320LF2407、SDRAM、晶振等系統運行的基本要素。
2)外設模塊:上位機包括電源接口、485總線(xiàn)接口、A/D接口、I/O接口、PWM接口、下位機通訊接口、USB HOST接口、USB SLAVE 接口、LCD接口等,同時(shí)它也是傳感器模塊和CPU模塊連接的橋梁;下位機包括電源接口、485總線(xiàn)接口、I/O接口、PWM接口、光電編碼器接口、上位機通訊接口、A/D接口,FLASH等。
S3C2410芯片本身集成了一些通用的外圍器件,所以像A/D、USB、I/O等通道直接利用其資源。片內的2個(gè)UART分別用作485總線(xiàn)及與下位機通訊接口,這兩個(gè)串口屬于對外連接口,為了避免引入外界干擾,用高速光隔HCPL2630進(jìn)行隔離。 TMS320LF2407芯片本身也集成了一些通用的外圍器件,可直接利用PWM、A/D、I/O、光電編碼器接口等資源。片內UART用作與上位機通訊接口,也用了光電隔離。
針對不同的機器人,硬件部分只需做簡(jiǎn)單的接口調整或傳感器增刪。
控制器集成尺寸:上位機模塊為60mm×45mm×35mm,總功耗約為5V ×200mA,其中CPU模塊功耗盡為3.3V×30mA;下位機模塊尺寸60mm×40mm×30mm,功耗也是很低的,而一般的PC104總線(xiàn)CPU模塊功耗約為5V×1000mA。
3.2.3 軟件設計
軟件設計的基本原則是:軟件結構化,驅動(dòng)標準化,系統可定制[13]。
軟件設計的主要工作是操作系統的移植、驅動(dòng)程序的設計、常用API函數的封裝、多任務(wù)的分解與設計、上位機算法的編寫(xiě)和下位機驅動(dòng)程序與算法的編寫(xiě)等。其中關(guān)鍵在于上下位機的同步性,當多個(gè)控制器一起工作時(shí),同步問(wèn)題更加重要了。上位機把數據傳送給下位機,先把控制器的標號給傳下去,只有與此號碼相對應模塊才能接收下面的數據,當下位機接收到信號后,需要向上位機發(fā)送一個(gè)確認信號。需要同步多個(gè)處理器,分別占用總線(xiàn)。為了使多機通訊同步,不發(fā)生信號沖突,在設計硬件時(shí),每個(gè)微處理器使用了一個(gè)I/O口,并把每個(gè)處理器的I/O口用線(xiàn)連在一起。當一個(gè)控制器接收或發(fā)送數據時(shí),向其它處理器發(fā)送一個(gè)高信號,來(lái)說(shuō)明自己正在使用總線(xiàn)。接受到該信號的處理器得知總線(xiàn)正在忙,不再發(fā)送數據,可避免總線(xiàn)沖突。事實(shí)證明這種方法是可行的,不會(huì )發(fā)生總線(xiàn)沖突,多處理器工作時(shí)同步性很好。
評論