基于ARM CPU 的實時控制系統開發平臺-新品速遞_第1頁
基于ARM CPU 的實時控制系統開發平臺-新品速遞_第2頁
基于ARM CPU 的實時控制系統開發平臺-新品速遞_第3頁
基于ARM CPU 的實時控制系統開發平臺-新品速遞_第4頁
基于ARM CPU 的實時控制系統開發平臺-新品速遞_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯基于ARMCPU的實時控制系統開發平臺-新品速遞基于ARMCPU的實時控制系統開發平臺

北京麥克泰軟件技術有限公司崔龍,何小慶

1前言國內控制系統開發大多是幾個人以小組的形式根據不同的項目組織在一起,由于缺乏一個穩定工作的硬件基礎,整個開發工作的重點大都放在調試硬件故障。所有項目的開發幾乎全部使用匯編語言,嚴重影響了程序的可讀性和可移植性,更換不同的處理器就意味著一切從頭開始,就連使用相同處理器的不同項目組之間的程序重用也很困難。而對于嵌入式應用系統應著重解決的實際問題往往無暇顧及,非常不利于我國嵌入式應用水平的提高;其次,測控系統通訊接口種類比較少,多為傳統的RS-232、RS-485接口,數據交換速度慢,已經不能滿足日益增長的數據傳輸需求;再次,傳統的8/16位單片機已經越來越不能適應日漸復雜的應用需求,友好的交互界面、網絡互連功能、智能化的軟件、實時的數據處理幾乎成了現代實時測控系統的共同需求。我們開發了基于ARM內核處理器的NetCARM7開發板,通過在嵌入式實時多任務操作系統uC/OS-Ⅱ上加入Interniche公司的嵌入式TCP/IP協議棧實現了一個網絡化、智能化、高性能的現代實時測控系統開發平臺。此外通過JTAG在線調試工具BDI2000RDIforARM和集成化開發環境IAREW(或者ARMSDT/ADS)的結合大大提高了程序調試的效率。2平臺設計ARM內核處理器具有高性能、低功耗、低成本、低開發難度等一系優點,是測控系統由8/16位機升級到32位機的理想選擇。此外ARM7,ARM9,ARM10,Xscale的指令兼容,已有的軟件資源和開發經驗不會由于升級到更高性能的處理器而受到巨大的損失。2.1平臺需要建立在穩定的可擴展的硬件基礎之上我們開發了NETCARM7開發板(處理器為ATMEL公司的ARM7TDMI內核的AT91M40800,主頻可達40MHz)作為中低端實時測控系統開發平臺的硬件基礎。AT91M40800性能已經可以滿足一般測控系統的各種需求,功能簡單易用,雙面板就可以形成穩定硬件設計,大大降低了開發成本。板上將處理器的所有管腳引出,可以根據實際的項目需求靈活的擴展出新的應用。還集成了多達2M-byte的SRAM,保證用戶代碼可以獲得的性能,1M-byteFlashROM,用來滿足絕大多數項目的需求。板上預留了JTAG端口,通過Abatron公司的BDI在線仿真器和IAR公司的集成開發環境EmbededWorkbenchforARM可以實現各種程序的在線調試。板上提供了2個串口,還可以將處理器的UART配置成SPI,除了完成通訊功能以外,還可以為很容易的連接AD變換器,滿足測控系統的需求。板上還擴展了10M以太網接口,在網絡控制器方面,我們也選用了低成本符合NE2000標準的RT8019,為平臺提供了網絡化的硬件基礎。此外板上還集成了液晶顯示,及行列式鍵盤接口可以很方便的為嵌入式應用系統提供友好的用戶交互方式。

