用振荡器为8051单片机实现高速串行通信的时钟配置
引言
当今许多实时监测系统与通信设备领域中,经常需要进行远距离的数据传送。为此,如何实现高速、可靠及低成本的数据传输是作为前级机或发送级的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%,仍然会影响到通信的稳定.
用DS1075为8051单片机提供时钟
为什么现采用新型芯片DSl075芯片-Econ oscillator为8051单片机提供时钟是当前的最佳选择?因为它最大优点是方便、灵活、简单、可靠。
该类型号可提供四种基本振频率(60MHz、66.67MHz、80MHz、100MHz)。并利用内部分频器可将振荡频率降至足够低,以满足8051单片机系统的应用需求.从理论上讲,四种基本振荡频率均可用于8051系统。但是,如果打算选用8051的串行口,则应选择的基频应符合单片机要求的晶体型号,这取决于所要求有的波特率和单片机所提供蛄弛波特率发生器的格式。
对于8051单片机来讲,11.059MHz和22.118MHz的晶体振荡频率比较满意,所产生的波特率符合将近3%的容差要求。如果选用基频为 66.667MHz的振荡器,对该基频66.667MHz进行六次分频后得到11.111MHz的时钟信号,这与理想频率11.059MHz相差甚徽 (047%),即使是在最坏情况下,与设定偏差为1%,其误差值仍保持在可以接受的3%范围内,DSl075-66与理想频率11.059MHz的最大偏差是1.47%,符合通信速率28.8kbps的要求。
因为采用DSl075芯片-Econ oscillator 的一个很大的好处是灵活。在8051应用设计中,若当初用的是早期的8051或与之相近的单片机或微处理器 (最大时钟频率为12MHz),则现在只需重新编程振荡器,就可非常简单地以得到升级.在有些设计中甚至可以在线重新编程DSl075;若正在使用早期的 40脚双列8051型单片机,则现在除了Dallas Semiconductor公司外还有不少其它公司可提供多种型号而且完全兼容的芯片来替代,其中典型芯片Dallas Semiconductor公司产的DS87C520,它采用了架构一世界上最流行的8051微控制器之一,简单易用、丰富的I
通信 时钟 配置 串行 高速 单片机 实现 振荡器 相关文章:
- 基于FPGA的通信系统基带验证平台的设计(06-11)
- 基于DSP的空间光通信APT运动控制箱设计(10-11)
- 嵌入式语音通信系统中VxWorks BSP的设计实现(09-18)
- DSP在通信中的应用(10-12)
- 利用数字信号控制器实现稳健的PLC通信(05-02)
- 短波通信中一种时延设计方法与DSP实现(05-02)