日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信網(wǎng)絡(luò)
[導(dǎo)讀] 由于FPGA的功能日益強(qiáng)大,開發(fā)周期短、可重復(fù)編程等優(yōu)點(diǎn)也越來(lái)越明顯,可以在FPGA芯片上集成UART功能模塊,從而簡(jiǎn)化電路,縮小PCB面積,提高系統(tǒng)可靠性。此外,F(xiàn)PGA的設(shè)計(jì)具有很高的靈活性

由于FPGA的功能日益強(qiáng)大,開發(fā)周期短、可重復(fù)編程等優(yōu)點(diǎn)也越來(lái)越明顯,可以在FPGA芯片上集成UART功能模塊,從而簡(jiǎn)化電路,縮小PCB面積,提高系統(tǒng)可靠性。此外,F(xiàn)PGA的設(shè)計(jì)具有很高的靈活性,可以方便地進(jìn)行升級(jí)和移植。
設(shè)計(jì)背景

通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter,UART)可以和各種標(biāo)準(zhǔn)串行接口,如RS 232和RS 485等進(jìn)行全雙工異步通信,具有傳輸距離遠(yuǎn)、成本低、可靠性高等優(yōu)點(diǎn)。一般UART由專用芯片如8250,16450來(lái)實(shí)現(xiàn),但專用芯片引腳都較多,內(nèi)含許多輔助功能,在實(shí)際使用時(shí)往往只需要用到UART的基本功能,使用專用芯片會(huì)造成資源浪費(fèi)和成本提高。
一般而言UART和外界通信只需要兩條信號(hào)線RXD和TXD,其中RXD是UART的接收端,TXD是UART的發(fā)送端,接收與發(fā)送是全雙工形式。由于可編程邏輯器件技術(shù)的快速發(fā)展,F(xiàn)PGA的功能日益強(qiáng)大,其開發(fā)周期短、可重復(fù)編程的優(yōu)點(diǎn)也越來(lái)越明顯,在FPGA芯片上集成UART功能模塊并和其他模塊組合可以很方便地實(shí)現(xiàn)一個(gè)能與其他設(shè)備進(jìn)行串行通信的片上系統(tǒng)。
設(shè)計(jì)要求
? ? ? ?本接口作為一個(gè)關(guān)于內(nèi)容保護(hù)系統(tǒng)的電路板的一部分,主要用于和計(jì)算機(jī)進(jìn)行通信,也可與其他帶UART接口的電路板進(jìn)行通信。對(duì)數(shù)據(jù)傳輸速率要求不高,傳輸距離也不要求很長(zhǎng),但傳輸數(shù)據(jù)要求準(zhǔn)確可靠。該接口可用來(lái)監(jiān)控電路內(nèi)部狀態(tài),將FPGA內(nèi)部信息通過(guò)串口輸出至計(jì)算機(jī),以達(dá)到輔助調(diào)試電路的目的。另外,電路板上的FPGA外掛有串行Flash,可通過(guò)串口對(duì)Flash進(jìn)行調(diào)試,將Flash中的數(shù)據(jù)輸出至計(jì)算機(jī),并可將數(shù)據(jù)通過(guò)串口寫入Flash中。簡(jiǎn)而言之,該接口是作為計(jì)算機(jī)與電路板的一個(gè)可靠的雙向數(shù)據(jù)傳輸通道。
UART的實(shí)現(xiàn)原理
UART是異步通信方式,通信的發(fā)送方和接收方各自有獨(dú)立的時(shí)鐘,傳輸?shù)乃俾视呻p方約定。本設(shè)計(jì)采用最常用的每秒9600波特的傳輸速度。
UART的通信協(xié)議十分簡(jiǎn)單,以低電平作為起始位,高電平作為停止位,中間可傳輸5~8比特?cái)?shù)據(jù)和1比特奇偶校驗(yàn)位,奇偶校驗(yàn)位的有無(wú)和數(shù)據(jù)比特的長(zhǎng)度由通信雙方約定。一幀數(shù)據(jù)傳輸完畢后可以繼續(xù)傳輸下一幀數(shù)據(jù),也可以繼續(xù)保持為高電平,兩幀之間保持高電平,持續(xù)時(shí)間可以任意長(zhǎng)。本方案采用不添加校驗(yàn)位的方法,以提高數(shù)據(jù)傳輸效率。發(fā)送端發(fā)送數(shù)據(jù)時(shí)先發(fā)一低電平,然后發(fā)送8比特?cái)?shù)據(jù),之后馬上把信號(hào)拉高,從而完成一幀數(shù)據(jù)傳送。接收端接收到低電平時(shí)開始計(jì)數(shù),然后接收8比特信息位后如果檢測(cè)到高電平即認(rèn)為已接收完一幀數(shù)據(jù),繼續(xù)等待下一幀起始信號(hào)低電平的到來(lái),若接收完8比特?cái)?shù)據(jù)后沒有檢測(cè)到高電平則認(rèn)為這不是一幀有效數(shù)據(jù),將其丟棄,繼續(xù)等待起始信號(hào)。時(shí)序關(guān)系如圖1所示,收發(fā)可同時(shí)進(jìn)行,互不干擾。

