支持紅外通信協(xié)議的UART IP核方案
出處:過客無名 發(fā)布于:2011-08-22 14:58:35
1 引言
IP核就是具有知識產(chǎn)權(quán)(IntellectualProperty)的模塊,隨著片上系統(tǒng)和系統(tǒng)級設(shè)計(jì)的出現(xiàn),IP核的設(shè)計(jì)及其復(fù)用成為集成電路設(shè)計(jì)的關(guān)鍵手段。IP核按照ASIC設(shè)計(jì)學(xué)的要求可分為硬核,固核和軟核。硬核是按照特定工藝,對設(shè)計(jì)進(jìn)行了所有的驗(yàn)證和仿真,以達(dá)到優(yōu)化。復(fù)用硬核所需時(shí)間和技術(shù)難度都較小,但用戶難以再修改硬核。固核是完成了綜合的模塊,它比軟核更多完成了門級綜合和時(shí)序仿真,提供門級網(wǎng)表。軟核只完成RTL級的設(shè)計(jì),是獨(dú)立于工藝條件的HDL描述語言生成的源代碼,使用者可以利用它針對不同工藝修改或重新綜合設(shè)計(jì),給后續(xù)者提供了更大的創(chuàng)作空間,軟核具有很大靈活性,成為IP復(fù)用的主流。
本文設(shè)計(jì)的UART軟核,不僅支持UART通用的RS232協(xié)議,還支持IRDA1.0協(xié)議,以適用于紅外接口。
2 UART的IP核設(shè)計(jì)及分析
根據(jù)Top-Down的設(shè)計(jì)方法,對UART功能進(jìn)行整體分析研究,劃分為包括接口模塊,發(fā)送模塊,接收模塊,中斷控制模塊,紅外接口模塊,波特率發(fā)生模塊等主要功能模塊。利用Verilog-HDL設(shè)計(jì)相應(yīng)的IP核,UART模塊圖如圖1所示。

圖1 功能模塊圖
2.1 接口模塊設(shè)計(jì)
接口模塊包括各個(gè)控制寄存器和狀態(tài)寄存器,這些寄存器的各個(gè)控制字控制其它各個(gè)功能模塊。
它是UART與外界通信的接口,處理器通過它對UART進(jìn)行控制。UART工作方式和傳送的數(shù)據(jù)及其格式均由UART接口模塊控制。
2.2 發(fā)送模塊設(shè)計(jì)
發(fā)送模塊將從處理器接收到的數(shù)據(jù),按規(guī)定的格式加上起始位,奇偶檢驗(yàn)位和停止位后串行輸出。
發(fā)送數(shù)據(jù)格式由一個(gè)有限狀態(tài)機(jī)來控制。如圖2所示。
空閑狀態(tài):UART復(fù)位時(shí),狀態(tài)機(jī)自動到空閑狀態(tài)。發(fā)送模塊檢查是否發(fā)送數(shù)據(jù),有則進(jìn)入開始狀態(tài)。開始狀態(tài):開始狀態(tài)將給待發(fā)送的數(shù)據(jù)加上起始位(低位)。
移位狀態(tài):發(fā)送模塊將待發(fā)送的數(shù)據(jù)從發(fā)送緩沖寄存器THR或發(fā)送FIFO中移出,按規(guī)定格式一位一位發(fā)送,直到一位數(shù)據(jù)位。發(fā)送模塊根據(jù)發(fā)送數(shù)據(jù)格式控制字判斷是否進(jìn)入校驗(yàn)狀態(tài)。若無,則到停止1位狀態(tài),如有校驗(yàn),則到檢驗(yàn)狀態(tài)。

圖2 發(fā)送模塊狀態(tài)機(jī)
校驗(yàn)狀態(tài):發(fā)送狀態(tài)機(jī)按控制字格式,給數(shù)據(jù)加入奇偶檢驗(yàn)位。
停止1位狀態(tài):狀態(tài)機(jī)根據(jù)控制字,給數(shù)據(jù)加上1,0.5,2位數(shù)據(jù)位。發(fā)送模塊首先進(jìn)入停止1位狀態(tài),給數(shù)據(jù)加上1位停止位(高位)。若只需一位停止位,則回到空閑狀態(tài)。否則根據(jù)要求到停止0.5位狀態(tài)或停止2位狀態(tài)。
停止0.5狀態(tài):發(fā)送模塊在此狀態(tài)下,給數(shù)據(jù)位加入5個(gè)發(fā)送時(shí)鐘周期長度的高電平。
停止2位狀態(tài):發(fā)送模塊對需要2位停止位的數(shù)據(jù)再加一位停止位。
2.3 接收模塊設(shè)計(jì)
接收模塊將從UART外部接收串行數(shù)據(jù),將所接收的數(shù)據(jù)放到接收FIFO中存放起來,以便處理器讀取。接收過程同樣由有限狀態(tài)機(jī)控制。如圖3所示。

