色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA實現通用異步收發器基本功能的應用設計

FPGA設計論壇 ? 來源:未知 ? 2023-05-29 15:05 ? 次閱讀

點擊上方

藍字

關注我們



通用異步收發器(Universal Asynchronous Receiver/Transmitter,UART)可以和各種標準串行接口,如RS232RS485等進行全雙工異步通信,具有傳輸距離遠、成本低、可靠性高等優點。一般UART由專用芯片來實現,但專用芯片引腳都較多,內含許多輔助功能,在實際使用時往往只需要用到UART的基本功能,使用專用芯片會造成資源浪費和成本提高。當我們不需要用到完整的的UART功能和一些輔助功能時,就可以將需要的UART功能集成用FPGA來實現,然而,FPGA內部并不擁有CPU控制單元,無法處理由UART控制器產生的中斷,所以FPGA不能利用現成的UART控制器構成異步串行接口,必須將UART控制器的功能集成到FPGA內部。從而可以大大的減少了體積、簡化了電路,也提高了系統的靈活性。

1、 UART的工作原理

UART是一種串行數據總線,用于異步通信,并且雙向通信,可實現全雙工發送和接收。基本的UART只需要兩條信號線(TXD、RXD)和一條地線就可以完成數據的互相通信,接收和發送互不干擾,這樣就大大節省了傳輸費用。由于UART是異步通信,所以需要對數據進行同步。UA RT發送/接收數據的傳輸格式如圖1所示,一個字符單位由開始位、數據位、校驗位、停止位組成(其中校驗位可供選)。

發送或接收一個完整的字節信息,首先是一個作為起始位的邏輯“0”位,接著是8個數據位。然后是停止位邏輯“1”位,數據線空閑時為高或“1”狀態。在字符的8位數據部分,先發送數據的位,發送位。每位持續時間是固定的,由發送器本地時鐘控制,每秒發送的數據位個數,即為“波特率”。起始位和停止位起著很重要的作用。顯然,它們標志每個字符的開始和結束,但更重要的是他們使接收器能把他的局部時鐘與每個新開始接收的字符再同步。異步通信沒有可參照的時鐘信號,發送器隨時都可能發送數據,任何時刻串行數據到來時,接收器必須準確地發現起始位下降沿的出現時間,從而正確地采樣緊接著的10或者11位(包括開始位、數據位和停止位),接收器的時鐘和發送器的時鐘不是同一個,因此,接收器所確定的采樣點的間隔和發送器所確定的位間隔時間不同,這點要特別注意。

2、 UART功能設計

異步通信的一幀傳輸經歷以下步驟:1)空閑狀態。發送方連續發送信號,處于信息“1”狀態。2)開始傳輸。發送方在任何時刻將傳號變成空號,即“1”跳變到“0”,并持續1位時間表明發送方開始傳輸數據。而同時,接收方收到空號后,開始與發送方同步,并期望收到隨后的數據。3)奇偶傳輸。數據傳輸之后是可供選擇的奇偶位發送或接收。4)停止傳輸。是發送或接收的停止位,其狀態恒為“1”。

設計的基本原則是保留主要的功能,基于FPGA的UART系統由波特率時鐘發生器、接收器和發送器3個子模塊組成,如圖2所示。

2.1 波特率發生器設計

波特率發生器實質是設計一個分頻器,用于產生和RS232通信同步的時鐘。在系統中用一個計數器來完成這個功能,分頻系數N決定了波特率的數值。該計數器一般工作在一個頻率較高的系統時鐘下,當計數到N/2時將輸出置為高電平,再計數到N/2的數值后將輸出置為低電平,如此反復即可得到占空比50%的波特率時鐘,具體的波特率依賴于所使用的系統時鐘頻率和Ⅳ的大小。如系統時鐘頻率是6.4 MHz,要求波特率是9 600,則16倍波特率時鐘的周期約等于42個系統時鐘周期,則計數器取42/2=21時,當計數溢出時輸出電平取反就可以得到16倍約定波特率的時鐘。

使用VHDL來描述波特率發生器的完整代碼如下:

2.2 發送器設計

UART發送器的設計較容易,只要每隔一個發送周期按照數據幀格式及要求的速率輸出數據即可。沒有數據要發送時,發送數據寄存器為空,發送器處于空閑狀態;當檢測到發送數據寄存器滿信號后,發送器及發送起始位,同時8個數據位被并行裝入發送移位寄存器,停止位緊接著數據位指示一幀數據結束。只有發送數據寄存器為空時,RAM中的待發數據才能被裝入。程序中使用計數器要保證各位周期定時正確。

2.3 接收器設計

接收器的工作過程如下,串行數據幀和接收時鐘是異步的,發送來的數據由邏輯1變為邏輯0可以視為一個數據幀的開始。接收器先要捕捉起始位,然而,通信線上的噪音也極有可能使傳號“1”跳變到空號“0”。所以接收器以16倍的波特率對這種跳變進行檢測,確定rxd輸入由1到0,邏輯0要8個bclkr(16倍的波特率時鐘)周期,才是正常的起始位,而不是噪音引起的,其中若有采樣得到的為高電平則認為起始信號無效,返回初始狀態重新等待起始信號的到來。

