電子技術發展的數位化進程中,A/D轉換器性能起到了關鍵的作用,使用硬體描述語言來設計數字電路方便快捷,FPGA的時鐘頻率可高達300MHz以上,A/D轉換控制邏輯簡單,故可用FPGA器件進行控制設計。除了一些專用引腳外,FPGA晶片上幾乎所有引腳均可供用戶使用,這使得FPGA信號處理方案具有非常高性能I/O帶寬,大量的I/O引腳和存儲器讓系統擁有出色的並行處理能力,完成A/D轉換等功能。
1、系統設計本設計採用FPGA晶片XC3S250ETQG144來對TLC549進行採樣控制,並對採樣數據進行處理。
1.1、Spartan-3E型FPGAXC3S250ETQG144處理器是FPGA的Xilinx公司下Spartan-3E系列的一款中高端配置的低成本處理器,其具體參數如下圖所示:
圖1晶片參數
其單位邏輯單元的成本達到更低的水平,適用於對邏輯單元需求多,對I/O需求少的設計,埠電壓為3.3V、2.5V、1.2V,驅動電流最高16mA,支持DDR存儲接口,具有片上匹配終端的增強型差分信號[3],其與TLC549的連接管腳為10、11、15.
1.2、TLC549晶片介紹美國德州儀器公司生產的TLC549,是低價位、高性能8位串行A/D轉換晶片,它以8位開關電容逐次逼近A/D轉換器為基礎而構造的CMOSA/D轉換器,能通過3態數據輸出和模擬輸入與微處理器或其他外圍設備串行接口,僅用輸入/輸出時鐘(I/OCLOCK)和晶片選擇(CS)輸入作為數據控制,是低成本的測控應用系統。具備4MHz片內系統時鐘和軟硬體控制電路,最長轉換時間是17us,TLC549可以達到最快45000次/S的速率,總失調誤差最大為±0.5LSB,典型功耗值為6mW.差分參考電壓高阻輸入的方式,抗幹擾,可按比例量程校準轉換範圍,VREF-接地,VREF+—VREF-≥1V,TLC549適用於較小信號的採樣工作。
小編推薦:tlc549中文資料匯總_tlc549引腳圖及功能_工作原理_特性參數及典型應用電路程序
TLC549均有片內系統時鐘,該時鐘與I/OCLOCK是獨立工作的,無需特殊的速度或相位匹配,下圖是它的工作時序圖:
圖2TLC549工作時序圖
轉換過程需要36個系統時鐘周期,最大為17us,它開始於CS變為低電平之後I/OCLOCK的第8個下降沿。在CS變為低電平之後,最高有效位(A7)自動被放置在DATAOUT總線上。其餘的7位(A6-A0)在前7個I/OCLOCK下降沿由時鐘同步輸出。B7-B0以同樣的方式跟在其後。
1.3、設計原理TLC549的控制信號相對較少,用FPGA晶片XC3S250ETQG144對TLC549進行採樣控制及A/D轉換,控制器設計原理圖如圖3所示。
圖3 控制器設計原理框圖
通過3態數據輸出和模擬輸入與外圍設備串行接口,通過CLK和片選CS進行數據控制,模擬電壓值通過信號預處理端和濾波設計等進入到TLC549,通過FPGA的控制等功能,實現硬體功能上電壓值的8位數碼管顯示。TLC549的硬體連接如圖4所示。
圖4 TLC549與FPGA硬體連接圖
1腳為基準電壓輸入,可以採用LM317進行穩壓設計,為A/D轉換提供精確的時鐘基準源,1腳接2.5V,2腳接電位器,根據模擬電壓的輸入值,調整模擬電壓輸入,以此改變數據輸出顯示,3,4腳接地。通過圖3可以看到,晶片的CLK、CS、DATEOUT三條口線與FPGA主控晶片進行串行接口,實現A/D轉換的整個過程,其中8腳接+5V直流為晶片供電。
2、模塊設計與仿真利用VerilogHDL語言設計的TLC549轉換電路控制器的關鍵在於如何將TLC549的工作時序抽象成狀態轉移圖,從而由狀態機來實現。
狀態機是由寄存器和組合邏輯構成的硬體時序電路,其狀態只能在同一時鐘跳變的情況下才能從一個狀態轉向另一個狀態。它的步驟一般包括:邏輯抽象,得出狀態裝換圖;狀態化簡;狀態分配;選定觸發器的類型並求出狀態方程、驅動方程和輸出方程,按照方程得出邏輯圖。參照TLC549的工作時序圖,可得到圖5的TLC549的轉換電路控制器的狀態轉移圖,狀態機的每次跳變不但取決於各個輸入值,還跟當前狀態有關。
圖5 TLC549轉換電路控制器的狀態轉移圖
如圖所示,start狀態表示開始數據轉換,之後系統初始化,其中idle為空閒狀態、adc_ready為A/D轉換準備狀態、adc_receive為A/D數據的接收狀態、adc_conversion為A/D轉換進行狀態,adc_data_load為數據輸出狀態。系統初始化後,由片選端控制,進入空閒狀態,使能端置1,進入數據轉換準備狀態,CS信號拉低進入到數據接收狀態,隨著數據讀取完畢,A/D轉換繼續進行直至最後數據輸出轉換結束,這就是整個A/D轉換的流程。由此,可以著手於TLC549模塊的A/D轉換代碼編寫階段了。
設計輸入測試的為A/D轉換程序模塊,clock為系統時鐘,復位reset為高電平有效,enable為轉換使能,TLC549為串行數據輸入,clk為I/O時鐘,CS為片選控制端,data_out為轉換的數據輸出,數據信號同步輸入,數據輸出鎖存。圖6為頂層模塊圖。
圖6 TLC549頂層模塊圖
在完成verilogHDL代碼的輸入,程序調試後,經過分析、綜合,最後排除錯誤,以達到設計要求。隨後再進行波形仿真,在工程管理區將sourcesfor設置為simulation後,雙擊IsimSimulation下的SimulateBehavioralModel,系統會自動調用Isim仿真功能,仿真波形圖如圖7所示,通過與圖2的TLC549晶片的工作時序圖的相比較,發現該仿真圖達到了實際要求的效果。
圖7 仿真波形圖
從圖7的仿真波形可以看出,最上端為時鐘周期,初始化後,片選端cs_n轉換狀態data_ready為0表示轉換並未開始,5ns片選端後置1,使能端也為1,進入轉換準備狀態,和系統時鐘保持一致,轉換開始,隨後A/D轉換數據接收狀態,轉換繼續進行直至轉換數據輸出。
3、結語用VerilogHDL語言和Xilinx公司的FPGA晶片XC3S250ETQG144,設計了TLC549的採樣實例,該FPGA晶片通過並行接口的方式與計算機連接,體現了FPGA的高速度和VerilogHDL語言並行執行程序的特點,克服了傳統單片機A/D轉換速度慢的弊端,為具體的硬體設計提供了參考。
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