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