📄 ——工作频率可动态调整的单片机系统设计.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0061)http://www.21ic.com/new_info/news/files/news/200341611058.asp -->
<HTML><HEAD><TITLE>——工作频率可动态调整的单片机系统设计</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TD {
FONT-SIZE: 12px
}
INPUT {
FONT-SIZE: 12px; font-fammily: verdana,宋体
}
A:link {
FONT-SIZE: 12px; COLOR: #0000ff; LINE-HEIGHT: 16px; TEXT-DECORATION: underline
}
A:visited {
FONT-SIZE: 12px; COLOR: #660066; LINE-HEIGHT: 16px; TEXT-DECORATION: underline
}
A:hover {
FONT-SIZE: 12px; COLOR: #ff0000; TEXT-DECORATION: underline
}
.unnamed1 {
FONT-SIZE: 12px; FONT-FAMILY: "Arial", "Helvetica", "sans-serif"
}
.white {
FONT-SIZE: 12px; COLOR: #ffffff; LINE-HEIGHT: 16px
}
.b:link {
FONT-SIZE: 12px; COLOR: #3366cc; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
.b:visited {
FONT-SIZE: 12px; COLOR: #813f1b; LINE-HEIGHT: 18px; TEXT-DECORATION: none
}
.b:hover {
FONT-SIZE: 12px; COLOR: #ffa037; LINE-HEIGHT: 18px; TEXT-DECORATION: underline
}
.148xg {
FONT-SIZE: 14px; COLOR: #0000ff; LINE-HEIGHT: 14pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
.128dt {
FONT-SIZE: 14px; COLOR: #9999cc; LINE-HEIGHT: 14pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.heigh150 {
LINE-HEIGHT: 150%
}
</STYLE>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=5>
<TABLE cellSpacing=0 cellPadding=0 width=768 align=center border=0>
<TBODY>
<TR>
<TD align=middle width=168 height=80><IMG
src="——工作频率可动态调整的单片机系统设计.files/21ic.gif"></TD>
<TD width=472>
<SCRIPT language=javascript
src="——工作频率可动态调整的单片机系统设计.files/ads.htm"></SCRIPT>
</TD>
<TD height=80>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=b12 align=middle height=30><FONT
face="Arial, Helvetica, sans-serif" color=#000000>
<SCRIPT language=JavaScript
src="——工作频率可动态调整的单片机系统设计.files/date.js"></SCRIPT>
</FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=1 width=768 align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width=766 align=left border=0>
<TBODY>
<TR bgColor=#d8d6ba>
<TD width=3 height=20></TD>
<DIV id=Position></DIV>
<TD width=312>
<FORM name=frmLogin
action=http://www.21icbbs.com/club/bbs/userlogin.asp method=post
target=_blank><B>用户:<INPUT
style="BORDER-RIGHT: #0097cf 1px solid; BORDER-TOP: #0097cf 1px solid; BORDER-LEFT: #0097cf 1px solid; BORDER-BOTTOM: #0097cf 1px solid; BACKGROUND-COLOR: #ffffff"
size=8 name=username> 密码:</B></FONT></SPAN><INPUT
style="BORDER-RIGHT: #0097cf 1px solid; BORDER-TOP: #0097cf 1px solid; BORDER-LEFT: #0097cf 1px solid; BORDER-BOTTOM: #0097cf 1px solid; BACKGROUND-COLOR: #ffffff"
type=password size=8 name=userpwd> </FONT><INPUT type=hidden value=0
name=Cookie2003年4月16日1:10> <INPUT type=submit value=登陆> <INPUT onclick="window.open('http://www.21icbbs.com/user/signup.asp');" type=button value=注册>
</TD></FORM>
<DIV></DIV>
<DIV id=Time></DIV>
<DIV id=Image></DIV>
<DIV id=Title></DIV>
<TD width=418>
<MARQUEE onmouseover=this.scrollDelay=99000
onmouseout=this.scrollDelay=80 scrollAmount=2 scrollDelay=80
width="80%"><FONT color=#cc0000><IMG height=12
src="——工作频率可动态调整的单片机系统设计.files/xilan_arrow.gif"
width=16>欢迎光临21IC中国电子网,行业最权威的网站</FONT></MARQUEE></TD>
<DIV></DIV>
<TD width=9></TD></TR></TBODY></TABLE>
<DIV></DIV>
<DIV id=Time></DIV>
<DIV id=Image></DIV>
<DIV id=Title><TD< td></DIV></TD></TR></TBODY></TABLE></TD></TR></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 width=768 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top width=617 height=2>
<TABLE cellSpacing=0 cellPadding=0 width=583 align=center border=0>
<TBODY>
<TR>
<TD align=middle height=31><FONT size=4><B>工作频率可动态调整的单片机系统设计
</B></FONT></TD></TR>
<TR>
<TD align=middle height=15>文章作者:徐顺刚 朱仁江<BR>文章类型:设计应用
文章加入时间:2003年4月16日1:10</TD></TR>
<TR>
<TD align=right><FONT color=#cc0000>文章出处:电子技术应用</FONT> </TD></TR>
<TR>
<TD height=15>
<HR width="100%" noShade SIZE=1>
</TD></TR>
<TR>
<TD height=15>
<TABLE cellSpacing=0 cellPadding=0 align=center border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE><BR></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=530 align=center border=0>
<TBODY>
<TR>
<TD class=heigh150 height=15>
<DIV id=Content>
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<B>摘要:</B></SPAN>介绍一种采用可编程CMOS频率合成器DS1077设计的单片机系统,使单片机能根据环境需要动态调整系统的工作频率,既能满足系统求的实时处理能力,又尽可能地降低系统的耗电量及引起的电磁干扰。同时还讨论了系统改变工作频率后对RS232串行通讯的影响以及解决办法确保该系统在不的工作频率下仍能正常进行RS232串行通信。这种单片机系统的变频设计提高了系统的适用范围和兼容性,使系统设计更加灵活。</P>
<P class=MsoNormal><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
<B>关键词:</B></SPAN>可编程CMOS频率合成器 串行通讯 动态编程 DS1077</P>
<P
style="TEXT-INDENT: 30px">在单片机系统中,总希望单片机能够工作于最大频率,以提高系统的实时处理能力。但单片机系统工作频率越高,其耗电量及引起的电磁干扰也就越大,并且单片机工作频率的选择直接影响到RS232串行通讯。特别是在51单片机系统中,RS232串行通讯的使用往往决定了系统时钟选用,这使得在设计单片机系统时的灵活性大大降低。在很多情况下,希望设计出一个工作频率可根据任务的轻得实时改变,并且能够在各种工作频率下进行RS232串行通讯的单片机系统,它既能满足单片机的实时处理要求,又有利于降低系统的耗电量和电磁干扰。采用可编程CMOS频率合成器DS1077后,设计这种系统变得简单了。</P>
<P style="TEXT-INDENT: 0px"><B>1 可编程CMOS频率合成器DS1077</B></P>
<P style="TEXT-INDENT: 30px">1.1 DS1077的引脚及其功能</P>
<P
style="TEXT-INDENT: 30px">DS1077是一个具有两种同步输出的单片机固定频率合成器。它不需要外接任何元件即可工作,允许通过二线串行接口频率合成器进行动态编程。DS1077的输出频率范围宽(8kHz~133MHz),且在整个温度和电压变化范围内输出频率偏差小于1%。DS1077既可作为由控制器编程的两路同步频率合成器使用,也可以当作固定频率振荡器使用。控制器可通过编程片上的两个预标定器和一个除法器来调整两路同步输出频率。工作模式和输出频率的设定值存储于片上EEPROM中。每次上电时,存储于EEPROM中的值自动弹出到各个寄存器中,使DS1077工作于以前设定的初始状态。<BR><IMG
height=298 hspace=10 src="——工作频率可动态调整的单片机系统设计.files/5a.gif"
width=549 vspace=10 border=0><BR> <SPAN
class=main1>引脚功能:</P>
<P style="TEXT-INDENT: 30px">SCL:串行时钟输入线(用于编程);</P>
<P style="TEXT-INDENT: 30px">SDA:串行数据输入、输出线(用于编程);</P>
<P style="TEXT-INDENT: 30px">CTR1:控制OUT1输出允许或芯片掉电模式的多功能引脚;</P>
<P style="TEXT-INDENT: 30px">CRT0:控制OUT0输出允许、芯片掉电模式或MUX选择的多功能引脚;</P>
<P style="TEXT-INDENT: 30px">OUT1:参考频率输出引脚;</P>
<P style="TEXT-INDENT: 30px">OUT0:主振荡频率输出引脚。</P>
<P style="TEXT-INDENT: 30px">1.2 DS1077内部框图如图及工作原理</P>
<P
style="TEXT-INDENT: 30px">DS1077内部框图如图1所示。主要由内部主振荡器、2个预定标器、1个可编程除法器和3个控制寄存器四大部分组成。主振荡器产生的时钟信号MCLK既可直接输出到OUT0,也可以经过P0预定标器分频后输出OUT0。另外时钟信号MCLK经过P1预定标器分频后要么直接输出到OUT1,要么再经可编程除法器N分频后输出到OUT1。</P>
<P
style="TEXT-INDENT: 30px">主时钟信号MCLK经过P0预定标器进行1、2、4或8分频后送入MUX选择器。同时,主时钟信号MCLK经过P1预定标器进行1、2、4或8分频后既可直接输出到OUT1引脚,又可输出到可编程除法器N进行2~1025之间的任一分频后送到OUT1引脚。<BR><IMG
height=382 hspace=10 src="——工作频率可动态调整的单片机系统设计.files/5b.gif"
width=544 vspace=10 border=0><BR></SPAN> <SPAN
class=main1>通过对控制寄存器进行编程,可决定DS1077输出频率和工作模式。控制寄存器的值存于片内的EEPROM中,因此只有改变输出频率和工作模式时才需要对DS1077重新编程。</P>
<P style="TEXT-INDENT: 30px">1.3 DS1077的控制寄存器</P>
<P
style="TEXT-INDENT: 30px">DS1077的控制包括MUX寄存器、DIV寄存器和BUS寄存器共3个寄存器。MUX寄存器用于设置频率合成器的工作模式,DIV寄存器用于设置工作频率,BUS寄存器用于设置总线控制方式。它们的设置方式如下:</P>
<P style="TEXT-INDENT: 30px">MUX寄存器(16位):</P>
<TABLE borderColorDark=#ffffff width="100%" borderColorLight=#000000
border=1>
<TBODY>
<TR class=main>
<TD align=middle width="6%">-</TD>
<TD align=middle width="6%">PDN1</TD>
<TD align=middle width="6%">PDN0</TD>
<TD align=middle width="6%">SEL0</TD>
<TD align=middle width="6%">EN0</TD>
<TD align=middle width="6%">0M1</TD>
<TD align=middle width="6%">0M0</TD>
<TD align=middle width="6%">1M1</TD>
<TD align=middle width="6%">1M0</TD>
<TD align=middle width="6%">DIV</TD>
<TD align=middle width="6%">-</TD>
<TD align=middle width="6%">-</TD>
<TD align=middle width="7%">-</TD>
<TD align=middle width="7%">-</TD>
<TD align=middle width="7%">-</TD>
<TD align=middle width="7%">-</TD></TR></TBODY></TABLE>
<P
style="TEXT-INDENT: 30px">其中,标志位EN0、SEL0、PDN0和引脚CTRL0对输出OUT0的工作模式进行设定,如表1所示。标志位PDN1和引脚CTRL1对输出OUT1的工作模式进行设定,如表2所示。标志位DIV决定是否使用可编程除法器N。当DIV=1时,可编程除法器被忽略;如果DIV=0,可编程除法器正常工作。标志位0M1和0M0、1M1和1M0分别决定了预定标器P0和P1的分频比,如表3所示。<BR><BR><B>表1
输出OUT0的工作模式设定</B></P>
<TABLE borderColorDark=#ffffff width="100%" borderColorLight=#000000
border=1>
<TBODY>
<TR class=main>
<TD align=middle width="10%">EN0</TD>
<TD align=middle width="11%">SEL0</TD>
<TD align=middle width="11%">PDN0</TD>
<TD align=middle width="68%">CTR0功能</TD></TR>
<TR class=main>
<TD align=middle width="10%">0</TD>
<TD align=middle width="11%">0</TD>
<TD align=middle width="11%">0</TD>
<TD width="68%">掉电控制(CTR0=1进入掉电模式,CTR0=0时OUT0输出高阻)</TD></TR>
<TR class=main>
<TD align=middle width="10%">0</TD>
<TD align=middle width="11%">1</TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -