當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]以 μC/OSII 為平臺(tái)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

無(wú)線數(shù)據(jù)采集系統(tǒng)的應(yīng)用范圍非常廣泛,涉及電力、水利、交通和安防等行業(yè)。通用分組無(wú)線業(yè)務(wù)GPRS(General Packet Radio Service),由Nokia、Ericsson等公司開(kāi)發(fā)。該技術(shù)建立在GSM網(wǎng)絡(luò)的基礎(chǔ)上,被稱為2.5代移動(dòng)通信技術(shù),它將無(wú)線通信與Internet緊密結(jié)合,是一種先進(jìn)的、全新的無(wú)線網(wǎng)絡(luò)承載手段,具有獨(dú)特優(yōu)勢(shì)。隨著GPRS技術(shù)在移動(dòng)通信領(lǐng)域的發(fā)展,為數(shù)據(jù)采集傳輸及監(jiān)控提供了一種新的高性價(jià)比的數(shù)據(jù)通信方案。

同時(shí),嵌入式系統(tǒng)以其高效的開(kāi)發(fā)、低廉的成本、方便的使用和維護(hù)等優(yōu)點(diǎn)受到信息業(yè)界的廣泛推崇。嵌入式系統(tǒng)在工農(nóng)業(yè)控制領(lǐng)域主要用于對(duì)現(xiàn)場(chǎng)的監(jiān)視和控制。而傳統(tǒng)監(jiān)控產(chǎn)品的設(shè)計(jì)目標(biāo)往往為保護(hù)大型企事業(yè)單bit的安全,不同程度地使用了凌亂的布線和較大型的硬件,其造價(jià)高昂、安裝繁瑣、操作復(fù)雜,必須有人長(zhǎng)時(shí)間專門(mén)值守,且不具備遠(yuǎn)程控制功能。這些缺點(diǎn)使它們很難走進(jìn)中小型工農(nóng)企業(yè)和家庭中。因此開(kāi)發(fā)一種小型的、模塊化的、無(wú)須專人隨時(shí)維護(hù)、能夠方便地使用無(wú)線網(wǎng)絡(luò)進(jìn)行操作的采集監(jiān)控系統(tǒng),已成為必然的趨勢(shì),并擁有巨大的需求。隨著系統(tǒng)復(fù)雜度的提高,應(yīng)用嵌入式操作系統(tǒng)是一個(gè)流行的趨勢(shì)。筆者以μC/OSII為操作系統(tǒng)平臺(tái),基于ARM7系列處理器,對(duì)一種高性能的數(shù)據(jù)采集系統(tǒng)開(kāi)發(fā)進(jìn)行了探索。

1μC/OSII嵌入式操作系統(tǒng)簡(jiǎn)介

嵌入式操作系統(tǒng)μC/OSII(microcontroller operating system)是專為微控制器系統(tǒng)和軟件開(kāi)發(fā)而設(shè)計(jì)的公開(kāi)源代碼的搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核,是一段微控制器啟動(dòng)后首先執(zhí)行的背景程序,作為整個(gè)系統(tǒng)的框架貫穿系統(tǒng)運(yùn)行的始終。對(duì)于對(duì)實(shí)時(shí)性和穩(wěn)定性要求很高的數(shù)據(jù)采集系統(tǒng)來(lái)說(shuō),引入μC/OSII無(wú)疑將大大改善其性能。

μC/OSII的特點(diǎn)可以概括為以下幾個(gè)方面:公開(kāi)源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內(nèi)核屬于搶占式,最多可以管理60個(gè)任務(wù)。μC/OSII自1992年的第一版(μC/OS)以來(lái)已經(jīng)有好幾百個(gè)應(yīng)用,是一個(gè)經(jīng)實(shí)踐證明好用且穩(wěn)定可靠的內(nèi)核。目前國(guó)內(nèi)對(duì)μC/OSII的研究和應(yīng)用都很多。

2系統(tǒng)基本工作原理

