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