甚高速紅外VFIR控制器的設(shè)計(jì)與實(shí)現(xiàn)
出處:bossma 發(fā)布于:2007-05-25 16:51:59
目前微機(jī)之間的紅外通信是基于IRDA-1.1標(biāo)準(zhǔn)的紅外無(wú)線串行SIR通信,參考文獻(xiàn)2給出了基于ISA總線的紅外無(wú)線串行通信卡的設(shè)計(jì)及實(shí)現(xiàn),該通信卡的數(shù)據(jù)速率為9.6kbps~115.2kbps,工作距離0~3m。但由于RS-232端口的數(shù)據(jù)速率上限為115.2kbps,不能滿足IRDA-1.4規(guī)范甚高速紅外VFIR 16Mbps速率要求,所以使用了PCI同步總線擴(kuò)展外設(shè)的方法設(shè)計(jì)甚高速紅外控制器。雖然ISA總線的傳輸速率能滿足甚高速紅外控制器設(shè)計(jì)要求,但目前許多微機(jī)系統(tǒng)已經(jīng)逐漸淘汰ISA/EISA標(biāo)準(zhǔn)總線。原因是高速微處理器和低速ISA總線之間不同步,造成擴(kuò)展外設(shè)只能通過(guò)一個(gè)慢速且狹窄的瓶頸發(fā)送和接收數(shù)據(jù),使CPU高性能受到嚴(yán)重影響。
1 HHH113 編解碼
2001年5月,紅外無(wú)線數(shù)據(jù)協(xié)會(huì)IRDA發(fā)布了紅外串行物理層規(guī)范IRDA-1.44;它與前期發(fā)布的物理層規(guī)范的主要區(qū)別在于增加甚高速紅外VFIR 16Mbps數(shù)據(jù)速率的編解碼技術(shù)和幀結(jié)構(gòu),而其它如視角范圍、發(fā)射器(大)光功率和接收器靈敏度等規(guī)范基本相同。紅外串行物理層規(guī)范IRDA-1.4規(guī)定數(shù)據(jù)速率小于4Mbps采用RZI(歸零反轉(zhuǎn))調(diào)制,脈沖寬度是位周期的3/16或1/4;數(shù)據(jù)速率4Mbps采用4PPM(脈沖位置調(diào)制);數(shù)據(jù)速率16Mbps采用HHH113 碼。
IRDA提出的VFIR編解碼技術(shù)—HHH113 碼是碼率為2/3,(dk)=113 的RLLrun-length-limited 碼;它是一種功率消耗和頻帶利用率相對(duì)折中的高效編碼,其中參數(shù)d、k分別表示在兩個(gè)‘1’之間和的‘0’的數(shù)目,參數(shù)d決定接收信號(hào)中有無(wú)碼間干擾ISI,參數(shù)k決定接收器能否從接收序列中恢復(fù)時(shí)鐘。HHH113 碼的帶寬效率使數(shù)據(jù)通信能夠選擇成本很低、上升/下降時(shí)間為19ns的LED。功率效率避免了LED的熱問(wèn)題,它能保證1m距離范圍內(nèi)保持鏈接。1m距離的16Mbps鏈路可達(dá)到過(guò)去4Mbps鏈路的驅(qū)動(dòng)電流和功耗。HHH113 碼和4PPM碼(用于4Mbps)的顯著區(qū)別是HHH113 碼決不允許一個(gè)紅外脈沖緊跟前一個(gè)紅外脈沖,脈沖之間應(yīng)該保持一個(gè)chip時(shí)間差。由于光電管工作區(qū)域內(nèi)有少量載流子的慢輻射,使LED或光電二極管表現(xiàn)出拖尾效應(yīng),HHH1.13 碼能夠兼容拖尾效應(yīng),從而允許在chip時(shí)間周期內(nèi)脈沖的擴(kuò)展。
雖然HHH113 碼的設(shè)計(jì)過(guò)程比較復(fù)雜,但IRDA-1.4標(biāo)準(zhǔn)已經(jīng)詳細(xì)給出了編譯碼邏輯方程和電路,所以實(shí)現(xiàn)起來(lái)比較容易。筆者使用Altera MAX+plus П 進(jìn)行邏輯功能仿真,并用GW48 EDA實(shí)驗(yàn)系統(tǒng)進(jìn)行硬件仿真,驗(yàn)證HHH113 碼編譯碼電路設(shè)計(jì)的正確性。
2 甚高速紅外VFIR控制器的硬件設(shè)計(jì)
由于PCI總線規(guī)定了嚴(yán)格的電氣特性,開(kāi)發(fā)PCI總線的應(yīng)用具有很大難度,因此使用AMCCApplied Micro Corporation 公司推出的PCI接口控制器S5933實(shí)現(xiàn)紅外控制器PCI總線接口規(guī)范5。甚高速紅外VFIR控制器原理框圖如圖1所示。選用Altera公司的FLEX10K系列現(xiàn)場(chǎng)可編程門陣列器件實(shí)現(xiàn)S5933與紅外TX/RXFIFO、寄存器的傳輸控制和邏輯時(shí)序以及紅外接口控制邏輯和紅外收發(fā)器接口功能模塊(CRC校驗(yàn)、編解碼以及串/并轉(zhuǎn)換)。甚高速紅外VFIR控制器工作原理如下:首先由AMCC S5933外部非易失性串行EEPROM AT24C02PCI配置空間,然后主機(jī)通過(guò)直通(Pass-Thru)寄存器數(shù)據(jù)訪問(wèn)方式向紅外接口控制寄存器寫(xiě)控制命令3。紅外接口控制邏輯根據(jù)控制命令發(fā)出控制信號(hào),使整個(gè)紅外控制器處于準(zhǔn)備狀態(tài)。當(dāng)上層協(xié)議發(fā)出數(shù)據(jù)發(fā)送事件時(shí),紅外接口控制邏輯發(fā)出消息,通知主機(jī)啟動(dòng)S5933總線主控讀操作,把上層數(shù)據(jù)寫(xiě)到外部紅外TXFIFO數(shù)據(jù)緩沖器;同時(shí)紅外接口控制邏輯根據(jù)TXFIFO狀態(tài)把TXFIFO的數(shù)據(jù)發(fā)送到紅外收發(fā)器接口,進(jìn)行鎖存、并/串轉(zhuǎn)換、CRC校驗(yàn)和編碼,通過(guò)VFIR收發(fā)器發(fā)送數(shù)據(jù)。同理VFIR收發(fā)器接收到的數(shù)據(jù)經(jīng)過(guò)譯碼、CRC校驗(yàn)、串/并轉(zhuǎn)換和鎖存,寫(xiě)入RXFIFO數(shù)據(jù)緩沖器。紅外接口控制邏輯觸發(fā)上層協(xié)議發(fā)出數(shù)據(jù)接收事件接收數(shù)據(jù),主機(jī)啟動(dòng)S5933總線主控寫(xiě)操作向上層協(xié)議遞交數(shù)據(jù),數(shù)據(jù)傳輸完成上層協(xié)議發(fā)回消息,通知數(shù)據(jù)接收完成。下面重點(diǎn)分析S5933S5933與紅外TX/RXFIFO、紅外寄存器組訪問(wèn)控制邏輯以及紅外接口控制邏輯和紅外收發(fā)器接口功能。
![]() |
2.1 紅外TX/RXFIFO與紅外控制寄存器組控制邏輯
AMCC S5933S5933支持3個(gè)物理總線接口:PCI總線接口、擴(kuò)充總線接口和非易失性EEPROM總線接口。非易失性EEPROM用于映射PCI的配置空間及設(shè)備BIOS的初始化;擴(kuò)充總線可以與外圍設(shè)備互連。主機(jī)和外設(shè)之間可以利用S5933的郵箱寄存器、FIFO寄存器、直通寄存器(Pass-Thru)數(shù)據(jù)傳輸方式雙向傳輸數(shù)據(jù)。
紅外寄存器組包括紅外接口控制寄存器和狀態(tài)寄存器。本文中甚高速紅外控制器利用S5933直通寄存器單周期數(shù)據(jù)傳送向紅外接口控制寄存器寫(xiě)控制字,由Pass-Thru邏輯控制電路把地址和數(shù)據(jù)分離開(kāi),直通地址寄存器(APTA)經(jīng)374鎖存并譯碼,選通紅外接口控制寄存器,同時(shí)把直通數(shù)據(jù)寄存器(PTDA)的低字寫(xiě)入紅外控制器;該接口控制寄存器的數(shù)據(jù)寬度為16位,包括紅外控制器始能、工作模式(UART、SIR、MIR、FIR、VFIR)的設(shè)置、接收或發(fā)送數(shù)據(jù)的選擇以及滿足SIR模式下多波特率的分頻數(shù)。紅外接口控制寄存器結(jié)構(gòu)定義如圖2。
|
|
同理使用直通寄存器方式獲取紅外接口狀態(tài)寄存器的狀態(tài)。紅外接口狀態(tài)寄存器結(jié)構(gòu)定義如圖3。
|
|
為滿足高速數(shù)據(jù)傳輸,利用S5933 FIFO寄存器總線主控方式下的同步猝發(fā)Burst 操作(DMA傳送)完成主機(jī)與紅外TX/RXFIFO的數(shù)據(jù)傳輸。PCI接口首先初始化S5933作為總線主控設(shè)備,然后由PCI接口向主控讀/寫(xiě)地址寄存器(MRAR/MWAR)寫(xiě)入要訪問(wèn)的PCI存儲(chǔ)空間地址,向主控讀/寫(xiě)計(jì)數(shù)器(MRTC/MWTC)寫(xiě)入要傳輸?shù)淖止?jié)數(shù)。S5933提供了4個(gè)專用引腳RDFIFO#、WRFIFO#、RDEMPY#和WRFULL??刂苾?nèi)部FIFO與外部FIFO的數(shù)據(jù)傳輸接口邏輯。接收/發(fā)送FIFO的數(shù)據(jù)寬度都是32位,分別由4片8位數(shù)據(jù)總線的IDT72220 FIFO數(shù)據(jù)位擴(kuò)展實(shí)現(xiàn)。該FIFO既為PCI接口提供數(shù)據(jù)緩沖,又為紅外收發(fā)器接口提供訪問(wèn)數(shù)據(jù)。S5933與紅外TX/RXFIFO、紅外寄存器組的數(shù)據(jù)訪問(wèn)控制邏輯如圖4。
![]() |
2.2 紅外接口控制邏輯
根據(jù)紅外接口控制寄存器控制字,紅外接口控制邏輯實(shí)現(xiàn)外部RX/TXFIFO與紅外收發(fā)器接口之間的數(shù)據(jù)傳輸和邏輯時(shí)序。它的工作原理如下:根據(jù)控制字,首先啟動(dòng)紅外收發(fā)器接口CRC校驗(yàn)、編解碼器和可編程時(shí)鐘(RX/TXFIFO讀/寫(xiě)時(shí)鐘RCLK、WCLK和編解碼時(shí)鐘fclock),然后根據(jù)控制字的TX/RX位決定是接收還是發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)時(shí),TXFIFO緩沖器不為空,TXFIFO的EF信號(hào)就觸發(fā)紅外接口控制邏輯發(fā)出TXFIFO讀操作信號(hào)ENR#,讀?。裕兀疲桑疲系臄?shù)據(jù)(數(shù)據(jù)寬度32位)傳給紅外收發(fā)器接口進(jìn)行CRC校驗(yàn)、編碼以及并/串轉(zhuǎn)換。同理當(dāng)甚高速紅外控制器接收數(shù)據(jù)時(shí),紅外收發(fā)器接收到的數(shù)據(jù)經(jīng)過(guò)譯碼、串/并轉(zhuǎn)換(數(shù)據(jù)寬度32位),然后觸發(fā)紅外接口控制邏輯發(fā)出紅外接收FIFO寫(xiě)操作信號(hào)ENW#,把接收數(shù)據(jù)寫(xiě)入紅外接收FIFO。當(dāng)RXFIFO寫(xiě)滿后,觸發(fā)控制邏輯發(fā)出S5933 FIFO寫(xiě)信號(hào)WRFIFO#,上層協(xié)議啟動(dòng)PCI接口初始化S5933為同步主控寫(xiě)操作實(shí)現(xiàn)紅外接收FIFO到主機(jī)內(nèi)存的數(shù)據(jù)傳輸。另外紅外接口邏輯還實(shí)現(xiàn)紅外接口狀態(tài)寄存器狀態(tài)位的配置,以方便上層協(xié)議了解紅外控制器工作狀態(tài)。
2.3 紅外收發(fā)器接口
紅外收發(fā)器接口的設(shè)計(jì)與實(shí)現(xiàn)是紅外控制器成功的關(guān)鍵。該接口需要實(shí)現(xiàn)各種工作模式(SIR、MIR、FIR、VFIR)的編解碼器和硬件CRC校驗(yàn),設(shè)計(jì)比較復(fù)雜。編碼器前、譯碼器后,數(shù)據(jù)都要進(jìn)行硬件CRC校驗(yàn)實(shí)現(xiàn)差錯(cuò)控制。SIR模式采用RZI(歸零反轉(zhuǎn))編碼,信號(hào)為高電平,調(diào)制為低電平;信號(hào)為低電平,調(diào)制為高電平脈沖,脈沖寬度是位周期的3/16。MIR模式也采用RZI(歸零反轉(zhuǎn))編碼,但脈沖寬度是位周期的1/4。FIR模式采用4PPM(脈沖位置調(diào)制)調(diào)制,它的原理是被編碼的二進(jìn)制數(shù)據(jù)流每?jī)晌唤M合成一個(gè)數(shù)據(jù)碼元組(DBP),其占用時(shí)間Dt=500ns,再將該數(shù)據(jù)碼元組(DBP)分為4個(gè)125ns的時(shí)隙(chip),根據(jù)碼元組的狀態(tài),在不同的時(shí)隙放置單脈沖。由于PPM通信依賴信號(hào)光脈沖在時(shí)間上的位置傳輸信息,所以解調(diào)時(shí)先保證收發(fā)雙方時(shí)隙同步、幀同步,然后根據(jù)脈沖在500ns周期中的位置解調(diào)出發(fā)送數(shù)據(jù)??紤]到紅外收發(fā)器通信距離突然變化引發(fā)脈沖寬度擴(kuò)展,發(fā)生碼間干擾,導(dǎo)致譯碼出錯(cuò),因此根據(jù)Hiroshi Uno提出的新算法7簡(jiǎn)化4PPM譯碼過(guò)程,并通過(guò)實(shí)驗(yàn)驗(yàn)證該算法比似然譯碼算法結(jié)構(gòu)更簡(jiǎn)單,功耗更低,而且更容易實(shí)現(xiàn)。
VFIR模式采用HHH113 編解碼技術(shù)。編碼器原理:為了正確實(shí)現(xiàn)編碼,要求在計(jì)算內(nèi)部碼字C=(c1,c2,c3)之前,在nT(T表示一個(gè)chip時(shí)間)時(shí)刻到達(dá)編碼器輸入端的輸入數(shù)據(jù)碼元組d=d1d2 經(jīng)過(guò)3個(gè)編碼周期(每個(gè)編碼周期是3T)的延時(shí)后進(jìn)行邏輯計(jì)算,得到下一狀態(tài)矢量值N=(s1s2s3),即與輸入數(shù)據(jù)有關(guān)的N出現(xiàn)在(n+9T)時(shí)刻; 再經(jīng)過(guò)一個(gè)編碼周期,即(n+12T)時(shí)刻,狀態(tài)N賦給內(nèi)部狀態(tài)矢量S=s1s2s3 ,同時(shí)計(jì)算與輸入數(shù)據(jù)碼元組d=d1d2 有關(guān)的內(nèi)部碼字矢量C=c1c2c3 ,再經(jīng)過(guò)一個(gè)編碼周期,內(nèi)部碼字C賦給輸出碼字矢量Y=(y1y2y3)。由此可見(jiàn)16Mbps的數(shù)據(jù)速率經(jīng)過(guò)編碼器變?yōu)椋玻矗停悖瑁椋穑缶幋a速率,整個(gè)編碼過(guò)程延時(shí)5個(gè)編碼周期即15個(gè)chip。注意編碼器初始狀態(tài)S應(yīng)設(shè)置為(100)。譯碼器原理:輸入數(shù)據(jù)R=r1r2r3 經(jīng)過(guò)鎖存器延時(shí)得到矢量Y4=y10y11y12 ,對(duì)Y4進(jìn)行不同的延時(shí)得到Y3、Y2及Y1。這里矢量Yi是Y4的4-i次延時(shí)(由鎖存器實(shí)現(xiàn)延時(shí));對(duì)Y4進(jìn)行或非運(yùn)算得到Zd,再將Zd進(jìn)行不同的延時(shí)得到Zc和Zb。這里Zc、Zb、Zd是變量,然后將Y4、Y3、Y2、Y1、Zb、Zc、Zd進(jìn)行邏輯運(yùn)算、延時(shí)分別得到矢量X1=(x1x2)、X2=(x3x4)、X3=(x5x6);將x1、x2經(jīng)過(guò)鎖存器得到譯碼器輸出矢量值U=u1u2 。整個(gè)譯碼過(guò)程延時(shí)4個(gè)周期即12個(gè)chip??梢?jiàn)HHH113 編譯碼電路比較簡(jiǎn)單,利用FPGA基于門級(jí)描述即可實(shí)現(xiàn),但必須注意鎖存器時(shí)鐘fclock=1/3fchip。VFIR模式增加線性反饋移位寄存器(LFSR)實(shí)現(xiàn)加擾和解擾功能提高系統(tǒng)性能,減少誤碼。
3 甚高速紅外VFIR控制器的軟件設(shè)計(jì)
控制器軟件主要分為三部分:系統(tǒng)初始化部分、接收部分、發(fā)送部分。系統(tǒng)初始化首先調(diào)用BIOS 1Ah中斷功能獲取設(shè)備PCI總線號(hào)、功能號(hào)、內(nèi)存、I/O空間基地址和空間大小以及中斷號(hào),然后通過(guò)直通(Pass-Thru)方式寫(xiě)控制命令初始化紅外控制器,選擇控制器接收或發(fā)送數(shù)據(jù),設(shè)置控制器工作模式和波特率分頻數(shù)并允許控制器工作。紅外控制器具有收發(fā)雙向數(shù)據(jù)傳輸能力。編程時(shí)將S5933FIFO設(shè)置成由PCI接口初始化為同步主控方式,支持突發(fā)傳輸(DMA);然后根據(jù)控制器收/發(fā)位判斷PCI總線主控讀還是主控寫(xiě)操作。程序采用中斷控制,主程序調(diào)用set_up_pci_busmaster 初始化主控操作,該函數(shù)不僅裝載訪問(wèn)內(nèi)存實(shí)際地址和傳輸字節(jié)數(shù),而且還要允許讀/寫(xiě)傳輸字節(jié)數(shù)到零中斷。紅外控制器初始化完成后,系統(tǒng)等待中斷。中斷服務(wù)處理程序讀?。樱担梗常持袛酄顟B(tài)/控制寄存器INTCSR判斷中斷源,并清除中斷標(biāo)志;讀?。茫遥眯r?yàn)狀態(tài)位,判斷接收數(shù)據(jù)是否正確。發(fā)送數(shù)據(jù)時(shí),中斷服務(wù)處理程序還要檢測(cè)紅外發(fā)送FIFO狀態(tài)位是否為1(1表示FIFO為空),不為1置發(fā)送不為空標(biāo)志tx_not_empty=1,主程序繼續(xù)等待,直到TXFIFO數(shù)據(jù)為空;同理接收數(shù)據(jù)也需要檢測(cè)紅外接口狀態(tài)寄存器的紅外接收FIFO狀態(tài)位是否為1(測(cè)試位為1表示FIFO為空)。這樣可保證接收和發(fā)送FIFO的數(shù)據(jù)完全被取走。編寫(xiě)的應(yīng)用程序使用Turbo C2.0調(diào)試通過(guò)。
PCI總線已經(jīng)成為當(dāng)今電腦的主流總線,為此根據(jù)紅外串行物理層規(guī)范IRDA-1.4設(shè)計(jì)基于PCI總線的甚高速紅外VFIR控制器。使用AMCC公司PCI總線專用控制器外加部分接口控制電路實(shí)現(xiàn)VFIR控制器硬件設(shè)計(jì),縮短開(kāi)發(fā)周期、提高效率、節(jié)約成本。目前正在使用VtoolsD開(kāi)發(fā)虛擬驅(qū)動(dòng)程序,解決系統(tǒng)如何分配紅外控制器配置資源、如何訪問(wèn)硬件設(shè)備、如何處理硬件中斷和總線主控DMA操作以及VXD和應(yīng)用程序之間的通信。另外國(guó)外已有公司推出VFIR紅外控制器專用芯片,如MKNET公司的MK7100。
參考文獻(xiàn)
1 李廣軍.實(shí)用接口技術(shù)M.成都電子科技大學(xué)出版社,
1997
2 韓書(shū)光. 紅外無(wú)線串行通行適配卡的設(shè)計(jì)J. 桂林電子
工業(yè)學(xué)院學(xué)報(bào),2001:18~22
3 張?zhí)N玉. PCI總線接口設(shè)計(jì)及其專用芯片應(yīng)用J. 南京
電子工程師,2002
4 IRDA. IRDA Serial Infrared Physical Layer Specification
Version 1.4EB/OL.Infrared Data Association20011~68
5 Applied Micro Circuit Coperation. PCI Products Data Book
EB/OL. http//www.amcc.com/pdfs/pciprod.pdf1998
3.1~3.190
6 Hiroshi Uno. Lower Power Architecture for High Speed
Infrared Wireless Communication System. Low Power Elec-
tronics and Design 1997255~258
[7]. S5933 datasheet http://www.hbjingang.com/datasheet/S5933_1055227.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(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)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)視覺(jué)檢測(cè)系統(tǒng)技術(shù)參數(shù)與選型運(yùn)維指南2026/1/4 14:50:21
- 工業(yè)視覺(jué)檢測(cè)系統(tǒng)核心知識(shí)解析2025/12/29 11:23:21
- 工業(yè)級(jí)電磁閥技術(shù)參數(shù)與選型運(yùn)維指南2025/12/29 11:06:44
- 工業(yè)控制系統(tǒng)遠(yuǎn)程訪問(wèn)安全實(shí)操指南2025/12/25 10:04:23
- 工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全防護(hù)實(shí)操指南2025/12/25 9:53:54
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開(kāi)關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見(jiàn)問(wèn)題分析











