新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA設(shè)計(jì)經(jīng)驗(yàn)之邊沿檢測

FPGA設(shè)計(jì)經(jīng)驗(yàn)之邊沿檢測

作者: 時(shí)間:2017-08-17 來源:網(wǎng)絡(luò) 收藏

  在同步電路設(shè)計(jì)中,是必不可少的!

本文引用地址:http://butianyuan.cn/article/201708/363132.htm

  例如:在一個時(shí)鐘頻率16MHz的同步串行總線接收電路里,串行總線波特率為1Mbps。在串行總線的發(fā)送端是在同步時(shí)鐘(1MHz)的上升沿輸出數(shù)據(jù),在接收端在同步時(shí)鐘的下降沿對輸入數(shù)據(jù)進(jìn)行接收采樣。在這個接收電路里檢測同步時(shí)鐘的下降沿是必不可少的。假設(shè)主時(shí)鐘-clk,同步時(shí)鐘-rck,同步數(shù)據(jù)-data。

  有些人在的時(shí)候就喜歡這樣做:

    

 

  但是大家忽略了一種情況,就是clk與rck之間比沒有必然的同步關(guān)系,當(dāng)rck的下降沿剛好略滯后于clk的上升沿(大概幾個ns),這樣就會使高電平 保持時(shí)間不足,就會發(fā)現(xiàn)在本時(shí)鐘上升沿時(shí)還是rck_dly=‘1’ and rck=‘1’,而在下一個時(shí)鐘的上升沿來的時(shí)候,就會出現(xiàn)rck_dly=‘0’ and rck=‘0’,所以就不會有rck_dly=‘1’ and rck=‘0’的情況出現(xiàn)!! 從而導(dǎo)致丟失數(shù)據(jù)。

  如果用下面的方法就可以避免上面的情況,并且可以做到正確無誤地接收數(shù)據(jù):

    

 

  至于以上電路為什么就可以克服上面出現(xiàn)的情況,就留給大家分析了。

  不得不承認(rèn)后一種方法所耗的資源要比前一種方法多(一個觸發(fā)器),但是就可以大大提高可靠性,這絕對是物有所值!!



關(guān)鍵詞: FPGA 邊沿檢測

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