圖3 接收模塊狀態(tài)機(jī)
接收器模塊不僅對接收的數(shù)據(jù)濾出噪聲干擾,還要對數(shù)據(jù)位的溢出出錯,奇偶檢驗(yàn)出錯,幀出錯,BREAK等進(jìn)行檢驗(yàn),并根據(jù)檢驗(yàn)結(jié)果設(shè)置線狀態(tài)寄存器相應(yīng)的狀態(tài)位。
空閑狀態(tài):UART復(fù)位時(shí),接收狀態(tài)機(jī)進(jìn)入空閑狀態(tài)。一旦接收到有用起始位,狀態(tài)機(jī)進(jìn)入接收數(shù)據(jù)狀態(tài),到移位狀態(tài)。
移位狀態(tài):狀態(tài)機(jī)根據(jù)接收控制字,對接收數(shù)據(jù)移位,并按正確格式將數(shù)據(jù)放入接收緩沖器或接收FIFO中。
校驗(yàn)狀態(tài):對接收的數(shù)據(jù)根據(jù)接收的校驗(yàn)位進(jìn)行判斷。并置相關(guān)位。
停止?fàn)顟B(tài):狀態(tài)機(jī)在此狀態(tài)下,根據(jù)接收數(shù)據(jù)是否在正確時(shí)間采樣到停止位,置相關(guān)位。
2.4 中斷控制模塊設(shè)計(jì)
中斷控制模塊要求當(dāng)任何中斷發(fā)生時(shí),使中斷使能寄存器的相應(yīng)位允許中斷發(fā)生,輸出端口INTER將為高電平。中斷識別寄存器保存著多級中斷類型:接收器線狀態(tài)(溢出出錯,奇偶檢驗(yàn)出錯,幀格式出錯,BREAK)出錯,接收數(shù)據(jù)準(zhǔn)備好,接收超時(shí),發(fā)送器空。外界將通過中斷識別寄存器識別中斷類型。同樣中斷級別判定由有限狀態(tài)機(jī)來控制,以決定中斷的優(yōu)先權(quán)。
2.5 波特率發(fā)生器模塊設(shè)計(jì)
波特率發(fā)生器模塊提供UART進(jìn)行通信時(shí)所需時(shí)鐘,還需對外部接收時(shí)鐘進(jìn)行同步處理,本設(shè)計(jì)的波特率發(fā)生器模塊利用時(shí)鐘分頻寄存器(PSD和DL)對主頻fclk分頻提供給UART所需的各標(biāo)準(zhǔn)波特率BR(如式1)。DL可以提供1到65536的任意分頻,PSD還可以提供針對主頻過高的分頻因子,以適用于更廣的主頻。BR的計(jì)算公式如下:

2.6 紅外接口模塊設(shè)計(jì)
通用發(fā)送模塊和接收模塊傳送的是RS232協(xié)議要求的不歸零碼NRZ,傳送的每一位數(shù)據(jù)都是占用一位數(shù)據(jù)的全部時(shí)間來保持為“1”或?yàn)椤?”。紅外協(xié)議與RS232協(xié)議一樣都是按照每個(gè)字符為一幀來進(jìn)行傳送的,包括起始位,數(shù)據(jù)位,奇偶檢驗(yàn)位和停止位。但與RS232協(xié)議不一樣的是,紅外協(xié)議按照數(shù)據(jù)為“1”時(shí)傳送的是“0”,數(shù)據(jù)為“0”時(shí)傳送的是數(shù)據(jù)位的3?16寬的脈沖。本設(shè)計(jì)的紅外接口模塊完成這兩種協(xié)議的電平轉(zhuǎn)換,以實(shí)現(xiàn)傳送紅外數(shù)據(jù)的功能。主要由編碼模塊和解碼模塊完成,編碼模塊完成RS232到IRDA之間的轉(zhuǎn)換,解碼模塊完成IRDA到RS232之間的轉(zhuǎn)換。UART在使用中,通過控制寄存器(MCR)的控制字來決定采用哪種通信協(xié)議。
3 IP核仿真驗(yàn)證
本設(shè)計(jì)用Candence公司的Ncverilog和Synopsys的DesignCompiler進(jìn)行仿真,綜合調(diào)試。圖4為UART依次傳送8’b10101100,8’b10101101,8’b10101110的通用RS232協(xié)議串行輸出結(jié)果和IRDA的輸出結(jié)果(奇檢驗(yàn))。利用XilinxXPLA3CPLD驗(yàn)證,其頻率可達(dá)78MHz。
結(jié)果表明設(shè)計(jì)滿足要求,其傳輸速率和工作頻率均遠(yuǎn)大于工業(yè)實(shí)際應(yīng)用。

圖4 UART發(fā)送數(shù)據(jù)的輸出結(jié)果
4 結(jié)語
IP核在集成電路中的應(yīng)用越來越廣,尤其是目前的工藝朝著深亞微米尺寸發(fā)展,IP核的設(shè)計(jì)和復(fù)用更變得異常重要。IP核技術(shù)的出現(xiàn)提高了設(shè)計(jì)效率和質(zhì)量,縮短了產(chǎn)品的開發(fā)周期,有利于優(yōu)化設(shè)計(jì)資源,避免重復(fù)勞動。使超大規(guī)模的系統(tǒng)芯片設(shè)計(jì)方便,快捷。本文采用Verilog-HDL語言設(shè)計(jì)的支持紅外通信協(xié)議IRDA1.0UART的軟核既可單獨(dú)作為UART使用,也可復(fù)用于多種芯片中。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實(shí)踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計(jì)、天線匹配與鏈路預(yù)算計(jì)算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









