新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM的嵌入式系統(tǒng)在機(jī)器人控制系統(tǒng)中的應(yīng)用

基于ARM的嵌入式系統(tǒng)在機(jī)器人控制系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2012-05-21 來源:網(wǎng)絡(luò) 收藏

3.2 系統(tǒng)設(shè)計(jì)

此系統(tǒng)的設(shè)計(jì)主要是為了能夠滿足多種控制需求,同時(shí)兼顧對(duì)控制器體積、重量、功耗等敏感的特性。

上位機(jī)CPU選用Samsung公司的基于920T[5,6]核(適用于實(shí)時(shí)環(huán)境)的低功耗、16/32 bit、高性能RISC微控制器S3C2410,它的主頻為266MHz;操作系統(tǒng)選用源碼公開、專為設(shè)計(jì)的、可靠性高的實(shí)時(shí)、多任務(wù)內(nèi)核arm- Linux;下位機(jī)選用Ti公司的具有低功耗、靈活指令集、內(nèi)部操作靈活、高速的運(yùn)算能力等性能的DSP-TMS320LF2407。

3.2.1 體系結(jié)構(gòu)

基于、DSP和arm-Linux的硬件結(jié)構(gòu)圖如圖1所示。

圖1 機(jī)器人控制器硬件結(jié)構(gòu)

上位機(jī)主要解決算法問題,處理各個(gè)傳感器送回的信號(hào),根據(jù)各個(gè)信號(hào),向下位機(jī)發(fā)送控制命令,同時(shí),上位機(jī)接收來自下位機(jī)的信號(hào),判斷下位機(jī)的狀態(tài),以便發(fā)送相應(yīng)的數(shù)據(jù)和命令。下位機(jī)主要是對(duì)電機(jī)的控制,根據(jù)上位機(jī)發(fā)送過來的命令和數(shù)據(jù),結(jié)合前饋算法和PID算法,對(duì)電機(jī)進(jìn)行速度、位置等控制。

不同類型的機(jī)器人,其主要區(qū)別在于上位機(jī)的算法編寫,上位機(jī)的算法與具體的機(jī)器人所要求完成的任務(wù)有關(guān)。在一個(gè)機(jī)器人系統(tǒng)中,只需一個(gè)上位機(jī),作為機(jī)器人的“大腦”;下位機(jī)的個(gè)數(shù)則根據(jù)機(jī)器人需要而定。

3.2.2 硬件設(shè)計(jì)

硬件設(shè)計(jì)的原則是:部件模塊化,接口標(biāo)準(zhǔn)化,互換性、擴(kuò)展性好,可靠性高。

硬件可劃分為CPU模塊、外設(shè)模塊。兩個(gè)模塊層可疊在一起,機(jī)械上可拆分,相互之間有接口相連,便于互換和維護(hù)。

1)CPU模塊:上位機(jī)包括S3C2410、SDRAM、NAND FLASH、晶振等系統(tǒng)運(yùn)行的基本要素;下位機(jī)包括TMS320LF2407、SDRAM、晶振等系統(tǒng)運(yùn)行的基本要素。

2)外設(shè)模塊:上位機(jī)包括電源接口、485總線接口、A/D接口、I/O接口、PWM接口、下位機(jī)通訊接口、USB HOST接口、USB SLAVE 接口、LCD接口等,同時(shí)它也是傳感器模塊和CPU模塊連接的橋梁;下位機(jī)包括電源接口、485總線接口、I/O接口、PWM接口、光電編碼器接口、上位機(jī)通訊接口、A/D接口,F(xiàn)LASH等。

S3C2410芯片本身集成了一些通用的外圍器件,所以像A/D、USB、I/O等通道直接利用其資源。片內(nèi)的2個(gè)UART分別用作485總線及與下位機(jī)通訊接口,這兩個(gè)串口屬于對(duì)外連接口,為了避免引入外界干擾,用高速光隔HCPL2630進(jìn)行隔離。 TMS320LF2407芯片本身也集成了一些通用的外圍器件,可直接利用PWM、A/D、I/O、光電編碼器接口等資源。片內(nèi)UART用作與上位機(jī)通訊接口,也用了光電隔離。

針對(duì)不同的機(jī)器人,硬件部分只需做簡(jiǎn)單的接口調(diào)整或傳感器增刪。

控制器集成尺寸:上位機(jī)模塊為60mm×45mm×35mm,總功耗約為5V ×200mA,其中CPU模塊功耗盡為3.3V×30mA;下位機(jī)模塊尺寸60mm×40mm×30mm,功耗也是很低的,而一般的PC104總線CPU模塊功耗約為5V×1000mA。

3.2.3 軟件設(shè)計(jì)

軟件設(shè)計(jì)的基本原則是:軟件結(jié)構(gòu)化,驅(qū)動(dòng)標(biāo)準(zhǔn)化,系統(tǒng)可定制[13]。

軟件設(shè)計(jì)的主要工作是操作系統(tǒng)的移植、驅(qū)動(dòng)程序的設(shè)計(jì)、常用API函數(shù)的封裝、多任務(wù)的分解與設(shè)計(jì)、上位機(jī)算法的編寫和下位機(jī)驅(qū)動(dòng)程序與算法的編寫等。其中關(guān)鍵在于上下位機(jī)的同步性,當(dāng)多個(gè)控制器一起工作時(shí),同步問題更加重要了。上位機(jī)把數(shù)據(jù)傳送給下位機(jī),先把控制器的標(biāo)號(hào)給傳下去,只有與此號(hào)碼相對(duì)應(yīng)模塊才能接收下面的數(shù)據(jù),當(dāng)下位機(jī)接收到信號(hào)后,需要向上位機(jī)發(fā)送一個(gè)確認(rèn)信號(hào)。需要同步多個(gè)處理器,分別占用總線。為了使多機(jī)通訊同步,不發(fā)生信號(hào)沖突,在設(shè)計(jì)硬件時(shí),每個(gè)微處理器使用了一個(gè)I/O口,并把每個(gè)處理器的I/O口用線連在一起。當(dāng)一個(gè)控制器接收或發(fā)送數(shù)據(jù)時(shí),向其它處理器發(fā)送一個(gè)高信號(hào),來說明自己正在使用總線。接受到該信號(hào)的處理器得知總線正在忙,不再發(fā)送數(shù)據(jù),可避免總線沖突。事實(shí)證明這種方法是可行的,不會(huì)發(fā)生總線沖突,多處理器工作時(shí)同步性很好。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