一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-05-20 08:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著EDA技術(shù)的發(fā)展,由于其在電子系統(tǒng)設(shè)計領(lǐng)域中的明顯優(yōu)勢,FPGA已經(jīng)在許多方面得到了廣泛應(yīng)用,特別是在無線通信領(lǐng)域,F(xiàn)PGA以其極強的實時性,指令軟件編程的極大靈活性贏得了巨大的市場。本文采用FPGA來設(shè)計一款廣泛應(yīng)用于計算機、Modem、數(shù)據(jù)終端以及許多其他數(shù)字設(shè)備之間的數(shù)據(jù)傳輸?shù)膶S卯惒讲⑿?a href="http://www.www27dydycom.cn/v/tag/13179/" target="_blank">通信接口芯片,實現(xiàn)了某一時鐘域(如66 MHz)的8位并行數(shù)據(jù)到另一低時鐘域(如40 MHz)16位并行數(shù)據(jù)的異步轉(zhuǎn)換,并且客戶可以根據(jù)自己的要求進行數(shù)據(jù)定義。完成數(shù)據(jù)在不同時鐘域間的正確傳遞的同時防止亞穩(wěn)態(tài)的出現(xiàn),保持系統(tǒng)的穩(wěn)定,是電路設(shè)計的關(guān)鍵。

1 時鐘域轉(zhuǎn)換中亞穩(wěn)態(tài)的產(chǎn)生

觸發(fā)器是數(shù)字電路設(shè)計中的一個重要元件,而觸發(fā)器工作過程中存在數(shù)據(jù)建立與保持時間的約束,如果這種約束得不到滿足,觸發(fā)器就會進入某個不確定狀態(tài)——亞穩(wěn)態(tài)。亞穩(wěn)態(tài)的存在可能導(dǎo)致連鎖反應(yīng),以致引起整個系統(tǒng)功能混亂。在單時鐘域電路設(shè)計中由于不存在時鐘之間的延遲和錯位,所以建立條件和保持條件的時間約束容易滿足。而在多時鐘域里由于各個模塊的異步性,則必須考慮亞穩(wěn)態(tài)的發(fā)生,如圖1所示。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

2 多時鐘域數(shù)據(jù)傳遞方案

多時鐘域傳遞的信號有兩種,其一為控制信號,其二為數(shù)據(jù)流信號。針對這兩種不同的信號,分別采取不同方案遏制系統(tǒng)墮入亞穩(wěn)態(tài)。對控制信號采用同步器裝置,即在2個不同的時鐘域之間插入同步器;而對于不同獨立時鐘域之間的數(shù)據(jù)流傳遞,為了避免異步時鐘域產(chǎn)生錯誤的采樣電平,采用FIFO存儲器作為其轉(zhuǎn)換接口,在輸入端口使用寫時鐘寫數(shù)據(jù),在輸出端口使用讀時鐘讀數(shù)據(jù),這樣就完成了異步時鐘域之間的數(shù)據(jù)交換。

芯片的總體邏輯框圖如圖2所示,圖中輸入輸出信號定義如表1所示。

從邏輯結(jié)構(gòu)上將芯片劃分為3塊:寫時鐘域I/OBUFFER、讀時鐘域I/O BUFFER及FIFO存儲器。I/O BUFFER的主要作用是對外部信號進行預(yù)處理,消除外部信號的毛刺,保證信號可靠并使外部的信號與時鐘信號同步,消除不穩(wěn)定的因素。根據(jù)信號的數(shù)目,BUFFER由相應(yīng)數(shù)目的多個D觸發(fā)器構(gòu)成。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

FIFO存儲器結(jié)構(gòu)框圖如圖3所示,他由雙端口存儲器(Dual Port RAM)、寫控制單元(Writc Control)和讀控制單元(Read Control)構(gòu)成。其中DUAL PORT RAM是由ISE6.0的一個編輯軟件CORE GENERATER自動生成,使用者只需設(shè)定RAM的端口數(shù)、內(nèi)存大小和瀆寫控制便可以生成一個適合程序的子模塊。由于讀寫時鐘屬于不同的時鐘域,滿幀信號Frame從寫控制單元向讀控制單元傳遞時必須采取同步器(Synchronizer)同步。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

