基于ARM的三軸伺服控制系統(tǒng)人機(jī)界面設(shè)計(jì)
1前言
機(jī)械手控制系統(tǒng)是伴隨著機(jī)械手(機(jī)器人)的發(fā)展而進(jìn)步的。機(jī)械手是在早期出現(xiàn)的古代機(jī)器人基礎(chǔ)上發(fā)展起來的,機(jī)械手研究始于20世紀(jì)中期,隨著計(jì)算機(jī)和自動化技術(shù)的發(fā)展,特別是1946年第一臺數(shù)字電子計(jì)算機(jī)問世以來,計(jì)算機(jī)取得了驚人的進(jìn)步,向高速度、大容量、低價格的方向發(fā)展。同時,大批量生產(chǎn)的迫切需求推動了自動化技術(shù)的進(jìn)展,又為機(jī)器人和機(jī)械手控制系統(tǒng)的開發(fā)奠定了基礎(chǔ)。另一方面,核能技術(shù)的研究要求某些操作機(jī)械代替人處理放射性物質(zhì)。在這一需求背景下,美國于1947年開發(fā)了遙控機(jī)械手控制系統(tǒng)和遙控機(jī)械手,1948年又開發(fā)了機(jī)械式的主從機(jī)械手控制系統(tǒng)和機(jī)械手。
機(jī)械手控制系統(tǒng)首先是從美國開始研制的。1954年美國戴沃爾最早提出了工業(yè)機(jī)器人的概念,并申請了專利。該專利的要點(diǎn)是借助伺服技術(shù)控制機(jī)器人的關(guān)節(jié),利用人手對機(jī)器人進(jìn)行動作示教,機(jī)器人能實(shí)現(xiàn)動作的記錄和再現(xiàn)。這就是所謂的示教再現(xiàn)機(jī)器人控制系統(tǒng)?,F(xiàn)有的機(jī)器人控制系統(tǒng)差不多都采用這種控制方式。1958年美國聯(lián)合控制公司研制出第一臺機(jī)械手鉚接機(jī)器人控制系統(tǒng)。作為機(jī)器人產(chǎn)品最早的實(shí)用機(jī)型(示教再現(xiàn))是1962年美國AMF公司推出的“VERSTRAN”和UNIMATION公司推出的“UNIMATE”。這些工業(yè)機(jī)器人和相關(guān)控制系統(tǒng)主要由類似人的手和臂組成它可代替人的繁重勞動以實(shí)現(xiàn)生產(chǎn)的機(jī)械化和自動化,能在有害環(huán)境下操作以保護(hù)人身安全,因而廣泛應(yīng)用于機(jī)械制造、冶金、電子、輕工和原子能等部門。
機(jī)械手控制系統(tǒng)經(jīng)歷了以下幾個階段:機(jī)械手完成放射源轉(zhuǎn)運(yùn)年代、化工產(chǎn)品垛機(jī)械手年代、工業(yè)用機(jī)械手興起和發(fā)展年代。
2arm及其體系結(jié)構(gòu)
ARM(AdvancedRISCMachines)是微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費(fèi)/教育類多媒體、DSP和移動式應(yīng)用等?;?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/ARM">ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位RISC微處理器75%以上的市場份額,ARM技術(shù)正在逐步滲入到我們生活的各個方面。ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計(jì)開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的arm微處理器芯片進(jìn)入市場。
2.1arm的結(jié)構(gòu)和特性
arm處理器共同特點(diǎn)
(1)、體積小、低功耗、低成本、高性能;
(2)、支持Thumb(16位)/arm(32位)雙指令集,能很好的兼容8位/16位器件;
(3)、大量使用寄存器,指令執(zhí)行速度更快;
(4)、大多數(shù)數(shù)據(jù)操作都在寄存器中完成;
(5)、尋址方式靈活簡單,執(zhí)行效率高;
(6)、指令長度固定。
2.2arm處理器的結(jié)構(gòu)
2.2.1RISC體系結(jié)構(gòu)
傳統(tǒng)的CISC(ComplexInstructionSetComputer,復(fù)雜指令集計(jì)算機(jī))結(jié)構(gòu)有其固有的缺點(diǎn),即隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計(jì)算機(jī)的體系結(jié)構(gòu)會越來越復(fù)雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會被反復(fù)使用,占整個程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計(jì)中只占20%,顯然,這種結(jié)構(gòu)是不太合理的。,1979年美國加州大學(xué)伯克利分校提出了RISC(ReducedInstructionSetComputer,精簡指令集計(jì)算機(jī))的概念,當(dāng)然,和CISC架構(gòu)相比較,盡管RISC架構(gòu)有上述的優(yōu)點(diǎn),但決不能認(rèn)為RISC架構(gòu)就可以取代CISC架構(gòu),事實(shí)上,RISC和CISC各有優(yōu)勢,而且界限并不那么明顯。
2.2.2arm微處理器的寄存器結(jié)構(gòu)
ARM處理器共有37個寄存器,被分為若干個組(BANK),這些寄存器包括:31個通用寄存器,包括程序計(jì)數(shù)器(PC指針),均為32位的寄存器。6個狀態(tài)寄存器,用以標(biāo)識CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位,目前只使用了其中的一部分。同時,arm處理器又有7種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與之對應(yīng)。即在任意一種處理器模式下,可訪問的寄存器包括15個通用寄存器(R0~R14)、一至二個狀態(tài)寄存器和程序計(jì)數(shù)器。在所有的寄存器中,有些是在7種處理器模式下共用的同一個物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。
2.2.3系統(tǒng)的工作頻率
系統(tǒng)的工作頻率在很大程度上決定了ARM微處理器的處理能力。ARM7系列微處理器的典型處理速度為0.9MIPS/MHz,常見的ARM7芯片系統(tǒng)主時鐘為20MHz-133MHz,ARM9系列微處理器的典型處理速度為1.1MIPS/MHz,常見的ARM9的系統(tǒng)主時鐘頻率為100MHz-233MHz,ARM10最高可以達(dá)到700MHz。不同芯片對時鐘的處理不同,有的芯片只需要一個主時鐘頻率,有的芯片內(nèi)部時鐘控制器可以分別為arm核和USB、UART、DSP、音頻等功能部件提供不同頻率的時鐘。
3嵌入式系統(tǒng)
arm處理器開發(fā)嵌入式系統(tǒng)時,選擇合適的開發(fā)工具可以加快開發(fā)進(jìn)度,節(jié)省開發(fā)成本。因此一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫的集成開發(fā)環(huán)境一般來說是必不可少的,至于嵌入式實(shí)時操作系統(tǒng)、評估板等其他開發(fā)工具則可以根據(jù)應(yīng)用軟件規(guī)模和開發(fā)計(jì)劃選用。
3.1μC/OS-II
μC/OS-II是一種基于優(yōu)先級的搶占式多任務(wù)實(shí)時操作系統(tǒng),包含了實(shí)時內(nèi)核、任務(wù)管理、時間管理、任務(wù)間通信同步(信號量,郵箱,消息、隊(duì)列)和內(nèi)存管理等功能。它可以使各個任務(wù)獨(dú)立工作,互不干涉,很容易實(shí)現(xiàn)準(zhǔn)時而且無誤執(zhí)行,使實(shí)時應(yīng)用程序的設(shè)計(jì)和擴(kuò)展變得容易,使應(yīng)用程序的設(shè)計(jì)過程大為減化。
3.2pSOS
pSOSystem是美國系統(tǒng)集成公司(IntegratedSystems,Inc.簡稱ISI公司,現(xiàn)已與美國WindRiver系統(tǒng)公司合并)根據(jù)幾十年從事嵌入式實(shí)時系統(tǒng)理論研究與實(shí)踐活動而設(shè)計(jì)開發(fā)的實(shí)時嵌入式操作系統(tǒng)。pSOSystem集成了一整套嵌入式軟件模塊、工具和服務(wù)。作為嵌入式系統(tǒng)微內(nèi)核設(shè)計(jì)的先驅(qū)者之一,ISI公司將pSOSystem構(gòu)造成適于嵌入式應(yīng)用系統(tǒng)開發(fā)、在嵌入式實(shí)時領(lǐng)域具有領(lǐng)導(dǎo)地位的實(shí)時操作系統(tǒng)。pSOSystem從ISI公司和許多第三廠家得到大量的支持。
3.3各種操作系統(tǒng)的對比及選用linux的原因
嵌入式操作系統(tǒng)是ARMCPU重要的軟件基礎(chǔ)從8位/16位單片機(jī)發(fā)展到以armCPU核為代表的32位嵌入式處理器,嵌入式操作系統(tǒng)將替代傳統(tǒng)的由手工編制的監(jiān)控程序或調(diào)度程序,成為重要的基礎(chǔ)組件。
第一是應(yīng)用如果你想開發(fā)的嵌入式設(shè)備是一個和網(wǎng)絡(luò)應(yīng)用密切相關(guān)或者就是一個網(wǎng)絡(luò)設(shè)備,那么你應(yīng)該選擇用嵌入式Linux或者μCLinux,而不是μC/OS-II,因?yàn)長inux不僅為你集成了TCP/IP協(xié)議,還有很豐富的其它網(wǎng)絡(luò)協(xié)議,如DHCPServer,PPPoe,webserver等等。
第二是實(shí)時性沒有一個絕對的數(shù)字可以告訴你什么是硬實(shí)時,什么是軟實(shí)時,它們之間的界限也是十分模糊的,這與你選擇什么樣的armCPU,它的主頻,內(nèi)存等參數(shù)有一定的關(guān)系,象IntelXscale這樣的處理器,即使配合普通Linux的內(nèi)核,內(nèi)核的搶占延時最壞情況也只有1.743毫秒,而99.9%的情況是1.42毫秒,而如果你使用加入實(shí)時補(bǔ)丁等技術(shù)的嵌入式Linux如MontaVistaLinux(2.4.17版本內(nèi)核),最壞的情況只有436微秒,而99.9%的情況是195微秒,上面的數(shù)字以及考慮到最新的Linux在實(shí)時性方面的改進(jìn)(如低延時O(1)調(diào)試器,微秒級的高分辨率POSIX定時器),嵌入式Linux可以適合于90~95%的各種嵌入式系統(tǒng)應(yīng)用。當(dāng)然,你如果希望更高數(shù)量級的實(shí)時響應(yīng),如高速的A/D轉(zhuǎn)換需要幾個微秒以內(nèi)的中斷延時,要求一個毫秒級沒有DMA方式的異步串行實(shí)時處理器等類似的應(yīng)用,可能是采用μC/OS-II是合適的。當(dāng)然,你采用象Vxworks這樣傳統(tǒng)的嵌入式操作系統(tǒng)也可以滿足這樣的強(qiáng)實(shí)時性要求。
c++相關(guān)文章:c++教程
評論