• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > EDA/PCB > 設計應用 > 多路數據采集系統中FIFo的設計

    多路數據采集系統中FIFo的設計

    作者: 時間:2009-05-15 來源:網絡 收藏

    摘 要:首先介紹了的總體設計、FIFO芯片IDT7202。然后分別分析了FIFO與CPLD、AD接口的設計方法。由16位模數轉換芯片AD976完成模擬量至位數字量的轉換,由ATERA公司的可編程邏輯器件EPM7256A完成對數據的緩存和傳輸的各種時序控制以及開關量采樣時序、路數判別。采用FIFO器件作為高速A/D與DSP處理器間的數據緩沖,有效地提高了處理器的工作效率。
    關鍵詞:IDT7202;CPLD;FIFO;電路設計

    本文引用地址:http://www.czjhyjcfj.com/article/192044.htm


    隨著數字信號處理芯片DSP技術的發展,信號處理的速度越來越快,容量越來越大,為了配合不同時鐘域之間的數據傳輸,必須使用FIFO來達到數據匹配的目的,從而提高性能。


    1 的總體設計
    系統主要由信號采集電路AD,FIFO,CPLD和TI公司數字信號處理芯片TMS320C25409組成。可以采集32路模擬量,64路開關量。接收到的模擬信號首先要通過運放放大、采樣、然后通過模擬電子開關、再實現A/D轉換,轉換的數據經FIFO送至DSP處理,CPLD負責控制數據采集、A/D轉換和數據讀寫的時序。系統結構框圖如圖1所示。

    系統中使用了2片高速A/D轉換芯片AD976,AD976是AD公司生產的模數轉換器,它是采用電荷重分布技術的逐次逼近型模數轉換器,FIFO選用了IDT公司的IDT7202。它具有輸入和輸出兩套數據線,獨立的讀/寫地址指針,在讀/寫脈沖的控制下順序地從雙口FIFO讀/寫數據,讀/寫地址指針均從第一個存儲單元開始,直到最后一個存儲單元,然后又回到第一個存儲單元。系統采用了2片IDT7202將數據寬度擴展為16位,DO~D1為64路開關量數據;D2~D15為32路模擬量數據。在系統工作時,IDT7202內部的仲裁電路通過對讀指針和寫指針的比較,相應給出FIFO的空(EF)和滿(FF)狀態指示;CPLD可以根據所獲得的FIFO狀態標志控制FIFO的讀/寫時序,實現對FIFO的讀/寫操作。


    2 FIFO芯片IDT7202的介紹
    FIFO(First In First Out)簡單說就是指先進先出。作為一種新型大規模集成電路,FIFO芯片以其靈活、方便、高效的特性,逐漸在高速數據采集、高速數據處理、高速數據傳輸以及多機處理系統中得到越來越廣泛的應用。IDT7202是一種高速、低功耗、雙端口存儲器,輸入、輸出有9位數據,芯片容量為lK×9 b,輸入/輸出端口由單獨的時鐘和使能信號控制,具有“空”、“滿”、“半滿”和“幾乎空、幾乎滿”標志。IDT7202的9位輸入/輸出端口由單獨的時鐘和使能信號控制。輸入端口由寫使能信號(W)控制,當寫使能W為低時,數據被連續寫入FIFO存儲器中。同樣,輸出端口由讀使能信號(R)控制,而且有一個輸出使能引腳(OE)。IDT7202還有一個復位端(RS),當RS為低時,IDT7202的各個標志位全部回到原始狀態。


    3 FIFO與CPLD的接口設計
    ATERA公司的可編程邏輯器件支持多種I/O電平標準,包括3.3 V,2.5 V和1.8 v的LVTTL和LVCMOS電平。由于FIFO必須是5 V供電,所以CPLD將數據從讀人內部存儲器時,需要經過一個電平轉換芯片。系統選用了SN74LVCl6245A具有三態輸出的16位總線收發器,它支持8/16位數據的雙向傳輸。
    在FIFO與CPLD數據通信接口設計中,CPLD主要輸出控制時序到IDT7202的復位、寫和讀端口,實現A/D轉換數據到FIFO的存儲,并將數據從FIFO讀入CPLD的內部存儲器。一旦CPLD檢測到兩個AD976的“BUSY”信號都為高電平,且延時滿足,CPLD就使FIFO的寫信號“W”輸出為低電平,允許向FIFlO中寫入數據。同時檢測FIFO的滿標志信號FF。若該信號為低,則說明FIFO已經寫滿,此時,CPLD輸出讀時序給該FIFO,向FIFO中讀數據,同時檢測FIFO的空標志信號EF,若該信號為低,則說明FIFO中數據已經讀空,不允許讀數據,除非再有數據寫入后。本系統中采用兩片IDT7202,它們的復位、寫和讀端口分別聯在一起,數據同時讀寫。數據DO~D8從第一片輸出,D9~D15從第二片輸出,D16,D17空的兩位數據接地。DO~D1為64路開關量數據,64路開關量數據由8片8D鎖存器74LS373鎖存直接送至CPLD,開關量采樣時序、路數判別由CPLD來實現。
    IDT7202的異步讀寫操作時序如圖2所示,各參數說明見表1。

    4 FIFO與AD976接口設計
    本系統最多可接32路模擬量,需使用兩片AD976芯片,轉換后的16位數據分別送入兩個FIFO中。當兩片AD976中的任意一片中的“BUSY”信號為低電平時,進行模數轉換,只有當“BUSY”為高時,數據才有可能寫入至FIFO中,但數據是否寫入到FIFO中,由FIFO的寫使能信號來決定,當CPLD發出寫使能信號有效時,轉換數據才能存儲到FIFO中。A/D轉換數據的輸出和轉換時鐘有一定的相位差,在CPLD內部可通過延時或時鐘管理器來滿足建立時間和保持時間,保證數據不失碼地傳輸到FIFO中。FIFO與AD976均采用5 V電源,故數據線直接相連即可,為了減小外界對數據線的干擾,在數據線之間串接一個100~200 Ω的小電阻。

    5 結 語
    系統地介紹了一種系統中FIFO的設計方法。系統可以采集32路模擬量,64路開關量。系統具有抗干擾強、可靠性高、失碼率低等優點。該系統可用于采集量比較多的設備中,已在電力故障監測裝置中得到廣泛的應用。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 武隆县| 滕州市| 浦北县| 南开区| 鄂托克前旗| 岳阳县| 清镇市| 开平市| 沙田区| 吐鲁番市| 蒙山县| 错那县| 霍城县| 包头市| 健康| 闸北区| 林周县| 永泰县| 桃源县| 泊头市| 河间市| 龙游县| 上栗县| 砚山县| 太仓市| 绿春县| 天柱县| 垣曲县| 济阳县| 喀喇| 九龙坡区| 临沭县| 鄂尔多斯市| 渭源县| 于都县| 兴义市| 宝清县| 保康县| 财经| 海原县| 涞水县|