基于FPGA的多通道串行A/D轉換器的控制器設計
用FPGA設計的采樣控制器AD_CONTROLLER與ADS7844的接口電路如圖2所示,基本時(shí)序如上所述。AD_CONTROLLER的輸入時(shí)鐘取12 MHz,經(jīng)內部4分頻后輸出至ADS7844的CLK引腳。cs_all為來(lái)自CPU的啟動(dòng)信號,當其為低時(shí)AD_CONTROLLER開(kāi)始工作。addr[3..0]為對應的ADS7844的通道地址,data[15..0]為某地址所對應通道的A/D轉換結果,當某一通道轉換結束,oe信號由低電平變?yōu)楦唠娖讲⒊掷m1個(gè)周期。
![]() |
AD_CONTROLLER主要由分頻模塊(fq),A/D轉換周期形成模塊(fq_cs);A/D轉換器片選信號模塊(cs_pulse);通道地址及控制字形成模塊(addr_1);A/D轉換數據輸出模塊(from_ad)和控制字移位輸出模塊(to_ad)組成,其結構如圖3所示。
取FPGA工作頻率10 MHz,經(jīng)分頻器4分頻得2.5 MHz作為A/D轉換器的時(shí)鐘。分頻器通常用計數器實(shí)現,各VHDL教材上都已詳細講述,這里不再贅述。信號cs每隔28個(gè)clk1時(shí)鐘周期發(fā)出1個(gè)clk1周期的高電平脈沖并轉換1次模擬輸入通道,28個(gè)cIk1周期中,A/D轉換器片選cs_ad信號占用4個(gè)周期,控制字的串行輸出(di)占用8個(gè)周期,ADS7844芯片由Din引腳接收到控制字后,在下一個(gè)周期的下降沿開(kāi)始將A/D轉換后的數據串行輸出至Dout引腳,由from_ad模塊進(jìn)行串/并轉換并輸出(data[15..0]),此串并轉換需16個(gè)周期。信號stld的下降沿將由狀態(tài)機產(chǎn)生的控制字(control_word[7..0])鎖存入to_ad模塊內部的并/串移位寄存器(74165),經(jīng)過(guò)8個(gè)周期后控制字由di引腳輸入ADS7844芯片。cs脈沖的產(chǎn)生由計數器實(shí)現,這里不做詳細介紹。cs_ad片選信號通過(guò)cs_ad模塊將cs信號展寬2個(gè)周期而得到,其電路結構如下:
![]() |
評論