串行A/D與FPGA在微型數(shù)據(jù)記錄儀中的應(yīng)用
ADS8341轉(zhuǎn)換的基本時(shí)序如圖1所示。本文引用地址:http://m.butianyuan.cn/article/178866.htm
由圖1可以看出,ADS8341完成一次轉(zhuǎn)換需要24個(gè)DCLK時(shí)鐘,其中在前8個(gè)時(shí)鐘的上升沿,DIN控制字輸入,控制字輸入完成后,在DCLK的上升沿時(shí)刻,BUSY信號輸出一個(gè)高電平,在這個(gè)時(shí)鐘的下降沿,轉(zhuǎn)換數(shù)據(jù)按位輸出。經(jīng)過一次完整的轉(zhuǎn)換后,在第25個(gè)時(shí)鐘上升沿,DIN可以再次輸入控制字高位,保證了當(dāng)DCLK外部時(shí)鐘取得最高頻率2.4 MHz時(shí),A/D轉(zhuǎn)換器的頻率達(dá)到最高100 ksa/s。
2 基于FPGA的ADS8341控制器設(shè)計(jì)
本記錄儀系統(tǒng)記錄采集信號的頻率范圍500Hz以下,在系統(tǒng)實(shí)際應(yīng)用中,對被測信號采用過采樣方式,采樣頻率為被采集信號頻率的5~10倍。系統(tǒng)采用A/D轉(zhuǎn)換器3通道快速循環(huán)采樣,近似實(shí)現(xiàn)了通道同步采樣,是一種準(zhǔn)同步采樣的方式。經(jīng)過72個(gè)DCLK周期,實(shí)現(xiàn)了CH0~CH2通道的順序切換,當(dāng)A/D轉(zhuǎn)換器以最大采樣頻率100 ksa/s工作時(shí),記錄儀系統(tǒng)采樣的頻率相當(dāng)于單通道頻率的1/3,通道1與通道3之間同步誤差最大為48clk,如圖2所示,最小誤差時(shí)間約為(此時(shí)采樣頻率最快),滿足系統(tǒng)對較低頻率信號采集的要求。
系統(tǒng)采用了基于FLASH架構(gòu)的Actel公司ProASIC3系列A3P100,使用Libero集成開發(fā)環(huán)境,FPGA的A/D控制模塊主要包含以下功能:
●時(shí)鐘控制器
記錄儀系統(tǒng)FPGA的外部時(shí)鐘頻率為48 MPa,對系統(tǒng)時(shí)鐘20分頻得到時(shí)鐘DCLK即可提供A/D轉(zhuǎn)換器的最大工作時(shí)鐘。另外通過邏輯控制,時(shí)鐘控制器提供幾個(gè)低于2.4 MHz的時(shí)鐘頻率,系統(tǒng)可以選擇更低的采樣頻率。
●不等占空比時(shí)鐘
本系統(tǒng)設(shè)計(jì)A/D控制模塊中引入clk_div時(shí)鐘信號,占空比為2:3,做為din的控制電平,當(dāng)clk_div信號為低電平時(shí),din輸出數(shù)據(jù),clk _div信號為高電平,din為低電平。
clk_div撐(.duty_factor(duty_factorl),counter_top(counterl)).div_clkl(.reset(clk1_reset),.clk_in(clk_in1),clk_out(clk_out1));//任意占空比分頻時(shí)鐘模塊調(diào)用
●控制字狀態(tài)機(jī)
記錄儀上電以后的工作狀態(tài)為3個(gè)通道循環(huán)采樣,控制字狀態(tài)發(fā)生器循環(huán)生成chO=“1001_1111”,ch1=“101_1111”,ch2=“1010_111 1”,并將控制字轉(zhuǎn)換成串行數(shù)據(jù)從din引腳輸出,實(shí)現(xiàn)A/D轉(zhuǎn)換器通道切換。
評論