無線紅外傳輸設計技術(08-100)
紅外無線是計算機與外設的一種常用連接技術。本文介紹紅外編/譯碼器與主控機和光收發器的連接設計。
本文引用地址:http://www.ex-cimer.com/article/91750.htmMCP2122是一款IrDA標準編/譯碼器。它有兩個接口:主機UART接口與IR接口(圖1),前者與發送與接收數據的主控器接口;后者連接至光收發電路,將電脈沖轉換為紅外光(編碼),或將紅外光變換為電脈沖(譯碼)。IR光收發電路可以是標準IR光收發器(如TFDU4300),也可以用分立元件來實現。
MP2122器件內部由三個功能塊組成(見圖1):時鐘驅動電路(16×CLK),復位電路以及IR標準編/譯碼電路。16×CLK提供電路工作所必須的時鐘信號;復位電路支持外部復位信號;IR編/譯碼邏輯是依據IrDA標準物理層規范設計的,編碼電路將8位字節數據變換為IrDA標準信號,而譯碼電路則將IrDA標準信號變換為8位數據字節。
MCP2122的工作需要一個外部時鐘信號,16×CLK引腳就是器件時鐘輸入端,它與主UART接口和IR接口無關。16×CLK確定了器件工作時所有定時關系。16×CLK信號也可稱為位時鐘(BITCLK),每位有16個BITCKK,用來產生TXIR和IXIR的位圖形。由此可知,MCP2122的波特率是由16×CLK決定的,計算公式為F16×CLK=16*(波特率)。表1示出了幾種常用波特率與其相應的16×CLK頻率。
IR編譯碼信號是這樣的,如果TX引腳發送的值是個邏輯低信號,TXIR引腳則輸出7個時鐘周期低電平,3個時鐘周期邏輯高電平,其余6個時鐘周期保持低;如果發送的值是邏輯高電平,TXIR引腳在整個16位時鐘周期內輸出一個低電平。譯碼時,如果接收的值是邏輯低信號,RXIR引腳在開始3位時鐘周期內是低電平,其余13位時鐘周期是高電平;如果接收的值是邏輯高信號,RXIR引腳在整個16位時鐘周期內是高電平。這樣,RX引腳電平將處于相應的狀態。
MCP2122與主控制器接口有4個信號,TX與RX連接至主控器的UART,這2個信號是有一定波特率的串行信號,由起始位、數據位和終止位組成。RESET引腳用來將MCP2122處于某個確定的狀態,該引腳加以低電平時迫使其輸出引腳進入默認的狀態。16×CLK是器件的工作時鐘,其頻率應是所需波特率的16倍,為了使器件正常工作,時鐘頻率必須與波特率相匹配。時鐘的信號源可以是:
·電路板系統時鐘:這個信號是現成的,可直接連接至16×CLK引腳,唯一要注意的就是與波特率匹配問題。
·主控器I/O引腳上固件產生的時鐘。主控器產生時鐘信號是一件十分簡單的工作,只是會占用MCU的工作時間。以PICmicroMCU為例,可以用BSF指令來產生上升邊,BCF指令會產生下降邊。兩條指令生成一個脈沖信號,其周期(即頻率)可根據波特率及指令周期來確定。
·主控器硬件產生時鐘:硬件能減少固件的開銷,還能使波特率更高。一個典型的PICmicro器件使用CCP模塊來生成時鐘。在模式初始化配置后無需額外的軟件開銷,且時鐘與UART是同步的。CCP模是可配置成捕捉、比較或PWM工作方式的硬件模塊,與主控器的TIME1或TIME2協同工作。產生16×CLK需要PWM模式,用Timer2作為時基。PIC16F877A的CCP模塊處于PWM模式時的簡化方框圖如圖2所示。PWM模式充分利用MCU內部Q時鐘(一個指令周期4個Q時鐘)實現50%的占空比,而最小PWM周期為指令周期。PWM周期為:
T=[(PR2)+1]×4×Tosc(TMR2預設值)
上式中,PR2為寄存器中值,Tosc為時鐘振蕩器周期。
評論