999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

UART波特率發生電路設計

2010-09-05 06:26:46趙琳娜李紅征
電子與封裝 2010年9期
關鍵詞:信號檢測

趙琳娜,趙 煌,李紅征

(1.江南大學信息工程學院,江蘇 無錫 214036;2.中國電子科技集團公司第58研究所,江蘇 無錫 214035)

UART波特率發生電路設計

趙琳娜1,趙 煌1,李紅征2

(1.江南大學信息工程學院,江蘇 無錫 214036;2.中國電子科技集團公司第58研究所,江蘇 無錫 214035)

設計了一種基于“ATD+迭代法”的UART波特率發生電路。波特率發生電路中的ATD電路用于監測串行數據的變化,并在串行數據的邊沿(上升沿或下降沿)輸出低電平信號。波特率探測電路對ATD電路的輸出信號的低電平和高電平分別進行計數,該計數值和保持寄存器中存儲的最小值比較,若前者小于后者,則保存寄存器中的最小值被該計數值取代,若前者大于后者,則保存寄存器中的最小值不變。經過一段時間比較迭代,最終得到設計需要的最小值,從而通過波特率發生器正確地輸出串行數據的波特率。

通用異步收發器;波特率發生電路;ATD電路

1 UART設計概述

UART(Universal Asynchronous Receiver/Transmitter)通用異步收發器是用于控制微機系統(并行設備)與串行設備通信的芯片。

UART提供以下主要功能:發送功能(將由微機系統內部傳送過來的并行數據轉換為串行數據流輸出,并在輸出的串行數據流中加入奇偶校驗位和啟停標記),接收功能(將微機系統外部來的串行數據轉換為字節供微機系統內部并行數據的器件使用,并對接收的數據流進行奇偶校驗、刪除啟停標記)。

UART的異步收發是指在UART協議中,接收、發送數據不使用統一參考時鐘,收發雙方取得同步的方法是采用固定的串行數據格式,即通過在串行數據流中加入啟停標記位來實現同步。串行數據格式如圖1所示。

起始位:發出一個邏輯“0”的信號,表示傳輸字符的開始;數據位:緊接著起始位,其位數可以是5~8位;奇偶校驗位:數據位后加上這一位,使得“1”的位數為偶數(偶校驗)或奇數(奇校驗),以此來校驗數據傳送的正確性;停止位:是一個字符數據的結束標志,可以是1位、1.5位、2位的高電平;空閑位:處于邏輯“1”狀態,表示當前線路上沒有數據傳送。

2 “ATD+迭代法”的基本思想

UART鏈接典型的串口波特率有9600bit/s、19.2kbit/s、38.4kbit/s、57.6kbit/s和115.2kbit/s等。傳統的UART在傳輸數據前,發送端與接收端需要事先協議好傳輸的波特率,而自適應UART可以通過“迭代法”正確地探測出串行數據的波特率[1]。

“迭代法”基本原理如圖2所示。d表示串行數據中的一個下降沿,u表示緊接著下降沿d的一個上升沿,t表示相鄰邊沿d和u之間的時間間隔,等于一個或多個比特位的周期。采樣計數器在下降沿d處開始從初始值0計數,每遇到系統時鐘的上升沿遞增一次,并在上升沿u處停止計數,得到的計數值和在保持寄存器中存放的所謂“最小值”比較,如果該計數值小于“最小值”,那么寄存器中“最小值”將被該計數值取代,通過不斷地迭代,最終得到一個最小值。通過串行線路波特率的計算公式:波特率(bit/s)=系統時鐘頻率/min值,從而得到準確的串行數據波特率。

