Jump to content

Recommended Posts

Hi everyone!

I have a question regarding UART SIR (IrDA) mode. In TM4C123(GH6PM) we can use IR transceivers to send/receive UART data. 


I have already set up both IR LED, and IR Receiver. They are working correctly. IR receiver works at 33 KHz.


TivaWare library provides only  UARTEnableSIR(base, lowPowerMode) function to Enable and configure IrDA mode of the UART. 


But here is the Question:  How can we set 33 KHz frequency of the IR receiver in the UART SIR (IrDA) mode?

Because there are many kinds of the IR receivers with different carrier frequency.


Thanks in advance!

Link to post
Share on other sites

could you provide the code you are using?


Also are you sure that it's transmitting at 33Khz?

I am not experienced with Serial IR but this i what i know of the tiva.


If instead of the low power mode you use normal mode, the frequency of the data being transmitted should be the same as a normal UART, you configure it the same, but remember to configure the CLK after calling UARTEnableSIR not never before.


in low power mode:

Operating in low-power IrDA mode adjusts the width of the infrared pulse transmitted to three 
times the period of the internally generated baud clock.
Taken from the datasheet, page 914
The UARTILPR register stores the 8-bit low-power counter divisor value used to derive the low-power
SIR pulse width clock by dividing down the system clock (SysClk). All the bits are cleared when
The internal IrLPBaud16 clock is generated by dividing down SysClk according to the low-power divisor value written to UARTILPR. The duration of SIR pulses generated when low-power mode is enabled is three times the period of the IrLPBaud16 clock. The low-power divisor value is calculated as follows:
ILPDVSR = SysClk / FIrLPBaud16
where FIrLPBaud16 is nominally 1.8432 MHz.
Because the IrLPBaud16 clock is used to sample transmitted data irrespective of mode, the ILPDVSR field must be programmed in both low power and normal mode,such that 1.42 MHz < FIrLPBaud16 < 2.12 MHz, resulting in a low-power pulse duration of 1.41–2.11 μs (three times the period of IrLPBaud16). The minimum frequency of IrLPBaud16 ensures that pulses less than one period of IrLPBaud16 are rejected, but pulses greater than 1.4 μs are accepted as valid pulses.
I hope it helped, i never used any serial IR so i'm probably missing something
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...