导言
当今许多实时监测体系与通讯设备领域中,常常需求进行远距离的数据传送。为此,怎么完成高速、牢靠及低成本的数据传输是作为前级机或发送级的8051单片机迫切需求处理的新技术。据此,咱们选用由Dallas SEMIconductor公司的芯片DSl075–Econ oscillator(高效型振动器)为8051系列的DS87C520高速型单片机供给时钟的装备规划方案,完成单片机串行通讯的高速波特率。
Econ oscillator(高效型振动器)含有一个内部振动器,用以发生一个根本频率;还内置了一个分频链,能够将根本频率降低到需求的速度。Econ oscillator 的每种类型供给四种根本频率(60MHz、66.67MHz、80MHz、100MHz),可调理的分频系数最高可达2052。Econ oscillator能依据体系需求装备为任何类型的钟控逻辑,包含单片机(微处理器)、FPGA、CPLD电路等。
8051单片机以及RS-232串行通讯
选用时钟时,应仔细考虑两个要素,即时钟频率和作业期限内的时钟精度。在8051单片机体系中,时钟频率取决于所选用的串行通讯RS-232。例如,考虑一个选用12MHz时钟(前期8051的最高时钟频率)的异步形式1串行通讯。表l列出了树立规范波特率所需的定时器1主动从头装载值。
表l中实践波特率是依照以下计算公式得出的:波特率所需的定时器I主动从头装载值。
其间:BaudRate为波特率;SMOD为波特率倍增位;fosc为振动频率;THl为定时器l主动从头装载值。
表1中数值根据以下定时器 1状况:
·每12个时钟周期定时器增l(单片机DS87C520的定时器能够每4个或12个时钟周期增1)。
·主动重装载形式。
·制止波特率倍增(SMOD=0)。
表l为前期的单片机选用晶体时的波特率和波特率差错。
一般情况下的RS-232串行通讯.一旦波特率差错超出3%,虽然数据传送中有开始位或中止位进行同步,就有或许形成通讯过错。3%的容许差错使12MHz晶振时的最高通信速率约束在2400波特,这在90年代初还不算坏,但对今日的规范来讲是一个不能疏忽的大问题丁。
而现在适应于8051单片机串行通讯的晶体:11.059MHz或22.118MHz,已开宣布。单片机选用这种晶体后波特率有很大改进,见表2所示。数据传送率可达57.6kps(使DS87C520单片机波特率倍增,当SMOD=1后可达115.2kps),这样高的通讯速率—波特率关于当时大多数单片机(或微处理器)体系已是很可观了。跟着晶体11.059MHz或22.118MHz产品逐渐市场化,使单片机使用糸统大为拓展。
定时器1主动重装载值
Fosc=11.059MHz时的波特率
Fosc=22.118MHz时的波特率
255
28,799.5
57598.9
254
14399.7
28799.5
253
9599.8
19199.6
250
4799.91
9599.83
244
2399.95
4799.91
232
1199.98
2399.95
208
599.98
119.98
160
299.99
599.99
64
149.99
299.99
注:波特率与规则速率的误差3%关于时钟精度提出了要求,即使选用专为RS-232串行通讯优选的时钟频率,假如时钟频率改变超出3%,仍然会影响到通讯的安稳.