如何把Word、PDF、Excel等各类文档存入E2PROM

这里以一篇Word文档为例,介绍一种将PC文件写入EEPROM的方法,并附加详细的图文操作步骤说明。借助此方法,亦可以方便的将Work、Excel、PDF、WinRAR压缩包等各类文件资料存入两线制I2C接口的EEPROM中。

需要使用软、硬件工具:

        1. 一台PC计算机(支持win7/win8/win10/win11各版本系统)

        2. E02-AM I2C读写模块(售价约百元左右)

        3. E02上位机软件(免费软件)

        4. EEPROM模块或单独的芯片

这里以一篇Word文档为例,我们要写入的Word文档内容如下:

Work文档的大小约16KB

要把这篇Work文档写入EEPROM中,必要条件之一就是EEPROM中存储容量足够大,能够存放下要写入的文件,我们这里使用ST(意法半导体)的 M24M02,容量为256KB。注意,因为这里示例要写入的文档大小不超过16KB,所以只要使用大于等于16KB的器件都是可以的,比如常用的AT24C128(16KB)、AT24C256(32KB)、AT24C512(64KB)都可以存下这篇文档。

M24M02器件规格如下图所示:

将Word文档写入EEPROM — 详细步骤和说明

一、打开E02上位机软件,界面如下图所示

        E02界面的还是比较经典中正的仪表仪器式面板风格,功能分类明确整齐,没有花里胡哨的渲染。界面左上侧大块灰色区域是读数据显示区,左下侧为写数据输入区,中间及右侧部分为功能和控制、操作区域。软件对数据写入和读取的过程已经做了非常好的自动化控制,整个操作过程还是非常简单的。

        

二、选择器件型号:M24M02

        从“品牌/制造商”下拉列表里选择“ST 意法半导体”,从“器件型号”下拉列表里选择“M24M02”

        本示例中,我们选用一个存储容量较大的EEPROM来存储我们的Word文档,这里选用ST意法半导体的M24M02。在“品牌/制造商“ 一栏选择 意法半导体ST,”选择器件型号“ 一栏选择器件型号M24M02。图中的A2与实际芯片的地址管脚对应,我们EEPROM模块上该引脚为低电平,因此保持0就可以了(如果板子上该芯片该引脚上拉为高电平,这里A2要输入1)

        选择好器件后,界面右侧的“器件手册”按钮变为可以点击的状态,点一下即可打开器件手册。

        *E02软件以标准“器件库”方式扩展增加支持的器件型号,这也是E02软件独特的强大之处。

        *器件库可以自已编写添加,支持任意厂家任意型号的EEPROM或I2C接口的其他器件。

        *I2C接口的EEPROM、ADC器件、I2C接口的温湿度传感器等等都可以扩展添加到器件库。

三、连接设备   

        如下图所示,E02模块连接到电脑USB口后,从下拉列表中选择对应的端口号。

        *为什么会是COM端口号?因为E02模块原理是串口转I2C接口,所以是USB串口模式。

        *该模式的优点是任何限制不能连接USB存储设备(如U盘)的电脑都可以放心使用,因为这就是一个串口模块设备。 

        选择对应的COM端口号后,点击“连接设备”按钮。连接后如下图所示,按钮变为高亮显示:

四、设置读写起始地址,即要从哪个存储单元(存储地址)开始保存该Word文档

        “读写起始地址”,就是从哪个存储单元开始写入数据或读取数据,这个值可以随意设置,只要保证该地址之后的存在单元数量可以存入我们要写入的数据个数,这里我们示例从第100个存储单元开始写入数据,将“读写起始地址”改为100。

五、导入Word文档

        在“写窗格”中单击鼠标右键,从弹出的快捷菜单中选择“导入数据”。

在弹出的加载文件对话框中,将文件类型改为“全部文件(*.*)”,然后选择要加载的Word文档。

        加载后,写数据窗格如下图所示:

        在E02软件界面的“写数据个数”一栏中,可以看到“写窗格”中已加载的数据个数(数据总量,单位字节),E02软件自动统计“写窗格”中的数据量,并显示在“写数据个数”一栏中。这里加载文件后,数据个数显示是16311个字节。大约是15.9KB,计算过程如下:

再来看一下Word文档的属性,确认一下是否一致(此步不是必需,这里仅用于简单证明文件已正确加载),文件属性截图如下,从截图中可以对比看出,实际文件大小就是16311个字节,已全部正确加载:

六、写入数据

        单击“写数据”按钮,写窗格中的数据将会自动从“读写起始地址”一栏设置的存储单元开始依次写入到eeprom中。

        由于EEPROM中的数据一旦丢失或被新数据覆盖,恢复难度较大,点击写数据后,E02软件会弹出两次写数据确认提示,两次确认后,开始自动执行写数据过程。

执行写数据过程中,写窗格度部会出现一个进度条,实时显示当前的进度。完成后,会弹出“完成”对话框。如下图所示:

从EEPROM中读出Word文档 — 详细步骤说明

一、打开E02上位机软件、选择器件型号、连接设备。

        *此步与写数据过程相同。

二、设置“读写起始地址”,即要从EEPROM器件的哪个存储单元(存储地址)开始读取数据。

        在写入Word文档的过程中,我们从第100个存储单元开始写入的,为完整且正确的读出Word文档,相应的这里也应从第100个存储单元开始读数据。

三、设置“读数据个数”。

        为完整且正确的恢复Word文档,读数据个数必须写入的数据一致(不多也不能少),之前导入Word文档时为16311个字节,这里读数据个数也要输入16311。

四、读数据

        单击“读数据”按钮。

        读数据过程中,E02上位机软件界面实时显示“读进度条”。

        读数据完成后,弹出“完成”提示,如下图所示:

五、导出读取的数据

        在读窗格中单击鼠标右键,从弹出的快捷菜单中选择“导出数据”。见下图。

        在弹出的文件对话框中,选择保存的位置和文件名。文件类型为默认.HEX类型,不要更改。

六、使用十六进制文本编辑软件打开导出的文件,删除最开始4字节,保存。

        可编辑十六进制数据的软件种类有很多,比如常用的WinHex、UltraEdit等等。这里我们采用免费的Notepadplus软件,扩展添加Hex插件来编辑导出的HEX数据文件。

七、将文件扩展名重命名为要保存的文件格式,把扩展名改为.docx

八、双击打开.docx文档,如下图所示,完美恢复原文件所有内容。

      

总结

为什么要使用EEPROM存储文件,在实际生活中有什么意义呢?

I2C接口的EEPROM,是一种掉电后数据不丢失的非系统级数据存储芯片,虽然容量很小,但却非常安全可靠,由于接口简单,目前在各行各业开发领域支持非常广泛,常常被应用在嵌入式开发中或者单板级数据存储中。如常见的硬件板卡级配置参数、启动配置参数、密钥配置参数、传感器初始化配置参数、用户设置配置参数等,大多都是由I2C接口的EEPROM负责存储。生活中我们的常见的电脑主板、手机、各类家电设备中大多数据硬件板卡上都可以见到EEPROM的身影。

不同于生活中常用的U盘、移动硬盘,计算机高级操作系统如windows、linux等操作系统,一般无法像读写U盘一样实现即插即用直接读写EEPROM。

由于读写内容没有操作系统和文件格式的要求、限制和支撑,对于存储在EEPROM中的文件,较难定位数据的准确边界,尤其对于采用加密或者分段、分节、分级、存储地址分散不连续的存储方式存储的数据,要确认所存储的数据为格式化文件或确认所存数据边界地址和具体长度的难度更大。

因此,将一些不是特别占用存储空间但非常重要文件资料或个人非常隐私文件资料存储到eeprom中,可更好的实现安全特性和防盗防窥特点。

要确保EEPROM中的数据不被轻易确定存储边界和存储片段,在EEPROM中写入重要数据之前,采用随机数据初始化EEPROM的过程必不可少,E02上位机软件也提供了非常方便的随机数据生成和填充功能,下一篇将介绍E02上位机软件随机数据初始化EEPROM的方法和详细说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值