關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于FPGA的多通道串行A/D轉換器的控制器設計

        基于FPGA的多通道串行A/D轉換器的控制器設計

        作者: 時間:2009-10-30 來源:網絡 收藏

        隨著現代電子技術的應用和發展,越來越多的電子應用由模擬系統向數字系統轉變,而A/D為模擬系統和數字系統的界面,承擔著模擬信號轉變為數字信號的任務,在一些多路信號采集系統和實時數字信號處理系統中,A/D轉換的多路擴展、高精度、低成本、實時性顯得越來越重要。在一般信號采集系統中,由單片機或微對高精度A/D進行控制,通常采用軟件模擬A/D時序的方法。因此增加了CPU的負擔,降低了CPU的工作效率,在多片A/D轉換器多擴展應用中,降低了信號采集的實時性。

        本文引用地址:http://www.104case.com/article/163508.htm

        現場可編程門陣列(Field ProgrammableGate Array)是20世紀80年代中期在PAL,GAL等邏輯器件的基礎上發展起來的一種可編程邏輯器件,其特點是高集成度、高速和高可靠性,人員可以現場修改器件的邏輯功能。VHDL(VHSIC Hardvcare Description Language)是目前通用的硬件描述語言之一,可用來描述一個數字電路的輸入、輸出以及相互間的行為與功能。

        的高集成度和高速的特性,使之相對于單片機和微,更適合用于對高速A/D器件的采樣控制。本文一種的高速輸入/輸出A/D轉換器的,該控制器完成對ADS7844芯片的采樣控制,提高了采樣的實時性、減輕了主CPU的運行負擔。

        2 ADS7844功能介紹

        ADS7844是Burr_Brown公司推出的一種高性能、寬電壓、低功耗的12 b數模轉換器。它有8個模擬輸入端,可用軟件編程為8單端輸入A/D轉換器或4差分輸入A/D轉換器,其轉換率高達200 kHz,而線性誤差和差分誤差最大僅為±1 LSB。ADS7844在電源電壓為2.7~5 V之間均能正常工作,最大工作電流為1 mA,進入低功耗狀態后的耗電僅為3μA。ADS7844通過6線接口與CPU進行通信,接口簡單方便。

        2.1 ADS7844的引腳功能

        CH0~CH7:模擬輸入端,當器件被設置為單端輸入時,這些引腳可分別與信號地COM構成8通道單端輸入A/D轉換器;當器件被設置為差分輸入時,利用CH0-CH1,CH2-CH3,CH4-CH5,CH6-CH7可構成4通道差分輸入A/D轉換器;

        COM:信號地;

        Vref:參考電壓輸入端,最大值為電源電壓;

        CS:片選端、低電平有效、該腳為高電平時,其他數字接口呈三態;

        Dclk:外部時鐘輸人端,在時鐘作用下,CPU將控制字寫入ADS7844,并將轉換結果從中讀出;

        Din:串行數據輸入端,在片選有效時,控制字在Dclk上升沿被逐位鎖入ADS7844;

        Dout:串行數據輸出端,在片選有效時,轉換結果在DcIk的下降沿開始被逐位從ADS7844移出;

        BUSY:“忙”信號輸出端,在接收到控制字的第一位數據后變低,只有在轉換結束且片選有效時,該腳才輸出一個高脈沖;

        SHDN:電源關閉端、低電平有效。當SHDN為低電平時,ADS7844進入低功耗狀態;

        Vcc,GND:分別為電源端和數字地。

        2.2 ADS7844的控制字及轉換時序

        ADS7844的控制字如表1所述。

        ADS7844的控制字共有8位,其中S是起始位,控制字的起始位總為“1”。A2~A0是通道選擇位,在單端輸入時分別對應8個通道,而對于差分輸入,000~011分別對應CH0-CH1,CH2-CH3,CH4-CH5,CH6-CH7,而100~111則分別對應CH0-CH1,CH1-CH0,CH3-CH2,CH5-CH4,CH7-CH6。Bit3沒有定義。SGL/DIF是模式控制位,該位為“1”時是單端輸入模式,為“0”時是差分輸入模式。PD1和PD0是電源關閉模式控制位,若為“00”,則表示ADS7844在不進行數據轉換時自動進入電源關閉模式,若為“11”,芯片則始終處于電源開啟模式。

        ADS7844有多種轉換時序,基本時序如圖1所示。

        從圖1中可見,一個轉換周期需要24個時鐘周期,其中8個用于輸入控制字,16個用于讀取轉換結果。控制字的所有位在時鐘上升沿被鎖入芯片,轉換結果在時鐘的下降沿被逐位移出。所有移人和移出的數據都是高位在前、低位在后。需要說明的是,ADS7844是12位A/D轉換器,其轉換結果只有12位,故在移出12位結果后,還需送入4個時鐘來完成整個轉換過程,這4個多余的時鐘移出的數據為“0”,使用時不應作為轉換結果處理。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高唐县| 洛阳市| 通城县| 徐闻县| 彭水| 杭州市| 黄梅县| 泸溪县| 望城县| 济宁市| 九江县| 吉安县| 保定市| 日喀则市| 达日县| 卢氏县| 曲阳县| 岳阳市| 万安县| 楚雄市| 辽阳市| 郓城县| 安宁市| 忻州市| 海口市| 历史| 安义县| 简阳市| 乌兰县| 沙田区| 天祝| 天镇县| 新巴尔虎右旗| 无极县| 安国市| 唐海县| 资中县| 海丰县| 辽中县| 山阳县| 渑池县|