达拉斯半导体DS87C550 EPROM高速微控制器具有A/D和PWM功能,是广受欢迎的87C552微控制器的增强版本。它是 8051C87 的 552 直接替代品,通过执行具有四个时钟周期的代码来提高性能。本应用笔记描述了在旧版8032设计中集成软件环路、上电复位和存储器接口时序时与该处理器相关的问题。
介绍
DS87C550高速微控制器具有模数和PWM,设计与许多8051衍生产品高度兼容。它采用与 87C552 相同的引脚排列和基本资源设计,但显著增强了性能能力和大量额外资源。由于指令集和引脚排列是相同的,因此在许多情况下允许将其用作该设备的直接替代品。但是,在这样做时,必须考虑一些问题。本应用笔记讨论了这些问题。
处理器速度
DS87C550与100指令集8051%兼容,指令的执行也得到了简化,提高了性能。以前需要 12 个时钟才能完成的单字节指令现在在 4 个时钟中执行。此外,DS87C550可以接受高达33 MHz的时钟速度,而在某些版本的8032中,最大时钟速度为12 MHz。由于DS87C550具有更高的性能,在评估DS8051C<>作为传统<>微控制器的替代品时,必须考虑与速度相关的问题。
存储器接口时序
对于相同频率的晶体,DS87C550缩短指令执行时间,可加快外部存储器访问时间。例如,8032的数据手册规定,当使用12 MHz晶体时,程序存储器的地址访问时间必须为302 ns或更短(忽略任何地址锁存开销)。同样使用87 MHz晶体的DS550C12需要地址访问时间更短230 ns的存储器。由于当今大多数可用的存储器都提供更快的访问时间,因此这不太可能是一个重要的设计考虑因素。
软件循环
另一个与速度相关的问题是软件计时的使用。通常情况下,软件编写者将使用处理器假定的恒定执行速度作为实时参考。通常需要已知数量的时钟才能执行的紧密循环将用于生成延迟。由于DS87C550执行指令的速度比标准8032快得多,这些先前设计的定时环路将不再产生最初预期的结果。虽然通常不鼓励使用软件定时环路,但实际上它们在嵌入式应用程序中使用得相当频繁。DS87C550的设计使内部定时器默认为与8032定时器完全相同的状态。如果编写应用程序代码以使用这些计时器而不是软件延迟,则代码将按原始预期运行。
中断
与其他8051衍生产品相比,为了适应高速微控制器系列的扩展功能,需要对中断矢量地址图进行轻微重组,如下表所示。
中断名称 | 中断说明 | 矢量地址 | ||
DS87C550 | D7C552 | DS80C320 | ||
INT0-bar | 外部中断 0 | 03小时 | 03小时 | 03小时 |
SCON1 | 串行端口 1 | 0Bh | - | 3Bh |
A/D | 模数转换器 | 13小时 | 53小时 | - |
TF0 | 定时器 0 | 1Bh | 0Bh | 0Bh |
INT2/CF0 | 外部中断 2 或捕获 0 | 23小时 | 33小时 | 43小时 |
CM0F | 比较匹配 0 | 2Bh | 5Bh | - |
PFI | 电源故障中断 | 33小时 | - | 33小时 |
INT1-bar | 外部中断 1 | 3Bh | 13小时 | 13小时 |
INT3-bar/CF1 | 外部中断 3 或捕获 1 | 43小时 | - | 4Bh |
CM1F | 比较匹配 1 | 4Bh | 63小时 | - |
TF1 | 定时器 1 | 53小时 | 1Bh | 1Bh |
INT4/CF2 | 外部中断 2 或捕获 2 | 5Bh | - | 53小时 |
CM2F | 比较匹配 2 | 63小时 | 6Bh | - |
SCON0 | 串口 0 | 6Bh | 23小时 | 23小时 |
INT5 棒/CF3 | 外部中断 5 或捕获 3 | 73小时 | - | 5Bh |
TF2 | 定时器 2 | 7Bh | 73小时 | 2Bh |
DS87C550集成电路,产生自己的上电复位功能。这消除了与外部元件相关的成本和电路板空间。虽然RST引脚仍可能连接到外部复位发生电路,但这种内部特性允许选择移除外部元件以降低成本。尽管这些特性设计为在不需要时是透明的,但在少数情况下,内部电源故障复位功能可能会以不希望的方式与现有设计交互。其中一种情况可能是,如果设计要求复位电压处于特定点或存在特定持续时间。另一种情况可能是依赖电池备份的RAM进行数据存储。如果RAM包含自己的电压检测电路,并且在DS87C550离开复位(4.0 V)的相同电压下没有失去保护,则处理器可能会错误地访问受保护的RAM。虽然这些情况并不常见,但它们仍然是每个特定应用需要考虑的问题。
功耗
DS87C550除了是性能更高的器件外,在考虑等效工作时,也是比8032功耗更低的器件。所有CMOS器件都表现出这样的特性:随着速度的提高,它们消耗更多的功率。由于DS87C550是性能更高的器件,在给定的晶体频率下,它会消耗更多的功率。但是,如果考虑等量的工作量,则其消耗的功率略低于传统的8032。这种功耗差异可能只对电池供电应用很重要,在这种情况下,停止模式电源可能是一个重要的考虑因素。
特殊功能寄存器更改
DS87C550的特殊功能寄存器(SFR)图与8051系列的其他成员略有不同,以适应新的功能集。下表突出显示了87C550或DS87C552/80上具有不同功能的DS320C8051 SFR位置。使用专为DS87C550设计的汇编器/编译器头文件,将消除移植8051系列其他成员软件时的混淆。
Address | DS87C550 | 87C552 | DS80C320 | Notes |
86h | DPS | - | DPS | DS87C550 has new bits. |
87h | PCON | PCON | PCON | DS87C550 has new bits. |
90h | P1 | P1 | P1 | DS87C550 alternate pin functions changed |
91h | RCON | - | EXIF | |
9Fh | PMR | - | - | |
A1h | SADDR0 | - | - | |
A2h | SADDR1 | - | - | |
A9h | CMPL0 | CML0 | SADDR0 | |
AAh | CMPL1 | CML1 | SADDR1 | |
B8h | IP | IP0 | IP | DS87C550 adds PAD bit |
BEh | T2CON | - | - | |
BFh | T2MOD | - | - | |
C0h | P4 | - | SCON1 | |
C1h | - | - | SBUF1 | |
C4h | P5 | P5 | PMR | |
C8h | T2IR | TM2IR | T2CON | |
C9h | CMPH0 | CMH0 | T2MOD | |
CAh | CMPH1 | CMH1 | RCAP2L | |
CBh | CMPH2 | CMH2 | RCAP2H | |
CCh | CPTH0 | CTH0 | TL2 | |
CDh | CPTH1 | CTH1 | TH2 | |
D8h | SCON1 | S1CON | WDCON | |
D9h | SBUF1 | S1STA | - | |
ECh | TL2 | TML2 | - | |
EDh | TH2 | TMH2 | - | |
FFh | WDCON | T3 | - |
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !