新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于最佳接收的UART的設(shè)計(jì)與實(shí)現(xiàn)

基于最佳接收的UART的設(shè)計(jì)與實(shí)現(xiàn)

作者:何健標(biāo) 王宏遠(yuǎn) 林靜宜 李眾奇 時(shí)間:2008-05-28 來源:電子技術(shù)應(yīng)用 收藏

  為了保證接收器能抵御一定程度的干擾而 進(jìn)行正確的同步,檢測(cè)同步的門限不能取N。假定同步檢測(cè)的門限定為(N-3),則會(huì)出現(xiàn)這樣的問題:如果接收到的信號(hào)波形良好,而又采用(N-3)作為檢測(cè)同步門限,則得到的判決信號(hào)實(shí)際上偏離了數(shù)字相關(guān)器的最佳判決時(shí)刻,使判決器誤判的可能性增加。較好的解決辦法是增大單個(gè)碼元周期內(nèi)的采樣次數(shù)N,使同步檢測(cè)門限(N-3)與判決器判決門限N/2有較大距離,從而使后端的判決器有更好的抗干擾性能。根據(jù)實(shí)際測(cè)試的經(jīng)驗(yàn),取N為16,以13作為同步檢測(cè)門限,以8作為判決門限。這樣既能有效防止因干擾而造成的漏同步,又能保證后端的數(shù)據(jù)判決有較好的抗干擾性能。

