实例说明写入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

相关文章

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2