STM8 IrDA紅外功能 通過(guò)設(shè)置UART_CR5寄存器的IREN位選擇IrDA模式。UART_CR3寄存器的STOP位必須設(shè)置成"1個(gè)停止位"。在IRDA模式里,下列位必須保持清零:
IrDA SIR物理層規(guī)定使用反相歸零調(diào)制方案(RZI),該方案用一個(gè)紅外光脈沖代表邏輯'0'(見(jiàn)圖114)。 SIR發(fā)送編碼器對(duì)從UART輸出的NRZ(非歸零)比特流進(jìn)行調(diào)制。輸出脈沖流被傳送到一個(gè)外部輸出驅(qū)動(dòng)器和紅外LED。對(duì)于SIR ENDEC應(yīng)用,UART最高只支持到115.2Kbps速率。在正常模式里,脈沖寬度規(guī)定為一個(gè)位周期的3/16。 SIR接收解碼器對(duì)來(lái)自紅外接收器的歸零位比特流進(jìn)行解調(diào),并將接收到的NRZ串行比特流輸出到UART。在空閑狀態(tài)里,解碼器輸入通常是高(標(biāo)記狀態(tài)marking state)。發(fā)送編碼器輸出的極性和解碼器的輸入相反。當(dāng)解碼器輸入低時(shí),檢測(cè)到一個(gè)起始位。
IrDA可以工作在正常模式,也可以工作在低功耗模式。選擇低功耗模式需要把UART_CR5寄存器的IRLP位置1。 發(fā)送器 在低功耗模式,脈沖寬度不再持續(xù)3/16個(gè)位周期。取而代之,脈沖的寬度是低功耗波特率時(shí)鐘周期的3倍,該波特率的頻率最小可以是1.42MHz。通常這個(gè)值是1.8432MHz(1.42 MHz<PSC<2.12 MHz)。一個(gè)低功耗模式可編程分頻器把系統(tǒng)時(shí)鐘進(jìn)行分頻以達(dá)到這個(gè)值。 接收器 低功耗模式的接收類(lèi)似于正常模式的接收。 為了濾除尖峰干擾脈沖,UART應(yīng)該濾除寬度短于1個(gè)周期的脈沖。只有持續(xù)時(shí)間大于2個(gè)周期的IrDA低功耗波特率時(shí)鐘(UART_GTPR中的PSC)的低電平信號(hào)才被接受為有效的信號(hào)。 注意:1.寬度小于2個(gè)大于1個(gè)PSC周期的脈沖可能會(huì)也可能不會(huì)被濾除。 2.接收器的建立時(shí)間應(yīng)該由軟件管理。IrDA物理層技術(shù)規(guī)范規(guī)定了在發(fā)送和接收之間最小要有協(xié)10ms的延時(shí)(IrDA是一個(gè)半雙工議)。 ![]() (圖114:STM8_IrDA SIR ENDEC–框圖) ![]() (圖115:STM8_IrDA數(shù)據(jù)調(diào)制(3/16)–普通模式) |
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |