基于A(yíng)RM CPU 的實(shí)時(shí)控制系統開(kāi)發(fā)平臺
1 前言
國內控制系統開(kāi)發(fā)大多是幾個(gè)人以小組的形式根據不同的項目組織在一起,由于缺乏一個(gè)穩定工作的硬件基礎,整個(gè)開(kāi)發(fā)工作的重點(diǎn)大都放在調試硬件故障。所有項目的開(kāi)發(fā)幾乎全部使用匯編語(yǔ)言,嚴重影響了程序的可讀性和可移植性,更換不同的處理器就意味著(zhù)一切從頭開(kāi)始,就連使用相同處理器的不同項目組之間的程序重用也很困難。而對于嵌入式應用系統應著(zhù)重解決的實(shí)際問(wèn)題往往無(wú)暇顧及,非常不利于我國嵌入式應用水平的提高;其次,測控系統通訊接口種類(lèi)比較少, 多為傳統的RS-232、RS-485接口,數據交換速度慢,已經(jīng)不能滿(mǎn)足日益增長(cháng)的數據傳輸需求;再次,傳統的8/16位單片機已經(jīng)越來(lái)越不能適應日漸復雜的應用需求,友好的交互界面、網(wǎng)絡(luò )互連功能、智能化的軟件、實(shí)時(shí)的數據處理幾乎成了現代實(shí)時(shí)測控系統的共同需求。
我們開(kāi)發(fā)了基于ARM內核處理器的NetC ARM7開(kāi)發(fā)板,通過(guò)在嵌入式實(shí)時(shí)多任務(wù)操作系統uC/OS-Ⅱ上加入Interniche公司的嵌入式TCP/IP協(xié)議棧實(shí)現了一個(gè)網(wǎng)絡(luò )化、智能化、高性能的現代實(shí)時(shí)測控系統開(kāi)發(fā)平臺。此外通過(guò)JTAG在線(xiàn)調試工具BDI2000 RDI for ARM和集成化開(kāi)發(fā)環(huán)境IAR EW(或者ARM SDT/ADS)的結合大大提高了程序調試的效率。
2 平臺設計
ARM內核處理器具有高性能、低功耗、低成本、低開(kāi)發(fā)難度等一系優(yōu)點(diǎn),是測控系統由8/16位機升級到32位機的理想選擇。此外ARM7,ARM9,ARM10,Xscale的指令兼容,已有的軟件資源和開(kāi)發(fā)經(jīng)驗不會(huì )由于升級到更高性能的處理器而受到巨大的損失。
2.1 平臺需要建立在穩定的可擴展的硬件基礎之上
我們開(kāi)發(fā)了NETCARM7開(kāi)發(fā)板(處理器為ATMEL公司的ARM7TDMI內核的AT91M40800,主頻可達40MHz)作為中低端實(shí)時(shí)測控系統開(kāi)發(fā)平臺的硬件基礎。AT91M40800性能已經(jīng)可以滿(mǎn)足一般測控系統的各種需求,功能簡(jiǎn)單易用,雙面板就可以形成穩定硬件設計,大大降低了開(kāi)發(fā)成本。板上將處理器的所有管腳引出,可以根據實(shí)際的項目需求靈活的擴展出新的應用。還集成了多達2M-byte的SRAM,保證用戶(hù)代碼可以獲得最高的性能,1M-byte Flash ROM,用來(lái)滿(mǎn)足絕大多數項目的需求。板上預留了JTAG端口,通過(guò)Abatron公司的BDI在線(xiàn)仿真器和IAR公司的集成開(kāi)發(fā)環(huán)境EmbededWorkbench for ARM可以實(shí)現各種程序的在線(xiàn)調試。板上提供了2個(gè)串口,還可以將處理器的UART配置成SPI,除了完成通訊功能以外,還可以為很容易的連接AD變換器,滿(mǎn)足測控系統的需求。板上還擴展了10M以太網(wǎng)接口,在網(wǎng)絡(luò )控制器方面,我們也選用了低成本符合NE2000標準的RT8019,為平臺提供了網(wǎng)絡(luò )化的硬件基礎。此外板上還集成了液晶顯示,及行列式鍵盤(pán)接口可以很方便的為嵌入式應用系統提供友好的用戶(hù)交互方式。
2.2 開(kāi)放源碼的嵌入式多任務(wù)操作系統是未來(lái)嵌入系統必然的選擇
控制系統所要完成得工作越來(lái)越復雜,程序越來(lái)越龐大,需要管理的外設越來(lái)越多,只有擁有嵌入式多任務(wù)操作系統,擁有穩定工作的硬件基礎,開(kāi)發(fā)工作重點(diǎn)才能由原來(lái)硬件的調試,軟件的調試轉變?yōu)閷τ趯?shí)際應用系統的性能的提 高,智能化軟件的編寫(xiě)。此外只有在一個(gè)完整的、具有統一編程規范的操作系統基礎上使用高級語(yǔ)言開(kāi)發(fā)出的應用程序,才可能具有良好的可移植性,才可能被重復利用,嵌入式多任務(wù)操作系統是實(shí)現現代實(shí)時(shí)控制系統開(kāi)發(fā)平臺的唯一途徑。操作系統與模塊化硬件設計結合起來(lái),共同構成一個(gè)可以重復利用的軟硬件數字系統平臺,除了可以最大限度的提高開(kāi)發(fā)的效率、減少資源的浪費外,還可以通過(guò)長(cháng)期對于該平臺的研究,來(lái)逐步優(yōu)化平臺軟硬件資源,提高其性能,并滿(mǎn)足日益復雜的應用需求。
目前大多商用嵌入式操作系統出于商業(yè)利益的考慮,除了使用該操作系統的每件產(chǎn)品要收取版稅以外,要么只提供操作系統核心部分二進(jìn)制文件,要么對源代碼的收費十分昂貴,對于此類(lèi)操作系統的使用者來(lái)講,幾乎無(wú)法拿到操作系統的源代碼。這樣,一方面產(chǎn)品的進(jìn)一步發(fā)展受制于人,另一方面對于嵌入式應用系統容易出現隱患,無(wú)法從根本上避免"后門(mén)"-既安全性。
對于小型實(shí)時(shí)控制系統來(lái)說(shuō),源代碼公開(kāi)的、具有很好可移植性的、可固化可裁剪的、高穩定性與可靠性、搶占式多任務(wù)的uC/OS-Ⅱ非常適合!代碼簡(jiǎn)潔的uC/OS-Ⅱ已經(jīng)應用于照像機業(yè)、醫療儀器、音響設備、發(fā)動(dòng)機控制、網(wǎng)絡(luò )接入設備、高速公路電話(huà)系統、ATM機、工業(yè)機器人等嵌入式實(shí)時(shí)系統。
2.3 網(wǎng)絡(luò )化是現代實(shí)時(shí)控制系統必備的特征
TCP/IP協(xié)議棧使得嵌入式系統可以通過(guò)Internet將通訊距離無(wú)限擴展。10M以太網(wǎng),使得大量數據的快速傳輸成為可能,這樣除了可以充分利用PC機上各種資源,完成數據的存儲、分析、統計工作,還可以實(shí)現測控系統間的數據交換,對于智能化、模塊化的嵌入式設備集群的實(shí)現提供另一種途徑。PPP協(xié)議可以通過(guò)調制解調器實(shí)現遠程的數據交換、狀態(tài)控制等功能,為嵌入式系統提供更靈活的控制、監測方式。
我們選用了Interniche公司(http://www.iniche.com/)開(kāi)放源碼的嵌入式TCP/IP協(xié)議棧。Interniche使我們很容易的在uC/OS-Ⅱ的調度下為開(kāi)發(fā)平臺增加了網(wǎng)絡(luò )通信和網(wǎng)絡(luò )管理等功能。由于它是專(zhuān)門(mén)為嵌入式系統而設計的,占用的系統資源很小。Interniche協(xié)議全部用標準C語(yǔ)言,除了可以運行在各種RTOS下,亦可在沒(méi)有RTOS的環(huán)境下獨立運行。此外,Interniche還在uC/OS-Ⅱ的基礎上專(zhuān)門(mén)為其嵌入式TCP/IP協(xié)議棧編寫(xiě)了自己的嵌入式實(shí)時(shí)多任務(wù)操作系統:ChronOS (既uC/OS-Ⅱ2.52)。ChronOS除了保持對已經(jīng)廣泛使用的uC/OS-Ⅱ的兼容性以外,使嵌入式TCP/IP協(xié)議棧與RTOS更加緊密的結合在一起,來(lái)滿(mǎn)足各種現代應用對RTOS和嵌入式TCP/IP協(xié)議相結合的迫切需求。
常用的Interniche包括:
(1) 核心協(xié)議
NicheStackTM-InternicheTCP協(xié)議包含TCP,UDP,IP,TFTP,DHCP Client,ICMP,ARP,SLIP,BootTP,DNS Client。
NicheLiteTM-Internicheda單連接的微型化的TCP/IP協(xié)議,全部代碼在12K以?xún)?,它包含全部的NichestackTM所有的協(xié)議,和一個(gè)最少化的Socket API,易于移植到從8位到32位CPU上。
Niche TooLTM-菜單驅動(dòng)的協(xié)議調試和測試工具(包含在NicheStack和Nichelite中)
可選擇應用模塊:PPP,Multilink PPP,PPPoE,Telnet(ServerClient),FTP(ServerClient),IP Multicast,NichePOP3-它是TCP/IP上的附加模塊增加了與POP3Email服務(wù)器收郵件功能。
評論