0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过闪存微控制器即时增强性能

星星科技指导员 来源:ADI 作者:ADI 2023-03-02 14:10 次阅读

超高速闪存微控制器 (UHSFM) 是 5V、1 时钟 8051,集成了闪存和 SRAM。这些 UHSFM 可集成到现有的 8051 应用中,并立即提高速度。本应用笔记讨论了将现有8051应用移植到UHSFM系列可能需要的简单步骤。描述了这样做的好处。

介绍

超高速微控制器 (UHSM) 是 5V、1 时钟 8051,集成了闪存和 SRAM。这些UHSM可以进入现有的8051应用,并且只需很少或没有努力,就可以立即提高速度。在大多数情况下,UHSM 与原始 100 8051% 兼容,因此通常不需要更改硬件或代码。目前有三种UHSM可供选择:DS89C430、DS89C440和DS89C450,每种器件分别具有16K、32K或64K闪存。本文介绍将原始 8051 应用程序移植到 UHSM 可能需要的简单步骤。介绍了使用UHSM的好处。

建筑

如上所述,UHSM是一个单时钟周期8051,指令与依赖于8051时钟周期架构的原始12兼容。在等效时钟频率下,将每条指令的时钟数量减少到一个,性能比原始 12 高出 8051 倍。或者,这还提供了在较低时钟频率下运行的能力,并产生相同的性能,同时降低整体系统功耗。

为了获得更高的性能和降噪,UHSM还集成了一个时钟乘法器,允许外部晶体的两倍或四倍倍增。例如,UHSM可用于现有的7.372MHz 8051设计,内部运行时钟翻了两番,为29.49 MHz。29.49MHz的板载时钟速率不仅提高了性能,而且通过在微控制器内部保持这种高频隔离,外部噪声也保持在最低水平。这大大降低了EMI。

UHSM包含几个附加功能,使其成为新设计的绝佳选择:

具有自动递增/递减和切换选择功能的双数据指针

应用内可编程闪存

用于 MOVX 的 1K 字节 SRAM

电源管理模式:空闲模式、停止模式、被 1024 分频模式

两个串行端口

看门狗定时器

电源故障复位和预警电源故障中断

兼容性

法典

UHSM 兼容 8051 指令,在大多数情况下不需要更改代码。但是,必须根据单周期指令时序重写和重新计算基于代码的时序循环。为了进一步利用UHSM的性能增强,还需要进行一些其他小的代码更改。一个例子是在定时器上使用 4 分频选项以允许更高的波特率。另一个示例是使用数据指针自动 inc/dec 选项来加快复制、清除和比较操作。

片上闪存消除了对外部代码存储器的要求,内置SRAM使应用无需外部数据SRAM。

定时器/串行端口

UHSM 可以在外部晶体上以 12 分频模式(原始 8051)运行每个定时器,或者从乘法时钟(4、1 或 2)以 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 比 9 时钟 12 快 8051 倍,比 4 时钟 5 快 6.8051 倍。

表 1.显示UHSM时钟周期优势的记忆镜例程

Code 12-Clock 6-Clock 1-Clock
MOVX A,@DPTR 24 12 2
INC DPTR 24 12 1
INC DPS 12 6 3
MOVX @DPTR,A 24 12 2
INC DPTR 24 12 1
INC DPS 12 6 3
DJNZ R0, LOOP 24 12 4
Total Clock Cycles 144 72 16

表 2

显示了使用 UHSM 的自动增量和自动切换功能优化的忆影复制实施的结果。具有优化的忆影印例程的UHSM比18时钟12快8051倍,比9时钟6快8051倍。

表 2.优化的忆影记录例程时钟周期。

Code 1-Clock
MOVX A,@DPTR 2
MOVX @DPTR,A 2
DJNZ R0, LOOP 4
Total Clock Cycles 8

CRC16

CRC的使用在许多嵌入式应用中都很重要,用于验证数据完整性。DS16xx iButton 标准手册¹附录 5 表 1 中的 CRC19 示例是一个优化的实现方案。当与 12 时钟 8051 运行时,UHSM 的速度提高了 12 倍以上;与 6 时钟 8051 相比,它快了 6 倍以上。

