基于AD7862和dsPIC30F的數(shù)據(jù)采集系統(tǒng)
轉(zhuǎn)換開始信號(hào)低電平有效,同時(shí)將2個(gè)采樣保持放大器置于保持狀態(tài),并啟動(dòng)兩個(gè)輸入轉(zhuǎn)換操作。轉(zhuǎn)換開始后,置BUSY信號(hào)為高電平,表示轉(zhuǎn)換還未結(jié)束,當(dāng)再次回到低電平時(shí),表示轉(zhuǎn)換結(jié)束,此時(shí)便可讀取2個(gè)通道的轉(zhuǎn)換結(jié)果。實(shí)際應(yīng)用中,先置為低電平一段時(shí)間,然后檢測BUSY信號(hào),當(dāng)為低電平時(shí),就開始讀取轉(zhuǎn)換結(jié)果。轉(zhuǎn)換結(jié)束后的第一次讀取操作訪問VA1或VB1的結(jié)果,而第二次讀取操作訪問VA2或VB2的結(jié)果,具體取決于多路復(fù)用器選擇AO是低電平還是高電平。AO為低電平時(shí),讀取VA1或VA2;A0為高電平時(shí),讀取VB2或VB2。該器件的時(shí)序如圖2所示。本文引用地址:http://cafeforensic.com/article/195451.htm
2 dsPIC30F6010A簡介
16位dsPIC30F6010A數(shù)字信號(hào)控制器是16位處理器系列。它是dsPIC30F電機(jī)控制和電源轉(zhuǎn)換系列,用于支持電機(jī)控制應(yīng)用,也適用于不間斷電源、逆變器、開關(guān)電源及相關(guān)設(shè)備。
內(nèi)部有144 KB片上閃存程序空間,8 KB片上數(shù)據(jù)RAM,4 KB非易失性數(shù)據(jù)EEPROM:工作速度最高可達(dá)30MI/s;5個(gè)16位定時(shí)器/計(jì)數(shù)器;可選擇將16位定時(shí)器配對組成32位定時(shí)器模塊;16位捕捉輸入功能;8個(gè)PWM輸出通道:具有互補(bǔ)或獨(dú)立輸出模式、邊沿對齊模式和中心對齊模式,4個(gè)占空比發(fā)生器、互補(bǔ)模式的死區(qū)時(shí)間控制:2個(gè)UART、2個(gè)SPI、1個(gè)I2C總線和2個(gè)CAN總線:最大I/O引腳數(shù)為68個(gè)。
dsPIC30F601OA處理器采用改進(jìn)的哈佛架構(gòu),具有獨(dú)立的程序和數(shù)據(jù)存儲(chǔ)器總線。在執(zhí)行訪問數(shù)據(jù)RAM當(dāng)前指令的同時(shí)可從程序存儲(chǔ)器中預(yù)取下一條指令,這就加快了處理速度。數(shù)據(jù)空間為64 KB,大多數(shù)指令將其看作一個(gè)線性地址空間。當(dāng)使用某些DSP指令,如DSP乘法指令時(shí),該存儲(chǔ)空間被分成2塊,分別稱為X和Y數(shù)據(jù)空間。因此,這些DSP指令支持雙操作數(shù)讀操作,即,同一條指令可同時(shí)從X存儲(chǔ)空間和Y存儲(chǔ)空間中取數(shù)據(jù)。
3 系統(tǒng)設(shè)計(jì)
本采樣系統(tǒng)主要分為硬件部分設(shè)計(jì)和軟件部分設(shè)計(jì)。硬件部分是以dsPIC30F601OA為控制和處理核心,去控制AD7862和SD卡來實(shí)現(xiàn)數(shù)據(jù)的高精度、實(shí)時(shí)采集和實(shí)時(shí)存儲(chǔ)。信號(hào)的高精度和實(shí)時(shí)模數(shù)轉(zhuǎn)換由AD7862來實(shí)現(xiàn),數(shù)據(jù)的存儲(chǔ)由控制器通過SPI接口訪問SD卡來實(shí)現(xiàn)。軟件部分主要由控制器I/O引腳的初始化、模數(shù)轉(zhuǎn)換開始控制、數(shù)據(jù)讀取和數(shù)據(jù)存儲(chǔ)等部分組成。
3.1 硬件部分實(shí)現(xiàn)
數(shù)據(jù)采集系統(tǒng)以16位dsPIC30F6010A數(shù)字信號(hào)控制器作為系統(tǒng)的控制和數(shù)據(jù)處理核心,產(chǎn)生控制信號(hào)控制AD7862實(shí)現(xiàn)高精度的實(shí)時(shí)數(shù)據(jù)采集。AD7862共需4個(gè)控制信號(hào),分別為、AO、和。為轉(zhuǎn)換開始控制信號(hào),A0為讀取通道選擇控制信號(hào),它控制該通道進(jìn)行A/D轉(zhuǎn)換和讀取其A/D轉(zhuǎn)換結(jié)果。為片選信號(hào),低電平有效,在本系統(tǒng)中使其直接與地相連。為讀控制信號(hào),低電平有效,當(dāng)為低電平時(shí)可以按順序讀取VA1、VA2或VBl、VB2上的A/D轉(zhuǎn)換結(jié)果。通過以上分析共需3個(gè)控制信號(hào),即dsPIC230F6010A的I/O接口RB8、RB9和RBl0,通過軟件產(chǎn)生。
AD7862還產(chǎn)生BUSY信號(hào),通過它告知控制器A/D轉(zhuǎn)換完成,可以讀取結(jié)果。dsPIC30F6010A的中斷控制器支持5種外部中斷請求信號(hào):IN-T0~I(xiàn)NT4。這些輸入是邊沿敏感的;它們要求一個(gè)由低到高或由高到低的跳變以產(chǎn)生一個(gè)中斷請求。INTCON2寄存器具有5個(gè)位(INTOEP~I(xiàn)N-T4EP),用于選譯邊沿檢測電路的極性。本系統(tǒng)中采用由高到低的跳變產(chǎn)生中斷請求,BLISY控制信號(hào)與dsPIC30F60lOA的INTO相連。數(shù)據(jù)轉(zhuǎn)換結(jié)果通過dsPIC30F60IOA的I/O口,讀到控制器內(nèi)部。AD7862與控制器的電路連接圖如圖3所示。
3.2 軟件部分實(shí)現(xiàn)
軟件部分流程如圖5所示,系統(tǒng)啟動(dòng)后先初始化I/O、SD卡、AD7862和設(shè)置INT0中斷,為A/D采樣和數(shù)據(jù)存儲(chǔ)做準(zhǔn)備。由于AD7862有兩個(gè)通道。需對這兩個(gè)通道分別進(jìn)行A/D轉(zhuǎn)換,先采樣A通道后采樣B通道,具體是哪個(gè)通道由AO決定,也就是控制器的RB8引腳。
評論