這種“迭代法”采用了簡單固定的方法來計算波特率,即通過迭代計算出相鄰下降沿和上升沿之間的“最小值”。不難發現,這種方法忽略了相鄰上升沿和下降沿之間存在的“最小值”,加大了計算波特率的時間。我們提出一種快速有效地計算波特率的方法——“ATD+迭代法”,這種方法兼顧了相鄰邊沿(相鄰下降沿和上升沿以及相鄰上升沿和下降沿)之間存在的“最小值”。從理論上講,“ATD+迭代法”的檢測速度是“迭代法”的2倍。

“ATD+迭代法”的基本想法是:第一步,通過ATD電路監測串行數據的變化;第二步,通過波特率檢測電路對ATD電路的輸出信號進行迭代,最終得到最小值。

圖3為ATD電路的輸入信號RXD和輸出信號ATDD的波形圖,串行數據RXD經過ATD電路處理,在RXD每一次的0、1變化(上升沿或下降沿)都會產生一個低電平,ATD電路的輸出波形見圖3中的ATDD信號;在波特率檢測電路中,兩個采樣計數器分別記錄下ATDD信號低電平的最小系統時鐘周期數min1和高電平的最小系統時鐘周期數min2,min1、min2的和就是RXD中一位數據所占用的系統時鐘周期數(也就是所謂的最小值),通過不斷迭代,最終得到我們需要的最小值。通過公式:波特率=系統時鐘頻率/最小值,就可以確定串行數據的波特率。

3 UART波特率發生模塊的設計

基于“ATD+迭代法”的基本想法,UART波特率發生模塊分為三個部分,即ATD電路、波特率檢測電路以及波特率產生電路。

3.1 ATD電路

UART波特率發生模塊中的ATD電路如圖4所示,圖中端口RXD為串行數據的輸入端口,雙向輸入輸出端口ATDD輸出對串行數據的檢測信號。使用Hspice軟件對ATD電路進行仿真,仿真結果如圖5所示??梢?,串行數據的每次翻轉(0→1或1→0)都會引起ATD電路輸出信號下降到低電平并持續一段時間。

3.2 波特率檢測電路

UART波特率發生模塊中的波特率檢測電路的設計采用的HDL(hardware description language)語言為Verilog,根據自頂向下的設計原則進行設計。

波特率檢測電路設計流程圖如圖6所示。迭代的具體過程是:首先給最小值賦初值,高、低電平最小值g_min、l_min都設為40(對應于實際波特率,g_min應為40000000)。ATDD信號傳輸進來后,每遇到系統時鐘的上升沿,采樣計數器分別對高、低電平進行計數,計數結果分別與保持寄存器中存放的g_min和l_min進行比較,如果該計數值比g_min或l_min小那么就把計數結果賦值給g_min或l_min,否則,將保持寄存器中存放的g_min或l_min。如此迭代下去,最終得到最小值g_min和l_min,兩個數之和就是我們所需的最小值,也就是傳輸一位數據所占用的系統時鐘周期數。把該最小值傳輸給波特率發生器,就能產生相應的波特率。

波特率檢測電路的verilog程序關鍵代碼如下:

根據上述verilog程序,綜合得到UART波特率檢測電路的電路圖,如圖7(a)所示;其仿真波形如圖7(b)所示,從圖中可以看出,經過一段時間的迭代,最終得到一個最小值,從而準確地探測出RXD信號的波特率。

3.3 波特率發生器模塊

波特率發生器實際上就是一個分頻器。實現波特率時鐘的基本思路就是設計一個計數器,該計數器工作在頻率很高的系統時鐘下,當計數到波特率檢測電路輸出的最小值一半時將輸出置為高電平,再計數到該數值后將輸出置為低電平,如此反復就能得到所需的波特率時鐘[2]。

4 結束語

利用Quartus軟件完成電路的物理設計、仿真及綜合,結果表明采用“ATD+迭代法”設計的UART波特率發生電路能正確地輸出串行數據波特率。

[1]周建華,萬書芹,薛忠杰. 一種新穎的UART自適應波特率發生器的設計[J] . Semiconductor Technology,2007(12) ∶1052-1055.

