工作频率可动态调整的单片机系统设计_第1页
工作频率可动态调整的单片机系统设计_第2页
工作频率可动态调整的单片机系统设计_第3页
工作频率可动态调整的单片机系统设计_第4页
工作频率可动态调整的单片机系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工作频率可动态调整的单片机系统设计

摘要:介绍一种采用可编程CMOS频率合成器DS1077设计的单片机系统,使单片机能根据环境需要动态调整系统的工作频率,既能满足系统求的实时处理能力,又尽可能地降低系统的耗电量及引起的电磁干扰。同时还讨论了系统改变工作频率后对RS232串行通讯的影响以及解决办法确保该系统在不的工作频率下仍能正常进行RS232串行通信。这种单片机系统的变频设计提高了系统的适用范围和兼容性,使系统设计更加灵活。

关键词:可编程CMOS频率合成器串行通讯动态编程DS1077

在单片机系统中,总希望单片机能够工作于最大频率,以提高系统的实时处理能力。但单片机系统工作频率越高,其耗电量及引起的电磁干扰也就越大,并且单片机工作频率的选择直接影响到RS232串行通讯。特别是在51单片机系统中,RS232串行通讯的使用往往决定了系统时钟选用,这使得在设计单片机系统时的灵活性大大降低。在很多情况下,希望设计出一个工作频率可根据任务的轻得实时改变,并且能够在各种工作频率下进行RS232串行通讯的单片机系统,它既能满足单片机的实时处理要求,又有利于降低系统的耗电量和电磁干扰。采用可编程CMOS频率合成器DS1077后,设计这种系统变得简单了。

1可编程CMOS频率合成器DS1077

DS1077的引脚及其功能

DS1077是一个具有两种同步输出的单片机固定频率合成器。它不需要外接任何元件即可工作,允许通过二线串行接口频率合成器进行动态编程。DS1077的输出频率范围宽,且在整个温度和电压变化范围内输出频率偏差小于1%。DS1077既可作为由控制器编程的两路同步频率合成器使用,也可以当作固定频率振荡器使用。控制器可通过编程片上的两个预标定器和一个除法器来调整两路同步输出频率。工作模式和输出频率的设定值存储于片上EEPROM中。每次上电时,存储于EEPROM中的值自动弹出到各个寄存器中,使DS1077工作于以前设定的初始状态。

引脚功能

SCL:串行时钟输入线;

SDA:串行数据输入、输出线;

CTR1:控制OUT1输出允许或芯片掉电模式的多功能引脚;

CRT0:控制OUT0输出允许、芯片掉电模式或MUX选择的多功能引脚;

OUT1:参考频率输出引脚;

OUT0:主振荡频率输出引脚。

DS1077内部框图如图及工作原理

DS1077内部框图如图1所示。主要由内部主振荡器、2个预定标器、1个可编程除法器和3个控制寄存器四大部分组成。主振荡器产生的时钟信号MCLK既可直接输出到OUT0,也可以经过P0预定标器分频后输出OUT0。另外时钟信号MCLK经过P1预定标器分频后要么直接输出到OUT1,要么再经可编程除法器N分频后输出到OUT1。

主时钟信号MCLK经过P0预定标器进行1、2、4或8分频后送入MUX选择器。同时,主时钟信号MCLK经过P1预定标器进行1、2、4或8分频后既可直接输出到OUT1引脚,又可输出到可编程除法器N进行2~1025之间的任一分频后送到OUT1引脚。

通过对控制寄存器进行编程,可决定DS1077输出频率和工作模式。控制寄存器的值存于片内的EEPROM中,因此只有改变输出频率和工作模式时才需要对DS1077重新编程。

DS1077的控制寄存器

DS1077的控制包括MUX寄存器、DIV寄存器和BUS寄存器共3个寄存器。MUX寄存器用于设置频率合成器的工作模式,DIV寄存器用于设置工作频率,BUS寄存器用于设置总线控制方式。它们的设置方式

MUX寄存器-PDN1PDN0SEL0EN00M10M01M11M0DIV------

其中,标志位EN0、SEL0、PDN0和引脚CTRL0对输出OUT0的工作模式进行设定,如表1所示。标志位PDN1和引脚CTRL1对输出OUT1的工作模式进行设定,如表2所示。标志位DIV决定是否使用可编程除法器N。当DIV=1时,可编程除法器被忽略;如果DIV=0,可编程除法器正常工作。标志位0M1和0M0、1M1和1M0分别决定了预定标器P0和P1的分频比,如表3所示。

表1输出OUT0的工作模式设定EN0SEL0PDN0CTR0功能000掉电控制010OUT0输出选择100OUT0输出允许110OUT0输出允许X01掉电控制X11掉电控制

其中,MCLK为内部振荡器产生的主时钟信号,MCLK/M为主时钟信号经P0预定标器分频后的时钟信号。

表2输出OUT1的工作模式设定PDN1CTRL1功能0OUT1输出允许(CTR1=

1时OUT1输出,CTR1=0输出高阻)1掉电控制

表3P0和P1的分频比0M10M0P0预定标器分频比1M11M0P1预定标器分频比001002012014104106118118

DIV寄存器N9N8N7N6N5N4N3N2N1N0XXXXXX

10位二进制数决定了除法寄存器的值N,10位二进制数的值加2就是N的值。例如:0000000000表示2分频,1111111111表示1025分频。

BUS寄存器----WCA2A1A0

如果WC=0,表示每次操作控制寄存器后自动保存到EEPROM中;如果WC=1表示只有对控制寄存器进行写操作时才把值保存到EEPROM中。A3A2A1代表该DS1077芯片在总线操作中的地址。因此,同一系统中最多可接入8个DS1077。,

2系统硬件电路及工作原理

可编程CMOS频率合成器DS1077在单片机系统中的硬件电路如图2所示。

在图2中,可编程CMOS频率合成器DS1077的输出引脚OUT1接到单片机AT89C51的XTL1引脚,单片机的XTL2引脚不接,DS1077的输出引脚OUT0不使用,CRTL1和CTRL0接地。由于AT89C51单片机没有二线串行接口,所以把DS1077的SCL和SDA接到单片机的和,用单片机的和模拟二线串行接口。

可编程CMOS频率合成器DS1077设定为:引脚OUT0禁止使用;引脚OUT的输出频率略低于单片机的最高工作频率;BUS寄存器的WC位置1。这样,在每次启动单片机系统时,单片机总运行在较高的工作频率;当完成了系统的初始化后,单片机就可以根据工作情况重新设置适合的工作频率。在单片机工作过程中,最好不要向频率合成器DS1077发出写EEPROM命令。因为重新设置工作频率即使超出了单片机的频率范围,造成单片机死机,由于寄存器的值没有写入EEROM中,当重新启动时,单片机仍然能够工作;如果把错误的工作频率写入EEPROM中,会造成系统不能重新启动,此时只能取下DS1077芯片,用其他工具对它进行重新编程。

3系统频率改变对RS232串行通讯的影响及动态调整工作频率时的解决办法

在单片机系统中,时钟频率与RS232串行通讯有着密切的关系。例如,对于使用12MHz晶振的系统,表4显示了定时器1的自动重新载值与波特率之间的关系、与标准波特率的误差。

表4定时器1的自动重装载值与波特率之间的关系、与标准波特率的误差定时器1自动重装载值实际波特率理想值波特率误差/250446448007/

波特率=2SMOD/32×{fosc/[12×(256-TH1)]}

其中,fosc为振荡频率,SMOD为单片机的波特率倍增位,TH1为定时器1的自动重装载值。

在RS232串行通讯时,波特率发生器的误差一般都不允许超过3%,否则就会造成通讯失败,也就是说在采用12MHz晶振的51系统中只能够使用2400波特率进行RS232通讯。显然这在很多情况下都不能满足系统需要。为了满足RS232串行通讯的需要,通常选用少数特殊频率的晶振,如和。这大大减小了波特率发生器的误差,但也使得设计的灵活性大大降低。

表5特殊频率的晶振下波特率发生器的误差定时器1的自动重装载值波特率波特率实际波特率理想值实际波特率理想值255

254

253

250

244

232

-28800

14400

9600

4800

2400

1200

--

28800

14400

9600

4800

2400

1200

在使用DS1077芯片的系统中,这个问题变得简单了。DS1077芯片共有133MHz、125MHz、120MHz、100MHz、五种型号。下面以的DS1077x-66为例来介绍在各种工作频率下进行RS232串行通讯的实现方案。

由于DS1077在整个温度和电压变化范围内的频率偏差小于1%,加上DS1077的输出作为单片机时钟所产生的波特率与理想值之间的误差%,完全能够满足串行通讯3%的精度要求。表6列出了单片机系统工作在能够满足上述要求的各种频率下的波特率及此时定时器1的自动重装载值。

如果单片机选用最高频率为40MHz的89C51,则可以把DS1077的可编程除法器N设置为2,即让单片机工作于。由表6可知,当定时器1的自动重装载值设置不同进,单片机系统可以分别

以、、9600bps、4800bps、2400bps进行可靠的串行通讯。系统对单片机速度要求不高时,单片机则可以把N设置成3、6、9、18、36,则系统分别工作于、、、和。值得一提的是,当单片机工作频率太低时,单片机只能以较低的波特率通讯。例如,当单片机工作在时,串行通讯只能是2400bps或更低。当然,如果单片机不按这些标准波特率进行通讯或根本就不需要串行通讯,单片机系统的工作频率的选择范围也就更宽了。

表6单片机波特率及定时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论