999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高壓帶電作業機器人嵌入式控制系統設計

2011-12-29 00:00:00宮廷趙文文
考試周刊 2011年56期


  摘 要: 隨著機械控制技術的快速發展,基于傳統的工控機或者PLC的控制器已經無法滿足高壓帶電作業機器人穩定性、實時性、擴展性,以及高效、低功耗的工業化要求。本文設計出了一套基于ARM的嵌入式控制器,并將μC/OS-Ⅱ移植其中作為操作系統。其在提高開發效率、縮短開發周期,以及提高可靠性等方面的優勢,可以很好地滿足工業控制器個性化、智能化的發展需要。
  關鍵詞: PLC ARM μC/OS-Ⅱ 嵌入式控制器 移植
  
  1.引言
  高空高壓帶電作業是指在不停電的狀態下對架空高壓線路進行維修、更換設備等,以避免停電帶來的不便與損失。帶電作業已經成為保證供電設備可靠運行、提高電網運行效率與質量的重要手段;其經濟社會效益是無法估量的。自1999年我國開始進行帶電作業機器人研究至今,取得了巨大的成果,但隨著智能控制技術的不斷提高,節能、低功耗且穩定性與實時性并舉成為工業控制機器人的發展趨勢,具有嵌入式系統的控制器不僅可以滿足這方面的需要,在可擴展性方面也表現得十分出色。
  基于ARM的開放式控制系統不僅價格合理、結構簡單,而且移植性好,能夠實現功能模塊的最大化擴展。這些功能模塊全部連接在總線上,互不影響、切換快速。這些優點對于提高高壓帶電作業機器人的整體工作性能、效率與質量具有重大的作用。因此本文設計了基于ARM的嵌入式控制器,采用模塊化結構,對于嵌入式技術的發展具有一定的技術意義。
  本課題項目高壓帶電作業機械手的控制車的設計圖如圖1。
  2.硬件結構設計
  帶電作業機器人嵌入式控制器的設計主要包括硬件層和內核層,按照本控制器的設計理念,硬件層應滿足實時性、可擴展性、低成本,以及基于標準的總線結構。
  2.1微控制器
  其采用了PHILIPS公司的ARM7TDMI-S核、總線開放的單片機LPC2292。LPC2292是世界首款可加密的具有外部存儲器接口的ARM芯片,具有零等待256KB的片內FLASH,16KB的SRAM,可簡化系統設計,提高性能及可靠性。芯片內部具有UART、硬件I2C、SPI、PWM、ADC、定時器和CAN等眾多外圍部件,功能強大;144引腳LQFP封裝,3.3V和1.8V系統電源,內部PLL時鐘調整,功耗低。
  2.2整體設計
  LPC2292具有144引腳的封裝、非常低的功耗、若干個32位定時器、8路10位ADC轉換器、2路CAN接口,以及PWM通道和9個外部中斷引腳,這使其特別適用工業控制應用以容錯維協議轉換器及許多其他應用中護總線。此外,LPC2292內部含有76(使用了外部存儲器)到112個(單片)可用GPIO口。并且含有寬范圍的串行通信接口,因此非常適合應用于通信網關。
  3.控制系統軟件
  3.1實時操作系統介紹
  實時操作系統是繼傳統的前后臺系統后,針對其及時性比較差的問題而出現的一段在嵌入式系統啟e686a0073f96efbf20129534202bf466502cd9d971f0ebd74aca02385b63333f動后首先執行的背景程序,用戶的應用程序是運行于RTOS之上的各個任務,RTOS根據各個任務的要求,進行資源管理、消息管理、任務調度及異常處理等工作。在RTOS支持的系統中,每個任務均有一個優先級,RTOS根據各個任務的優先級,動態的切換各個任務,保證對實時性的要求。
  隨著智能控制的發展,以及工業化水平的不斷提高,實時操作系統的應用是十分必要的。首先,實時操作系統提高了系統的可靠性,提高了開發效率縮短了開發周期;其次,嵌入式實時操作系統充分發揮了32位CPU的多任務潛力,特別適合于運行多任務實時系統。在嵌入式實時操作系統環境下開發實施應用程序使得程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理,通過有效的系統服務,嵌入式實時操作系統使得系統資源得到更好的利用。
  常見的嵌入式實時操作系統有:嵌入式Linux、VxWorks、OSE、eCos、μC/OS-Ⅱ。
  3.2實時操作系統的比較與選擇
  VxWorks操作系統成本高,結構復雜,不適合小型應用;Linux操作系統體系結構復雜,產品化和商業化程度不夠,即使在Linux本來的PC目標環境下,也難尋理想的技術支持,更不用說嵌入式環境下的Linux,這方面的弱勢對批量生產、大規模、長時間運行使用的工業化產品來說是致命的。因此,本文選擇μC/OS-Ⅱ作為操作系統,其主要優勢為:μC/OS-Ⅱ是一種免費公開源代碼、結構小巧、具有可剝奪實時內核的實時操作系統,成本低、實時性強、移植性能好、擴展性能優良。
  4.μC/OS-Ⅱ的移植
  4.1μC/OS-Ⅱ的簡介
  μC/OS-Ⅱ是一個完整的、可移植、固化、裁剪的占先式實施多任務內核,并且是用移植性很強的C語言編寫的,與微處理器硬件相關的部分是用匯編語言編寫的,使其可以供不同架構的微處理器使用,至今,從8位到64位,μC/OS-Ⅱ已經超過40種體系架構的處理器上運行。雖然μC/OS-Ⅱ是在PC機上開發和測試的,但μC/OS-Ⅱ的實際對象是嵌入式系統,很容易移植到不同架構的微處理器上。所謂移植,就是使一個實時內核能在其他的微處理器或微控制器上運行,要移植uC/OS,目標處理器必須滿足以下要求:
  1)處理器的C編譯器能產生可重入代碼,且用C語言就可以開/關中斷;
  2)處理器支持中斷,并能產生定時中斷(通常為10—100Hz);
  3)處理器能支持一定數量的數據存儲硬件堆棧(可能是幾千字節);
  4)處理器有將堆棧指針和其它CPU寄存器讀出并存儲到堆棧或內存中的指令。
  像Motorola6805系列的處理器就不能滿足上面的后兩項要求,所以μC/OS-Ⅱ不能在這類處理器上運行。因此在了解啟動代碼之前對于ARM體系結構與啟動過程的了解非常重要。
  4.2移植工作
  與處理器相關代碼是移植中最關鍵的部分,內核將上層應用程序和底層硬件結合成為一個整體,要使內核使用與不同硬件層就需要在內核與硬件之間有一中間層,這就是與處理器相關的代碼,處理器不同代碼也不同,移植時我們必須進行修改;在進行μC/OS-Ⅱ的移植時,我們也只需要修改這部分代碼即可。
  1)OS_CPU.H中需要設置一個常量來標識堆棧增長方向;
  2)OS_CPU.H中需要聲明幾個用于開關中斷和任務切換的宏;
  3)OS_CPU.H中需要針對具體處理器的字長重新定義一系列數據類型;
  4)OS_CPU_A.ASM需要改寫4個匯編語言的函數;
  5)OS_CPU_C.C需要用C語言編寫6個簡單函數;
  6)修改主頭文件INCLUDE.H,將上面的三個文件和其他的頭文件加入。
  INCLUDES.H是一個主頭文件,它出現在每個.C文件的第一行,#include“includes.h”。INCLUDES.H文件使得工程項目中的每個.C文件無需分別考慮它實際上需要哪些頭文件。
  OS_CPU.H包括了用#define語句定義的、與處理器相關的常數、宏,以及類型。與處理器相關的代碼為:
  #define OS_CRITICAL_METHOD2
  #define OS_ENTER_CRITICAL()ARMDisablet_int()
  #define OS_EXIT_CRITICAL()ARMEnable_int()
  
  #define OS_STK_GROWTH 1
  #define OS_TASK_SWOSCtxSw
  全局函數聲明:
  extern void OSCtxSw(void);
  extern void OSIntCtxSw(void);
  extern void ARMDisableInt(void);
  extern void ARMEnableInt(void);
  extern void OSTickISR(void);
  OS_CPU_C.C在μC/OS-Ⅱ的移植中需要編寫以下10個函數:
  OSTaskStkInit()
  OSTaskCreateHook()
  OSTaskDelHook()
  OSTaskSwHook()
  OSTaskIdleHook()
  OSTaskStatHook()
  OSTimeTickHook()
  OSInitHookBegin()
  OSInitHookEnd()
  OSTCBInitHook()
  在這里我們移植OS_CPU_C.C文件時,需要編寫的是任務堆棧初始化函數OSTaskStkInit和時鐘節拍中斷服務鉤子函數OSTimeTickHook。
  μC/OS-Ⅱ的移植需要改寫OS_CPU_A.ASM中的4個函數:
  OSStartHighRdy()
  OSCtxSw()
  OSIntCtxSw()
  OSTickISR()
  如果編譯器支持插入行匯編代碼,就可以將所有與處理器相關的代碼放到OS_CPU_C.C文件中,而不必再有單獨的匯編語言文件。
  4.2μC/OS-Ⅱ的測試
  當做完μC/OS-Ⅱ的移植后,緊接著就是驗證其是否正常工作,首先應該測試內核自身的運行狀況,可以在沒有應用程序的情況下進行測試,也就是讓內核自己測試自己。這樣不僅可以使事情簡單化,而且可以很清楚地發現問題是移植本身的問題而不是應用代碼產生的問題。如果一些簡單程序和時鐘節拍中斷服務子程序可以運行起來,那么添加應用程序就非常簡單了。
  5.結語
  本文針對如今高壓帶電作業機器人生產作業中存在的一些問題,提出了基于ARM的實時嵌入式系統控制器的設計,其可移植性、可擴展性、可交換性,以及高效低成本的顯著優勢,不僅縮短了開發周期、提高了設備實時性、優化了工作效率,而且其低功耗起到了節能的作用。可見,這種設計將是未來工業機器人智能化發展的必然趨勢。
  
  參考文獻:
 ?。?]Jean J.Labrosse.嵌入式實時操作系統μC/OS-Ⅱ(第2版)[M].北京航空航天大學出版社,2007.09.
  [2]陳是知.μC/OS-Ⅱ內核分析、移植與驅動程序開發[M].人民郵電出版社,2007.09.
 ?。?]周立功.ARM嵌入式系統基礎教程[M].北京航空航天大學,2005.01.
 ?。?]戚暉,彭商賢.面向對象的高壓帶電作業機器人控制系統[J].機器人,2002.05.

