基于ARM的實(shí)時(shí)測控系統(tǒng)開發(fā)平臺
2011-07-18 18:37:45來源:互聯(lián)網(wǎng)

國內(nèi)測控系統(tǒng)開發(fā)大多是幾個(gè)人以小組的形式根據(jù)不同的項(xiàng)目組織在一起,由于缺乏一個(gè)穩(wěn)定工作的硬件基礎(chǔ),整個(gè)開發(fā)工作的重點(diǎn)大都放在調(diào)試硬件故障上。首先,所有項(xiàng)目的開發(fā)幾乎全部使用匯編語言,嚴(yán)重影響了程序的可讀性和可移植性,更換不同的處理器就意味著一切從頭開始,就連使用相同處理器的不同項(xiàng)目組之間的程序重用也很困難;而對于嵌入式應(yīng)用系統(tǒng)應(yīng)著重解決的實(shí)際問題往往無暇顧及,非常不利于我國嵌入式應(yīng)用水平的提高。其次,測控系統(tǒng)通信接口種類比較少, 多為傳統(tǒng)的RS232、RS485接口,數(shù)據(jù)交換速度慢,已經(jīng)不能滿足日益增長的數(shù)據(jù)傳輸需求。另外,傳統(tǒng)的8位單片機(jī)已經(jīng)越來越不能適應(yīng)日漸復(fù)雜的應(yīng)用需求;友好的交互界面、網(wǎng)絡(luò)互連功能、智能化的軟件、實(shí)時(shí)的數(shù)據(jù)處理幾乎成了現(xiàn)代實(shí)時(shí)測控系統(tǒng)的共同需求。

我們開發(fā)了基于ARM內(nèi)核處理器的NetCARM7開發(fā)板,通過在嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)ìC/OS-Ⅱ上加入Interniche公司的嵌入式TCP/IP協(xié)議棧實(shí)現(xiàn)了一個(gè)網(wǎng)絡(luò)化、智能化、高性能的現(xiàn)代實(shí)時(shí)測控系統(tǒng)開發(fā)平臺。此外,通過JTAG在線調(diào)試工具BDI2000 RDI for ARM和集成開發(fā)環(huán)境IAR EW的結(jié)合,大大提高了程序調(diào)試的效率。

1 平臺設(shè)計(jì)

ARM內(nèi)核處理器具有高性能、低功耗、低成本、低開發(fā)難度等一系列優(yōu)點(diǎn),是測控系統(tǒng)由8位機(jī)升級到32位機(jī)的理想選擇。此外,ARM7、ARM9、ARM10、XScale的指令兼容,已有的軟件資源和開發(fā)經(jīng)驗(yàn)不會(huì)由于升級到更高性能的處理器而受到巨大的損失。

(1)平臺的硬件基礎(chǔ)

我們開發(fā)了NetCARM7開發(fā)板(處理器為Atmel公司的ARM7TDMI內(nèi)核的AT91M40800,主頻可達(dá)40 MHz)作為中低端實(shí)時(shí)測控系統(tǒng)開發(fā)平臺的硬件基礎(chǔ)。AT91M40800性能已經(jīng)可以滿足一般測控系統(tǒng)的各種需求,功能簡單易用,雙面板就可以形成穩(wěn)定硬件設(shè)計(jì),大大降低了開發(fā)成本。板上將處理器的所有引腳引出,可以根據(jù)實(shí)際的項(xiàng)目需求靈活地?cái)U(kuò)展出新的應(yīng)用;集成了多達(dá)2 MB的 SRAM,保證用戶代碼可以獲得最高的性能。1 MB Flash ROM用來滿足絕大多數(shù)項(xiàng)目的需求。板上預(yù)留了JTAG端口,通過Abatron公司的BDI在線仿真器和IAR公司的集成開發(fā)環(huán)境Embeded Workbench for ARM 可以實(shí)現(xiàn)各種程序的在線調(diào)試。板上提供了2個(gè)串口,還可以將處理器的UART配置成SPI,除了完成通信功能以外,還可以很容易地連接A/D變換器,滿足測控系統(tǒng)的需求。板上還擴(kuò)展了10 M以太網(wǎng)接口。在網(wǎng)絡(luò)控制器方面,選用了低成本符合NE2000標(biāo)準(zhǔn)的RTL8019,為平臺提供了網(wǎng)絡(luò)化的硬件基礎(chǔ)。此外,板上還集成了液晶及行列式鍵盤接口,可以很方便地為嵌入式應(yīng)用系統(tǒng)提供友好的用戶交互方式。硬件平臺如圖1所示。

(2)開放源碼的嵌入式多任務(wù)操作系統(tǒng)

測控系統(tǒng)所要完成的工作越來越復(fù)雜,程序越來越龐大,需要管理的外設(shè)越來越多,只有擁有嵌入式多任務(wù)操作系統(tǒng),擁有穩(wěn)定工作的硬件基礎(chǔ),開發(fā)工作重點(diǎn)才能由原來硬件的調(diào)試、軟件的 DEBUG轉(zhuǎn)變?yōu)閷τ趯?shí)際應(yīng)用系統(tǒng)的性能的提高、智能化軟件的編寫。此外,只有在一個(gè)完整的、具有統(tǒng)一編程規(guī)范的操作系統(tǒng)基礎(chǔ)上,使用高級語言開發(fā)出的應(yīng)用程序,才可能具有良好的可移植性,才可能被重復(fù)利用。嵌入式多任務(wù)操作系統(tǒng)是實(shí)現(xiàn)現(xiàn)代實(shí)時(shí)測控系統(tǒng)開發(fā)平臺的唯一途徑。操作系統(tǒng)與模塊化硬件設(shè)計(jì)結(jié)合起來,共同構(gòu)成一個(gè)可以重復(fù)利用的軟硬件數(shù)字系統(tǒng)平臺,除了可以最大限度地提高開發(fā)的效率、減少資源的浪費(fèi)外,還可以通過長期對于該平臺的研究,逐步優(yōu)化平臺軟硬件資源,提高其性能,并滿足日益復(fù)雜的應(yīng)用需求。

目前大多商用嵌入式操作系統(tǒng)出于商業(yè)利益的考慮,除了使用該操作系統(tǒng)的每件產(chǎn)品要收取版稅以外,要么只提供操作系統(tǒng)核心部分二進(jìn)制文件,要么對源代碼的收費(fèi)十分昂貴,對于此類操作系統(tǒng)的使用者來講,幾乎無法拿到操作系統(tǒng)的源代碼。這樣,一方面產(chǎn)品的進(jìn)一步發(fā)展受制于人;另一方面對于嵌入式應(yīng)用系統(tǒng)容易出現(xiàn)隱患,無法從根本上避quot;后門"。只有對開放源代碼的操作系統(tǒng)進(jìn)行不斷的理解、改造、優(yōu)化,才有利于我國嵌入式開發(fā)水平的穩(wěn)步提高。

對于小型實(shí)時(shí)測控系統(tǒng)來說,源代碼公開的、具有很好可移植性的、可固化可裁剪的、高穩(wěn)定性與可靠性、搶占式多任務(wù)的ìC/OS-Ⅱ非常適合!代碼簡潔的ìC/OS-Ⅱ已經(jīng)應(yīng)用于照像機(jī)業(yè)、醫(yī)療儀器、音響設(shè)備、發(fā)動(dòng)機(jī)控制、網(wǎng)絡(luò)接入設(shè)備、高速公路電話系統(tǒng)、ATM機(jī)、工業(yè)機(jī)器人等嵌入式實(shí)時(shí)系統(tǒng)。