采到正確的起始位后,就開始接收數據,可靠的接收應該是接收時鐘的出現時刻正好對著數據位的中央。由于在起始位檢測時,已使時鐘對準了位中央,用16倍波特率的時鐘作為接收時鐘,就是為了確保在位寬的中心時間對接收的位序列進行可靠采樣,當采樣計數器計數結束后所有數據位都已經輸入完成。對停止位的高電平進行檢測,若正確檢測到高電平,說明本幀的各位正確接收完畢,否則出錯。

后將正確的數據轉存到數據寄存器中,輸出數據。還要輸出一個數據接收標志信號標志數據接收完。

利用有限狀態機實現,完整代碼如下:

3、 仿真

本設計在Altera Cyclone系列的EP1C3T100I7芯片上進行了驗證,對發送模塊和接收模塊的仿真結果分別如圖3、圖4所示。發送的數據能嚴格按照串行通信協議進行傳輸;接收的數據也完全正確。仿真無誤后,使用QuarhusⅡ軟件將編譯好的.pof格式文件載到配置芯片EPCS1中。結果通信數據完全正確,電路工作穩定、可靠。

用FPGA設計UART,可以用片上很少的邏輯單元實現UART的基本功能。與傳統設計相比,能有效減少系統的PCB面積,降低系統的功耗,提高設計的穩定性和可靠性,充分利用FPGA的剩余資源。并可方便地進行系統升級和移植。

4 、結論

該設計具有很大的靈活性,通過調整波特率發生器的分頻參數,就可以使其工作在不同的頻率。采用16倍波特率的采樣時鐘,可以實時有效監測數據的起始位,并對數據位進行中央采樣,從而保證了所采樣數據的正確性。該模塊可以作為一個完整的IP核,靈活地移植進各種型號FPGA中,在實際應用時也可嵌入到其他系統中,有很好的借鑒和參考價值。



掃描二維碼獲取

更多精彩

FPGA設計論壇






精彩推薦




至芯科技-FPGA就業培訓來襲!你的選擇開啟你的高薪之路!5月30號西安中心開課、歡迎咨詢!
簡談FPGA verilog中的repeat和while用法與例子
簡談CPU、MCU、FPGA、SoC這些芯片異同之處
FPGA復位設計的常見問題






歡迎關注至芯科技

至芯官網:www.zxopen.com

至芯科技技術論壇:www.fpgaw.com

至芯科技淘寶網址:

https://zxopen.taobao.com

至芯科技FPGA初級課程(B站):

https://space.bilibili.com/521850676

至芯科技FPGA在線課程(騰訊課堂):

https://zxopenbj.ke.qq.com/

至芯科技-FPGA 交流群(QQ):282124839



掃碼加入FPGA學習交流群




歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!


點個

在看

你最好看






原文標題:基于FPGA實現通用異步收發器基本功能的應用設計

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    605174

