數據采集系統是通過采樣電路將輸入的模擬信號轉換成離散信號,并送入CPU、MCU或DSP進行處理。現在流行的基于PCI總線設計的采集卡是數據采集系統的主流,其優點是可以利用PCI總線的研究成果快速的開發系統軟件,整體運行速度快,能夠實現實時采集實時處理。但在一些工業測控現場檢測大型設備時,從現場到機房有一定的距離,模擬信號傳到安裝在PC內的PCI數據采集卡會有不同程度的衰減,且易受工業環境的干擾。而單純用由微控制器(MCU)為核心的數據采集系統時,把數據采集器置于被監測的設備處,雖然可以避免模擬信號的衰減和被干擾,但在這種數據采集系統中,A/D轉換器的啟動、讀取數據并存入到存儲器的整個過程由MCU來參與控制,由于受MCU執行指令時間的限制,采集的速率較低,難以適應高速信號采集的需要。本文利用ARM微處理器和CPLD器件組成的現場數據采集系統,然后通過以太網接口于上位機相連,就可以有效解決上述問題。
系統的設計方案
整個數據采集系統如圖1所示。數據采集系統首先對采集的信號進行前端處理,如信號放大、濾波等預處理。采用的CPLD器件實現整個系統的控制邏輯,它控制著采集通道的切換、A/D轉換的起/停、轉換后的數據存放在存儲單元的地址發生器、產生中斷請求以通知ARM讀取存放在存儲器中的數據,由ARM微處理器進行快速的處理和傳輸。
圖1 數據采集系統框圖
1 信號調理模塊
在信號進行數模轉換前,在保證被采集信號不失真的前提下,對輸入的信號進行放大、濾波等預處理。高速數據采集系統的輸入信號通常為高頻信號,需要進行阻抗匹配和前置放大,可以選用高速低噪聲信號前置放大器和信號變壓器。信號前置放大器的優勢是:放大系數可變,信號輸入的動態范圍大,還可以配置成有源濾波器。但放大器的最高工作頻率和工作寬帶必須滿足系統設計的需要,避免信號失真,同時應該考慮放大器引入的噪聲損失,為避免對A/D轉換器性能的不利影響,前置放大器的信噪比應遠大于A/D轉換器的信噪比。當頻率遠遠大于100MHz時,盡可能采用信號變壓器,其性能指標(如最高工作頻率和工作帶寬)優于信號放大器,而且信號失真很小,但信號放大系數固定,輸入信號的幅度受到限制。該設計中采用前置放大器,其前端的信號調理電路如圖2所示。
2 A/D轉換模塊
將連續信號轉換成離散信號進而轉換成數字信號以適用于處理的重要芯片是A/D轉換器。一般的逐次逼進型A/D轉換芯片的轉換速度最多在每秒鐘幾萬次,不能滿足高速采樣的要求。該設計中選擇TI公司的TLC5540高速模數轉換芯片,其具有8位分辨率,內置采樣和保持電路,該芯片采用一種改進的半閃結構、CMOS工藝制造,因而大大減少了器件中比較器的數量,而且在高速轉換的同時,能夠保持低功耗,轉換速率可達40Mb/s。
TLC5540以流水線的工作方式進行工作,在每一個CLK周期均啟動一次采樣,完成一次采樣,每次啟動采樣是在CLK的下降沿進行,第n次采樣的數據經過3個時鐘周期的延遲之后,送到內部數據總線上,所以系統剛啟動時讀取的3個數據是無效數據,在軟件設計時,必須拋棄系統啟動時讀取的前3個數據。
3 CPLD模塊
該設計中采用ALTERA公司的EPM7128S, 它實現整個系統的控制邏輯。主要有下面幾個控制模塊電路構成:
● 時鐘控制電路,提供A/D轉換器的時鐘信號(ACLK),該信號同時提供了給存儲器的WR,以控制整個系統的采樣頻率。
● 地址產生電路,生成SRAM的地址控制信號,每寫完一次SRAM, 地址自動加1。
● 地址總線切換電路,對內部地址發生器和LPC2214產生的兩組地址進行切換,提供給存儲器。當處于寫存儲器時,存儲器的地址由內部地址發生器發生;當處于LPC2214讀存儲器時,存儲器的地址由LPC2214的地址總線提供。
● 數據總線切換電路,對A/D的數據線和LPC2214的數據總線進行切換,當寫數據時,使數據從A/D輸出到存儲器,讀數據時,使數據從存儲器讀到LPC2214的數據總線。
● 地址譯碼及邏輯控制電路,完成對系統地址總線的譯碼,產生各種必須的控制信號。
圖2 信號調理電路
4 MCU模塊
該設計中采用Philips公司的LPC2214的微處理器,用它來對采集到的數據進行存儲、顯示、處理操作,并作為系統與上位機溝通的橋梁。LPC2214是基于ARM7TDMI核的RISC微處理器,ARM7TDMI為低功耗、高性能的16/32位核,最適合對價格及功耗敏感的場合。LPC2214在ARM7TDMI核的基礎上擴展了一系列通用外圍器件,使其特別適用于工業控制、醫療系統、訪問控制,由于內置了寬范圍的串行通信接口,使其也非常適用于通信網關、協議轉換器、嵌入式軟MODEM以及其他類型的應用。
5 ARM與網卡芯片接口設計
為使采集到的數據或處理后的數據傳送到上位機,需在系統中增加以太網接口,通常有兩種方法:(1)ARM微處理器+網絡控制器,這種方法對處理器沒有特殊的要求,只要把以太網芯片連接到處理器的總線上即可,此方法的通用性較強,不受處理器的限制;(2)采用帶以太網接口的ARM微處理器,但通常這種處理器往往是面向網絡應用而設計的,不是特別適用于工業領域。故該設計中選用第一種方法。
網路控制器RTL8019AS是目前比較常用的10Mb/s嵌入式以太網控制芯片,在芯片內部集成了DMA控制器,ISA總線控制器和16KB SRAM,網路PHY收發器。用戶可以通過DMA方式把需要發送的數據寫入片內SRAM中,讓芯片自動將數據發送出去;而芯片在接受到數據后,用戶也可以通過DMA方式將其讀出。
系統基本工作原理
數據采集器置于被監控的設備處,對傳送過來的模擬信號進行信號調理,LPC2214啟動系統數據采集,CPLD控制器輸出一個脈沖給A/D轉換器的CLK端,使其開始第n次A/D轉換,同時將CPLD內部地址發生電路產生的地址信號經地址選擇器直接送到存儲器,A/D轉換器所采集到的第n-3次的數據經數據總線直接輸入到存儲器中保存。
由于采樣頻率高,用CPLD將采樣數據存儲到兩路同步動態存儲器(SDRAM)中。CPLD先把采集到的數據以DMA的方式存儲到A路SDRAM中。 等數據寫滿A路SDRAM后,由CPLD器件引起LPC2214外部中斷,LPC2214進入中斷處理程序,讀取SDRAM中的數據,并進行處理,同時CPLD將接下來采集到的數據以DMA的方式存儲到B路SDRAM中, 等存儲器B數據裝滿后,CPLD器件引起LPC2214外部中斷,LPC2214進入中斷處理程序,讀取B路SDRAM中的數據,并進行處理,如此循環下去,完成數據的接收和傳輸并行。
可以看到ARM微處理器只控制數據采集的啟動和對采集到的數據進行快速處理和傳輸,在數據采集的過程中,ARM微處理器不對采集通道進行任何控制,完全由硬件自動實現數據采集的全過程,實現了高速數據采集的目的。
系統軟件設計
軟件部分要分別編寫LPC2214的處理模塊程序和CPLD的控制模塊程序,LPC2214的程序包括嵌入式操作系統μC/OS-II和各應用程序的編寫,CPLD控制模塊程序用VHDL語言來實現。
在編寫處理器的處理程序時,如采用單任務順序機制,系統的安全性差,這對于穩定性、實時性要求高的數據采集系統是不允許的,因此根據整個裝置實現的功能和對它的要求進行系統任務的分割,并分配優先級,由操作系統來進行管理調度。本設計選用μC/OS-II操作系統,μC/OS-II V2.52已通過美國航空航天管理局(FAA)的安全認證,其采用優先級調度算法完成任務間的調度,支持搶占式調度,具有執行效率高、占有空間小、實時性能優良和擴展性強等特點,其內核還提供信號量、消息郵箱、消息隊列、內存管理等系統服務。程序架構如圖3所示。
圖3 程序架構圖
根據應用,本系統分為以下幾個任務:軟復位任務(程序對系統初始狀態進行重新設定),對SDRAM的讀取、與上位機的TCP/IP通信、顯示任務、鍵盤管理任務和數據處理任務,任務間的通信通過消息隊列來完成。系統中的每個任務包括應用程序、任務堆棧和任務控制塊三部分。任務控制塊是一個數據結構,當任務的CPU使用權被剝奪時,μC/OS-II用它來保存該任務的狀態,當任務重新獲得CPU的使用權時,任務控制塊能確保任務從被中斷的那一點執行下去,操作系統可以通過查詢任務控制塊的內容從而對任務進行調度管理。
在用μC/OS-II作為內核來編寫數據采集系統系統的應用軟件之前,必須完成μC/OS-II在微處理器的移植工作,由于μC/OS-II在設計之初就充分考慮了在不同處理器上的移植問題,其結構化設計把與處理器相關的部分分離出來,因此在任何處理器上的移植? μC/OS-II都只需要關心三個文件:頭文件OS_CPU.H、文件OS_CPU_C.C和匯編文件OS_CPU_A.ASM。
為了滿足系統與以太網直接交換信息的需要,本設計在μC/OS-II中移植了LWIP(Light Weight IP輕型IP協議)協議棧。LWIP是瑞士計算機科學院Adam Dunkels等開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧。LWIP可以移植到操作系統上,也可以在無操作系統的情況下運行,LWIP實現的重點是在保持TCP協議主要功能的基礎上減少對RAM的占用,一般它只需要幾十字節的RAM和40Kb左右的ROM就可以了。
LWIP可以很容易地在μC/OS-II的調度下,為系統增加網絡通信和網絡管理功能。LWIP把所有與硬件、操作系統、編譯器相關的部分獨立出來,放在/src/arch目錄下,因此LWIP在?? μC/OS-II上的移植修改這個目錄下的文件即可。
結論
在ARM微處理器中移入嵌入式實時操作系統μC/OS-II,使系統的穩定性、實時性得到保證,實時操作系統將應用分解成多任務,簡化了應用系統軟件的設計;采用CPLD器件集成了電路的全部控制功能,擺脫了單純用由微控制器為核心的數據采集系統時的速度瓶頸,極大提高了數據采集速度。整個系統具有速度高、實時性好、抗干擾能力強、性價比高等特點。
評論
查看更多