中断延迟

中断延迟可以用两种方式描述:处理中断的时间延迟和完全服务中断向量的时间。

由于中断向量只能在指令之间发生,因此最长的操作码加上调用时间是最坏情况下的延迟。在本文评估的 8051 上,DIV AB 是最长的指令,因此最坏情况的“向量延迟”将是 DIV AB 加上隐式向量 LCALL。8051 内核插入 LCALL 指令以强制执行以更改为中断向量例程。在此示例中,UHSM 比 5 时钟 5 快 12.8051 倍,比 2 时钟 7 快 6.8051 倍。请参阅表 3

我们将使用一个简单的中断服务例程将 UHSM 与原始 8051 进行比较,以获得“返回前的延迟”。执行时间是从第一个中断向量指令到 RETI 完成所花费的时间。在此示例中,UHSM 比 7 时钟 2 快 12.8051 倍,比 3 时钟 6 快 6.8051 倍。见表4

表 3.中断向量的最坏情况延迟

Code 12-Clock 6-Clock 1-Clock
DIV AB 48 24 10
Implied LCALL 24 12 3
Total Clock Cycles 72 36 13

表 4:中断服务例程示例

Code 12-Clock 6-Clock 1-Clock
CPL P1.1 12 6 2
RETI 24 12 3
Total Clock Cycles 36 18 5

C 示例:SHA-1 安全哈希

安全功能的使用在嵌入式系统中很普遍,哈希SHA-1是当今广泛使用的安全功能。安全哈希算法很容易用 C 语言编码。对于此示例,Keil C 编译器版本 7.5 用于在要比较的每个微控制器之间构建实现。对于所有平台,都选择了编译器选项以使用双数据指针、内部存储器、8 级优化和速度优化。所有微处理器的运行频率均为11.0592MHz。UHSM 比 11 时钟 12 快 8051 倍,比 5 时钟 5 快 6.8051 倍。表 5 列出了一个块 SHA-1 运行的结果。

表 5.SHA1结果显示UHSM优势

Code 12-Clock 6-Clock 1-Clock
SHA-1 Single Block
(hashes/second) at 11.0592MHz
3.19 6.41 35.59
SHA-1 Single Block
(hashes/second) at 33MHz
9.52 19.13 106.20

结论

使用DS89C4X0系列等UHSM,设计人员可以替代现有的8051设计,更新旧设计,或创建原始8051无法实现的新设计。UHSM允许软件和硬件的灵活性,因为它不需要更改工具,源代码或硬件环境。可以根据需要使用高级功能,即使不使用这些功能,也可以实现速度的巨大提升。UHSM 是基于 8051 微控制器的系统最简单的升级路径,对于需要标准 8051 无法提供的处理能力的新应用,应考虑使用 UHSM 。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7565

    浏览量

    151592
  • 存储器
    +关注

    关注

    38

    文章

    7509

    浏览量

    163974
  • sram
    +关注

    关注

    6

    文章

    768

    浏览量

    114725
