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