PIC18F6390/6490/8390/8490
17.1
AUSART波特率发生器
( BRG )
geous使用高波特率( BRGH =
1)
减少
波特率误差,或实现一个缓慢的波特率为
快速振荡频率。
写一个新值到SPBRG2寄存器使
BRG定时器复位(或清零) 。这确保了
BRG无需等待定时器溢出输出前
新的波特率。
BRG是一个支持一个专用的8位发生器
的异步和同步模式
AUSART 。
该SPBRG2寄存器控制一个周期
自由运行的定时器。在异步模式下,BRGH
( TXSTA<2> )也控制波特率。在同步的
理性模式下, BRGH被忽略。表17-1所示
公式为波特率不同的计算
AUSART模式,但仅适用于主模式
(内部时钟) 。
鉴于所需的波特率和F
OSC
,最近
为SPBRG2寄存器整数值可以是calcu-
使用表17-1的公式迟来。从此,该
可以判断波特率误差。一个例子
计算方法见例17-1 。典型的波特
不同异步率和误差值
模式示于表17-3 。它可以是advanta-
17.1.1
操作电源管理
模式
器件的时钟被用于产生期望的波特
率。当电源管理模式之一是
进入,新的时钟源可以在一个被操作
不同的频率。这可能需要调整
在SPBRG2寄存器中的值。
17.1.2
采样
对RX2引脚上的数据是由一个采样三次
多数检测电路,以确定是否一个高或低
电平是存在于RX2引脚。
表17-1:
SYNC
0
0
1
波特率公式
BRGH
0
1
x
BRG / AUSART模式
异步
异步
同步
波特率计算公式
F
OSC
/[64 (n + 1)]
F
OSC
/[16 (n + 1)]
F
OSC
/[4 (n + 1)]
CON组fi guration位
图例:
x
=无关SPBRG2寄存器,每组价值
例17-1 :
计算波特率误差
对于使用F装置
OSC
为16 MHz ,目标波特率为9600 ,异步模式下, BRGH =
0:
所需的波特率
= F
OSC
/ (64 ( [ SPBRG2 〕+ 1))的
求解SPBRG2 :
X = ( (F
OSC
/目标波特率) / 64 ) - 1
= ((16000000/9600)/64) – 1
= [25.042] = 25
计算波特率= 16000000 / ( 64 ( 25 + 1 ) )
= 9615
错误
= (计算波特率 - 目标波特率) /目标波特率
= (9615 – 9600)/9600 = 0.16%
表17-2 :
名字
TXSTA2
RCSTA2
SPBRG2
与波特率发生器相关的寄存器
第7位
中国证监会
SPEN
第6位
TX9
RX9
第5位
TXEN
SREN
4位
SYNC
CREN
第3位
—
ADDEN
第2位
BRGH
FERR
第1位
TRMT
OERR
位0
TX9D
RX9D
RESET
价值观
页面
AUSART2波特率发生器注册
图例:
阴影部分未被使用的BRG 。
DS39629C第220页
©
2007 Microchip的技术公司