新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于ARM和CPLD的高速數(shù)據(jù)采集系統(tǒng)設(shè)計

基于ARM和CPLD的高速數(shù)據(jù)采集系統(tǒng)設(shè)計

作者: 時間:2009-04-15 來源:網(wǎng)絡(luò) 收藏

由于采樣頻率高,用將采樣數(shù)據(jù)存儲到兩路同步動態(tài)存儲器(SDRAM)中。先把到的數(shù)據(jù)以DMA的方式存儲到A路SDRAM中。 等數(shù)據(jù)寫滿A路SDRAM后,由器件引起LPC2214外部中斷,LPC2214進入中斷處理程序,讀取SDRAM中的數(shù)據(jù),并進行處理,同時CPLD將接下來到的數(shù)據(jù)以DMA的方式存儲到B路SDRAM中, 等存儲器B數(shù)據(jù)裝滿后,CPLD器件引起LPC2214外部中斷,LPC2214進入中斷處理程序,讀取B路SDRAM中的數(shù)據(jù),并進行處理,如此循環(huán)下去,完成數(shù)據(jù)的接收和傳輸并行。
可以看到微處理器只控制數(shù)據(jù)的啟動和對采集到的數(shù)據(jù)進行快速處理和傳輸,在數(shù)據(jù)采集的過程中,微處理器不對采集通道進行任何控制,完全由硬件自動實現(xiàn)數(shù)據(jù)采集的全過程,實現(xiàn)了采集的目的。

系統(tǒng)軟件設(shè)計
軟件部分要分別編寫LPC2214的處理模塊程序和CPLD的控制模塊程序,LPC2214的程序包括嵌入式操作系統(tǒng)μC/OS-II和各應(yīng)用程序的編寫,CPLD控制模塊程序用VHDL語言來實現(xiàn)。


在編寫處理器的處理程序時,如采用單任務(wù)順序機制,系統(tǒng)的安全性差,這對于穩(wěn)定性、實時性要求高的數(shù)據(jù)采集系統(tǒng)是不允許的,因此根據(jù)整個裝置實現(xiàn)的功能和對它的要求進行系統(tǒng)任務(wù)的分割,并分配優(yōu)先級,由操作系統(tǒng)來進行管理調(diào)度。本設(shè)計選用μC/OS-II操作系統(tǒng),μC/OS-II V2.52已通過美國航空航天管理局(FAA)的安全認證,其采用優(yōu)先級調(diào)度算法完成任務(wù)間的調(diào)度,支持搶占式調(diào)度,具有執(zhí)行效率高、占有空間小、實時性能優(yōu)良和擴展性強等特點,其內(nèi)核還提供信號量、消息郵箱、消息隊列、內(nèi)存管理等系統(tǒng)服務(wù)。程序架構(gòu)如圖3所示。

圖3 程序架構(gòu)圖


根據(jù)應(yīng)用,本系統(tǒng)分為以下幾個任務(wù):軟復位任務(wù)(程序?qū)ο到y(tǒng)初始狀態(tài)進行重新設(shè)定),對SDRAM的讀取、與上位機的TCP/IP通信、顯示任務(wù)、鍵盤管理任務(wù)和數(shù)據(jù)處理任務(wù),任務(wù)間的通信通過消息隊列來完成。系統(tǒng)中的每個任務(wù)包括應(yīng)用程序、任務(wù)堆棧和任務(wù)控制塊三部分。任務(wù)控制塊是一個數(shù)據(jù)結(jié)構(gòu),當任務(wù)的CPU使用權(quán)被剝奪時,μC/OS-II用它來保存該任務(wù)的狀態(tài),當任務(wù)重新獲得CPU的使用權(quán)時,任務(wù)控制塊能確保任務(wù)從被中斷的那一點執(zhí)行下去,操作系統(tǒng)可以通過查詢?nèi)蝿?wù)控制塊的內(nèi)容從而對任務(wù)進行調(diào)度管理。


在用μC/OS-II作為內(nèi)核來編寫數(shù)據(jù)采集系統(tǒng)系統(tǒng)的應(yīng)用軟件之前,必須完成μC/OS-II在微處理器的移植工作,由于μC/OS-II在設(shè)計之初就充分考慮了在不同處理器上的移植問題,其結(jié)構(gòu)化設(shè)計把與處理器相關(guān)的部分分離出來,因此在任何處理器上的移植 μC/OS-II都只需要關(guān)心三個文件:頭文件OS_CPU.H、文件OS_CPU_C.C和匯編文件OS_CPU_A.ASM。


為了滿足系統(tǒng)與以太網(wǎng)直接交換信息的需要,本設(shè)計在μC/OS-II中移植了LWIP(Light Weight IP輕型IP協(xié)議)協(xié)議棧。LWIP是瑞士計算機科學院Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。LWIP可以移植到操作系統(tǒng)上,也可以在無操作系統(tǒng)的情況下運行,LWIP實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,一般它只需要幾十字節(jié)的RAM和40Kb左右的ROM就可以了。
LWIP可以很容易地在μC/OS-II的調(diào)度下,為系統(tǒng)增加網(wǎng)絡(luò)通信和網(wǎng)絡(luò)管理功能。LWIP把所有與硬件、操作系統(tǒng)、編譯器相關(guān)的部分獨立出來,放在/src/arch目錄下,因此LWIP在 μC/OS-II上的移植修改這個目錄下的文件即可。

結(jié)論
微處理器中移入嵌入式實時操作系統(tǒng)μC/OS-II,使系統(tǒng)的穩(wěn)定性、實時性得到保證,實時操作系統(tǒng)將應(yīng)用分解成多任務(wù),簡化了應(yīng)用系統(tǒng)軟件的設(shè)計;采用CPLD器件集成了電路的全部控制功能,擺脫了單純用由微控制器為核心的數(shù)據(jù)采集系統(tǒng)時的速度瓶頸,極大提高了數(shù)據(jù)采集速度。整個系統(tǒng)具有速度高、實時性好、抗干擾能力強、性價比高等特點。


上一頁 1 2 3 下一頁

關(guān)鍵詞: CPLD ARM 高速數(shù)據(jù) 采集

評論


相關(guān)推薦

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

關(guān)閉