圖1 RS-232接口的工作時(shí)序

硬件電路原理圖及說(shuō)明
一個(gè)完整的RS-232接口是一個(gè)25針的D型插頭座,25針的連接器實(shí)際上只有9根連接線,所以就產(chǎn)生了一個(gè)簡(jiǎn)化的9針D型RS-232插頭座,常用的就是一個(gè)9針的D型插頭座。通常只用到一根發(fā)送信號(hào)線、一根接收信號(hào)線和一條地線,其余的振鈴指示、請(qǐng)求傳送、清除傳送、準(zhǔn)備就緒及數(shù)據(jù)載波檢測(cè)等線可以做懸空處理。
RS-232標(biāo)準(zhǔn)規(guī)定邏輯1的電平為 -15~-3V,邏輯0的電平為+3~+15V。CMOS電路的電平范圍一般是從0V到電源電壓,F(xiàn)PGA的I/O輸入輸出電壓通常為0~3.3V,為了與FPGA 供電電壓保持一致,必須加電平轉(zhuǎn)換芯片。選用Maxim公司的MAX3232電平轉(zhuǎn)換芯片,電路原理圖如圖2所示。
?


圖2 RS-232接口電路

連線采用最簡(jiǎn)單的3 線制連接模式,即只需要兩根信號(hào)線和一根地線來(lái)完成數(shù)據(jù)收發(fā)。而FPGA 只需要選擇兩個(gè)普通I/O引腳分別與接口芯片MAX3232 對(duì)應(yīng)引腳T2IN、R2OUT相連即可完成將串口電平轉(zhuǎn)換為設(shè)備電路板的工作電平,即實(shí)現(xiàn)RS-232電平和TTL/ CMOS 電平的轉(zhuǎn)換。一個(gè)MAX3232芯片可以支持兩個(gè)串口的電平變換,我們選擇其中的一組接口,圖中的4個(gè)電阻可以省去。在電路中加入了0Ω的跳線電阻,是為了在這組接口出故障時(shí)可以方便地跳線,使用另一組接口。
軟件設(shè)計(jì)
異步收發(fā)器由波特率發(fā)生器、UART接收器和UART發(fā)送器三個(gè)模塊構(gòu)成。采用的是每秒9600波特的傳輸速度,而系統(tǒng)提供的時(shí)鐘是 10MHz,這就要求進(jìn)行速率變換。在實(shí)際中由于電路中存在干擾等因素,在數(shù)據(jù)邊緣進(jìn)行采樣容易發(fā)生誤判,只有在數(shù)據(jù)的中央進(jìn)行采樣出錯(cuò)的概率才能降到最低,所以使用16倍于波特率的時(shí)鐘,即9600×16Hz=15600Hz。因此波特率發(fā)生器輸出的時(shí)鐘頻率應(yīng)為15600Hz,UART 收發(fā)的每一個(gè)數(shù)據(jù)寬度都是波特率發(fā)生器輸出的時(shí)鐘周期的16倍,采用Altera公司芯片內(nèi)部自帶的相環(huán)可以方便地實(shí)現(xiàn)。UART接收器和UART發(fā)送器均采用Verilog語(yǔ)言編程實(shí)現(xiàn)。
通常使用的數(shù)據(jù)多為并行數(shù)據(jù),為了方便與系統(tǒng)中其他電路互連,UART接收器的輸出數(shù)據(jù)和UART發(fā)送器的輸入數(shù)據(jù)均為8比特并行數(shù)據(jù)。 UART接收器將串行數(shù)據(jù)接收下來(lái)并將其轉(zhuǎn)化為并行數(shù)據(jù)送出,UART發(fā)送器將輸入的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)并按照UART的幀格式輸出。