本文引用地址:http://www.butianyuan.cn/article/83208.htm

  由上所述,實(shí)際上是對(duì)接收到的16個(gè)采樣值進(jìn)行譯碼,當(dāng)有13個(gè)0時(shí)表示檢測(cè)到同步,并將此時(shí)得到的判決信號(hào)提供給后端的判決器進(jìn)行數(shù)據(jù)判決。在物理上這就是一個(gè)16輸入的組合電路。由于有豐富的時(shí)序邏輯資源而缺乏組合邏輯資源,因此該電路模塊若是在上實(shí)現(xiàn)要耗用大量的邏輯資源,所以需要對(duì)該模塊的邏輯設(shè)計(jì)進(jìn)行優(yōu)化。

  的原則是充分利用 邏輯資源豐富的特點(diǎn),以相同功能的時(shí)序電路替代這個(gè)龐大的組合電路。如圖8所示,輸入信號(hào)RXD經(jīng)過D觸發(fā)器采樣并經(jīng)過一個(gè)反相器后做為使能信號(hào)送給下一級(jí)的模13計(jì)數(shù)器(即對(duì)D觸發(fā)器采樣得到的低電平計(jì)數(shù)),這樣就可以用時(shí)序統(tǒng)計(jì)邏輯來替代原來的組合統(tǒng)計(jì)邏輯。對(duì)FPGA,這樣的時(shí)序電路只需要耗用少數(shù)幾個(gè)D觸發(fā)器,可以極大地節(jié)省資源。然而時(shí)序統(tǒng)計(jì)邏輯可能會(huì)由于對(duì)隨機(jī)脈沖干擾帶來的反常低電平的采樣積累而產(chǎn)生誤同步,所以需要同時(shí)對(duì)輸入信號(hào)RXD經(jīng)過D觸發(fā)器的采樣得到的高電平進(jìn)行計(jì)數(shù)。若得到連續(xù)多個(gè)不同長度(圖7中長度為8)的高電平,則說明正在接收的不是Sync位,即使采樣得到了低電平,也是干擾信號(hào),這時(shí)就要對(duì)模13計(jì)數(shù)器復(fù)位,以防止干擾(低電平的干擾)的累積產(chǎn)生誤同步。

       

  2.2 數(shù)字相關(guān)器的設(shè)計(jì)優(yōu)化

  數(shù)字相關(guān)器的數(shù)學(xué)表達(dá)式為:

        

  這時(shí)乘法器實(shí)際上是不需要的,數(shù)字相關(guān)器的輸出是最近的N(N=16)個(gè)輸入采樣(即輸入信號(hào)RXD的采樣)的疊加。輸入信號(hào)RXD的采樣是1比特量化,其值為邏輯1(高電平),或邏輯0(低電平)。所以對(duì)輸入采樣的疊加可以用計(jì)數(shù)器實(shí)現(xiàn):邏輯1使計(jì)數(shù)器計(jì)數(shù)加1,邏輯0則保持計(jì)數(shù)器的值不變。這樣,復(fù)雜的數(shù)字相關(guān)器就可以用一個(gè)計(jì)數(shù)器實(shí)現(xiàn)。

  圖9為經(jīng)過的數(shù)字相關(guān)器和判決器的電路。RXD經(jīng)過D觸發(fā)器(一個(gè)碼元周期采樣N=16 次)送入數(shù)字相關(guān)器。該數(shù)字相關(guān)器在邏輯設(shè)計(jì)上被優(yōu)化為一個(gè)計(jì)數(shù)器,對(duì)D觸發(fā)器輸出的邏輯1進(jìn)行統(tǒng)計(jì)計(jì)數(shù)。當(dāng)送來判決信號(hào)時(shí),判決器根據(jù)當(dāng)時(shí)數(shù)字相關(guān)器的計(jì)數(shù)結(jié)果進(jìn)行硬判決:計(jì)數(shù)結(jié)果≥8(N/2)即為邏輯1,否則為邏輯0(邏輯上把計(jì)數(shù)結(jié)果的Count[3]和Count[4]作邏輯或運(yùn)算為抽樣判決結(jié)果輸出)。判決信號(hào)同時(shí)還要對(duì)數(shù)字相關(guān)器(即計(jì)數(shù)器)復(fù)位,因?yàn)檫@同時(shí)是新碼元接收周期的開始,使數(shù)字相關(guān)器重新進(jìn)行計(jì)數(shù)疊加。

  3 基于FPGA的設(shè)計(jì)實(shí)現(xiàn)

  根據(jù)功能劃分為波特率控制器、發(fā)送器和接收器三個(gè)模塊。圖10是的整體設(shè)計(jì)框圖。Out8_RxData[7..0]和Out_RxDateValid是接收器收到數(shù)據(jù)后輸出的數(shù)據(jù)及其使能信號(hào)。而In8_TxData[7..0]和In_TxDataEna是發(fā)送器要發(fā)送的數(shù)據(jù)及輸入使能信號(hào)。校驗(yàn)參數(shù)設(shè)置包括是否需要校驗(yàn)、奇偶校驗(yàn)等。

        

  3.1 波特率控制器的設(shè)計(jì)

  波特率控制器根據(jù)波特率控制參數(shù)的設(shè)置,為接收器和發(fā)送器提供工作使能信號(hào),這種工作使能信號(hào)的頻率決定了UART工作的波特率。從邏輯設(shè)計(jì)的角度看,波特率控制器實(shí)質(zhì)上是一個(gè)可變模計(jì)數(shù)器,波特率控制參數(shù)調(diào)整計(jì)數(shù)器的模,從而為接收器和發(fā)送器提供各種符合通信波特率要求的工作使能信號(hào)。

  3.2 發(fā)送器的設(shè)計(jì)

  發(fā)送器在接收到并行發(fā)送數(shù)據(jù)后,將數(shù)據(jù)進(jìn)行并串變換,按照波特率控制器提供的工作使能信號(hào)的速率,將數(shù)據(jù)及奇偶校驗(yàn)位(是否發(fā)送校驗(yàn)位根據(jù)參數(shù)設(shè)置)逐位發(fā)送。發(fā)送器在邏輯設(shè)計(jì)上是一個(gè)有限狀態(tài)機(jī),圖11是發(fā)送器狀態(tài)跳轉(zhuǎn)圖。

        

  3.3 接收器的設(shè)計(jì)

  接收器的邏輯框圖見圖5,其中同步模塊、數(shù)字相關(guān)器和判決器已詳細(xì)介紹。下面介紹數(shù)據(jù)接收模塊。數(shù)據(jù)接收模塊負(fù)責(zé)將判決器的判決輸出逐位接收,然后將接收到的串行位串轉(zhuǎn)換成8位的字節(jié),根據(jù)校驗(yàn)的參數(shù)進(jìn)行設(shè)置。如果無需校驗(yàn),則直接輸出收到的字節(jié);如果需要校驗(yàn),則根據(jù)設(shè)置進(jìn)行奇偶校驗(yàn)。如果校驗(yàn)顯示接收有錯(cuò)誤,則直接丟棄接收結(jié)果;如果校驗(yàn)無誤,將收到的字節(jié)輸出。數(shù)據(jù)接收模塊在邏輯上也是由一個(gè)有限狀態(tài)機(jī)實(shí)現(xiàn),圖12是數(shù)據(jù)接收模塊的狀態(tài)跳轉(zhuǎn)圖。

        



評(píng)論


相關(guān)推薦

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

關(guān)閉