www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:介紹了一種基于Wishbone總線的UART IP核的設(shè)計(jì)方法。該設(shè)計(jì)采用了自頂向下的模塊化劃分和有限狀態(tài)機(jī)相結(jié)合的方法,由于其應(yīng)用了標(biāo)準(zhǔn)的Wishbone總線接口,從而使微機(jī)系統(tǒng)與串行設(shè)備之間的通信更加靈活方便。驗(yàn)證

摘要:介紹了一種基于Wishbone總線的UART IP核的設(shè)計(jì)方法。該設(shè)計(jì)采用了自頂向下的模塊化劃分和有限狀態(tài)機(jī)相結(jié)合的方法,由于其應(yīng)用了標(biāo)準(zhǔn)的Wishbone總線接口,從而使微機(jī)系統(tǒng)與串行設(shè)備之間的通信更加靈活方便。驗(yàn)證結(jié)果表明,這種新的架構(gòu)設(shè)計(jì)是有效的。
關(guān)鍵詞:Wishbone總線;UART;有限狀態(tài)機(jī);IP核

    隨著集成電路與嵌入式技術(shù)的發(fā)展與廣泛應(yīng)用,許多嵌入式系統(tǒng)都需要進(jìn)行串行通信,因此在片上嵌入式系統(tǒng)芯片中集成uART(通用異步接發(fā)裝置)的IP核已成為一種趨勢(shì)。
    在基于IP核復(fù)用技術(shù)的集成電路設(shè)計(jì)中,片上總線的選取是最為關(guān)鍵的問題。目前,許多廠商已經(jīng)開發(fā)了適用于各自片上總線標(biāo)準(zhǔn)的UART IP核,例如基于AMBA總線的UART IP核、基于CoreConnect總線的UART IP核等。如果用戶要使用這些商業(yè)化的UART核,則需要得到授權(quán)。因此從成本、性能、開放性的角度來看,采用開源、易于實(shí)現(xiàn)的Wishbone總線標(biāo)準(zhǔn)設(shè)計(jì)出的UART IP核將會(huì)擁有廣泛的市場(chǎng)。

1 UART IP核的設(shè)計(jì)原理
1.1 UART工作原理
    通用非同步收發(fā)裝置(UART)是計(jì)算機(jī)進(jìn)行串行通信的重要組成部分。它將微機(jī)系統(tǒng)內(nèi)部傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為串行輸出數(shù)據(jù)流,以電平的形式傳輸出去;將微機(jī)系統(tǒng)外部傳送來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供微機(jī)系統(tǒng)內(nèi)部使用并行數(shù)據(jù)的器件使用;在輸出的串行數(shù)據(jù)流中加入奇偶校驗(yàn)位,并對(duì)從外部接收的數(shù)據(jù)流進(jìn)行奇偶校驗(yàn);在輸出數(shù)據(jù)流中加入啟停標(biāo)記,并從接收數(shù)據(jù)流中刪除狀態(tài)標(biāo)記。
    對(duì)于UART而言,總線上的所有信號(hào)都是至關(guān)重要的。這些信號(hào)包括所需的控制信息和數(shù)據(jù)。因此總線接口的設(shè)計(jì)決定著UART的設(shè)計(jì)細(xì)節(jié)。本設(shè)計(jì)采用Wishbone總線作為UART核與微機(jī)系統(tǒng)進(jìn)行通信的主機(jī)接口。UART核的接口信號(hào)如圖1所示。


1.2 Wishbone總線接口
    在集成電路設(shè)計(jì)領(lǐng)域,Wishbone總線結(jié)構(gòu)是一種靈活、開源的設(shè)計(jì)方法。其目的是促進(jìn)設(shè)計(jì)的再利用,簡(jiǎn)化系統(tǒng)級(jí)芯片的集成問題。通過在IP核之間創(chuàng)建一個(gè)總線接口,從而將各個(gè)IP核能方便地進(jìn)行連接。這就提高了設(shè)計(jì)的可復(fù)用性和系統(tǒng)的可靠性,加快了產(chǎn)品推向市場(chǎng)的速度。在此之前,IP核之間都是使用非標(biāo)準(zhǔn)的總線規(guī)范進(jìn)行連接的,這就難以實(shí)現(xiàn)復(fù)用。因此采用標(biāo)準(zhǔn)化的E總線結(jié)構(gòu)設(shè)計(jì)IP核,已成為IC設(shè)計(jì)行業(yè)的主流。
    在設(shè)計(jì)中,Wishbone總線為微機(jī)系統(tǒng)和UART控制器提供了操作接口。Wishbone總線接口的主要功能是協(xié)調(diào)處理器和UART核之間的信號(hào),使處理器能正確地使用UART核進(jìn)行數(shù)據(jù)通信。