圖3 UART接收器符號(hào)圖

圖3為UART接收器的符號(hào)圖,其中rst為全局復(fù)位信號(hào),rxd為串行數(shù)據(jù)輸入端,baudClk16x為輸入時(shí)鐘,dataOut[70] 為并行數(shù)據(jù)輸出口,irq為輸出數(shù)據(jù)的指示信號(hào)。首先接收器等待起始位的到來(lái),在每個(gè)時(shí)鐘上升沿檢測(cè)輸入數(shù)據(jù)是否為低電平,若檢測(cè)到低電平,則開始計(jì)數(shù),如果連續(xù)8個(gè)時(shí)鐘內(nèi)輸入數(shù)據(jù)均為低電平,則認(rèn)為起始信號(hào)有效,其中若有一次采樣得到的為高電平則認(rèn)為起始信號(hào)無(wú)效,返回初始狀態(tài)重新等待起始信號(hào)的到來(lái)。認(rèn)定起始信號(hào)有效后,每隔16個(gè)時(shí)鐘采樣一次,這樣就可以保證每次都在數(shù)據(jù)的中點(diǎn)出采樣,將采樣結(jié)果送入8比特的移位寄存器,8比特?cái)?shù)據(jù)采樣結(jié)束后,間隔 16個(gè)時(shí)鐘采樣停止位。如果采得的是高電平,則認(rèn)為這幀數(shù)據(jù)有效,將移位寄存器中的數(shù)據(jù)并行送出同時(shí)將輸出數(shù)據(jù)的指示信號(hào)置高,然后接收器復(fù)位,重新等待下一幀的到來(lái);若采得的為低電平,則認(rèn)為這不是一幀有效數(shù)據(jù),不將移位寄存器中的數(shù)據(jù)輸出,直接返回初始狀態(tài)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?

圖4 UART發(fā)送器符號(hào)圖

圖4 為UART發(fā)送器的符號(hào)圖,其中flag為輸入數(shù)據(jù)指示信號(hào),rst為全局復(fù)位信號(hào),clkin為輸入時(shí)鐘,din[70]為并行數(shù)據(jù)輸入端,tdo為串行數(shù)據(jù)輸出端。接收器在每個(gè)時(shí)鐘的上升沿檢測(cè)輸入數(shù)據(jù)指示信號(hào),若檢測(cè)到其為高電平,則將并行輸入數(shù)據(jù)鎖存入內(nèi)部的8比特移位寄存器,接下來(lái)先送出一個(gè)低電平并保持16個(gè)時(shí)鐘,然后每隔16個(gè)時(shí)鐘將移位寄存器中的數(shù)據(jù)移出一位,最后送出高電平,返回初始狀態(tài)。
系統(tǒng)調(diào)試
UART接收器和發(fā)送器可根據(jù)實(shí)際需要單獨(dú)使用,但在調(diào)試時(shí)為了方便,將兩者對(duì)接起來(lái),如圖5所示。UART接收器的輸出與UART發(fā)送器的輸入相連,復(fù)位信號(hào)和時(shí)鐘信號(hào)共用,時(shí)鐘信號(hào)由片外晶振提供,輸入FPGA后通過(guò)鎖相環(huán)轉(zhuǎn)換為需要的頻率。
?

