Microchip Technology DM300023 데이터 시트

다운로드
페이지 18
dsPIC30F1010/202X
DS80319D-page 10
© 2008 Microchip Technology Inc.
26. Module: UART Module
The UART module can be used to transmit and
receive IrDA
®
 signals with the use of an IrDA
transceiver by setting the IREN bit in the UxMODE
register. In this mode, the operation of the RXINV
bit enables reception of signals with an Idle state
of either ‘1’ or ‘0’. The operation of this bit is the
inverse of the stated operation in the
dsPIC30F1010/202X Device Data Sheet
(DS70178). 
The signal received from an IrDA transceiver can
have an idle state of ‘1’ or ‘0’. The following table
summarizes how UART receptions will occur
when used with the IrDA decoder.
TABLE 2:
Work around
Invert the state of RXINV bit in the UxMODE
register. 
If the idle state of the received signal is ‘1’,
configure RXINV = 1. If the idle state of the
received signal is ‘0’, configure RXINV = 0.
27. Module: UART Module
The auto-baud feature may miscalculate for
certain baud rate and clock speed combinations,
resulting in a BRG value that is greater than or less
than the expected value by 1. This may result in
reception or transmission failures.
Work around
Test the auto-baud rate at various clock speed and
baud rate combinations that would be used in an
application. If an inaccurate BRG value is
generated, manually correct the baud rate in user
software.
28. Module: I
2
C Module
The Bus Collision Status bit (BCL) does not get set
when a bus collision occurs during a Restart or
Stop event. However, the BCL bit gets set when a
bus collision occurs during a Start event.
Work around
None.
29. Module: I
2
C Module
Writing to I2CxTRN during a Start bit transmission
generates a write collision, indicated by the
IWCOL (I2CxSTAT<7>) bit being set. In this state,
additional writes to the I2CxTRN register should
be blocked. However, in this condition, the
I2CxTRN register can be written, although
transmissions will not occur until the IWCOL bit is
cleared in software.
Work around
After each write to the I2CxTRN register, read the
IWCOL bit to ensure a collision has not occurred.
If the IWCOL bit is set, it must be cleared in
software and I2CxTRN must be rewritten.
30. Module: I
2
C Module
The ACKSTAT bit (I2CxSTAT<15>) only reflects
the received ACK/NACK status for Master
transmissions, but not for Slave transmissions. As
a result, a Slave cannot use this bit to determine if
it received an ACK or a NACK from a Master. In
future silicon revisions, the ACKSTAT bit will
reflect received ACK/NACK status for both Master
and Slave transmissions.
Work around
After transmitting a byte, the Slave should poll the
SDA line (subject to a time out period dependent
on the application) to determine if an ACK (0) or a
NACK (1) was received. 
31. Module: I
2
C Module 
The D_A Status bit (I2CxSTAT<5>) gets set on a
slave data reception in the I2CxRCV register, but
does not get set on a slave write to the I2CxTRN
register. In future silicon revisions, the D_A bit will
get set on a slave write to I2CxTRN.
Work around
Use the D_A status bit only for determining slave
reception status and not slave transmission status.
Type of Signal 
Used for 
Transmission
State of 
RXINV bit
UART reception
Idle State = ‘1’
RXINV = 0
May be erroneous
RXINV = 1
Error-free
Idle State = ‘0’
RXINV = 0
Error-free
RXINV = 1
May be erroneous