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

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]l 引 言UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器)是用于控制CPU與串行設(shè)備通信的芯片,將由CPU傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。將系統(tǒng)外部來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供系統(tǒng)內(nèi)部

l 引 言

UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器)是用于控制CPU與串行設(shè)備通信的芯片,將由CPU傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。將系統(tǒng)外部來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供系統(tǒng)內(nèi)部使用并行數(shù)據(jù)的器件使用。他可以在輸出的串行數(shù)據(jù)流中加人奇偶校驗(yàn)位和啟停標(biāo)記,并對(duì)從外部接收的數(shù)據(jù)流進(jìn)行奇偶校驗(yàn)以及刪除啟停標(biāo)記。常見UART主要有INS8250,PC16450和PCI6550,其中16550發(fā)送和接收都帶有16 B的FIFO,為協(xié)調(diào)發(fā)送、接收端的速率匹配提供了更大的緩沖余地,同時(shí)也可以提高CPU的使用效率,從而提高系統(tǒng)的整體性能。 2 UART16550的基本結(jié)構(gòu)

如圖1所示,UART16550的基本結(jié)構(gòu)由CPU接口模塊、波特率發(fā)生器、FIFO控制器、發(fā)送/接收FIFO和發(fā)送/接收模塊共7個(gè)部分組成。

CPU通過UART的CPU接口模塊配置整個(gè)UART,波特率發(fā)生器在CPU寫入初始值后產(chǎn)生需要的波特率,控制發(fā)送和接收模塊在設(shè)定的波特率下工作。CPU通過接口模塊向發(fā)送FIFO內(nèi)寫入需要發(fā)送的8位數(shù)據(jù),同時(shí)發(fā)送模塊開始讀取FIFO中的數(shù)據(jù),并加入起始位、奇偶校驗(yàn)位和停止位后以串行發(fā)送的方式傳輸給串行接收設(shè)備。接收模塊時(shí)刻監(jiān)視串行輸入端口,發(fā)現(xiàn)有數(shù)據(jù)發(fā)送來的時(shí)候馬上啟動(dòng)接收模塊開始接收數(shù)據(jù)并有效的判斷出奇偶校驗(yàn)位來檢測(cè)數(shù)據(jù)的正確性,最后把剩下的8位數(shù)據(jù)放入接收FIFO,并通知CPU有數(shù)據(jù)進(jìn)來進(jìn)行接收。異步串行通信協(xié)議的數(shù)據(jù)傳輸格式如圖2所示。

UART16550的發(fā)送數(shù)據(jù)位可以選擇為5~8位,同時(shí)可以選擇奇校驗(yàn)、偶校驗(yàn)或者不設(shè)置校驗(yàn)位,停止位可以約定為1,1.5或2位。

3 UART16550的設(shè)計(jì)實(shí)現(xiàn)

3.1 CPU接口模塊

CPU接口模塊完成了CPU指令的解讀與寄存器配置以及UART狀態(tài)讀取等功能。通過3位的地址線和8位的數(shù)據(jù)線,CPU可以對(duì)波特率發(fā)生器的波特率進(jìn)行預(yù)先的設(shè)定,以使串口兩端的設(shè)備在同一波特率下完成接收和發(fā)送的工作。同時(shí)CPU接口接收來自CPU的需要發(fā)送的5∽8位數(shù)據(jù),送人發(fā)送模塊,或者把接收模塊接收到的數(shù)據(jù)通過接口送給CPU進(jìn)行數(shù)據(jù)處理。在此接口模塊里,設(shè)置了8個(gè)控制和狀態(tài)寄存器,包括RBR(Receiver Buffer Register)接收緩沖寄存器、THR(Transmit Hold Register)發(fā)送保持寄存器、IER(Interrupt Enable Register)中斷使能寄存器、IIR(Interrupt ID Register)中斷寄存器、LCR(Line Control Register)線控制寄存器、LSR(Line Status Register)線狀態(tài)寄存器、SCR(Scratchpad Register)暫存寄存器和FCR(FIFO Control Register)。在使用UART16550前,CPU必須要對(duì)控制寄存器進(jìn)行配置,包括波特率、數(shù)據(jù)位數(shù)、奇偶校驗(yàn)、停止位位數(shù)及FIFO的控制等。這也是16550區(qū)別于一般UART的具有可編程的特點(diǎn)。

3.2波特率發(fā)生器

波特率是單位時(shí)間內(nèi)傳送的二進(jìn)制數(shù)據(jù)的位數(shù),以位/秒(b/s)表示,也稱為數(shù)據(jù)位率。

收/發(fā)時(shí)鐘頻率與波特率之間關(guān)系:

收/發(fā)時(shí)鐘頻率=N×波特率

N可以取8,16,32和64等,為了兼顧速度和穩(wěn)定性一般取為16。N在硬件設(shè)計(jì)時(shí)已經(jīng)設(shè)定好,軟件不能改變。波特率發(fā)生器由兩個(gè)8位的數(shù)據(jù)寄存器組合成16位的分頻寄存器,可以實(shí)現(xiàn)系統(tǒng)頻率的1~2(16)分頻,達(dá)到預(yù)定的波特率設(shè)置。