2 UART IP核的設(shè)計(jì)實(shí)現(xiàn)
    UART IP核的研發(fā)是遵照RS232協(xié)議和Wishbone總線標(biāo)準(zhǔn)進(jìn)行的,集成了UART的基本功能。
    UART IP核的主要技術(shù)特征包括:
    (1)支持標(biāo)準(zhǔn)RSR232接口標(biāo)準(zhǔn)和Wishbone總線規(guī)范。
    (2)全雙工獨(dú)立收發(fā)功能。
    (3)接收通道進(jìn)行奇偶校驗(yàn),溢出,產(chǎn)生可選中斷。
    (4)內(nèi)置支持接收和發(fā)送的16 Byte FIFO。
    (5)發(fā)送“空”產(chǎn)生可選中斷,接收“滿”產(chǎn)生可選中斷。
    UART IP核體系結(jié)構(gòu)如圖2所示。


    UART IP核內(nèi)部主要包括數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊以及Wishbone總線接口模塊。各模塊的設(shè)計(jì)如下。
2.1 Wishbone總線接口模塊設(shè)計(jì)
    Wishbone總線接口模塊將UART IP核與微機(jī)系統(tǒng)相連。該模塊提供Wishbone Master和Wishbone Slave接口。
    Wishbone總線接口模塊的主要功能如下:
    (1)提供UART IP核與其他設(shè)備的接口,如存儲(chǔ)器或者主機(jī)的接口。
    (2)包含緩沖描述符(儲(chǔ)存于內(nèi)部RAM)。
    (3)包含信號(hào)在主機(jī)時(shí)鐘、發(fā)送時(shí)鐘和接收時(shí)鐘之間的同步邏輯。
    (4)發(fā)送功能。讀取發(fā)送緩沖描述符,讀取數(shù)據(jù)到發(fā)送FIFO并開始發(fā)送,其后將發(fā)送狀態(tài)寫到發(fā)送緩沖描述符。
    (5)接收功能。讀取接收緩沖描述符,將獲得的字節(jié)寫入接收FIFO,其后通過Wishbone Muter接口與微機(jī)系統(tǒng)進(jìn)行通信。最后,將接收狀態(tài)寫到接收緩沖描述符。
    當(dāng)處理器需要串行發(fā)送數(shù)據(jù)時(shí),先將數(shù)據(jù)以包的形式存儲(chǔ)于主存儲(chǔ)器中,然后將存儲(chǔ)的所有包的起始地址、目的地址、長(zhǎng)度以及發(fā)送控制信息寫入發(fā)送描述符中。
    Wishbone接口模塊讀取到一個(gè)非空的發(fā)送描述符后即發(fā)送數(shù)據(jù),發(fā)送的數(shù)據(jù)要通過Wishbone接口邏輯訪問位于總線上的主存儲(chǔ)器,讀取到的數(shù)據(jù)首先放到發(fā)送FIFO中,其后再通過發(fā)送控制和同步邏輯與數(shù)據(jù)發(fā)送模塊進(jìn)行握手,將數(shù)據(jù)從TX_O端口串行發(fā)送出去。
    當(dāng)接收數(shù)據(jù)時(shí),數(shù)據(jù)由RX_I端口串行地移入接收FIFO中,每收滿8位數(shù)據(jù)就移入接收保持寄存器,然后通過Wishbone總線并行傳輸給處理器核。
2.2 數(shù)據(jù)接收模塊設(shè)計(jì)
    由于外部信號(hào)是通過異步串行的形式傳輸,因此當(dāng)接收端口檢測(cè)到一個(gè)由高到低的數(shù)據(jù)就被視為一個(gè)幀的起始位。為了避免接收信號(hào)的噪聲而產(chǎn)生的不正確的數(shù)據(jù),檢測(cè)到的起始位時(shí)鐘至少要低于50%的波特率時(shí)鐘。接收模塊一旦接收到有效的起始位,就將通過RS232標(biāo)準(zhǔn)的波特率對(duì)數(shù)據(jù)位和校驗(yàn)位進(jìn)行采樣。
    設(shè)計(jì)采用接收狀態(tài)機(jī)控制整個(gè)模塊的接收過程。接收狀態(tài)機(jī)可分為5個(gè)狀態(tài),即IDLE、RX_START、RX_DATA、CHECK、RX_STOP,它們之間的狀態(tài)轉(zhuǎn)移,如圖3所示。


    IDLE狀態(tài):當(dāng)產(chǎn)生復(fù)位信號(hào)或運(yùn)行至停止?fàn)顟B(tài)之后,接收狀態(tài)機(jī)將復(fù)位到這種狀態(tài)。處于IDLE狀態(tài)時(shí),它等待外部傳來的信號(hào)從高向低轉(zhuǎn)變,此時(shí)視為產(chǎn)生了一個(gè)有效的起始位。一旦有效起始位被檢測(cè)到,有限狀態(tài)機(jī)就會(huì)切換到下個(gè)狀態(tài)。
    RX_DATA狀態(tài):當(dāng)狀態(tài)機(jī)跳轉(zhuǎn)到此狀態(tài)時(shí),采樣每得到一位數(shù)據(jù),就把接收到數(shù)據(jù)放到準(zhǔn)備好的接收移位寄存器中。在設(shè)計(jì)中需要一個(gè)接收計(jì)數(shù)器來進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)器提示數(shù)據(jù)接收已完成,則狀態(tài)機(jī)會(huì)轉(zhuǎn)入下個(gè)狀態(tài)。
    CHECK狀態(tài):當(dāng)處于CHECK狀態(tài)時(shí),通過對(duì)實(shí)際接收到的數(shù)據(jù)進(jìn)行判斷得出實(shí)際數(shù)據(jù)的奇偶性,然后再與發(fā)送過來的數(shù)據(jù)的奇偶校驗(yàn)位進(jìn)行奇偶校驗(yàn)。
    如果符合,那么表示接收數(shù)據(jù)有效,可以傳入處理器;如不符,則不傳,直接丟棄數(shù)據(jù)。
    RX_STOP狀態(tài):無論停止位長(zhǎng)度設(shè)定為1位或者是2位,有限狀態(tài)機(jī)總是等待1位樣本的采樣時(shí)間,然后抽樣停止位。只要一個(gè)邏輯采樣停止位被檢測(cè)到,數(shù)據(jù)接收模塊就不會(huì)去檢查是否停止位的配置出現(xiàn)錯(cuò)誤。此時(shí),有限狀態(tài)機(jī)將返回IDLE狀態(tài)。
