摘要: 89C430/50 1时钟8051与Atmel和Philips 89C51RD2 6时钟微控制器的插入式替换比较。
超高速闪存微控制器(UHSFM)是5V, 1时钟8051集成闪存和SRAM。这些uhsfm插入到现有的8051应用程序中,并提供即时的速度提升。本应用笔记讨论了将现有8051应用程序移植到UHSFM系列可能需要的简单步骤。介绍了这样做的好处。
超高速微控制器(UHSM)是5V, 1时钟8051集成闪存和SRAM。这些uhsm插入到现有的8051应用程序中,并且几乎不需要付出任何努力,就能立即提高速度。在大多数情况下,uhsm与原始8051 100%兼容,因此通常不需要更改硬件或代码。目前有三种uhsm可用:DS89C430, DS89C440和DS89C450,分别具有16K, 32K或64K的闪存。本文描述了将原始8051应用程序移植到UHSM可能需要的简单步骤。介绍了使用超高频调制解调器的好处。
如上所述,UHSM是一个单时钟周期8051,指令兼容原来的8051依赖于一个12时钟周期架构。在相同的时钟频率下,将每条指令的时钟数量减少到一个,可以使性能比原始8051提高12倍。可选的是,这还提供了在较低时钟频率下运行的能力,并在降低整体系统功耗的同时产生相同的性能。
为了获得更高的性能和降噪,UHSM还集成了一个时钟乘法器,允许外部晶体倍增两倍或四倍。例如,UHSM可以在现有的7.372MHz 8051设计中使用,并在内部运行时钟四倍的29.49 MHz。29.49MHz的板载时钟率不仅提高了性能,而且通过在微控制器内部保持这种高频隔离,外部噪声也保持在最低限度。这大大降低了电磁干扰。
uhsm包含几个额外的功能,使它们成为新设计的绝佳选择:
具有自动递增/递减和切换选择的双数据指针
应用内可编程Flash
用于MOVX的1K字节SRAM
电源管理模式:空闲模式、停止模式、除以1024模式
两个串口
看门狗定时器
断电复位和断电预警中断
UHSM与8051指令兼容,在大多数情况下不需要更改代码。然而,基于代码的计时循环必须根据单周期指令计时进行重写和重新计算。为了进一步利用uhsm的性能增强,还需要对代码进行一些小的更改。一个例子是在计时器上使用除以4选项来允许更高的波特率。另一个例子是使用数据指针auto inc/dec选项来加速复制、清除和比较操作。
片上闪存消除了对外部代码存储器的需求,内置SRAM使应用程序消除了对外部数据SRAM的需求。
UHSM可以在外部晶体上以除以12模式(原始8051)运行每个定时器,或从乘时钟(1,2或4)中以除以4模式运行。这允许现有的8051定时器和串行代码不加修改地运行,并提供更高波特率的选项,如果需要新的设计。CKCON寄存器位,TxM,管理12/4时钟选择。
因为UHSM是5V设计,所以它只会在5V系统中下降而不会改变。外部内存访问被默认设置为3个机器周期(12个系统时钟),但是可以通过CKCON寄存器通过使用拉伸周期来修改,以允许使用较慢的数据内存。
很难找到一个任何两个人都能认同的合理的性能基准。在任何情况下,内存拷贝的速度、CRC生成和中断延迟可能是大多数设计人员感兴趣的,下面将对它们进行分析。作为奖励,SHA-1安全散列的性能被作为高级C基准纳入其中。SHA-1是内存和代码密集型的,与现代嵌入式应用程序非常相关。
本节中的竞争性性能数字将被标记为“12时钟”、“6时钟”或“1时钟”,指的是每个数字背后的8051架构。飞利浦P89C51RD2和Atmel AT89C51RD2用于12和6时钟性能数字,因为它们可以在12或6时钟模式下运行,并且是5V闪存微控制器。对于1时钟数字,使用DS89C440。请注意,6时钟微控制器的速度正好是12时钟微控制器的两倍。在UHSM的情况下,即使每台机器的时钟周期已经减少到一个,但并不是所有的操作码都可以在一个周期内执行(例如DIV AB需要10个周期)。
表1给出一个使用两个数据指针的标准8051复制循环的时钟分解。UHSM比12时钟8051快9倍,比6时钟8051快4.5倍。
表1。显示超高频同步时钟周期优势的Memcopy例程
代码 | 12-Clock | 6钟 | 1-Clock |
MOVX, @DPTR | 24 | 12 | 2 |
公司焦度 | 24 | 12 | 1 |
公司DPS | 12 | 6 | 3. |
MOVX @DPTR, | 24 | 12 | 2 |
公司焦度 | 24 | 12 | 1 |
公司DPS | 12 | 6 | 3. |
djz0,循环 | 24 | 12 | 4 |
总时钟周期 | 144 | 72 | 16 |
表2显示了使用UHSM的自动增量和自动切换特性的优化memcopy实现的结果。具有优化memcopy例程的UHSM比12时钟8051快18倍,比6时钟8051快9倍。
表2。优化Memcopy例行时钟周期。
代码 | 1-Clock |
MOVX, @DPTR | 2 |
MOVX @DPTR, | 2 |
djz0,循环 | 4 |
总时钟周期 | 8 |
CRC的使用在许多嵌入式应用程序中是重要的,用于验证数据完整性。中附录1表5中的CRC16示例DS19xx iButton标准手册1是一个优化的实现。当在12时钟8051上运行时,UHSM的速度超过12倍;与6时钟8051相比,它快了6倍多。
中断延迟可以用两种方式来描述:直到中断被服务的时间延迟,以及完全服务中断向量的时间。
因为中断矢量只能发生在指令之间,所以最长的操作码加上调用时间就是最坏情况下的延迟。在本文评估的8051上,DIV AB是最长的指令,因此最坏情况下的“延迟到向量”将是DIV AB加上隐式的矢量LCALL。8051内核插入LCALL指令来强制执行转换为中断向量例程。在这个例子中,UHSM比12时钟8051快5.5倍,比6时钟8051快2.7倍。看到表3.
我们将使用一个简单的中断服务例程来比较UHSM与原始8051的“返回之前的延迟”。执行时间是指从第一个中断向量指令到RETI完成之间所花费的时间。在这个例子中,UHSM比12时钟8051快7.2倍,比6时钟8051快3.6倍。看到表4.
表3。中断向量的最坏情况延迟
代码 | 12-Clock | 6钟 | 1-Clock |
DIV AB | 48 | 24 | 10 |
隐含LCALL | 24 | 12 | 3. |
总时钟周期 | 72 | 36 | 13 |
表4:中断服务例程示例
代码 | 12-Clock | 6钟 | 1-Clock |
CPL P1.1 | 12 | 6 | 2 |
RETI | 24 | 12 | 3. |
总时钟周期 | 36 | 18 | 5 |
安全功能的使用在嵌入式系统中非常普遍,散列SHA-1就是目前广泛使用的安全功能。安全哈希算法很容易在C中编码。对于本例,使用Keil C编译器版本7.5构建跨每个被比较的微控制器的实现。对于所有平台,选择了编译器选项来使用双数据指针、内部内存、8级优化和速度优化。所有微型机在11.0592MHz下运行。UHSM比12时钟8051快11倍,比6时钟8051快5.5倍。表5列出了一个块SHA-1运行的结果。
表5所示。显示UHSM优势的SHA1结果
代码 | 12-Clock | 6钟 | 1-Clock |
SHA-1单块 (哈希/秒)在11.0592MHz | 3.19 | 6.41 | 35.59 |
SHA-1单块 (哈希/秒)在33MHz | 9.52 | 19.13 | 106.20 |
使用像DS89C4X0系列这样的超高频调制解调器,设计人员可以替换现有的8051设计,更新旧设计,或者创建原始8051无法实现的新设计。UHSM允许软件和硬件的灵活性,因为它不需要更改工具、源代码或硬件环境。可以根据需要使用高级功能,即使不使用这些功能,也可以实现速度的巨大提升。对于基于8051微控制器的系统来说,UHSM是最简单的升级途径,对于需要标准8051无法提供的处理能力的新应用,应该考虑使用UHSM。
1 DS19xx iButton标准手册。
上一篇:单转换器提供正、负电源的解决办法
下一篇:停电时灯是亮的背后逻辑解析
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308