為提高數據采集系統(tǒng)的采集精度和轉換速度,設計基于AD7862和dstPIC30F6010A的數據采集系統(tǒng),詳細介紹AD7862和dsPIC30F6010A的特點和性能;并介紹該系統(tǒng)硬件部分和軟件部分,實踐證明,該系統(tǒng)取得很好的效果。本系統(tǒng)還采用SD卡作為存儲器,實現(xiàn)數據存儲功能。
引言:
本采集系統(tǒng)采用ADI公司生產的12位模數轉換器AD7862,它是一款高速、低功耗、雙核12位模數轉換器。能夠滿足系統(tǒng)對采樣精度和采樣速度的要求??刂破骷捎胐sPIC30F6010A數字信號控制芯片,它是Microchip公司生產的高性能16位數字信號控制器,內核包含一個DSP引擎,從而能夠顯著增強系統(tǒng)的運算和吞吐能力。
在某些數據采集系統(tǒng)中,不僅對數據采集系統(tǒng)的精度和實時性提出要求,而且要求其具有數據存儲功能,為了實現(xiàn)存儲功能,本系統(tǒng)使用SD卡。SD卡(Seeure Digital Memory Card)為安全數碼卡,是一種基于半導體快閃記憶器的新一代記憶設備,它具有存儲容量大,速度快等特點,被廣泛用于便攜式裝置上。
1 AD7862簡介
AD7862是一款高速、低功耗、雙核12位模數轉換器(ADC),采用+5 V單電源供電。該器件內置2個4μs逐次逼近型ADC、2個采樣保持放大器、1個+2.5 V內部基準電壓源和1個高速并行接口。其內部結構如圖l所示。
由于AD7862內置2個ADC和2個采樣保持放大器,可以對2路模擬輸入信號進行同時采樣和轉換,從而保留這兩個模擬輸入信號的相對相位信息。這一功能適用在逆變器采集系統(tǒng)中。它共有4個模擬輸入,分成2個通道(A和B),通過AO輸入選擇通道。每個通道的2個輸入(VA1與VA2或VB1與VB2)使用不同的ADC和采樣保持放大器可同時進行采樣和轉換。該器件可接收的模擬輸入范圍為±10 V(AD7862~10)、±2.5 V(AD7862-3)和O~2.5 V(AD7862-2)。本系統(tǒng)采用AD7862-10。模擬輸入均具有過壓保護,允許輸入電壓分別達到±17 V、±7 V或+7 V而不會造成損壞。
轉換開始信號低電平有效,同時將2個采樣保持放大器置于保持狀態(tài),并啟動兩個輸入轉換操作。轉換開始后,置BUSY信號為高電平,表示轉換還未結束,當再次回到低電平時,表示轉換結束,此時便可讀取2個通道的轉換結果。實際應用中,先置為低電平一段時間,然后檢測BUSY信號,當為低電平時,就開始讀取轉換結果。轉換結束后的第一次讀取操作訪問VA1或VB1的結果,而第二次讀取操作訪問VA2或VB2的結果,具體取決于多路復用器選擇AO是低電平還是高電平。AO為低電平時,讀取VA1或VA2;A0為高電平時,讀取VB2或VB2。該器件的時序如圖2所示。
2 dsPIC30F6010A簡介
16位dsPIC30F6010A數字信號控制器是16位處理器系列。它是dsPIC30F電機控制和電源轉換系列,用于支持電機控制應用,也適用于不間斷電源、逆變器、開關電源及相關設備。
內部有144 KB片上閃存程序空間,8 KB片上數據RAM,4 KB非易失性數據EEPROM:工作速度最高可達30MI/s;5個16位定時器/計數器;可選擇將16位定時器配對組成32位定時器模塊;16位捕捉輸入功能;8個PWM輸出通道:具有互補或獨立輸出模式、邊沿對齊模式和中心對齊模式,4個占空比發(fā)生器、互補模式的死區(qū)時間控制:2個UART、2個SPI、1個I2C總線和2個CAN總線:最大I/O引腳數為68個。
dsPIC30F601OA處理器采用改進的哈佛架構,具有獨立的程序和數據存儲器總線。在執(zhí)行訪問數據RAM當前指令的同時可從程序存儲器中預取下一條指令,這就加快了處理速度。數據空間為64 KB,大多數指令將其看作一個線性地址空間。當使用某些DSP指令,如DSP乘法指令時,該存儲空間被分成2塊,分別稱為X和Y數據空間。因此,這些DSP指令支持雙操作數讀操作,即,同一條指令可同時從X存儲空間和Y存儲空間中取數據。[!--empirenews.page--]3 系統(tǒng)設計
本采樣系統(tǒng)主要分為硬件部分設計和軟件部分設計。硬件部分是以dsPIC30F601OA為控制和處理核心,去控制AD7862和SD卡來實現(xiàn)數據的高精度、實時采集和實時存儲。信號的高精度和實時模數轉換由AD7862來實現(xiàn),數據的存儲由控制器通過SPI接口訪問SD卡來實現(xiàn)。軟件部分主要由控制器I/O引腳的初始化、模數轉換開始控制、數據讀取和數據存儲等部分組成。
3.1 硬件部分實現(xiàn)
數據采集系統(tǒng)以16位dsPIC30F6010A數字信號控制器作為系統(tǒng)的控制和數據處理核心,產生控制信號控制AD7862實現(xiàn)高精度的實時數據采集。AD7862共需4個控制信號,分別為、AO、和。為轉換開始控制信號,A0為讀取通道選擇控制信號,它控制該通道進行A/D轉換和讀取其A/D轉換結果。為片選信號,低電平有效,在本系統(tǒng)中使其直接與地相連。為讀控制信號,低電平有效,當為低電平時可以按順序讀取VA1、VA2或VBl、VB2上的A/D轉換結果。通過以上分析共需3個控制信號,即dsPIC230F6010A的I/O接口RB8、RB9和RBl0,通過軟件產生。
AD7862還產生BUSY信號,通過它告知控制器A/D轉換完成,可以讀取結果。dsPIC30F6010A的中斷控制器支持5種外部中斷請求信號:IN-T0~INT4。這些輸入是邊沿敏感的;它們要求一個由低到高或由高到低的跳變以產生一個中斷請求。INTCON2寄存器具有5個位(INTOEP~IN-T4EP),用于選譯邊沿檢測電路的極性。本系統(tǒng)中采用由高到低的跳變產生中斷請求,BLISY控制信號與dsPIC30F60lOA的INTO相連。數據轉換結果通過dsPIC30F60IOA的I/O口,讀到控制器內部。AD7862與控制器的電路連接圖如圖3所示。
3.2 軟件部分實現(xiàn)
軟件部分流程如圖5所示,系統(tǒng)啟動后先初始化I/O、SD卡、AD7862和設置INT0中斷,為A/D采樣和數據存儲做準備。由于AD7862有兩個通道。需對這兩個通道分別進行A/D轉換,先采樣A通道后采樣B通道,具體是哪個通道由AO決定,也就是控制器的RB8引腳。
數 [!--empirenews.page--]據采集過程中要獲知A/D轉換已結束的方法有:
1)定時 使用定時器,轉換開始后過一段時間讀取轉換結果;
2)掃描 掃描BUSY引腳,當變?yōu)榈碗娖綍r,即可知轉換結束,讀取轉換結果;
3)中斷 BUSY作為中斷信號,輸入到INTO中,并設置為從高到低觸發(fā)中斷,當轉換結束后,BUSY信號由高變低,觸發(fā)中斷。
本系統(tǒng)采用第3種方法,即中斷方法。中斷服務子程序如圖6所示,進入中斷服務子程序后,首先清中斷標示,然后分兩次讀取,即Vx1和Vx2(X代表A或B),讀完之后對數據進行處理并存儲到SD卡相應位置中,最后置采樣結束標示。
4 結束語
實踐表明,通過對模數轉換器件的正確使用,完全可以達到很高的采樣精度,并能滿足系統(tǒng)實時性的需要。通過外擴模擬電路部分,可以用于各種高精度高速的數據采集存儲系統(tǒng)。