2.1 寫控制單元設(shè)計

寫控制單元主要的功能是根據(jù)寫數(shù)據(jù)有效信號wdataen判斷輸入數(shù)據(jù)是否正確,在檢測到寫入數(shù)據(jù)幀的開始標(biāo)志位wsof后開始計數(shù)控制寫指針waddr的移動,將正確的數(shù)據(jù)寫入DUAL PORT RAM中,并在一幀數(shù)據(jù)寫滿后向讀控制單元發(fā)出寫數(shù)據(jù)滿幀信號wframe。為防止亞穩(wěn)態(tài)的出現(xiàn),設(shè)計中采取了兩個措施:一是采用鎖存器將幀頭信號wsof拉長,確保其被穩(wěn)定的采集;二是采用Gray編碼計數(shù)器替代普通二進制編碼計數(shù)器來控制寫指針waddr的移動,因為Gray碼相鄰兩個編碼之間有且只有1位發(fā)生變化從而抑制了競爭冒險的出現(xiàn)。

2.2 同步器設(shè)計

寫控制單元發(fā)出的寫數(shù)據(jù)滿幀信號wframe屬于控制信號,他從寫時域進入讀時域必須采用同步器實現(xiàn)信號同步,將寫時域的滿幀信號wframe變換為讀時域的滿幀信號rframe。由于信號是從高時鐘域(66 MHz)流向低時鐘域(40 MHz),因此采用如圖4所示的同步器。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

同步器時序圖如圖5所示,可見在寫時域的滿幀信號wframe經(jīng)過3個clka周期延后跨越到讀時鐘域。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

2.3 讀控制單元設(shè)計

數(shù)據(jù)從寫時域傳遞到讀時域,時鐘發(fā)生了變化,而且讀控制單元的行為受到寫控制單元及Dual Port RAM中數(shù)據(jù)的存儲情況的雙重制約,因此他的設(shè)計是整個芯片設(shè)計成功的關(guān)鍵。

由于當(dāng)Dual Port RAM中寫入一幀完整的正確數(shù)據(jù)后才能輸出,所以讀控制首先必須判斷Dual Port RAM一幀是否寫滿。榆測到滿幀信號rframe后,在等待輸出數(shù)據(jù)幀頭信號rfp到來后控制讀指針waddr移動讀出數(shù)據(jù),并置位rvalid表征輸出數(shù)據(jù)的可靠性。

部分程序沒計如下:

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

3 多時鐘域數(shù)據(jù)傳遞的FPGA實現(xiàn)

設(shè)計方案完成后選用Xilinx Spartan.II FPGA實現(xiàn)電路,并在XilinxISE6.0集成環(huán)境下用Modelsim5.7進行了電路仿真

圖6為寫使能信號dataen恒為有效值“1”的仿真結(jié)果截圖。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

可見,在寫使能信號dataen恒為有效值“1”的情況下,在寫時鐘clka控制下當(dāng)寫數(shù)據(jù)幀頭信號sof有效時,寫控制器開始寫入數(shù)據(jù),接收到連續(xù)8個數(shù)據(jù)后,寫控制器發(fā)出一個幀滿信號wframe。wframe信號經(jīng)過異步轉(zhuǎn)換后轉(zhuǎn)換成clkb時鐘域的信號。在讀控制器的控制下,當(dāng)clkb時鐘處于上升沿,并且檢測到讀出數(shù)據(jù)幀頭fp時,開始從outdata向外發(fā)送數(shù)據(jù),并將valid置為有效。

圖7為當(dāng)寫使能信號dataen變化時的仿真結(jié)果截圖。

可見,將dataen置低后,系統(tǒng)不再接受寫入數(shù)據(jù),所以也不再輸出數(shù)據(jù),valid被置為低電平,輸出數(shù)據(jù)無效。寫控制的使能端控制達到要求。