主站蜘蛛池模板: 热思思久久免费视频| 亚洲AV无码一区二区三区牲色| 91激情视频| 热99re99首页精品亚洲五月天| 国产美女叼嘿视频免费看| 欧美一级大片在线观看| 国产老女人精品免费视频| 就去吻亚洲精品国产欧美| 久久99久久无码毛片一区二区| 色综合手机在线| 色婷婷成人| 久久综合伊人 六十路| 97久久精品人人| 久精品色妇丰满人妻| 露脸真实国语乱在线观看| 国内精品91| 亚洲中文字幕久久无码精品A| 亚洲成人播放| 国产亚洲男人的天堂在线观看| 国产无码网站在线观看| 欧美在线精品一区二区三区| 国产又色又爽又黄| 亚洲精品无码不卡在线播放| 国产精品无码久久久久AV| 色综合综合网| 日本精品视频| 91青青草视频在线观看的| 国产成人乱码一区二区三区在线| 99精品国产电影| 精品自窥自偷在线看| 国产日韩AV高潮在线| 亚洲欧美不卡| 青青青视频91在线 | 国产精品七七在线播放| 欧美在线精品怡红院| 免费无码AV片在线观看中文| 久久狠狠色噜噜狠狠狠狠97视色| 99久久亚洲综合精品TS| 五月婷婷综合色| 最新无码专区超级碰碰碰| 在线欧美a| 一本久道热中字伊人| 国产在线小视频| 国产无码网站在线观看| 亚洲无码一区在线观看| 欧美不卡视频在线| 色九九视频| 精品无码视频在线观看| 免费在线a视频| 欧美另类图片视频无弹跳第一页| 99视频在线免费看| 欧美亚洲第一页| 99视频在线免费看| 伊人久久影视| 国产精品一区二区不卡的视频| 亚洲成aⅴ人在线观看| 五月天综合婷婷| 亚洲中文制服丝袜欧美精品| 欧洲欧美人成免费全部视频| 99在线免费播放| 99在线视频网站| 国产精品久久久久无码网站| 四虎精品国产永久在线观看| 欧美日韩理论| 中文字幕亚洲无线码一区女同| 亚洲精品在线91| 黄色成年视频| 五月丁香伊人啪啪手机免费观看| 特级毛片8级毛片免费观看| 国产主播在线一区| 无码免费的亚洲视频| 日韩精品一区二区三区中文无码| 国产av一码二码三码无码| 亚洲第一成年网| 欧美精品v| 美女高潮全身流白浆福利区| 色九九视频| 国产精品视频第一专区| 91精品综合| 国产高清在线观看| 国产91特黄特色A级毛片| 男女性午夜福利网站|