收藏 人收藏

    评论

    相关推荐

    为什么无法通过modus ide恢复和闪存微控制器

    我面临着将生成的 ELF 文件导入 modus ide 的问题。 之后,设置配置调试 elf 文件,没有出错,但无法通过 modus ide 恢复和闪存微控制器
    发表于 05-31 08:57

    如何通过Miniwiggler V3将labview程序闪存微控制器

    我正试图通过 Miniwiggler V3 将 labview 程序闪存微控制器中,但我找不到任何说明如何操作的文档。 我是新手,有没有什么方法可以直接闪存程序?
    发表于 07-04 06:00

    GD32E5高性能微控制器

    GD32E5高性能微控制器,采用台积电低功耗40纳米(40nm)嵌入式闪存工艺构建,具备业界领先的处理能力、功耗效率、连接特性和经济的开发成本。推动嵌入式开发向高精度工业控制领域扩展,
    发表于 12-16 08:13

    使用UART闪存STM32G0系列微控制器的方法是什么

    大家好,STM32L0 系列微控制器通过 UART 闪存,但 STM32G0 系列微控制器不是能够通过 UART 闪烁。所以问题是“使用 U
    发表于 12-21 06:02

    从高速微控制器系列向超高速闪存微控制器的升级

    从高速微控制器系列向超高速闪存微控制器的升级 Porting Applications from the High-Speed Micro Family to Ultra-High-Speed Flash
    发表于 07-27 23:26 962次阅读

    从高速微控制器系列向超高速闪存微控制器的升级

    从高速微控制器系列向超高速闪存微控制器的升级 摘要:多种原
    发表于 08-13 13:29 736次阅读

    从高速微控制器系列向超高速闪存微控制器的升级

    摘要:多种原因会促使我们把以前使用高速微控制器(DS80C310/DS80C320/DS80C323/DS8xC520)的8051设计升级到新的超高速闪存微控制器(DS89C430/DS89C450)。促使产品升级的原因是:更高
    发表于 04-23 10:32 526次阅读

    在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存

    摘要:本应用笔记介绍了MAXQ微控制器中的程序和数据闪存,以及如何使用内置的应用ROM对闪存进行擦/写。本应用笔记适用于所有使用分区擦除闪存的MAXQ
    发表于 04-23 17:16 705次阅读
    在应用编程MAXQ<b class='flag-5'>微控制器</b>中可分区擦除的程序和数据<b class='flag-5'>闪存</b>

    应用于闪存微控制器的“新闪存”架构威廉希尔官方网站

      简介   嵌入式微控制器越来越多样化,可以满足嵌入式系统市场的应用需求,而主流已经从传统的掩模ROM微控制器转向了内置闪存(可擦写的非易失性只读存储)的闪
    发表于 11-17 10:08 792次阅读
    应用于<b class='flag-5'>闪存</b><b class='flag-5'>微控制器</b>的“新<b class='flag-5'>闪存</b>”架构威廉希尔官方网站

    混合信号32KB ISP闪存微控制器

    本内容提供了混合信号32KB ISP闪存微控制器
    发表于 06-24 15:41 33次下载
    混合信号32KB ISP<b class='flag-5'>闪存</b><b class='flag-5'>微控制器</b>

    PIC18F2455系列高性能增强闪存USB微控制器的数据手册免费下载

    这一系列的设备提供了所有PIC18微控制器的优势,即高计算性能和经济的价格,加上高耐久性,增强闪存程序存储。除了这些特性外,PIC18F
    发表于 05-21 08:00 2次下载
    PIC18F2455系列高<b class='flag-5'>性能</b><b class='flag-5'>增强</b>型<b class='flag-5'>闪存</b>USB<b class='flag-5'>微控制器</b>的数据手册免费下载

    性能超群的含闪存存储、8引脚PIC微控制器

    电子发烧友网站提供《性能超群的含闪存存储、8引脚PIC微控制器.pdf》资料免费下载
    发表于 11-17 11:02 0次下载
    <b class='flag-5'>性能</b>超群的含<b class='flag-5'>闪存</b>存储<b class='flag-5'>器</b>、8引脚PIC<b class='flag-5'>微控制器</b>

    C2000™微控制器的串行闪存编程

    电子发烧友网站提供《C2000™微控制器的串行闪存编程.pdf》资料免费下载
    发表于 09-03 10:15 0次下载
    C2000™<b class='flag-5'>微控制器</b>的串行<b class='flag-5'>闪存</b>编程

    增强C2000™微控制器系列的计算性能

    电子发烧友网站提供《增强C2000™微控制器系列的计算性能.pdf》资料免费下载
    发表于 09-19 12:36 0次下载
    <b class='flag-5'>增强</b>C2000™<b class='flag-5'>微控制器</b>系列的计算<b class='flag-5'>性能</b>

    C2000™微控制器的USB闪存编程

    电子发烧友网站提供《C2000™微控制器的USB闪存编程.pdf》资料免费下载
    发表于 09-26 11:30 0次下载
    C2000™<b class='flag-5'>微控制器</b>的USB<b class='flag-5'>闪存</b>编程