2.2開放源碼的嵌入式多任務操作系統是未來嵌入系統必然的選擇控制系統所要完成得工作越來越復雜,程序越來越龐大,需要管理的外設越來越多,只有擁有嵌入式多任務操作系統,擁有穩定工作的硬件基礎,開發工作重點才能由原來硬件的調試,軟件的調試轉變為對于實際應用系統的性能的提高,智能化軟件的編寫。此外只有在一個完整的、具有統一編程規范的操作系統基礎上使用語言開發出的應用程序,才可能具有良好的可移植性,才可能被重復利用,嵌入式多任務操作系統是實現現代實時控制系統開發平臺的途徑。操作系統與模塊化硬件設計結合起來,共同構成一個可以重復利用的軟硬件數字系統平臺,除了可以限度的提高開發的效率、減少資源的浪費外,還可以通過長期對于該平臺的研究,來逐步優化平臺軟硬件資源,提高其性能,并滿足日益復雜的應用需求。目前大多商用嵌入式操作系統出于商業利益的考慮,除了使用該操作系統的每件產品要收取版稅以外,要么只提供操作系統部分二進制文件,要么對源代碼的收費十分昂貴,對于此類操作系統的使用者來講,幾乎無法拿到操作系統的源代碼。這樣,一方面產品的進一步發展受制于人,另一方面對于嵌入式應用系統容易出現隱患,無法從根本上避免后門-既安全性。對于小型實時控制系統來說,源代碼公開的、具有很好可移植性的、可固化可裁剪的、高穩定性與可靠性、搶占式多任務的uC/OS-Ⅱ非常適合!代碼簡潔的uC/OS-Ⅱ已經應用于照像機業、醫療儀器、音響設備、發動機控制、網絡接入設備、高速公路電話系統、ATM機、工業機器人等嵌入式實時系統。2.3網絡化是現代實時控制系統必備的特征TCP/IP協議棧使得嵌入式系統可以通過Internet將通訊距離無限擴展。10M以太網,使得大量數據的快速傳輸成為可能,這樣除了可以充分利用PC機上各種資源,完成數據的存儲、分析、統計工作,還可以實現測控系統間的數據交換,對于智能化、模塊化的嵌入式設備集群的實現提供另一種途徑。PPP協議可以通過調制解調器實現遠程的數據交換、狀態控制等功能,為嵌入式系統提供更靈活的控制、監測方式。我們選用了Interniche公司(/)開放源碼的嵌入式TCP/IP協議棧。Interniche使我們很容易的在uC/OS-Ⅱ的調度下為開發平臺增加了網絡通信和網絡管理等功能。由于它是專門為嵌入式系統而設計的,占用的系統資源很小。Interniche協議全部用標準C語言,除了可以運行在各種RTOS下,亦可在沒有RTOS的環境下獨立運行。此外,Interniche還在uC/OS-Ⅱ的基礎上專門為其嵌入式TCP/IP協議棧編寫了自己的嵌入式實時多任務操作系統:ChronOS(既uC/OS-Ⅱ2.52)。ChronOS除了保持對已經廣泛使用的uC/OS-Ⅱ的兼容性以外,使嵌入式TCP/IP協議棧與RTOS更加緊密的結合在一起,來滿足各種現代應用對RTOS和嵌入式TCP/IP協議相結合的迫切需求。常用的Interniche包括:(1)協議NicheStackTM-InternicheTCP協議包含TCP,UDP,IP,TFTP,DHCPClient,ICMP,ARP,SLIP,BootTP,DNSClient。NicheLiteTM-Internicheda單連接的微型化的TCP/IP協議,全部代碼在12K以內,它包含全部的NichestackTM所有的協議,和一個少化的SocketAPI,易于移植到從8位到32位CPU上。NicheTooLTM-菜單驅動的協議調試和測試工具(包含在NicheStack和Nichelite中)可選擇應用模塊:PPP,MultilinkPPP,PPPoE,Telnet(ServerClient),FTP(ServerClient),IPMulticast,NichePOP3-它是TCP/IP上的附加模塊增加了與POP3Email服務器收郵件功能。(2)基于WEB管理和配置協議WebportTM-嵌入式Web服務器,讓終用戶通過WWW瀏覽器配置和監控嵌入式設備而避免去編寫專用的GUI界面,這些界面多數是與你的主機OS相關的(如Win98)而且需要目標環境大量的資源如文件系統。EmailAlerte--為嵌入式系統增加預告和報警功能,它允許用戶向本地或遠程的Email地址發出預先設置好的信息比如某個條件下的報警信息。

3基于ARM的現代實時控制系統開發平臺具體實現3.1硬件設計和測試完成NetCARM7設計、板焊接以后,我們使用Abatron公司(https://www.abatron.ch)JTAG仿真器BDI2000,通過編寫BDI配置文件對NetCARM7板進行初始化,初步驗證板上CPU工作是否正常,檢查SRAM,FlashROM是否可以正常讀寫。

3.2通過BDI2000/1000結合IAREW集成開發環境調試各種測試軟件在板上存儲器正常工作的基礎上,使用IAR公司()的集成開發環境EmbeddedWorkbench編寫出簡單的測試程序,其中包括匯編語言、C語言,只要在EW中,利用它提供的嵌入式C/C++優化編譯器,匯編器,連接定位器就可以生成目標機的可執行程序,利用EW的C-SPY調試器中支持的RDI接口就可以和BDI2000/1000建立連接,直接將編寫的代碼到板上在線仿真。由于BDI2000仿真器是通過10兆以太網連接計算機,并且通過JTAG接口與目標機相連,BDI2000與目標機的通信速率可達16兆/秒,程序速率可達320K字節/秒,因此可以大大提高平臺軟件開發的效率。在初步的測試程序編寫完成以后,逐步對板上的其他外設和通訊端口進行測試。3.3帶有簡單調試功能的串口監控程序NetCARM7上的串口除了可以提供少量數據傳送、控制信息的輸入輸出以外,為了方便平臺的軟件維護我們還開發了一個基于板上串口的監控程序,經RS-232接口就可將PC與NetCARM7相連,完成以下功能:1).顯示處理器各狀態下寄存器的值。2).修改指定地址的SRAM、FlashROM中的內容。3).查看指定地址的存儲器中的內容。4).將用戶編寫的代碼到NetCARM7的指定地址的SRAM、FlashROM中。5).從指定地址開始執行用戶代碼。6).通過設置跳線,選擇從用戶放在FlashROM中的代碼直接啟動(上電后直接運行用戶的應用程序)。7).支持用戶設置的軟件中斷,在中斷以后可以使用1、2、3項功能,用以方便用戶調試自己的代碼。這樣,在平臺用于實際的測控系統產品以后,在儀器工作現場只需改變跳線就可以使板上的監控程序工作,通過串口升級整個系統軟件,也包括監控程序本身,在沒有JTAG調試工具的時候,方便的對可能出現的比較簡單的問題進行修復。3.4uC/OS-Ⅱ的移植對uC/OS-Ⅱ的移植在BDI2000和IAREW的幫助下變得非常簡單。在完成CPU的初始化以后,首先對時鐘節拍進行設置(10~100hz)。對AT91M40800只需編寫相應的定時器中斷處理程序,在程序中調用操作系統的OSTimeTick(),并在其AIC(AdvancedInterruptController)中設置定時器的優先級別,并將定時器中斷處理程序的地址放到相應的中斷向量表中,就可以了。使定時器產生中斷,必須在開始多任務調度后,即在個任務中使能定時器;其次,對uC/OS-Ⅱ移植主要集中在includes.h,OS_CPU_A.S,OS_CPU_C.C等CPU相關文件的移植,上層任務調度部分不需要任何修改。對于多任務操作系統,只需將復雜的應用分成簡單的、相互聯系的任務,再把各個不同優先級的任務交給操作系統去管理就可以了。3.5Interniche協議棧的移植BDI2000結合IAREW在線調試對于驅動程序的編寫的幫助作用更加明顯。對于同樣具有良好可移植特性的Interniche協議棧,只需要根據以太網絡控制器RT8019手冊上的詳盡描述,編寫出發送包,接收包的函數,以及用于以太網控制器的外部中斷處理程序就可以完成對Interniche的網絡部分的移植。由于Interniche協議棧也是可以獲得源碼的,所以對于任何網絡控制器都可以通過不斷的調試終完成自己的驅動程序。此外,為了方便調試,使NicheToolTM-菜單驅動的協議調試和測試工具工作還應該完成對Interniche中向串口收發字符putchar();getch()的移植,就可以在PC端使用超級終端經過串口與NetCARM7上的Interniche基于命令行交互了。Interniche的各種協議簇可以根據需要由uC/OS-Ⅱ調度的狀態查詢任務。這樣uC/OS-Ⅱ就和Interniche一起構成了現代實時測控系統開發平臺的軟件。3.6開發平臺可以為實際控制系統實現各種靈活的網絡應用和遠程控制⑴圖形化操作界面(基于Interniche的webserver,通過WWW瀏覽器實現)利用Interniche提供的WebportTM讓終用戶通過局域網或廣域網訪問嵌入式控制系統,在WWW瀏覽器中設置測控設備工作參數、監控其運行狀態及察看測量結果。而避免為嵌入式測控系統專門去編寫專用的GUI交互界面,在不同的儀器設備中的界面只需編寫不同的html頁面,結合CGI技術就可以完成各種靈活、友好的交互功能了,這些界面只需要目標機提供存儲空間就可以了。⑵真正的遠程控制利用Interniche提供的PPP撥號上網,使用EmailAlerte為嵌入式測控系統增加預告和報警功能,測控設備就可以向遠程的Email地址發出預先設置好的信息,通知測控

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論