实例说明写入FRAM的零时钟周期延迟的影响

2023-10-12 00:30

本文主要是介绍实例说明写入FRAM的零时钟周期延迟的影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写入FRAM的零时钟周期延迟

一个典型的EEPROM需要5毫秒的写周期时间,以将其页面数据转移到非易失性EEPROM内。当需要写入几千字节的数据时,会导致写入时间较长。相比之下的FRAM不会使这种写操作变慢;所有写操作按总线速率 进行,并非基于存储器延迟。下面两个实例和图1说明写延迟的影响。

实例1:
需要2毫秒将256字节的页面数据通过1MHz 1C总线从控制器传输到EEPROM页面内。然后需要5毫秒将数据写入到EEPROM内。具有密度为1Mbit和页面大小为256个字节的1MHzCEEPROM需要28毫秒来备份1Kb数据(4x2ms+4x5ms)。

然而使用FRAM时,只要8毫秒(4x2ms)便可以将1Kb数据写入到FRAM中。(这时测量数据从控制器传输到EEPROM缓冲区中所需的总时间。)对于EEPROM,需要3.584秒(512x2ms+512x5ms)传输整个1Mbit数据,但对于FRAM,只需要大约1.024秒(512x2ms)。
在这里插入图片描述

图1.写入到EEPROM和FRAM中的流程

实例2:
需要100us将256字节的页面数据通过20MHzSPI总线从控制器传输到EEPROM页面中,然后需要5ms将一页的数据传输到EEPROM。具有密度为1Mbit和页面大小为256个字节的20MHzSPIEEPROM需要20.4ms来备份上述的两个实例显示了零时钟周期写入FRAM中的延迟提高非易失性写入性能优于EEPROM。

EEPROM支持不同的页面大小,在这种情况下的EEPROM中的较低页面大小需要更多页面写操作和更多写周期时间。因此造成额外的写延迟。因为FRAM不是分页的存储器,所以将给定的数据集写入到它时所需的时间不会随存储器的密度而变化。

1Kb的数据(4x100us+4x5ms)。对于FRAM,只需要400us(4x100us)将1Kb的数据写入到FRAM中。(这时间等于数据从SPI控制器传输到EEPROM缓冲区中所需的总时间)。对于EEPROM,需要2.611秒(512x100us+512x5ms)传输整个1Mbit数据,但对于FRAM,只需要大约51.1毫秒(512×100us)。

这篇关于实例说明写入FRAM的零时钟周期延迟的影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/191931

相关文章

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用

关于SpringBoot的spring.factories文件详细说明

《关于SpringBoot的spring.factories文件详细说明》spring.factories文件是SpringBoot自动配置机制的核心部分之一,它位于每个SpringBoot自动配置模... 目录前言一、基本结构二、常见的键EnableAutoConfigurationAutoConfigu

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss