<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于CPLD的120MHz高速A/D采集卡的設計

基于CPLD的120MHz高速A/D采集卡的設計

作者: 時(shí)間:2007-07-06 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了一種基于復雜可編程邏輯器件()的高速A/D卡的設計方法。給出了這種卡的硬件原理電路和主要的軟件設計思路。采用該設計方法設計的數據卡具有包括負延遲觸發(fā)等多種觸發(fā)方式,具有體積小,工作可靠,控制簡(jiǎn)單等特點(diǎn)。
關(guān)鍵詞:高速A/D;;負延遲觸發(fā);EPM7128;AD9054


  高速A/D采集技術(shù)已在許多領(lǐng)域得到愈來(lái)愈廣泛的應用,本文將詳細論述采用技術(shù)來(lái)實(shí)現高速A/D采集卡的設計方法,該采集卡具有包括負延遲觸發(fā)在內的多種觸發(fā)方式,采用CPLD復雜可編程邏輯器件(又稱(chēng)FPGA)EPM7128SQC100-7和AD公司的高速模數轉換器(A/D)AD9054BST-135來(lái)實(shí)現。

1 芯片介紹

1.1 EPM7128SQC100-7簡(jiǎn)介
  EPM7128SQC100-7內含128個(gè)宏單元(或2500個(gè)可用門(mén)),其引腳到引腳的最短傳輸延時(shí)為7ns,采用單+5V電源供電,可通過(guò) JTAG接口實(shí)現在線(xiàn)編程,并帶有可供84個(gè)用戶(hù)使用的I/O腳(其中4個(gè)為專(zhuān)用輸入腳)。該器件采用PQFP-100封裝。其中TDI、TDO、 TMS、TCLK腳為編程腳;GCLK、GOE、GCLEAR、REDIN腳為專(zhuān)用輸入腳;VCCINT、VCCIO腳接+5V電源;GND腳接地; I/O為用戶(hù)可編程輸入輸出腳。在I/O腳作輸出使用時(shí),可由用戶(hù)設定為0,1和Z三種狀態(tài)。

1.2 AD9054BST-135簡(jiǎn)介

  AD9054BST-135是一種低價(jià)位135MSPS的8位A/D轉換器,其模擬輸入電壓峰峰值為1V,且內置2.5V參考電壓,采用+5V單電源供電,并可與TTL電平接口,具有單8位或雙8位A/D轉換結果輸出模式,采用TQFP-44腳封裝形式,其內部結構如圖1所示,各管腳的定義如下:
AIN:模擬電壓輸入正端;
:模擬電壓輸入負端;
E
NCODE:時(shí)鐘輸入正端;
  :時(shí)鐘輸入負端,通常應通過(guò)電容耦合接地;
  :輸出數據模式設置引腳。該腳為1時(shí),采用單8位A/D轉換結果輸出模式。該腳為0時(shí),采用雙8位A/D轉換結果輸出模式;
DS:數據同步控制引腳,正脈沖輸入;
AD7~DA0:A/D轉換輸出;
D B7~DB0:A/D轉換輸出;
V REFOUT:+2.5V參考電壓輸出;
V REFIN:參考電壓輸入;
DVD:+5V電源輸入端;
GND:電源地。

使用時(shí),如將接地,則AD9054工作于雙8路數據輸出模式。上電后,DA7~DA0及DB7~DB0均以二分之一的ENCODE頻率(即/2)輸出A/D 轉換結果,因此從DA7~DA0及DB7~DB0讀取的A/D轉換結果,無(wú)法知曉DA口與DB口的數據所對應的采樣點(diǎn)在時(shí)序上的先后。這樣,需要加一個(gè)數據同步脈沖DS信號,并讓DS正脈沖的后沿后的4個(gè)時(shí)鐘周期上的DA口與DB口同步有效,即在DS后沿的第2N+1與2N+3個(gè)ENCODE上升沿期間輸出第K點(diǎn)采樣值的轉換結果;在DS后沿后第2N+2與2N+4個(gè)ENCODE上升沿期間輸出第K+1點(diǎn)采樣值的轉換結果(注:N≥1,K≥0,K=0對應的采樣值為DS下降沿后ENCODE第一次上升沿時(shí)刻所對應的采樣輸入值)。因此,在施加DS信號后就可以得知任一時(shí)刻A口數據與B口數據所對應的采樣點(diǎn)在時(shí)間上的先后順序,以便讀取有用的A/D轉換數據。

2 系統設計原理

  圖2是基于CPLD的高速 A/D采集卡的系統設計原理框圖。圖中,89C51送往EPM7128S的控制信號包括一個(gè)A/D啟動(dòng)信號SAD、一個(gè)讀SRAM信號RRD和一個(gè)地址加一控制脈沖ACLK。而EPM7128S送往AD9054的信號為一個(gè)DS同步信號,送往89C51的信號為轉換結束信號(接INT0)和超前觸發(fā)地址串行輸出信號SADR。

EPM7128S送往61128-15SRAM的信號包括讀信號RD、寫(xiě)信號WE、數據信號DINA0~7和DINB0~7以及地址信號ADR0~16。其中兩片SRAM的地址信號共用。為了節省EPM7128S的I/O口線(xiàn),可將61128-15的片選線(xiàn)接地。

QA信號為外觸發(fā)A/D轉換控制信號。

  在本文所介紹的A/D數據采集卡中,負延遲觸發(fā)存貯深度為2k字節。上電復位后, 89C51向EPM7128S發(fā)一個(gè)A/D啟動(dòng)信號時(shí),EPM7128S也會(huì )發(fā)一個(gè)DS同步脈沖給AD9054,在四個(gè)時(shí)鐘后,EPM7128S輸出WE 信號有效,同時(shí)將AD9054輸出的雙8位數據信號以60MHz的頻率經(jīng)鎖存處理后送往SRAM,每鎖存AD9054數據一次(2字節)將地址 ADR0~13加1。當地址為3FF時(shí)(即1k),清地址計數器以使其為零。此后,地址計數器仍以60MHz的頻率加1計數,而鎖存器仍以60MHz的頻率鎖存雙8位數據并寫(xiě)入SRAM。當地址為3FF時(shí)再一次清零,在外觸發(fā)信號QA到來(lái)之前,CPLD就這樣控制著(zhù)整個(gè)電路以使其在2k字節存貯深度內作超前循環(huán)采集。當某一時(shí)刻的QA信號到來(lái)時(shí),CPLD首先將此時(shí)的地址信號的前10位ADR0~9鎖存,隨后將地址計數器置為400H,而后地址計數器仍以 60MHz的頻率加1計數,而鎖存器也以60MHz的頻率鎖存雙8位數據并寫(xiě)入SRAM。當地址計數器為1FFFFH(即128k)時(shí),地址計數器停止計數,鎖存器停止鎖存數據并對外輸出高阻態(tài),CPLD向89C51送出轉換結束信號ADEND,并置WE信號無(wú)效。

當89C51收到ADEND中斷信號后,就可以讀取SRAM中的A/D數據以及CPLD中的超前地址ADR0~9。首先89C51將送出一個(gè)RRD信號給 EPM7128S,EPM7128S收到RRD信號后立即置RD信號有效,同時(shí)將地址計數器清零。此時(shí),兩片SRAM均輸出地址為0的單元的數據,同時(shí)由 CPLD的SADR線(xiàn)輸出負延遲觸發(fā)地址ADR0~9中的ADR0位。89C51則可通過(guò)P0和P2口由DINA和DINB分別讀取SRAM中的數據,并通過(guò)P1口由SADR讀地址ADR0位。此后89C51便向EPM7128S發(fā)出一個(gè)地址加一脈沖ACLK,EPM7128S在收到這個(gè)ACLK脈沖后使 ADR0~13加1,同時(shí)CPLD由SADR線(xiàn)輸出負延遲觸發(fā)地址ADR0~9中的ADR1位。這樣,89C51便可通過(guò)不斷地發(fā)ACLK脈沖來(lái)使P0、 P2口的DINA和DINB分別讀取SRAM中的數據,并通過(guò)P1口來(lái)由SADR讀負延遲觸發(fā)地址ADR0~9。

3 CPLD部分的設計

  由于EPM7128SQC100的內部邏輯電路是整個(gè)系統設計的關(guān)鍵,因此,了解EPM7128SQC100的內圖2基于CPLD的高速A/D采集卡統框圖基于復雜可編程邏輯器件(CPLD)的120MHz高速A/D采集卡的設計
部結構十分重要。圖3是其內部結構原理框圖。


圖3中有三個(gè)574鎖存器,其作用是將AD9054輸出的在時(shí)序上未對齊的DA、DB兩組數據變?yōu)闀r(shí)序上對齊的兩組數據DINA、DINB,圖4是其對齊操作時(shí)序圖。

將120MHz信號二分頻后所得到的60MHz信號可作為整個(gè)邏輯電路的工作頻率。工作時(shí),同步控制電路首先將外輸入信號與內部60MHz信號同步,然后送往各單元電路。地址計數器的工作情況有兩種:一是進(jìn)行A/D采集時(shí)以60MHz頻率計數,二是89C51讀數時(shí)以ACLK脈沖頻率計數。RD、WE發(fā)生電路的作用是當89C51發(fā)SAD信號時(shí),電路輸出WE信號有效,RD信號無(wú)效;而當89C51發(fā)RRD信號時(shí),電路輸出RD信號有效,WE信號無(wú)效。 DS信號發(fā)生電路的作用是在收到89C51的SAD信號時(shí)發(fā)送一個(gè)DS正脈沖。

10位移位寄存器的作用是當外觸發(fā)信號QA到達時(shí)將地址計數器中的ADR0~9鎖存,當收到RRD信號后,系統每接收一個(gè)ACLK脈沖便將寄存器移位輸出一次,順序是低位在前。

4 單片機的軟件設計

單片機的軟件設計主要是負責把各種控制信號和數據送給CPLD,并把采集到的數據通過(guò)接口送到上位機或其它設備。本卡中的接口有串口和并口兩種類(lèi)型。對CPLD的操作的軟件流程框圖如圖5所示。

  由于采用了負延遲觸發(fā),所以由SRAM所讀取的256k字節并不是按時(shí)間的先后順序存放的,因此必須進(jìn)行重新排序整理。

5 注意事項

  在利用本文的設計方法進(jìn)行120MHz A/D設計時(shí)應注意以下幾點(diǎn):
(1)應選用高速器件。
 ?。?
)電路中的器件布局要合理,高頻信號線(xiàn)應盡量的短。
 ?。?)進(jìn)行時(shí)序分析時(shí)應充分考慮器件延時(shí),必要時(shí)應考慮長(cháng)線(xiàn)傳輸延時(shí),這也是高頻信號線(xiàn)應盡量短些的原因之一。
 ?。?)盡量采用同步設計。也就是說(shuō)整個(gè)電路要盡最大可能按某一高頻時(shí)鐘同步工作。本電路的同步時(shí)鐘為60MHz。
  
(5)電路內部要盡量濾去毛刺。特別是觸發(fā)器、計數器的時(shí)鐘信號、清零信號和置位信號,更應如此。

參考文獻

1.齊懷印,盧錦.高級邏輯器件與設計.北京:電子工業(yè)出版社,1996
2.閻石.數字電子技術(shù)基礎.北京:高等教育出版社.1996
3.陳龍三.8051單片機C語(yǔ)言控制與應用.北京: 清華大學(xué)出版社,1999



關(guān)鍵詞: CPLD 120 MHz 采集

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>