隨著數(shù)字信號處理芯片DSP技術(shù)的發(fā)展,信號處理的速度越來越快,容量越來越大,為了配合不同時鐘域之間的數(shù)據(jù)傳輸,必須使用FIFO來達到數(shù)據(jù)匹配的目的,從而提高系統(tǒng)性能。 1 系統(tǒng)的總體設計 系統(tǒng)主要由信號采集電路AD,F(xiàn)IFO,CPLD和TI公司數(shù)字信號處理芯片TMS320C25409組成。可以采集32路模擬量,64路開關量。接收到的模擬信號首先要通過運放放大、采樣、然后通過模擬電子開關、再實現(xiàn)A/D轉(zhuǎn)換,轉(zhuǎn)換的數(shù)據(jù)經(jīng)FIFO送至DSP處理,CPLD負責控制數(shù)據(jù)采集、A/D轉(zhuǎn)換和數(shù)據(jù)讀寫的時序。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。 系統(tǒng)中使用了2片高速A/D轉(zhuǎn)換芯片AD976,AD976是AD公司生產(chǎn)的模數(shù)轉(zhuǎn)換器,它是采用電荷重分布技術(shù)的逐次逼近型模數(shù)轉(zhuǎn)換器,F(xiàn)IFO選用了IDT公司的IDT7202。它具有輸入和輸出兩套數(shù)據(jù)線,獨立的讀/寫地址指針,在讀/寫脈沖的控制下順序地從雙口FIFO讀/寫數(shù)據(jù),讀/寫地址指針均從第一個存儲單元開始,直到最后一個存儲單元,然后又回到第一個存儲單元。系統(tǒng)采用了2片IDT7202將數(shù)據(jù)寬度擴展為16位,DO~D1為64路開關量數(shù)據(jù);D2~D15為32路模擬量數(shù)據(jù)。在系統(tǒng)工作時,IDT7202內(nèi)部的仲裁電路通過對讀指針和寫指針的比較,相應給出FIFO的空(EF)和滿(FF)狀態(tài)指示;CPLD可以根據(jù)所獲得的FIFO狀態(tài)標志控制FIFO的讀/寫時序,實現(xiàn)對FIFO的讀/寫操作。 2 FIFO芯片IDT7202的介紹 FIFO(First In First Out)簡單說就是指先進先出。作為一種新型大規(guī)模集成電路,F(xiàn)IFO芯片以其靈活、方便、高效的特性,逐漸在高速數(shù)據(jù)采集、高速數(shù)據(jù)處理、高速數(shù)據(jù)傳輸以及多機處理系統(tǒng)中得到越來越廣泛的應用。IDT7202是一種高速、低功耗、雙端口存儲器,輸入、輸出有9位數(shù)據(jù),芯片容量為lK×9 b,輸入/輸出端口由單獨的時鐘和使能信號控制,具有“空”、“滿”、“半滿”和“幾乎空、幾乎滿”標志。IDT7202的9位輸入/輸出端口由單獨的時鐘和使能信號控制。輸入端口由寫使能信號(W)控制,當寫使能W為低時,數(shù)據(jù)被連續(xù)寫入FIFO存儲器中。同樣,輸出端口由讀使能信號(R)控制,而且有一個輸出使能引腳(OE)。IDT7202還有一個復位端(RS),當RS為低時,IDT7202的各個標志位全部回到原始狀態(tài)。 3 FIFO與CPLD的接口設計 ATERA公司的可編程邏輯器件支持多種I/O電平標準,包括3.3 V,2.5 V和1.8 v的LVTTL和LVCMOS電平。由于FIFO必須是5 V供電,所以CPLD將數(shù)據(jù)從FIFo讀人內(nèi)部存儲器時,需要經(jīng)過一個電平轉(zhuǎn)換芯片。系統(tǒng)選用了SN74LVCl*5A具有三態(tài)輸出的16位總線收發(fā)器,它支持8/16位數(shù)據(jù)的雙向傳輸。 在FIFO與CPLD數(shù)據(jù)通信接口設計中,CPLD主要輸出控制時序到IDT7202的復位、寫和讀端口,實現(xiàn)A/D轉(zhuǎn)換數(shù)據(jù)到FIFO的存儲,并將數(shù)據(jù)從FIFO讀入CPLD的內(nèi)部存儲器。一旦CPLD檢測到兩個AD976的“BUSY”信號都為高電平,且延時滿足,CPLD就使FIFO的寫信號“W”輸出為低電平,允許向FIFlO中寫入數(shù)據(jù)。同時檢測FIFO的滿標志信號FF。若該信號為低,則說明FIFO已經(jīng)寫滿,此時,CPLD輸出讀時序給該FIFO,向FIFO中讀數(shù)據(jù),同時檢測FIFO的空標志信號EF,若該信號為低,則說明FIFO中數(shù)據(jù)已經(jīng)讀空,不允許讀數(shù)據(jù),除非再有數(shù)據(jù)寫入后。本系統(tǒng)中采用兩片IDT7202,它們的復位、寫和讀端口分別聯(lián)在一起,數(shù)據(jù)同時讀寫。數(shù)據(jù)DO~D8從第一片輸出,D9~D15從第二片輸出,D16,D17空的兩位數(shù)據(jù)接地。DO~D1為64路開關量數(shù)據(jù),64路開關量數(shù)據(jù)由8片8D鎖存器74LS373鎖存直接送至CPLD,開關量采樣時序、路數(shù)判別由CPLD來實現(xiàn)。 IDT7202的異步讀寫操作時序如圖2所示,各參數(shù)說明見表1。 4 FIFO與AD976接口設計 本系統(tǒng)最多可接32路模擬量,需使用兩片AD976芯片,轉(zhuǎn)換后的16位數(shù)據(jù)分別送入兩個FIFO中。當兩片AD976中的任意一片中的“BUSY”信號為低電平時,進行模數(shù)轉(zhuǎn)換,只有當“BUSY”為高時,數(shù)據(jù)才有可能寫入至FIFO中,但數(shù)據(jù)是否寫入到FIFO中,由FIFO的寫使能信號來決定,當CPLD發(fā)出寫使能信號有效時,轉(zhuǎn)換數(shù)據(jù)才能存儲到FIFO中。A/D轉(zhuǎn)換數(shù)據(jù)的輸出和轉(zhuǎn)換時鐘有一定的相位差,在CPLD內(nèi)部可通過延時或時鐘管理器來滿足建立時間和保持時間,保證數(shù)據(jù)不失碼地傳輸?shù)紽IFO中。FIFO與AD976均采用5 V電源,故數(shù)據(jù)線直接相連即可,為了減小外界對數(shù)據(jù)線的干擾,在數(shù)據(jù)線之間串接一個100~200 Ω的小電阻。 5 結(jié) 語 系統(tǒng)地介紹了一種多路數(shù)據(jù)采集系統(tǒng)中FIFO的設計方法。系統(tǒng)可以采集32路模擬量,64路開關量。系統(tǒng)具有抗干擾強、可靠性高、失碼率低等優(yōu)點。該系統(tǒng)可用于采集量比較多的設備中,已在電力故障監(jiān)測裝置中得到廣泛的應用。 |