原文標題:基于FPGA實現通用異步收發器基本功能的應用設計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    高速接口7系列收發器GTP介紹

    ,這是一個帶一個QUAD的ZYNQ FPGA,上面的收發器是GTP。對于其他稍微高端一點的ZYNQ上帶有收發器應該是GTH/GTX的。但是,只是實現一個千兆網,使用GTP應該是足夠了。
    的頭像 發表于 01-24 11:53 ?60次閱讀
    高速接口7系列<b class='flag-5'>收發器</b>GTP介紹

    74ALVCH162601通用總線收發器規格書

    電子發燒友網站提供《74ALVCH162601通用總線收發器規格書.pdf》資料免費下載
    發表于 01-23 17:14 ?0次下載
    74ALVCH162601<b class='flag-5'>通用</b>總線<b class='flag-5'>收發器</b>規格書

    TMS320DM643 DMP通用異步收發器(UART)手冊

    電子發燒友網站提供《TMS320DM643 DMP通用異步收發器(UART)手冊.pdf》資料免費下載
    發表于 12-16 10:10 ?0次下載
    TMS320DM643 DMP<b class='flag-5'>通用</b><b class='flag-5'>異步</b><b class='flag-5'>收發器</b>(UART)手冊

    射頻收發器就是基帶嗎

    射頻收發器(RF Transceiver)和基帶(Baseband)是無線通信系統中兩個不同的概念,它們在功能和設計上有所區別。射頻收發器主要負責無線信號的發送和接收,而基帶則處理信號的數字處理部分
    的頭像 發表于 09-20 11:12 ?440次閱讀

    光纖收發器的作用、使用方法及應用

    具有以下功能: 1.1 信號轉換:光纖收發器可以將電信號轉換為光信號,也可以將光信號轉換為電信號,實現信號的傳輸和接收。 1.2 信號放大:光纖收發器具有信號放大
    的頭像 發表于 08-23 09:51 ?2889次閱讀

    FPGA高速收發器的特點和應用

    FPGA(Field Programmable Gate Array,現場可編程門陣列)高速收發器是現代數字通信系統中不可或缺的關鍵組件。它們以其高速、靈活和可編程的特性,在多個領域發揮著重要作用。以下是對FPGA高速
    的頭像 發表于 08-05 15:02 ?677次閱讀

    FPGA高速收發器的來源

    本文主要講解的是FPGA高速收發器的來源,著重從三個方面解析,可能部分理解會存在有錯誤,想要不一致的可以來評論區交流哦。
    的頭像 發表于 07-18 11:13 ?551次閱讀
    <b class='flag-5'>FPGA</b>高速<b class='flag-5'>收發器</b>的來源

    TUSB2551A高級通用串行總線收發器數據表

    電子發燒友網站提供《TUSB2551A高級通用串行總線收發器數據表.pdf》資料免費下載
    發表于 07-12 10:16 ?0次下載
    TUSB2551A高級<b class='flag-5'>通用</b>串行總線<b class='flag-5'>收發器</b>數據表

    TUSB1106-Q1高級通用串行總線收發器數據表

    電子發燒友網站提供《TUSB1106-Q1高級通用串行總線收發器數據表.pdf》資料免費下載
    發表于 07-12 10:13 ?0次下載
    TUSB1106-Q1高級<b class='flag-5'>通用</b>串行總線<b class='flag-5'>收發器</b>數據表

    TSU6111A USB端口單刀雙擲(SP2T)開關支持USB和通用異步收發器(UART)數據表

    電子發燒友網站提供《TSU6111A USB端口單刀雙擲(SP2T)開關支持USB和通用異步收發器(UART)數據表.pdf》資料免費下載
    發表于 07-10 09:21 ?0次下載
    TSU6111A USB端口單刀雙擲(SP2T)開關支持USB和<b class='flag-5'>通用</b><b class='flag-5'>異步</b>接<b class='flag-5'>收發器</b>(UART)數據表

    SN74ALVCH16901 18位通用總線收發器數據表

    電子發燒友網站提供《SN74ALVCH16901 18位通用總線收發器數據表.pdf》資料免費下載
    發表于 06-03 11:21 ?0次下載
    SN74ALVCH16901 18位<b class='flag-5'>通用</b>總線<b class='flag-5'>收發器</b>數據表

    具有3態輸出的18位通用總線收發器數據表

    電子發燒友網站提供《具有3態輸出的18位通用總線收發器數據表.pdf》資料免費下載
    發表于 05-30 09:46 ?0次下載
    具有3態輸出的18位<b class='flag-5'>通用</b>總線<b class='flag-5'>收發器</b>數據表

    收發器的主要作用與種類詳解

    收發器,作為通信系統中的關鍵組成部分,其主要作用是實現信號的發送和接收。隨著通信技術的不斷發展,收發器的種類也日益豐富,滿足了不同場景下的通信需求。本文將對收發器的主要作用和種類進行詳
    的頭像 發表于 05-22 17:05 ?2456次閱讀

    帶18位通用總線收發器的掃描測試設備數據表

    電子發燒友網站提供《帶18位通用總線收發器的掃描測試設備數據表.pdf》資料免費下載
    發表于 05-15 09:12 ?0次下載
    帶18位<b class='flag-5'>通用</b>總線<b class='flag-5'>收發器</b>的掃描測試設備數據表
    主站蜘蛛池模板: 不良网站进入窗口软件下载免费 | 伊人亚洲综合网色 | 一本道亚洲区免费观看 | 亚洲免费在线视频观看 | 国产传媒18精品免费观看 | 97无码欧美熟妇人妻蜜桃天美 | 亚洲免费在线 | 日本熟妇乱妇熟色在线电影 | 久久精品视频在线看15 | 国产一区二区三区四区五在线观看 | 亚洲成人中文 | 最近在线视频观看2018免费 | 国产精品爆乳尤物99精品 | 国产在线播放精品视频 | 找老女人泻火对白自拍 | tube69hdxxxx日本| 久久a级片 | 老人FREE VIODES老少配 | 亚洲精品免费观看 | 国产精品乱人无码伦AV在线A | 中文字幕无码他人妻味 | 成年人免费观看视频网站 | 韩国无遮羞禁动漫在线观看 | 二级毛片免费观看全程 | 校花在公车上被内射好舒服 | 韩国黄电影 | 久久精品国产亚洲AV热无遮挡 | av av在线 | 亚洲黄色高清 | 黄瓜视频苹果直接安装 | 国产日韩久久久精品影院首页 | 日本69色视频在线观看 | 一个人免费播放高清在线观看 | 亚洲乱码在线卡一卡二卡新区 | 无套内射无矿码免费看黄 | 野花日本大全免费高清完整版 | 俄罗斯bbbbbbbbb大片 | 无毒成人社区 | 男gv纯肉免费视频 | 91区国产福利在线观看午夜 | 灰原哀被啪漫画禁漫 |