2.3 數(shù)據(jù)發(fā)送模塊設(shè)計(jì)
    發(fā)送模塊將從處理器接收到的數(shù)據(jù),加上起始位,奇偶檢驗(yàn)位和停止位組成規(guī)定的格式后串行輸出。首先,利用緩存器FIFO存放需要發(fā)送的數(shù)據(jù),這樣處理器可以一次往FIFO中寫入多個(gè)字節(jié)的數(shù)據(jù)。發(fā)送數(shù)據(jù)時(shí)依次從FIFO中每次取出1Byte進(jìn)行串行輸出。
    設(shè)計(jì)采用發(fā)送狀態(tài)機(jī)來控制整個(gè)模塊的發(fā)送過程。發(fā)送狀態(tài)機(jī)由以下5個(gè)狀態(tài)組成:IDLE、TX_START、TX_DATA、CHECK、TX_STOP,它們的轉(zhuǎn)移關(guān)系如圖4所示。


    IDLE狀態(tài):在沒有接收到將要發(fā)送的數(shù)據(jù)時(shí),發(fā)送模塊一直處于該狀態(tài),此刻一直保持發(fā)送模塊的數(shù)據(jù)位為高,當(dāng)?shù)玫街鳈C(jī)發(fā)出的工作信號(hào)時(shí),發(fā)生狀態(tài)跳轉(zhuǎn),進(jìn)入下個(gè)狀態(tài)。
    TX_START狀態(tài):發(fā)送模塊會(huì)先發(fā)送一個(gè)數(shù)據(jù)“0”,作為起始位。起始位傳送完畢后,轉(zhuǎn)入下個(gè)狀態(tài)。
    TX_DATA狀態(tài):發(fā)送完起始位后,接著發(fā)送由主機(jī)傳來的有效數(shù)據(jù)。首先把數(shù)據(jù)存入模塊內(nèi)的移位寄存器中,利用移位寄存器實(shí)現(xiàn)并行輸入到串行輸出的轉(zhuǎn)換。同時(shí)計(jì)數(shù)器開始計(jì)數(shù),在發(fā)送完8位數(shù)據(jù)后,計(jì)數(shù)器清零,F(xiàn)SM隨即跳入下個(gè)狀態(tài)。
    CHECK狀態(tài):當(dāng)狀態(tài)機(jī)處于這個(gè)狀態(tài),最后1位數(shù)據(jù)仍然在傳輸。傳輸完成時(shí),狀態(tài)機(jī)將判斷校驗(yàn)位。如果校驗(yàn)位無誤,則進(jìn)入下個(gè)狀態(tài)。
    TX_STOP狀態(tài):在此狀態(tài)下,根據(jù)發(fā)送模塊的采樣結(jié)果,將設(shè)置相關(guān)中斷和狀態(tài)位。發(fā)送完畢后,狀態(tài)機(jī)返回IDLE狀態(tài)。

3 UART IP核的驗(yàn)證方法
    對(duì)UART IP核的驗(yàn)證主要是在Modelsim軟件構(gòu)建的虛擬平臺(tái)中進(jìn)行的,通過編寫Testbench(測(cè)試代碼)作為激勵(lì)信號(hào),將得到的值與期望值進(jìn)行比較,從而判斷功能是否正確。驗(yàn)證系統(tǒng)框圖,如圖5所示。


    本次驗(yàn)證施加的測(cè)試激勵(lì)包括兩個(gè)部分,一部分是模擬發(fā)送數(shù)據(jù)的過程,如總線對(duì)于模塊內(nèi)部寄存器的讀信號(hào),UART串口輸出信號(hào)和設(shè)備的硬件接口信號(hào)等,驗(yàn)證模塊的正常功能是否實(shí)現(xiàn);另一部分是模擬接收數(shù)據(jù)的過程,如外部設(shè)備對(duì)UART發(fā)送的數(shù)據(jù)接收過程,以及UART  將數(shù)據(jù)轉(zhuǎn)換發(fā)送給微機(jī)系統(tǒng)。仿真波形圖,如圖6所示。


    仿真波形圖模擬的是UART在全雙工的模式下同時(shí)接收一個(gè)完整的數(shù)據(jù)(51,16進(jìn)制)和發(fā)送一個(gè)完整的數(shù)據(jù)(11,16進(jìn)制)的過程。以接收過程為例:UART首先輸出發(fā)送UART_INT中斷信號(hào),通知處理器準(zhǔn)備接收數(shù)據(jù),處理器響應(yīng)中斷。UART通過采樣脈沖(Baud)將信號(hào)寫入RX_UDR接收寄存器中,同時(shí)接收計(jì)數(shù)器計(jì)數(shù),計(jì)數(shù)到8時(shí)自動(dòng)清零,中斷信號(hào)自動(dòng)清除,隨后將接收到的8位數(shù)據(jù)通過總線模塊傳入處理器中。發(fā)送過程為接收的逆過程。

4 結(jié)束語
    IP核重用技術(shù)以及接口標(biāo)準(zhǔn)化問題是IC設(shè)計(jì)領(lǐng)域中的研究熱點(diǎn),其應(yīng)用領(lǐng)域正在不斷拓展。本文介紹的基于Wishbone總線的UART IP核的設(shè)計(jì)方法,通過驗(yàn)證表明了各項(xiàng)功能達(dá)到預(yù)期要求,為IP核接口的標(biāo)準(zhǔn)化設(shè)計(jì)提供了依據(jù)。此外,該IP核代碼全部采用模塊化的Verilog-HDL語言編寫,便于以后不斷完善,具有較強(qiáng)的實(shí)際效益。

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