圖5 調(diào)試系統(tǒng)模塊圖

串口的調(diào)試需要借助于串口調(diào)試工具,可以用VC編程實(shí)現(xiàn),也可以直接使用網(wǎng)上已有的調(diào)試工具。直接選用網(wǎng)上的串口調(diào)試助手進(jìn)行了測(cè)試,將數(shù)據(jù)從計(jì)算機(jī)送出,經(jīng)過(guò)UART接口接收后再送回計(jì)算機(jī)。經(jīng)過(guò)長(zhǎng)達(dá)數(shù)十分鐘的不間斷接收和發(fā)送后,將送回計(jì)算機(jī)的數(shù)據(jù)與原始數(shù)據(jù)進(jìn)行比較,多次測(cè)試均沒有發(fā)生任何錯(cuò)誤,這充分說(shuō)明了這一UART接口程序具有高度的可靠性和穩(wěn)定性,可以滿足設(shè)計(jì)要求。
結(jié)束語(yǔ)
基于FPGA設(shè)計(jì)和實(shí)現(xiàn)UART,可以用片上很少的邏輯單元實(shí)現(xiàn)UART的基本功能。與傳統(tǒng)設(shè)計(jì)相比,能有效減少系統(tǒng)的PCB面積,降低系統(tǒng)的功耗,提高設(shè)計(jì)的穩(wěn)定性和可靠性,并可方便地進(jìn)行系統(tǒng)升級(jí)和移植。
本設(shè)計(jì)具有較大的靈活性,通過(guò)調(diào)整波特率發(fā)生器的分頻參數(shù),就可以使其工作在不同的頻率。采用16倍波特率的采樣時(shí)鐘,可以實(shí)時(shí)有效探測(cè)數(shù)據(jù)的起始位,并可對(duì)數(shù)據(jù)位進(jìn)行“對(duì)準(zhǔn)”中央采樣,保證了所采樣數(shù)據(jù)的正確性。該模塊可以作為一個(gè)完整的IP核移植進(jìn)各種FPGA中,在實(shí)際應(yīng)用時(shí)可嵌入到其他系統(tǒng)中,很容易實(shí)現(xiàn)和遠(yuǎn)端上位機(jī)的異步通信。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ?? ?? ?? ?? ? ?

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

中國(guó),上?!?026年3月26日——低功耗可編程領(lǐng)域的領(lǐng)導(dǎo)者,萊迪思半導(dǎo)體(NASDAQ: LSCC)今日宣布正式加入英偉達(dá)(NVIDIA) Halos AI系統(tǒng)檢測(cè)實(shí)驗(yàn)室生態(tài)體系。該實(shí)驗(yàn)室是首個(gè)獲得美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)認(rèn)...

關(guān)鍵字: 物理人工智能 傳感器 FPGA

在工業(yè)自動(dòng)化的“神經(jīng)網(wǎng)絡(luò)”中,EtherCAT憑借其獨(dú)特的“飛過(guò)處理”機(jī)制,已成為實(shí)時(shí)控制領(lǐng)域的王者。不同于傳統(tǒng)以太網(wǎng)的存儲(chǔ)轉(zhuǎn)發(fā),EtherCAT數(shù)據(jù)幀在經(jīng)過(guò)每個(gè)從站時(shí),硬件直接從中提取數(shù)據(jù)并插入響應(yīng),這種“邊飛邊修”的...

關(guān)鍵字: EtherCAT FPGA 總線

在復(fù)雜的SoC芯片設(shè)計(jì)流程中,硬件與軟件的“割裂”往往是導(dǎo)致項(xiàng)目延期的元兇。當(dāng)RTL代碼還在仿真階段時(shí),軟件團(tuán)隊(duì)只能基于指令集模擬器(ISS)進(jìn)行開發(fā),不僅速度慢如蝸牛,且無(wú)法捕捉真實(shí)硬件的時(shí)序細(xì)節(jié)。此時(shí),F(xiàn)PGA原型驗(yàn)...

關(guān)鍵字: SoC 硬件加速 FPGA

在工業(yè)4.0浪潮中,邊緣計(jì)算網(wǎng)關(guān)正成為連接物理世界與數(shù)字世界的核心樞紐。面對(duì)多路傳感器產(chǎn)生的海量數(shù)據(jù)洪流,傳統(tǒng)單芯片架構(gòu)已難以滿足實(shí)時(shí)性與算力的雙重需求。NVIDIA Jetson與FPGA的異構(gòu)組合,通過(guò)"前端FPGA...

關(guān)鍵字: 邊緣計(jì)算 NVIDIA Jetson FPGA

在高速網(wǎng)絡(luò)通信領(lǐng)域,F(xiàn)PGA憑借其并行處理能力成為實(shí)現(xiàn)以太網(wǎng)MAC(媒體訪問(wèn)控制)層的理想平臺(tái)。然而,面對(duì)1G甚至10Gbps的線速流量,傳統(tǒng)的“軟件式”逐包處理早已力不從心。構(gòu)建高效的包處理流水線(Packet Pro...

關(guān)鍵字: 以太網(wǎng) MAC FPGA

在FPGA實(shí)現(xiàn)數(shù)字信號(hào)處理(DSP)算法時(shí),DSP Slice作為專用硬件資源,其利用效率直接影響系統(tǒng)性能與成本。本文聚焦乘加運(yùn)算(MAC)的優(yōu)化實(shí)現(xiàn),分享流水線設(shè)計(jì)與資源復(fù)用的實(shí)用技巧,幫助開發(fā)者在有限資源下實(shí)現(xiàn)更高吞...

關(guān)鍵字: FPGA DSP

在異構(gòu)計(jì)算的浪潮中,F(xiàn)PGA憑借其可重構(gòu)特性與高能效比,成為突破算力瓶頸的“利刃”。然而,當(dāng)我們?cè)噲D通過(guò)OpenCL將FPGA納入統(tǒng)一計(jì)算平臺(tái)時(shí),一個(gè)巨大的幽靈始終盤旋在系統(tǒng)上方——內(nèi)存帶寬瓶頸。PCIe總線的有限帶寬與...

關(guān)鍵字: OpenCL FPGA

將成熟的ASIC設(shè)計(jì)遷移至FPGA平臺(tái),絕非簡(jiǎn)單的“復(fù)制粘貼”。ASIC設(shè)計(jì)追求極致的能效比和定制化物理布局,而FPGA受限于固定的邏輯單元(LUT、FF、DSP、BRAM)架構(gòu),直接移植往往導(dǎo)致資源利用率低下甚至?xí)r序收...

關(guān)鍵字: ASIC FPGA

在高性能FPGA設(shè)計(jì)中,DSP48E2 Slice絕非僅僅是一個(gè)簡(jiǎn)單的乘法單元。若將其僅視為“硬件乘法器”,將極大浪費(fèi)其潛在的算力。作為Xilinx UltraScale+架構(gòu)的核心算術(shù)引擎,DSP48E2集成了預(yù)加器、...

關(guān)鍵字: DSP48E2 FPGA

在浩瀚宇宙中,高能粒子如隱形的子彈,時(shí)刻轟擊著航天器的電子核心。對(duì)于FPGA而言,單粒子翻轉(zhuǎn)(SEU)可能導(dǎo)致邏輯狀態(tài)突變,引發(fā)災(zāi)/難性后果。此時(shí),三模冗余(TMR)技術(shù)便成為守護(hù)系統(tǒng)可靠的“神盾”,它通過(guò)硬件代價(jià)換取極...

關(guān)鍵字: 抗輻射加固設(shè)計(jì) FPGA 三模冗余
關(guān)閉