<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于ARM的實(shí)時(shí)測(cè)控系統(tǒng)開(kāi)發(fā)平臺(tái)

          基于ARM的實(shí)時(shí)測(cè)控系統(tǒng)開(kāi)發(fā)平臺(tái)

          ——
          作者:崔 龍 周啟明 江文瑞 時(shí)間:2006-07-07 來(lái)源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 收藏

          摘 要: 基于系統(tǒng)開(kāi)發(fā)平臺(tái),是將高性能、低功耗32bit RISC結(jié)構(gòu)的內(nèi)核處理器與開(kāi)放源碼的實(shí)時(shí)嵌入式多任務(wù)操作系統(tǒng)μC/OS-Ⅱ相結(jié)合,并通過(guò)Interniche公司的嵌入式TCP/IP協(xié)議棧為平臺(tái)添加網(wǎng)絡(luò)傳輸功能,構(gòu)建一個(gè)新型的系統(tǒng)開(kāi)發(fā)平臺(tái)。為開(kāi)發(fā)各種智能化、小型化現(xiàn)代測(cè)控系統(tǒng)提供可重用、高性能、圖形化、網(wǎng)絡(luò)化軟硬件基礎(chǔ)平臺(tái)和高效的開(kāi)發(fā)模式。充分利用高級(jí)語(yǔ)言的優(yōu)勢(shì)在多任務(wù)操作系統(tǒng)的基礎(chǔ)上,為平臺(tái)添加友好的人機(jī)交互方式、圖形化界面、網(wǎng)絡(luò)、各種通信接口驅(qū)動(dòng),使其平臺(tái)具備現(xiàn)代嵌入式系統(tǒng)的特征。

          關(guān)鍵詞: 系統(tǒng)  μC/OS-II 嵌入式實(shí)時(shí)操作系統(tǒng) 嵌入式TCP/IP協(xié)議棧 JTAG在線調(diào)試 集成開(kāi)發(fā)環(huán)境

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

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

          1 平臺(tái)設(shè)計(jì)

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

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

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



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

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

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

            對(duì)于小型實(shí)時(shí)測(cè)控系統(tǒng)來(lái)說(shuō),源代碼公開(kāi)的、具有很好可移植性的、可固化可裁剪的、高穩(wěn)定性與可靠性、搶占式多任務(wù)的μC/OS-Ⅱ非常適合!代碼簡(jiǎn)潔的μ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)。

          (3)網(wǎng)絡(luò)化

            TCP/IP協(xié)議棧使得嵌入式系統(tǒng)可以通過(guò)Internet將通信距離無(wú)限擴(kuò)展。10M以太網(wǎng)使得大量數(shù)據(jù)的快速傳輸成為可能。這樣,除了可以充分利用PC機(jī)上各種資源,完成數(shù)據(jù)的存儲(chǔ)、分析、統(tǒng)計(jì)工作外,還可以實(shí)現(xiàn)測(cè)控系統(tǒng)間的數(shù)據(jù)交換,對(duì)于智能化、模塊化的嵌入式設(shè)備集群的實(shí)現(xiàn)提供了另一種途徑。PPP協(xié)議,可以通過(guò)調(diào)制解調(diào)器實(shí)現(xiàn)遠(yuǎn)程的數(shù)據(jù)交換、狀態(tài)控制等功能,為嵌入式系統(tǒng)提供了更靈活的控制、監(jiān)測(cè)方式。

            我們選用了Interniche公司(http://www.iniche.com)開(kāi)放源碼的嵌入式TCP/IP協(xié)議棧。Interniche使我們很容易在μC/OS-Ⅱ的調(diào)度下為開(kāi)發(fā)平臺(tái)增加網(wǎng)絡(luò)通信和網(wǎng)絡(luò)管理等功能。由于它是專門為嵌入式系統(tǒng)而設(shè)計(jì)的,占用的系統(tǒng)資源很小。Interniche協(xié)議全部用標(biāo)準(zhǔn)C語(yǔ)言。它除了可以運(yùn)行在各種RTOS下,如μC/OS、VRTX、CMX、Threadx等,還可以在沒(méi)有RTOS的環(huán)境下獨(dú)立運(yùn)行。此外,Interniche還在μC/OS-Ⅱ的基礎(chǔ)上專門為其嵌入式TCP/IP協(xié)議棧編寫了自己的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng):ChronOS。ChronOS除了保持對(duì)已經(jīng)廣泛使用的μC/OS-Ⅱ的兼容性以外,還使嵌入式TCP/IP協(xié)議棧與RTOS更加緊密地結(jié)合在一起,來(lái)滿足各種現(xiàn)代應(yīng)用對(duì)RTOS和嵌入式TCP/IP協(xié)議相結(jié)合的迫切需求。

          常用的Interniche包括:

          ① 核心協(xié)議。

            ◇ NicheStackTM--InternicheTCP協(xié)議包含TCP、UDP、IP、TFTP、DHCP Client、ICMP、ARP、SLIP、BootTP、DNS Client。
            ◇ Niche ToolTM--菜單驅(qū)動(dòng)的協(xié)議調(diào)試和工具(包含在NicheStack和Nichelite中)。
            ◇ NicheLiteTM--Interniche微型化的TCP/IP協(xié)議,全部代碼在12KB以內(nèi);它包含全部的     NichestackTM所有的協(xié)議和1個(gè)最少化的Socket API,易于移植到從8位到32位CPU上。
            可選擇應(yīng)用模塊: PPP、Multilink PPP、PPPoE、Telnet(Server&Client)、FTP(Server&Client)、IP Multicast、NichePOP3。它使TCP/IP上的附加模塊增加了POP3 Email服務(wù)器收郵件功能。

          ② 基于WEB管理和配置協(xié)議。

            ◇ WebportTM--嵌入式Web服務(wù)器,讓最終用戶通過(guò)WWW瀏覽器配置和監(jiān)控嵌入式設(shè)備而避免去編寫專用的GUI界面。這些界面多數(shù)是與主機(jī)OS相關(guān)的(如Win98),而且需要目標(biāo)環(huán)境大量的資源,如文件系統(tǒng)。
            ◇ Email Alerte--為嵌入式系統(tǒng)增加預(yù)告和報(bào)警功能。它允許用戶向本地或遠(yuǎn)程的Email地址發(fā)出預(yù)先設(shè)置好的信息,比如某個(gè)條件下的報(bào)警信息。

          2 開(kāi)發(fā)平臺(tái)的具體實(shí)現(xiàn)

          (1)開(kāi)發(fā)板的硬件

            完成NetCARM7設(shè)計(jì)、板焊接以后,使用Abatron公司 (http://www.abatron.ch) JTAG仿真器BDI2000,通過(guò)編寫B(tài)DI配置文件對(duì)NetCARM7板進(jìn)行初始化,初步驗(yàn)證板上CPU工作是否正常,檢查SRAM、Flash ROM是否可以正常讀/寫。

          (2)BDI2000結(jié)合IAR EW的軟件測(cè)試 

            在板上存儲(chǔ)器正常工作的基礎(chǔ)上,使用IAR公司 (http://www.iar.com) 的集成開(kāi)發(fā)環(huán)境Embedded Workbench編寫出簡(jiǎn)單的測(cè)試程序,其中包括匯編語(yǔ)言、C語(yǔ)言。只要在EW中利用它提供的嵌入式C/C++優(yōu)化編譯器、匯編器、連接定位器,就可以生成目標(biāo)機(jī)的可執(zhí)行程序;利用EW的C-SPY調(diào)試器中支持的RDI接口,就可以和BDI2000建立連接,直接將編寫的代碼下載到板上在線仿真。由于BDI2000仿真器是通過(guò)10M以太網(wǎng)連接計(jì)算機(jī),并且通過(guò)JTAG接口與目標(biāo)機(jī)相連,BDI2000與目標(biāo)機(jī)的通信速率可達(dá)16Mb/s,程序下載速率可達(dá)320 KB/s,因此可以大大提高平臺(tái)軟件開(kāi)發(fā)的效率。
          在初步的測(cè)試程序編寫完成以后,逐步對(duì)板上的其它外設(shè)和通信端口進(jìn)行測(cè)試。

          (3)串口監(jiān)控程序

            NetCARM7上的串口除了可以提供少量數(shù)據(jù)傳送和控制信息的輸入/輸出以外,為了方便平臺(tái)的軟件維護(hù),我們還開(kāi)發(fā)了一個(gè)基于板上串口的監(jiān)控程序,經(jīng)RS232接口就可將PC與NetCARM7相連,完成以下功能:① 顯示處理器各狀態(tài)下寄存器的值;② 修改指定地址的SRAM、FlashROM中的內(nèi)容;③ 查看指定地址的存儲(chǔ)器中的內(nèi)容;④ 將用戶編寫的代碼下載到NetCARM7的指定地址的SRAM、Flash ROM中;⑤ 從指定地址開(kāi)始執(zhí)行用戶代碼;⑥ 通過(guò)設(shè)置跳線,選擇從用戶放在FlashROM中的代碼直接啟動(dòng)(上電后直接運(yùn)行用戶的應(yīng)用程序);⑦ 支持用戶設(shè)置的軟件中斷,在中斷以后可以使用①、②、③項(xiàng)功能,用以方便用戶調(diào)試自己的代碼。這樣,在平臺(tái)用于實(shí)際的測(cè)控系統(tǒng)產(chǎn)品以后,在儀器工作現(xiàn)場(chǎng)只需改變跳線就可以使板上的監(jiān)控程序工作,通過(guò)串口升級(jí)整個(gè)系統(tǒng)軟件,也包括監(jiān)控程序本身,在沒(méi)有JTAG調(diào)試工具的時(shí)候,方便地對(duì)可能出現(xiàn)的比較簡(jiǎn)單的問(wèn)題進(jìn)行修復(fù)。

          (4)μC/OS-Ⅱ的移植

            對(duì)μC/OS-Ⅱ的移植在BDI2000和IAR EW的幫助下變得非常簡(jiǎn)單。在完成CPU的初始化以后,首先對(duì)時(shí)鐘節(jié)拍進(jìn)行設(shè)置(10~100Hz)。對(duì)AT91M40800只需編寫相應(yīng)的定時(shí)器中斷處理程序,在程序中調(diào)用操作系統(tǒng)的OSTimeTick(),并在其AIC(Advanced Interrupt Controller )中設(shè)置定時(shí)器的優(yōu)先級(jí)別,并將定時(shí)器中斷處理程序的地址放到相應(yīng)的中斷向量表中即可。使定時(shí)器產(chǎn)生中斷,必須在開(kāi)始多任務(wù)調(diào)度后,即在第一個(gè)任務(wù)中使能定時(shí)器。其次,對(duì)μC/OS-Ⅱ移植主要集中在includes.h、OS_CPU_A.S、OS_CPU_C.C等CPU相關(guān)文件的移植,上層任務(wù)調(diào)度部分不需要任何修改。對(duì)于多任務(wù)操作系統(tǒng),只需將復(fù)雜的應(yīng)用分成簡(jiǎn)單的、相互聯(lián)系的任務(wù),再把各個(gè)不同優(yōu)先級(jí)的任務(wù)交給操作系統(tǒng)去管理就可以了。

          (5)Interniche嵌入式協(xié)議棧的移植

            BDI2000結(jié)合IAR EW在線調(diào)試對(duì)于驅(qū)動(dòng)程序的編寫的幫助作用更加明顯。對(duì)于同樣具有良好可移植特性的Interniche協(xié)議棧,只需要根據(jù)以太網(wǎng)控制器RTL8019手冊(cè)上的詳盡描述,編寫出發(fā)送包、接收包的函數(shù),以及用于以太網(wǎng)控制器的外部中斷處理程序就可以完成對(duì)Interniche的網(wǎng)絡(luò)部分的移植。由于Interniche協(xié)議棧也是可以獲得源碼的,所以對(duì)于任何網(wǎng)絡(luò)控制器都可以通過(guò)不斷的調(diào)試最終完成自己的驅(qū)動(dòng)程序。此外,為了方便調(diào)試,使Niche ToolTM工作,還應(yīng)該完成對(duì)Interniche中向串口收發(fā)字符putchar(); getch()的移植,就可以在PC端使用超級(jí)終端經(jīng)過(guò)串口與NetCARM7上的Interniche 基于命令行交互了。Interniche的各種協(xié)議簇可以根據(jù)需要由μC/OS-Ⅱ調(diào)度的狀態(tài)查詢?nèi)蝿?wù)。這樣μC/OS-Ⅱ就和Interniche一起構(gòu)成了現(xiàn)代實(shí)時(shí)測(cè)控系統(tǒng)開(kāi)發(fā)平臺(tái)的軟件核心。

          3 開(kāi)發(fā)平臺(tái)靈活的網(wǎng)絡(luò)應(yīng)用

          (1)圖形化操作界面

            圖形化操作界面是基于Interniche 的Webserver,通過(guò)WWW瀏覽器實(shí)現(xiàn)的。
          利用Interniche提供的WebportTM,讓最終用戶通過(guò)局域網(wǎng)或廣域網(wǎng)訪問(wèn)嵌入式測(cè)控系統(tǒng),在WWW瀏覽器中設(shè)置測(cè)控設(shè)備工作參數(shù),監(jiān)控其運(yùn)行狀態(tài)及察看結(jié)果,而避免為嵌入式測(cè)控系統(tǒng)專門去編寫專用的GUI交互界面。在不同的儀器設(shè)備中的界面只需編寫不同的HTML頁(yè)面,結(jié)合CGI技術(shù)就可以完成各種靈活、友好的交互功能了。這些界面只需要目標(biāo)機(jī)提供存儲(chǔ)空間就可以了。

          (2)真正的遠(yuǎn)程控制

            利用Interniche提供的PPP撥號(hào)上網(wǎng),使用Email Alerte為嵌入式測(cè)控系統(tǒng)增加預(yù)告和報(bào)警功能,測(cè)控設(shè)備就可以向遠(yuǎn)程的Email地址發(fā)出預(yù)先設(shè)置好的信息,通知測(cè)控設(shè)備的工作情況,實(shí)現(xiàn)嵌入式測(cè)控設(shè)備真正的"無(wú)人值守"遠(yuǎn)程控制。

          參考文獻(xiàn)

          1 馬忠梅, 等. ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ). 北京:北京航空航天大學(xué)出版社,2002
          2 Advanced RISC Machines Ltd (ARM).ARM7TDMI Data Sheet. 1995
          3 Atmel Corporation. AT91M40800,Rev. 1354B 07/00
          4 Labrosse Jean J.μC/OS-Ⅱ源代碼公開(kāi)的實(shí)時(shí)嵌入式操作系統(tǒng). 邵貝貝譯. 北京:中國(guó)電力出版社,2001
          5 InterNiche Technologies Inc.PORTABLE TCP/IP STACK TECHNICAL REFERENCE. 2001
          6 Abatron AG Switzerland,InterNiche Technologies Inc. PORTABLE TCP/IP STACK TECHNICAL REFERENCE. 2001
          7 JTAG interface for RDI Debuggers for ARM7/ARM9 BDI2000 User Manual. 2001
          8 IAR Systems. IAR Embedded Workbench User Manual for ARM V3.2. 2002
          9 北京麥克泰軟件技術(shù)有限公司. NetCARM7開(kāi)發(fā)板V1.0 用戶手冊(cè). 2002 


           

          tcp/ip相關(guān)文章:tcp/ip是什么




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();