[2]李秋菊,楊銀堂,高海霞. 基于Verilog HDL的UART IP的設計[J] . Semiconductor Technology,2007 (6) ∶ 520-523.

A Design of Baud-rate Generator for UART

ZHAO Lin-na1, ZHAO Huang1, LI Hong-zheng2
(1.School of IT Engineering,Southern Yangtze University,Wuxi214036,China;2.China Electronic Technology Group Corporation No.58Research Institute,Wuxi214035,China)

In our paper we design a UART baud-rate Generator based on ATD (Address-Translate-Detector)circuit. The ATD circuit is used to monitor the changes of serial data, and experts the low level signals along the rising edges or falling edges of serial data. Two counters are used for counting the numbers of low and high level periods of ATD signal respectively. The value stored in counters has been compared with the minimum value stored in register. If the former is less than the latter, then the minimum value will be replaced by the value stored in counters, otherwise, maintaining the latter. Repeating this process, we get the accurate baud-rate.

UART; baud-rate generator; address-translate-detector (ATD) circuit

TN791

A

1681-1070(2010)09-0019-05

2010-06-13

趙琳娜(1979-),女,天津人,助教,研究方向為CMOS數字集成電路設計。

猜你喜歡
信號檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
“幾何圖形”檢測題
“角”檢測題
完形填空二則
孩子停止長個的信號
小波變換在PCB缺陷檢測中的應用
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 久久精品欧美一区二区| 一区二区三区在线不卡免费| 国产高颜值露脸在线观看| 精品国产电影久久九九| 欧美精品色视频| 国产精品开放后亚洲| 日韩无码白| 久久精品无码国产一区二区三区| 欧美日韩午夜| 国产精品视频a| 国产成人AV综合久久| 99精品视频在线观看免费播放| 精品久久香蕉国产线看观看gif| 欧美精品三级在线| 国产精品精品视频| 成人免费午间影院在线观看| 在线va视频| 直接黄91麻豆网站| 国产伦精品一区二区三区视频优播| 一本大道无码日韩精品影视| 在线欧美国产| 亚洲全网成人资源在线观看| 国产Av无码精品色午夜| 亚洲人成电影在线播放| 国产噜噜噜视频在线观看 | 青青草欧美| 色婷婷成人| 97在线碰| 久久久噜噜噜| www精品久久| 欧美日韩国产综合视频在线观看| 2020国产免费久久精品99| 91视频国产高清| 狠狠色成人综合首页| 日韩av无码DVD| 国内丰满少妇猛烈精品播| 91福利国产成人精品导航| 亚洲综合婷婷激情| 国产毛片高清一级国语| 色一情一乱一伦一区二区三区小说| 日本欧美在线观看| 亚洲人成影院在线观看| 日韩av电影一区二区三区四区| 日韩欧美网址| 国产色偷丝袜婷婷无码麻豆制服| 国产理论一区| 超清无码熟妇人妻AV在线绿巨人| 在线国产91| 91人妻在线视频| 欧洲欧美人成免费全部视频| 91国内视频在线观看| 99热最新网址| 99在线小视频| 国产一区二区影院| 99热国产在线精品99| 国产另类视频| 日韩资源站| 福利片91| 国产成人永久免费视频| 精品小视频在线观看| 国产va在线| 亚洲五月激情网| 国产精选小视频在线观看| 久久黄色一级片| 又爽又黄又无遮挡网站| 国产AV毛片| 九九热这里只有国产精品| 东京热av无码电影一区二区| 欧美一级特黄aaaaaa在线看片| 欧美高清国产| 在线观看亚洲精品福利片| 国产成人免费| 国产全黄a一级毛片| 91青青在线视频| 91福利国产成人精品导航| 国产成人精品18| 国产一级毛片高清完整视频版| 国产熟睡乱子伦视频网站| 国产精品视频a| 亚洲国产天堂久久综合| 日韩无码白| 久久成人免费|