當前位置:首頁 > EDA > 電子設計自動化
[導讀]摘要: 基于FPGA/CPLD的UART設計眾多,本文分析了3倍頻采樣方法存在的不足,同時分析了16倍頻采樣對起始位檢測的可靠性,并給出相關的VHDL硬件描述語言程序代碼。關健詞: 異步數(shù)據(jù);UART;FPGA/CPLD;VHDL概述隨著電子

摘要: 基于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ù)。

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

此方法剛開始給人感覺比常規(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ù)值都要做相應改變,這就增加了程序的修改難度。

16倍頻采樣起始位的檢測

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

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

在設計時,充分抓住異步數(shù)據(jù)的特征進行設計:起始位為低電平、停止位為高電平、每幀數(shù)據(jù)幀結構相同。根據(jù)異步數(shù)據(jù)這些特征就可設計出以下相應程序:

process(clk16x,start) --產(chǎn)生clk1x時鐘進程

begin

if start=’0’ then

q<="0001";

elsif clk16x’event and clk16x=’1’

then

q<=q+1;

end if;

end procESS ;

clk1x<=q(3);

process(clk16x,i,serialin,rst) --起始位檢測進程

begin

if rst=’1’ then

start<=’0’;

elsif rising_edge(clk16x) then    if serialin=’0’ then

start<=’1’ ;

elsif over=’0’ then

start<=’1’;

else start<=’0’;

end if;

end if;

end process;

process(clk1x,serialin,i,rst) --讀數(shù)據(jù)進程

begin

if rst=’1’ then

buff<= (others => ’1’);

Dout_P<= (others => ’1’);

i<=0;

over<=’1’;

elsif rising_edge(clk1x) then

if i<>

buff21<=serialin;

i<=i+1;

over<=’0’;    else

i<=0;

over<=’1’;

Dout_P<=buff;

end if;

end if;

end process ;

本設計采用VHDL硬件描述語言來進行描述。clk16x為16倍頻采樣時鐘,clk1x是檢測到真正起始位后由clk16x時鐘分頻產(chǎn)生的采樣時鐘,start為開始接收數(shù)據(jù)信號(接收數(shù)據(jù)期間為高電平)、serialin為異步數(shù)據(jù)輸入端口。平常,接收器按clk16x時鐘上升采樣serialin。當采樣時鐘檢測到低電平時輸出一個高電平給start信號,clk1x分頻計數(shù)器啟動。如果連續(xù)采集8個脈沖都為低電平(起始位之半),即確定該低電平為起始位,輸出一個低電平給接收數(shù)據(jù)完信號over(接收數(shù)據(jù)期間為低電平,接收完數(shù)據(jù)為高電平),over信號在低電平檢測共同作用下保持start為高電平。start長時間保持高電平(8個clk16周期T)產(chǎn)生clk1x時鐘。反之判別為假起始位,over仍然為高電平,start卻變?yōu)榈碗娖?,clk1x分頻計數(shù)器復位,一直等到下次檢測serialin為低電平才重新啟動??梢?,只有確定了起始位,clk1x時鐘才會產(chǎn)生,否則不產(chǎn)生。而clk16x時鐘始終存在,保證不會錯過每次接收線上的數(shù)據(jù)采樣。

結語

按常規(guī)的16倍頻采樣方法接收異步數(shù)據(jù),其抗干擾性、移植性等都優(yōu)于3倍頻采樣方法。實際應用表明,提高采樣倍數(shù),接收準確性相應提高;在一定范圍內,提高數(shù)據(jù)波特率不會影響接收準確性。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