應(yīng)用時(shí),數(shù)據(jù)采集系統(tǒng)置于被監(jiān)控的設(shè)備處,通過(guò)傳感器對(duì)設(shè)備的電壓或者電流信號(hào)進(jìn)行采樣、保持,并送入A/D轉(zhuǎn)換器變成數(shù)字信號(hào),然后將該信號(hào)送到FIFO中。當(dāng)FIFO中存放的數(shù)據(jù)到了一定數(shù)目時(shí),由ARM7從FIFO中讀出,然后通過(guò)ARM7的以太網(wǎng)接口或者RS232送給上位機(jī)。考慮到要監(jiān)控的設(shè)備可能會(huì)很多,所以設(shè)計(jì)了多路采集通道,他們經(jīng)過(guò)模擬開(kāi)關(guān)后再進(jìn)入A/D轉(zhuǎn)換器。CPLD是整個(gè)系統(tǒng)的控制核心,他控制采集通道的切換、A/D轉(zhuǎn)換器的啟/停、轉(zhuǎn)換后的數(shù)據(jù)在FIFO中的存放地址發(fā)生器、產(chǎn)生中斷請(qǐng)求以通知ARM7讀取存放在FIFO中的數(shù)據(jù)等。

3系統(tǒng)硬件結(jié)構(gòu)

系統(tǒng)采用了Samsung公司的S3C4510B作為系統(tǒng)與上位機(jī)溝通的橋梁,S3C4510B是基于以太網(wǎng)應(yīng)用系統(tǒng)的高性價(jià)比16/32位RISC微控制器,他有如下幾個(gè)主要特點(diǎn):

硬件方面內(nèi)含一個(gè)由ARM公司設(shè)計(jì)的16/32位ARM7TDMI RISC處理器核,ARM7TDMI為低功耗、高性能的16/32核,最適合用于對(duì)價(jià)格及功耗敏感的應(yīng)用場(chǎng)合。S3C4510B通過(guò)在ARM 7TDMI核內(nèi)容基礎(chǔ)上擴(kuò)展一系列完整地通用外圍器件。

片上資源包括2個(gè)帶緩沖描述符(buffer descriptor)的HDLC通道;2個(gè)UART通道;2個(gè)GD M A通道;2個(gè)32位定時(shí)器;18個(gè)可編程的I/O口。還有中斷控制器;DRAM/SDRAM控制器;ROM/S RAM和FLASH控制器;系統(tǒng)管理器;1個(gè)內(nèi)部32位系統(tǒng)總線仲裁器;1個(gè)外部存儲(chǔ)器控制器等片內(nèi)的邏輯控制電路。

這些為μC/OSII的移植提供了優(yōu)良的物理資源。

軟件支持方面他有配套的代碼編輯調(diào)試環(huán)境ADS12和JTAG在線調(diào)試功能,使S3C4510B芯片軟件可以直接用C編寫(xiě),這就使μC/OSII的植入成為可能。

12位高速A/D轉(zhuǎn)換電路采用Analog Devices的AD574,該電路輸出具有三態(tài)鎖存功能。預(yù)處理電路包括了電流電壓互感器、隔離電路和同步采樣電路,他可以將信號(hào)轉(zhuǎn)換成與AD574相匹配的量值,供后續(xù)處理。通訊電路采用常用的以太網(wǎng)接口與上位機(jī)相連,而232接口可作為備用,這樣該裝置既可作為便攜式系統(tǒng)使用,也可通過(guò)網(wǎng)絡(luò)來(lái)對(duì)設(shè)備實(shí)施實(shí)時(shí)監(jiān)控。

4軟件設(shè)計(jì)部分

軟件部分要分別編寫(xiě)S3C4510B部分的程序和CPLD控制程序。前者可分為μC/OSII的移植和各個(gè)應(yīng)用程序的編寫(xiě),后者用VHDL語(yǔ)言實(shí)現(xiàn)。

對(duì)于S3C4510B部分,根據(jù)整個(gè)裝置實(shí)現(xiàn)的功能和對(duì)他的要求進(jìn)行系統(tǒng)任務(wù)分割,并根據(jù)實(shí)際需要為各個(gè)任務(wù)分配優(yōu)先級(jí)。系統(tǒng)大致可分為如下幾個(gè)任務(wù):初始化CPLD控制參數(shù);對(duì)FI FO的讀??;與上位機(jī)的TCP/IP通訊;與上位機(jī)的串口通訊。對(duì)應(yīng)每個(gè)任務(wù),需要編寫(xiě)相應(yīng)的應(yīng)用程序,軟件設(shè)計(jì)部分的關(guān)鍵技術(shù)有:

(1)μC/OSII內(nèi)核向S3C4510B中的移植,要根據(jù)處理器的特點(diǎn)合理地修改μC/OS II的3個(gè)與處理器相關(guān)的文件:OS_CPUH,OS_CPU_AASM,OS_CPU_C.C。主要是將文件中的匯編指令,改為ARM7的匯編指令,并根據(jù)CPU的特點(diǎn)對(duì)文件中寄存器的初值進(jìn)行改寫(xiě)。

(2)內(nèi)存配置問(wèn)題。對(duì)于存儲(chǔ)器容量的設(shè)計(jì),要綜合考慮μC/OSII內(nèi)核代碼和應(yīng)用程序代碼的大小。每個(gè)任務(wù)是獨(dú)立運(yùn)行的,必須給每個(gè)任務(wù)提供單獨(dú)的??臻g(RAM),RAM總量的計(jì)算公式為:

RAM總量=應(yīng)用程序的RAM需求+內(nèi)核數(shù)據(jù)區(qū)的RAM需求+各任務(wù)棧需求之總和+最多中斷嵌套所需堆棧

(3)TCP/IP協(xié)議在μC/OSII中的實(shí)現(xiàn)。為了滿足嵌入式設(shè)備與Internet網(wǎng)絡(luò)直接交換信息的要求,在μC/OSII中又移植了LwIP協(xié)議棧。

LwIP是瑞士計(jì)算機(jī)科學(xué)院(Swedish Institute of Computer Science)的Adam Dunkels等開(kāi)發(fā)的一套用于嵌入式系統(tǒng)的開(kāi)放源代碼TCP/IP協(xié)議棧。LwIP的含義是Light Weight(輕型)IP協(xié)議。LwIP可以移植到操作系統(tǒng)上,也可以在無(wú)操作系統(tǒng)的情況下獨(dú)立運(yùn)行。LwIP TC P/IP實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,一般他只需要幾十k的RAM和40 k左右的ROM就可以運(yùn)行,這使LwIP協(xié)議棧適合在低端嵌入式系統(tǒng)中使用。

LwIP的特性有:支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā);支持ICMP協(xié)議;包括實(shí)驗(yàn)性擴(kuò)展的的UDP(用戶數(shù)據(jù) 報(bào)協(xié)議);包括阻塞控制、RTT估算、快速恢復(fù)和快速轉(zhuǎn)發(fā)的TCP(傳輸控制協(xié)議);提供專門(mén)的內(nèi)部回調(diào)接口(raw API)用于提高應(yīng)用程序性能。

LwIP可以很容易地在μC/OSII的調(diào)度下,為系統(tǒng)增加網(wǎng)絡(luò)通信和網(wǎng)絡(luò)管理功能。LwIP協(xié)議棧在設(shè)計(jì)時(shí)就考慮到了將來(lái)的移植問(wèn)題,他把所有與硬件,OS,編譯器相關(guān)的部份獨(dú)立出來(lái),放在/src/arch目錄下。因此LwIP在μC/OSII上的實(shí)現(xiàn)就是修改這個(gè)目錄下的文件,其他的文件一般不應(yīng)該修改。在驅(qū)動(dòng)中主要是根據(jù)S3C4510B內(nèi)的以太網(wǎng)控制特殊功能寄存器,編寫(xiě)網(wǎng)絡(luò)接口的處發(fā)送包、接收包函數(shù),初始化以及用于以太網(wǎng)控制器的外部中斷服務(wù)程序。

5結(jié)語(yǔ)

采用基于ARM7的S3C4510B嵌入式微處理器,可以使系統(tǒng)小型化,便于提高性能以及與各種外設(shè)連接擴(kuò)展,同時(shí)降低了成本。μC/OSII作為一個(gè)源代碼公開(kāi)的操作系統(tǒng),在具體應(yīng)用種穩(wěn)定可靠。本系統(tǒng)采用ARM7+μC/OSII開(kāi)發(fā)設(shè)計(jì),具有精度高、運(yùn)行穩(wěn)定、實(shí)時(shí)性好、抗干擾能力強(qiáng)、性價(jià)比高的特點(diǎn),可以在各種工業(yè)場(chǎng)合中廣泛應(yīng)用,達(dá)到了設(shè)計(jì)的初衷。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