采用FPGA器件實現(xiàn)低時域數(shù)據(jù)異步轉(zhuǎn)換

4 結(jié) 語

針對異步并行通信接口芯片設(shè)計中涉及的多時鐘域的數(shù)據(jù)傳遞問題,本文采用FIFO存儲器來完成不同時鐘域之間數(shù)據(jù)流傳遞、同步器來完成控制信號傳遞的方案。仿真驗證結(jié)果表明,數(shù)據(jù)傳遞準(zhǔn)確、穩(wěn)定、可靠,沒有出現(xiàn)競爭冒險和亞穩(wěn)態(tài),完全達到了設(shè)計要求。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22036

    瀏覽量

    618112
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7648

    瀏覽量

    167300
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2039

    瀏覽量

    62127
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于FPGA異步FIFO的實現(xiàn)

    大家好,又到了每日學(xué)習(xí)的時間了,今天我們來聊一聊基于FPGA異步FIFO的實現(xiàn)。 一、FIFO簡介 FIFO是英文First In First Out 的縮寫,是一種先進先出的數(shù)據(jù)
    的頭像 發(fā)表于 06-21 11:15 ?6856次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>異步</b>FIFO的<b class='flag-5'>實現(xiàn)</b>

    基于FPGA器件實現(xiàn)異步FIFO讀寫系統(tǒng)的設(shè)計

    異步 FIFO 讀寫分別采用相互異步的不同時鐘。在現(xiàn)代集成電路芯片中,隨著設(shè)計規(guī)模的不斷擴大,一個系統(tǒng)中往往含有數(shù)個時鐘,多時鐘域帶來的一個問題就是,如何設(shè)計異步時鐘之間的接口電路。
    發(fā)表于 07-16 17:41 ?1352次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>器件</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>異步</b>FIFO讀寫系統(tǒng)的設(shè)計

    多時鐘域數(shù)據(jù)傳遞的Spartan-II FPGA實現(xiàn)

    FPGA來設(shè)計一款廣泛應(yīng)用于計算機、Modem、數(shù)據(jù)終端以及許多其他數(shù)字設(shè)備之間的數(shù)據(jù)傳輸?shù)膶S?b class='flag-5'>異步并行通信接口芯片,實現(xiàn)了某一時鐘域(如6
    發(fā)表于 09-07 09:16

    FPGA參賽作品】生理電信號同步多通道數(shù)據(jù)采集系統(tǒng)的設(shè)...

    【背景】針對當(dāng)前生理電信號采集設(shè)備多為異步數(shù)據(jù)采集設(shè)備,高速模擬復(fù)用開關(guān)無法實現(xiàn)理想開、關(guān)狀態(tài),各信號通道串?dāng)_較大,開關(guān)的開啟、關(guān)閉無法實現(xiàn)時域同步;依據(jù)數(shù)字信號處理理論:
    發(fā)表于 06-14 00:11

    采用FPGA的數(shù)字視頻接口轉(zhuǎn)換設(shè)備設(shè)計

    引言  本文從實際應(yīng)用的角度出發(fā),采用FPGA作為主控芯片,設(shè)計了一款數(shù)字視頻接口轉(zhuǎn)換設(shè)備,該設(shè)備針對于MT9M111這款數(shù)字圖像傳感器產(chǎn)生的ITU-R BT.656格式數(shù)據(jù)進行采集、
    發(fā)表于 04-17 07:00

    采用FPGA的數(shù)字視頻接口轉(zhuǎn)換設(shè)備

    作者:武漢大學(xué)物理科學(xué)與技術(shù)學(xué)院 趙東方 李雄 于心亮 程方敏引言本文從實際應(yīng)用的角度出發(fā),采用FPGA作為主控芯片,設(shè)計了一款數(shù)字視頻接口轉(zhuǎn)換設(shè)備,該設(shè)備針對于MT9M111這款數(shù)字圖像傳感器產(chǎn)生
    發(fā)表于 04-23 07:00

    采用FT245BM和FPGA實現(xiàn)USB接口設(shè)計

    USB數(shù)據(jù)與并行I/O口數(shù)據(jù)的交換緩沖區(qū)。FIFO實現(xiàn)與外界(微控制器、FPGA或其它器件)的接口,主要通過8根
    發(fā)表于 04-26 07:00

    采用FPGA實現(xiàn)數(shù)字視頻轉(zhuǎn)換接口設(shè)計

    引言   本文從實際應(yīng)用的角度出發(fā),采用FPGA作為主控芯片,設(shè)計了一款數(shù)字視頻接口轉(zhuǎn)換設(shè)備。 該設(shè)備針對于MT9M111這款數(shù)字圖像傳感器產(chǎn)生的ITU-R BT.656格式數(shù)據(jù)進行采
    發(fā)表于 05-05 09:29

    采用FPGA的數(shù)字視頻接口轉(zhuǎn)換設(shè)備設(shè)計

    引言本文從實際應(yīng)用的角度出發(fā),采用FPGA作為主控芯片,設(shè)計了一款數(shù)字視頻接口轉(zhuǎn)換設(shè)備,該設(shè)備針對于MT9M111這款數(shù)字圖像傳感器產(chǎn)生的ITU-R BT.656格式數(shù)據(jù)進行采集、色彩
    發(fā)表于 05-29 05:00

    等效時間采樣技術(shù)的原理作用及采用FPGA器件實現(xiàn)系統(tǒng)的設(shè)計

    的頻率,但是由于系統(tǒng)的ADC 器件時鐘速率并不能達到要求的高頻速率或者存儲處理速度等不能滿足要求因此我們可以采用低速ADC 器件通過等效時間采樣來對寬帶模擬信號進行數(shù)據(jù)采集從而使系統(tǒng)易
    發(fā)表于 10-21 16:43

    請問怎么采用FPGA和集成器件實現(xiàn)IJF編碼?

    IJF編碼是什么原理?如何實現(xiàn)IJF編碼?采用FPGA和集成器件實現(xiàn)IJF編碼
    發(fā)表于 04-13 06:56

    如何實現(xiàn)時域數(shù)據(jù)異步轉(zhuǎn)換?

    時鐘域轉(zhuǎn)換中亞穩(wěn)態(tài)是怎樣產(chǎn)生的?多時鐘域數(shù)據(jù)傳遞的FPGA實現(xiàn)
    發(fā)表于 04-30 06:06

    同步異步通信轉(zhuǎn)換的CPLD_FPGA設(shè)計

    同步異步通信轉(zhuǎn)換的CPLD_FPGA設(shè)計,有需要的下來看看
    發(fā)表于 12-16 22:13 ?8次下載

    采用FPGA器件和模數(shù)轉(zhuǎn)換實現(xiàn)A/D數(shù)據(jù)采集卡的設(shè)計

    可編程邏輯器件(又稱FPGA)EPM7128SQC100-7和AD公司的高速模數(shù)轉(zhuǎn)換器(A/D)AD9054BST-135來實現(xiàn)。
    的頭像 發(fā)表于 03-04 08:10 ?4067次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>FPGA</b><b class='flag-5'>器件</b>和模數(shù)<b class='flag-5'>轉(zhuǎn)換</b>器<b class='flag-5'>實現(xiàn)</b>A/D<b class='flag-5'>數(shù)據(jù)</b>采集卡的設(shè)計

    采用StratixⅡ FPGA器件提高加法樹性能并實現(xiàn)設(shè)計

    圖2列出了和傳統(tǒng)的4輸入LUT結(jié)構(gòu)的FPGA相比較,采用ALM的StratixⅡFPGA器件例化3輸入加法器的優(yōu)勢。從圖2中可以清楚地看出,對于同樣3個2 b
    發(fā)表于 03-03 10:45 ?1465次閱讀
    <b class='flag-5'>采用</b>StratixⅡ <b class='flag-5'>FPGA</b><b class='flag-5'>器件</b>提高加法樹性能并<b class='flag-5'>實現(xiàn)</b>設(shè)計