基于DSP的數據采集系統開發與實現
2.2 模擬信號采集的實現
TMS320F2812芯片中集成了一個偽雙12位A/D轉換器模塊。該模塊內部實際上只有一個A/D轉換器,在內部邏輯的控制下它可以很快的速度連續采樣轉換兩次,相當于兩個A/D轉換器。用戶可以同時啟動這兩個A/D轉換器進行采樣,也可以啟動某個A/D轉換器,讓它連續采樣兩次。
同傳統A/D相比,嵌入式A/D具有如下的特點:在A/D模塊的硬件資源配置好了之后,用戶可以用軟件指令隨時啟動A/D采樣,并獲得A/D轉換的結果。同傳統A/D不同的是,采集功能單元的硬件資源配置還有一部分是通過軟件完成的。
利用F2812內部增強型A/D可以在一塊采集卡上實現對同步、異步模擬信號的采集和A/D轉換。其示意圖如圖4所示。
在F2812片內有兩個獨立的8路模擬開關,既可以單獨使用也能級連使用。如圖4所示同步信號送入ADCINA模塊,其它信號直接送入ADCINB模塊,然后由DSP內部的12位A/D轉換模塊進行A/D轉換。用戶還可以根據實際應用對外部采樣電路進行調整,以滿足不同的要求。
運用TMS320F2812片內集成的A/D轉換器進行數據采集。程序首先對A/D進行初始化,當A/D非常忙時,啟動16個A/D通道進行轉換,主程序進入死循環;當A/D正常轉換完畢后,進入中斷服務子程序。中斷服務程序將16個A/D轉換結果讀入數組al[16]中,并再次啟動16個A/D通道進行轉換,如此循環往復。程序設計使用C++語言編寫源程序。A/D初始化子程序框圖如圖6所示。中斷服務子程序流程如圖7所示。
評論