PIC18F2331/2431/4331/4431
20.2
EUSART波特率发生器
( BRG )
20.2.1
功耗管理模式
手术
系统时钟被用于产生期望的波特
率。然而,当功耗管理模式
输入时,时钟源可以在一个被操作
不同的频率在PRI_RUN模式。在睡眠
模式,没有时钟在当前和PRI_IDLE中,
主时钟源继续提供时钟到
波特率发生器。然而,在其它加电
管理模式下,时钟频率将可能
改变。这可能需要在SPBRG的值是
调整。
如果系统时钟时的活性改变接收
操作时,可能会导致接收错误或数据丢失。对
避免这个问题,应该检查RCIDL位的状态
并确保接收操作处于空闲状态前
改变系统时钟。
BRG是一个专用的8位或16位发生器,
同时支持异步和同步
在EUSART模式。默认情况下, BRG工作
在8位模式。将BRG16位( BAUDCON<3> )
选择16位模式。
在SPBRGH : SPBRG寄存器对控制期
的自由运行的定时器。在异步模式下,位
BRGH ( TXSTA<2> )和BRG16也控制波特率
率。在同步模式下, BRGH被忽略。
示出的公式的计算
波特率为不同EUSART模式,其中仅
适用于主控模式(内部时钟) 。
鉴于所需的波特率和F
OSC
,最近
为SPBRGH整数值: SPBRG寄存器可以
使用该公式计算出的
从此,
可确定波特率的误差。一个例子
计算示
典型的波特
不同异步率和误差值
方式示于
它可以是
最好使用高波特率( BRGH =
1),
或16位BRG ,降低波特率误差或
实现了缓慢的波特率快速振荡频率。
将新值写入到SPBRGH :SPBRG寄存器
会使BRG定时器复位(或清零) 。这
确保BRG无需等待定时器溢出
之前输出新的波特率。
20.2.2
采样
对RC7 / RX / DT / SDO引脚上的数据采样3
次通过的多数检测电路,以确定是否一个高
或低水平存在于RX引脚。
表20-1 :
SYNC
0
0
0
0
1
1
波特率公式
BRG / EUSART模式
BRG16
0
0
1
1
0
1
BRGH
0
1
0
1
x
x
8-Bit/Asynchronous
8-Bit/Asynchronous
16-Bit/Asynchronous
16-Bit/Asynchronous
8-Bit/Synchronous
16-Bit/Synchronous
F
OSC
/[4 (n + 1)]
F
OSC
/[64 (n + 1)]
F
OSC
/[16 (n + 1)]
波特率计算公式
CON组fi guration位
图例:
x
=不关心, SPBRGH的N =值: SPBRG寄存器对
2010 Microchip的技术公司
DS39616D第221页