3.3 FIFO控制器和發(fā)送/接收FIFO

帶有緩存是16550以及更高端UART的突出的特點(diǎn)。16550帶有8位寬、16字節(jié)深的異步FIFO。FIFO控制器從CPU接口讀入信息,配置發(fā)送/接收FIFO,并且在需要的時(shí)候使能FIFO,并且把FIFO的實(shí)時(shí)狀態(tài)通過CPU接口送給CPU以方便CPU讀取數(shù)據(jù)。在發(fā)送FIFO空和接收FIFO滿的時(shí)候,F(xiàn)IFO控制器立即產(chǎn)生中斷請(qǐng)求,通知CPU進(jìn)行下一步的操作。另外,當(dāng)配置DMA模式時(shí),CPU可以進(jìn)行大數(shù)據(jù)量的發(fā)送和讀取,減輕了CPU的負(fù)擔(dān),可以提高整個(gè)系統(tǒng)的運(yùn)行效率。

3.4發(fā)送模塊

發(fā)送模塊的核心是one hot編碼的狀態(tài)機(jī)。他可以讀人來自FIFO的數(shù)據(jù),并根據(jù)配置寄存器里面的信息加入起始位、1,1.5或2位停止位和奇偶校驗(yàn)位,然后把打包的數(shù)據(jù)通過移位寄存器把數(shù)據(jù)以標(biāo)準(zhǔn)的串口協(xié)議發(fā)送給串口接收設(shè)備。只要發(fā)送FIFO中有數(shù)據(jù)存在,發(fā)送模塊就會(huì)一直發(fā)送,直到FIFO空為止。在不選擇FIFO的情況下,發(fā)送模塊則直接接收來自THR(Transmit Hold Register)發(fā)送保持寄存器的數(shù)據(jù),不經(jīng)過緩存直接發(fā)送。

3.5接收模塊

接收模塊是發(fā)送模塊功能的逆序執(zhí)行。他接收來自外部的串行數(shù)據(jù),根據(jù)配置去除數(shù)據(jù)的起始、停止位和奇偶校驗(yàn)位,若出現(xiàn)數(shù)據(jù)差錯(cuò)則立即產(chǎn)生錯(cuò)誤信息。如果沒有錯(cuò)誤,則將剩余的8位有用數(shù)據(jù)送入接收FIFO讓CPU讀取。同樣接收模塊也可以選擇不使用FIFO,這時(shí)接收模塊就會(huì)把8位數(shù)據(jù)直接送給RBR(Receive Buffer Register)接收緩沖寄存器,再由RBR送給CPU。

4結(jié)果的驗(yàn)證仿真

設(shè)計(jì)采用VHDL語(yǔ)言在FPGA Advantage平臺(tái)下編寫,并通過Modelsim編譯仿真,并且通過ISE下載到電路板上驗(yàn)證,硬件驗(yàn)證FPGA芯片采用Xilinx的Spartan3。XC400PQ208。由于驗(yàn)證UART接收/發(fā)送時(shí)序必須要有處理器,所以采用在FPGA內(nèi)部嵌入Xilinx的MicroBlaze軟核模擬CPU控制時(shí)序,通過FPGA外接的串口實(shí)現(xiàn)與計(jì)算機(jī)串口進(jìn)行通信。用Modelsim進(jìn)行時(shí)序仿真結(jié)果如圖3所示。

5 結(jié) 語(yǔ)

本文介紹了UARTl6550在可編程邏輯器件FPGA上的實(shí)現(xiàn),并通過實(shí)際電路驗(yàn)證了設(shè)計(jì)的功能,使用FP-GA不僅可以方便地用串口協(xié)議與PC機(jī)進(jìn)行串行通信,而且擴(kuò)展了板級(jí)系統(tǒng)的接口功能。應(yīng)用在可編程器件FPGA內(nèi)部,可以很大程度地減少電路板的使用面積,并提高系統(tǒng)的穩(wěn)定性和可編程性。



參考文獻(xiàn):

[1].INS8250datasheethttp://www.dzsc.com/datasheet/INS8250_405088.html.


來源:零八我的愛0次

本站聲明: 本文章由作者或相關(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ú)特的“飛過處理”機(jī)制,已成為實(shí)時(shí)控制領(lǐng)域的王者。不同于傳統(tǒng)以太網(wǎng)的存儲(chǔ)轉(zhuǎn)發(fā),EtherCAT數(shù)據(jù)幀在經(jīng)過每個(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)組合,通過"前端FPGA...

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

在高速網(wǎng)絡(luò)通信領(lǐng)域,F(xiàn)PGA憑借其并行處理能力成為實(shí)現(xiàn)以太網(wǎng)MAC(媒體訪問控制)層的理想平臺(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通過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)可靠的“神盾”,它通過硬件代價(jià)換取極...

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