美國著名未來學家尼葛洛龐帝1999年1月訪華時預言,4~5年后嵌入式智能(電腦)工具將是PC和因特網之后最偉大的發明。事實正如尼葛洛龐帝先生所預料的那樣,嵌入式系統及其應用已成為當前研究和應用的熱點,國際上大牌公司如Intel、Microsoft(微軟)等紛紛投入巨資,分別推出了具有技術優勢的基于Xsale框架結構的嵌入式硬件平臺和Windows CE 4.0軟件平臺,為嵌入式系統的發展注入了強大的活力。今天,嵌入式系統已滲透到日常生活的方方面面,帶來的工業年產值已超過1萬億美元,在工業控制、消費電子等領域的應用范圍不斷擴大,而機電控制是嵌入式系統技術的一個典型應用,采用嵌入式的機器人、SONY 機器狗及1997年美國發射的“索納杰”火星車就是經典的實例。就嵌入式系統的組成、特點,開發所采用的主流軟件平臺、硬件平臺作詳細的介紹,并通過Stewart平臺專用伺服控制器的設計,介紹了嵌入式技術在機電控制系統中的應用及具體實現。 1 嵌入式系統 嵌入式系統是以應用為中心、以計算機技術為基礎、軟硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。由于嵌入式系統具有微內核、系統精簡、高實時性、專用性強等特點,因此非常適合應用于機電控制系統。有別于傳統的控制系統,嵌入式系統由嵌入式微處理器/微控制器、存儲器、輸入輸出(I/O)和軟件組成,這里的軟件是指基于RTOS開發的且和RTOS密切結合的應用軟件。這種操作系統和應用軟件緊密結合為一體正是嵌入式系統和基于Windows應用系統的主要差別所在,也是其可靠性和實時性的重要保證。 2 嵌入式微處理器 目前有許多款嵌入式微處理器,如Intel公司的StrongARM、Xscale,ATMEL的AT91系列,IBM的PowerPC,Motorola的68K,三星的S3C4x系列等,其中基于英國ARM公司的ARM內核的嵌入式微處理器是目前的主流。ARM是典型的32位RISC芯片——不論是在PDA、STB、DVD等消費類電子產品中,還是在機電、GPS、航空、勘探、測量等軍方產品中都得到了廣泛的應用。越來越多的芯片廠商早已看好ARM的前景,如Intel、NS、Ateml、Samsung、Philips、NEC、CirrusLogic等全球著名公司都有相應的基于ARM處理器的產品。ARM處理器的主要特點是:小體積、低功耗、低成本、高性能、16/32位雙指令集、全球眾多的合作伙伴。事實上ARM已成為嵌入式解決方案的RISC標準,成為業界的龍頭。 文中采用ATMEL的AT91x40,設計了用于Stewart平臺的伺服控制器。AT91系列微控制器是基于ARM7TDMI嵌入式微處理器的16/32位控制器,用高密度的16位指令實現了高效的32位RISC結構,非常適合實時控制應用。ATMEL公司采用高密度CMOS技術,通過片上集成ARM7TDMI和大量的FLASH、片內RAM以及各種外圍功能模塊使其成為強有力的微控制器,為許多需要加強運算的嵌入式應用提供了高度的靈活性和高性價比的解決方案。AT91x40的主要片上功能: ·帶8KB緩存的ARM7TDMI ARM ThumbCPU核; ·完全可編程的外部總線接口,支持64M尋址空間; ·8優先級、可單獨屏蔽的向量中斷控制器,4個外部中斷源; ·3通道16位定時、計數器; ·5個PWM定時器及1個內部定時器; ·可編程的看門狗定時器; ·兩個獨立的USART; ·先進的省電特性。 3 嵌入式RTOS的選擇 目前嵌入式實時操作系統RTOS分為兩類:商用型和免費型。其中商用型典型的RTOS有:Windows CE 4.0(適合于消費類電子產品);VxWork(適合于網絡、交換設備等);Palm OS(適合于PAD產品)。免費型RTOS有Linux(包括uLinux和RT-Linux)和μC/OSII。綜合考慮,這里選擇μC/OSII作為本系統的RTOS。 μC/OSII(即μC/OS的最新版)主要特點如下: (1)公開源碼:是為數不多的公開源碼的RTOS,給二次開發和移植提供了可能; (2)可移植性強:μC/OSII絕大多數源碼用ANSI C編寫,少量用匯編語言編寫,具有較強的移植性; (3)可固化:微小內核,可以和應用程序一起固化到FLASHROM中; (4)可裁剪:通過條件編譯即可實現裁剪,十分方便; (5)占先式:是實時性的重要保證; (6)多任務:多達64個任務管理,可以滿足大多數控制任務; (7)可確定性:全部的函數調用與服務執行的時間是可知的; (8)系統服務:提供眾多的系統服務,如:消息隊列、信號量、內存管理等。 (9)中斷管理:多達255層的中斷管理。 (10)穩定性和可靠性:自1992年以來已經有好幾百個商業應用。其中NationalOptronics公司成功將μC/OS用于三軸運動控制卡中,該三軸運動控制卡主要用于高精度的光電子制造業。 4 基于Stewart平臺的伺服控制器設計 4.1 系統硬件結構 Stewart平臺是6腿(桿)機械手,在大射電望遠鏡指向跟蹤系統中是利用Stewart平臺作饋源艙的精調子系統。在該系統中要求Stewart平臺系統實現高精度、高實時性運動,其控制精度直接決定著饋源的定位精度,而且對Stewart平臺控制器的可靠性、體積都有較高的要求。 Stewart平臺控制系統基于ATMEL公司的AT9140800嵌入式微處理器為核心。其它主要硬件部分有: (1) 存儲器:系統配以2MBSDRAM,1MB線性FlashROM用于存儲RTOS和應用軟件。 (2) 編碼器接口:設計6路獨立編碼器接口,包括脈沖細分邏輯和辨向電路。 (3) DA接口:6路獨立的12位DA接口電路,其輸出的模擬量作為伺服放大器的輸入。 (4) 兩個標準RS232接口:可以通過RS232接口接收主機的指令。 (5) 提供ISA總線接口:可以將本嵌入式系統插入PC的ISA槽中,通過ISA總線接收PC的指令,用于標準的工控模式。 (6) 各種狀態指示燈,指示系統的工作狀況和每個通道的工作狀態。各接口的通訊格式全部采用帶校驗的自定義格式。 4.2 系統軟件 該系統軟件是基于μC/OS為RTOS開發的專用軟件。主要包括以下幾部分: (1) 多任務管理; (2) 內存資源管理; (3)中斷管理; (4)UART接口管理; (5) ISA接口管理; (6) 電機控制ADRC算法。 其中(1)、(2)、(3)由μC/OS實現(與接口有關的中斷服務程序需用戶編寫),其余為用戶編程實現。傳統的各類電機控制器中大多采用各種各樣的PID,如非線性PID,模糊PID等,這里電機控制采用自抗擾控制ADRC(auto_disturbance rejector controller)算法。為了提高算法的效果,對原來ADRC算法進行了適當的改進,采用變參數思想,稱之為模糊ADRC。 4.3 μC/OS的移植軟件 μC/OS的移植工作主要包括: (1)聲明10個數據類型。在文件OS_CPU.H 中定義9個數據類型和一個堆棧寬度。 (2)用#define設置一個表示堆棧增長方向的常量OS_STK_GROWTH x 。 (3)用#define聲明三個宏。 (4)用C語言編寫六個簡單的函數。 由于μC/OS是源碼公開的免費型RTOS,其上有許多成功的移植實例共享。按照上述嵌入式軟硬件設計思想,我們設計了Stewart平臺專用伺服控制器。控制器能很好地跟蹤期望信號,并能在很短的時間內消除干擾的影響。 5 結束語 嵌入式系統及其應用已成為當前研究和應用的熱點,采用嵌入式系統的機電控制系統較傳統控制系統在可靠性、體積、功耗、性價比等方面都具有明顯的優勢,相信不久的將來嵌入式系統會廣泛應用于各類機電控制中,并能取得更好的控制效果和更好的系統綜合性能。 |