摘 要:研究了基于FPGA的高精度A/D采樣實現,FPGA選用altera公司cycloneII系列芯片,AD轉換器采用AD7606-4,該轉換器具有4通道16位精度。
關鍵詞:FPGA仿真芯片
中圖分類號:TP274.2文獻標識碼:A文章編號:1674-098X(2011)05(b)-0049-01
1系統原理
FPGA可以根據用戶的需要將多種芯片的功能集中實現,在可靠性要求較高,電路板要求越來越小的趨勢下,FPGA的應用越來越廣。在設計完后,設計者可以對芯片的功能進行仿真驗證,在線修改,大大減少了設計的復雜性。
AD7606-4是ADI公司推出的新一代16位、4通道同步采樣的模擬數字轉換器。它采用5V單電源供電,不再需要正負雙電源,并支持真正10V或5V的雙極性信號輸入。所有的通道均能以高達200kSPS的速率進行采樣。
本文研究了基于FPGA的A/D轉換控制,圖1是A/D與FPGA的連接框圖。A/D的轉換時間最快是5us。由FPGA發出轉換控制信號AD_CONVST,A/D復位信號AD_RESET,A/D讀信號AD_RD,讀使能信號AD_CS。采用并行字節方式將A/D轉換的信號通過數據線DA0-DA7讀到FPGA中。AD7606-4先發高字節,再發低字節;先對通道1進行轉換,再對通道2,最后對通道3進行轉換。
AD_RESET為高電平時A/D復位,AD_CONVST出現上升沿時,A/D開始模擬信號轉換,轉換時間最快為5us,設計者可以根據應用設計轉換時間,在本程序中轉換時間設置為10us。模擬信號轉換完的時間是2us,本程序中設計轉換開始5us后,FPGA發出AD_RD信號,可以把轉換完的數字信號讀到FPGA中。圖2是采用并行字節讀模式的時序圖。
2VHDL實現及仿真
在Quartus II集成開發環境中,采用VHDL實現FPGA對A/D的采集,系統時鐘選用24Mhz,以下程序實現轉換控制信號AD_CONVST和讀使能信號AD_CS:
if clk_global'event and clk_global='1' then
count<=count+1;
if count=2 then------------------實現轉換信號
AD_convst<='0';
elsif count>=3 and count<=239 then
AD_convst<='1';
end if;
if count>=120 and count<=134 then -----實現CS信號
CS<='0';
else
CS<='1';
end if;
if count>=239 then--計數器回零
count<=0;
end if;
end if;
仿真結果如圖3所示,其中AD_data_in是送給FPGA的AD轉換后的數字信號,AD1_data_out,AD2_data_out,AD3_data_out,表示三路通道輸出的16位數字信號,在本程序中只使用3路通道。
3結語
本文根據AD7606-4的時序要求,通過FPGA發出控制信號,并且用VHDL實現模數轉換的功能,通過功能仿真和時序仿真得到了正確的結果,并經過實際系統測試驗證了程序的正確性。本設計可以為需要高精度的A/D轉換提供一種良好的器件選擇。關于AD7606-4的詳細功能介紹請參考器件說明手冊。
參考文獻
[1]求是科技.CPLD/FPGA應用開發技術與工程實踐[M].人民郵電出版社,2005,1.
[2]楊躍.FPGA應用開發實戰技巧精粹[M].人民郵電出版社,2009,4.
[3]袁文波,張皓.FPGA應用開發,從實踐到提高[M].中國電力出版社,2007,6.
[4]潘松,黃繼業.EDA技術及VHDL[M].清華大學出版社,2005,10.