異步通信起始位正確檢測的VHDL實現(xiàn)

相關專題: 芯片

摘要: 基于FPGA/CPLD的UART設計眾多,本文分析了3倍頻采樣方法存在的不足,同時分析了16倍頻采樣對起始位檢測的可靠性,并給出相關的VHDL硬件描述語言程序代碼。

關健詞: 異步數(shù)據(jù);UART;FPGA/CPLD;VHDL

概述

隨著電子設計自動化(EDA)技術的發(fā)展,可編程邏輯器件FPGA/CPLD已經(jīng)在許多方面得到了廣泛應用,而UART(通用異步收發(fā)器) 是在數(shù)字通信和控制系統(tǒng)中廣泛使用的串行數(shù)據(jù)傳輸協(xié)議。因此越來越多用戶根據(jù)自己的需要,以EDA技術作為開發(fā)手段,用一塊FPGA/CPLD設計出符合自己需要的UART芯片;贔PGA/ CPLD的UART設計在諸多文獻中都有論述,在此不再對UART整個功能模塊實現(xiàn)做太多的論述。本文著重分析UART接收器起始位的檢測。

3倍頻采樣的缺陷

首先,串行異步通信規(guī)定了字符數(shù)據(jù)的傳送格式。每一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、奇偶校驗位、停止位和線路空閑狀態(tài)組成,格式如圖1所示。一般情況起始位為1位,數(shù)據(jù)位為5、6、7或8位、奇偶校驗位為1位,停止位為1、1.5或2位。其中的起始位和停止位就是用來實現(xiàn)字符的同步。在空閑狀態(tài),傳送線為邏輯“1”狀態(tài)。數(shù)據(jù)的傳送總是以一個“起始位”開始的,接著是要傳送的若干數(shù)據(jù)位,低位先行,最后是一個“1”狀態(tài)的“停止位”;那么,當接收器檢測到一個“1”向“0”的跳變時,便視為可能的起始位。起始位被確認后,就知道發(fā)送器已開始發(fā)送,當接收了已協(xié)議好的位數(shù)后并接收到字符幀中停止位就是一幀字符數(shù)據(jù)已發(fā)送完畢。這樣,接收器就知道發(fā)送器何時開始發(fā)送數(shù)據(jù)和何時結束發(fā)送數(shù)據(jù)。

圖1 異步通信字符幀格式

要提高接收器的接收準確性,減少誤碼率,必須要用比數(shù)據(jù)波特率高n 倍(n≥1)的速率對數(shù)據(jù)進行采樣。文獻2中采用了非常規(guī)的3倍頻采樣方法:用3倍頻的波特率對每一位數(shù)據(jù)進行采樣(如圖2所示),然后對3次采樣結果進行判決。如果3次采樣中至少有2次為高電平,則接收這一位數(shù)據(jù)被判決為高電平,否則,為低電平。

圖2 3倍頻采樣時序圖

此方法剛開始給人感覺比常規(guī)的16倍頻采樣準確性高,因為每一位數(shù)據(jù)都進行3取2的判決,而16倍頻采樣對每位數(shù)據(jù)只進行一次中間采樣。然而筆者在實際應用中發(fā)現(xiàn)了其存在抗干擾性差,移植性差等不足。筆者在應用中自定義的異步數(shù)據(jù)幀長達21位,應用環(huán)境是渦輪工作間。在這樣條件下,3倍頻采樣比在良好的實驗室環(huán)境性能差了很多,誤碼率很高。

經(jīng)分析代碼,發(fā)現(xiàn)3倍頻采樣方法在檢測異步數(shù)據(jù)起始位沒有任何的抗干擾處理。如果在接收線上存在干擾信號,即使是一個很窄負脈沖干擾,接收器也會誤判為是數(shù)據(jù)幀的起始位,從而產(chǎn)生采樣時鐘進行后續(xù)的數(shù)據(jù)采樣。圖3所示為存在干擾信號時,檢測起始位信號時序仿真波形。圖中COLCK3-IN是3倍頻采樣時鐘,CLOCK1-IN是數(shù)據(jù)波特率,DATAIN 是接收線上的數(shù)據(jù)。從圖中看出,干擾信號后,COLCK3-IN時鐘產(chǎn)生,接收器接收數(shù)據(jù)?梢娊邮盏降臄(shù)據(jù)都是錯誤數(shù)據(jù)。簡單說,文獻2中所論述方法不能識別真假數(shù)據(jù)起始位。再從程序可移植性來說,3倍頻采樣時鐘是用三個數(shù)值進行計數(shù)判斷而得,當波特率改變,其數(shù)值都要做相應改變,這就增加了程序的修改難度。

圖3 存在干擾信號時3倍頻采樣時序圖

16倍頻采樣起始位的檢測

3倍頻采樣方法無法識別真假數(shù)據(jù)起始位,導致其抗干擾性差,準確性得不到保證。筆者拋棄非常規(guī)3倍頻采樣方法,采用了常規(guī)的16倍頻采樣方法:采用數(shù)據(jù)速率的16倍進行采樣,采樣時鐘連續(xù)采樣到8個低電平信號,可確定該低電平為真正的起始位,從而防止干擾信號產(chǎn)生的假起始位現(xiàn)象的發(fā)生。此后,接收器每隔16個采樣時鐘采樣一次,并把采樣到的數(shù)據(jù)作為輸入數(shù)據(jù),以移位方式存入到接收移位寄存器。16倍頻對接收線的采樣關系如圖4所示。

圖4 UART對數(shù)據(jù)的采樣

起始位檢測8個連續(xù)脈沖的另一個更重要的原因是,采用16倍頻采樣的時鐘,第8個采樣脈沖所對應的數(shù)據(jù)波形正好是該位數(shù)據(jù)位波形的正中點(以時鐘上升沿采樣),在該處讀寫數(shù)據(jù)應該是最安全點。

作者:楊潤利,曹偉軍,鄭莉,雷慶華 電子科技集團公司 來源:電子產(chǎn)品世界


微信掃描分享本文到朋友圈
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
  • 1、回復“YD5GAI”免費領取《中國移動:5G網(wǎng)絡AI應用典型場景技術解決方案白皮書
  • 2、回復“5G6G”免費領取《5G_6G毫米波測試技術白皮書-2022_03-21
  • 3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》
  • 5、回復“ZGDX”免費領取《中國電信5GNTN技術白皮書
  • 6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解
  • 7、回復“YDSL”免費領取《中國移動算力并網(wǎng)白皮書
  • 8、回復“5GX3”免費領取《R1623501-g605G的系統(tǒng)架構1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息