新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 高速紅外VFIR控制器的設計與實現

        高速紅外VFIR控制器的設計與實現

        作者: 時間:2012-07-20 來源:網絡 收藏

        (Peripheral Component Interconnect)局部總線[1]是一種高性能、32位或64位地址數據多路復用的同步總線。它的用途是在高度集成的外設控制器件、擴展卡和處理器/存儲器系統之間提供一種內部的連接機構,它規定了互連機構的協議、機械以及設備配置空間。局部總線因具有極小延遲時間、支持線性突發數據傳輸、兼容性能以及系統能進行全自動配置等特點受到業界青睞。總線規范2.1版本還定義了由32位數據總線擴充為64位總線的方法,使總線寬度擴展,并對32位和64位PCI局部總線外設做到向前和向后兼容。

        目前微機之間的紅外通信是基于IRDA-1.1標準的紅外無線串行SIR通信,參考文獻[2]給出了基于ISA總線的紅外無線串行通信卡的設計及實現,該通信卡的數據速率為9.6kbps~115.2kbps,工作距離0~3m。但由于RS-232端口的最高數據速率上限為115.2kbps,不能滿足IRDA-1.4規范甚VFIR 16Mbps速率要求,所以使用了PCI同步總線擴展外設的方法設計甚控制器。雖然ISA總線的傳輸速率能滿足甚控制器設計要求,但目前許多微機系統已經逐漸淘汰ISA/EISA標準總線。原因是高速微處理器和低速ISA總線之間不同步,造成擴展外設只能通過一個慢速且狹窄的瓶頸發送和接收數據,使CPU高性能受到嚴重影響。

        1 HHH(1,13)編解碼

        2001年5月,紅外無線數據協會IRDA發布了紅外串行物理層規范IRDA-1.4[4];它與前期發布的物理層規范的主要區別在于增加甚高速紅外VFIR 16Mbps數據速率的編解碼技術和幀結構,而其它如視角范圍、發射器最小(大)光功率和接收器靈敏度等規范基于相同。紅外串行物理層規范IRDA-1.4規定數據速率小于4Mbps采用RZI(歸零反轉)調制,最大脈沖寬度是位周期的3/16或1/4;數據速率4Mbps采用4PPM(脈沖位置調制);數據速率16Mbps采用HHH(1,13)碼。

        IRDA提出的VFIR編解碼技術-HHH(1,13)碼是碼率為2/3,(d,k)=(1,13)的RLL(run-length-limited)碼;它是一種功率消耗和頻帶利用率相對折中的高效編碼,其中參數d、k分別表示在兩個'1'之間最小和最大的'0'的數目,參數d決定接收信號中有無碼間干擾ISI,參數k決定接收器能否從接收序列中恢復時鐘。HHH(1,13)碼的帶寬效率使數據通信能夠選擇成本很低、上升/下降時間為19ns的LED。功率效率避免了LED的熱問題,它能保證1m距離范圍內保持鏈接。1m距離16Mbps鏈路可達到過去4Mbps鏈路的驅動電流和功耗。HHH(1,13)碼和4PPM碼(用于4Mbps)的顯著區別是HHH(1,13)碼決不允許一個紅外脈沖緊跟前一個紅外脈沖,脈沖之間應該保持一個chip時間差。由于光電管工作區域內有少量載流子的慢輻射,使LED或光電二極光表現出拖尾效應,HHH(1,13)碼能夠兼容拖尾效應,從而允許在chip時間周期內脈沖的擴展。

        雖然HHH(1,13)碼的設計過程比較復雜,但IRDA-1.4標準已經詳細給出了編譯碼邏輯方程和電路,所以實現起來比較容易。筆者使用Altera MAX+plus II進行邏輯功能仿真,并用GW48 EDA實驗系統進行硬件偽真,驗證HHH(1,13)碼編譯碼電路設計的正確性。

        2 甚高速紅外的硬件設計

        由于PCI總線規定了嚴格的電氣特性,開發PCI總線的應用具有很大難度,因此使用AMCC(Applied Micro Corporation)公司推出的PCI接口控制器S5933實現紅外控制器PCI總線接口規范[5]。甚高速紅外原理框圖如圖1所示。選用Altera公司的FLEX10K系列現場可編程門陣列器件實現S5933與紅外TX/RXFIFO、寄存器的傳輸控制和邏輯時序以及紅外接口控制邏輯和紅外收發器接口功能模塊(CRC校驗、編解碼以及串/并轉換)。甚高速紅外工作原理如下:首先由AMCC S5933外部非易失性串行EEPROM AT24C02下載PCI配置空間,然后主機通過直通(PassThru)寄存器數據訪問方式向紅外接口控制寄存器寫控制命令[3]。紅外接口控制邏輯根據控制命令發出控制信號,使整個紅外控制器處于準備狀態。當上層協議發出數據發送事件時,紅外接口控制邏輯發出消息,通知主機啟動S5933總線主控讀操作,把上層數據寫到外部紅外TXFIFO數據緩沖器;同時紅外接口控制邏輯根據TXFIFO狀態把TXFIFO的數據發送到紅外收發器接口,進行鎖存、并/串轉換、CRC校驗和編碼,最后通過VFIR收發器發送數據。同理VFIR收發器接收到的數據經過譯碼、CRC校驗、串/并轉換和鎖存,寫入RXFIFO數據緩沖器。紅外接口控制邏輯觸發上層協議發出數據接收事件接收數據,主機啟動S5933總線主控寫操作向上層協議遞交數據,數據傳輸完成上層協議發回消息,通知數據接收完成。下面重點分析S5933與紅外TX/RXFIFO、紅外寄存器組訪問控制邏輯以及紅外接口控制邏輯和紅外接發器接口功能。

        2.1 紅外TX/RXFIFO與紅外控制寄存器組控制邏輯

        AMCC S5933支持3個物理總線接口:PCI總線接口、擴充總線接口和非易失性EEPROM總線接口。非易失性EEPROM用于映射PCI的配置空間及設備BIOS的初始化;擴充總線可以與外設設備互連。主機和外設之間可以利用S5933的郵箱寄存器、FIFO寄存器、直通寄存器(Pass-Thru)數據傳輸方式雙向傳輸數據。

        紅外寄存器組包括紅外接口控制寄存器和狀態寄存器。本文中甚高速紅外控制利用S5933直通寄存器單周期數據傳送向紅外接口控制寄存器寫控制字,由Pass-Thru邏輯控制電路把地址和數據分離開,直通地址寄存器(APTA)經374鎖存并譯碼,選通紅外接口控制寄存器,同時把直通數據寄存器(PTDA)的低字寫入紅外控制器;該接口控制寄存器的數據寬度為16位,包括紅外控制器始能、工作模式(UART、SIR、MIR、FIR、VFIR)的設置,接收或發送數據的選擇以及滿足SIR模式下多波特率的分頻數。紅外接口控制寄存器結構定義如圖2。

        同理使用直通寄存器方式獲取紅外接口狀態寄存器的狀態。紅外接口狀態寄存器結構定義如圖3。

        為滿足高速數據傳輸,利用S5933 FIFO寄存器總線主控方式下的同步猝發(Burst)操作(DMA傳送)完成主機與紅外TX/RXFIFO的數據傳輸。PCI接口首先初始化S5933作為總線主控設備,然后由PCI接口向主控讀/寫地址寄存器(MRAR/MWAR)寫入要訪問的PCI存儲空間地址,向主控讀/寫計數器(MRTC/MWTC)寫入要傳輸的字節數。S5933提供了4個專用引腳RDFIFO#、WRFIFO#、RDEMPY#和WREULL#控制內部FIFO與外部FIFO的數據傳輸接口邏輯。接收/發送FIFO的數據寬度都是32位,分別由4片8位數據總線的IDT72220 FFO數據位擴展實現。該FIFO既為PCI接口提供數據緩沖,又為紅外收發器接口提供訪問數據。S5933與紅外TX/RXFIFO、紅外寄存器組的數據訪問控制邏輯如圖4。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玛纳斯县| 新蔡县| 兰溪市| 水富县| 富源县| 上杭县| 浮山县| 怀集县| 同心县| 汝阳县| 荔浦县| 托克逊县| 庆云县| 华容县| 禄丰县| 海原县| 博客| 黑龙江省| 田东县| 屯昌县| 金沙县| 清新县| 樟树市| 磐安县| 盘锦市| 湘西| 新丰县| 诏安县| 曲沃县| 宣汉县| 新宁县| 突泉县| 峨眉山市| 荥阳市| 囊谦县| 宝清县| 南澳县| 阆中市| 东光县| 江都市| 德格县|