QuikEval上的板载EEPROM支持的演示板

描述

我们支持的大多数 QuikEval 演示板都有一个板载 EEPROM,用于存储一串字符。该字符串包含有关电路板的部件号、演示板号和其他特性的信息。例如,下面是存储在演示板DC956上的EEPROM中的字符串:“LTC2485,Cls,D2484,01,01,DC,DC956,---------------”

此字符串显示部件号为 LTC2485,演示板编号为 DC956,GUI 类号为 D2484(“Cls、D2484”),电路板版本为“01、01”)。对于QuikEval软件,该字符串由处理器(在Linduino上)读出以识别连接的电路板。然而,EEPROM的使用可以扩展到不仅仅是存储字符串。对于DAC或ADC,它可用于存储上电时的校准数据,而对于温度传感器,它可用于存储传感器特定数据。

内存组织:

电路板

图 1.EEPROM 24LC025的存储器组织

EEPROM 24LC025 是一款 2 Kbit 存储器,由 256×8 位存储器组成。它具有一次 16 字节数据的页面写入功能。由于每个演示板的EEPROM ID字符串大约需要50个字符,因此确保该部分不会被覆盖非常重要,因此,我们仅从第4页(第64个字节)开始。

图解的:

EEPROM 使用 I2C 与微控制器通信。下图显示了在 QuikEval 支持的演示板上与 EEPROM 的连接。EESDA 和 EESCL 是 I2从控制器到 EEPROM 的 C 线。24LC025 上的写保护 (WP) 引脚处于非活动状态。因此,此EEPROM没有可用的写保护,并且该引脚被拉至V抄送.我2EEPROM 的 C 地址设置为 0×50(7 位寻址)。

电路板

图 2.EEPROM连接到演示板上的QuikEval连接器。

代码库:

我们的LTSketchbook中的QuikEval_EEPROM库定义了可用于与EEPROM通信的功能。最好的方法是将所有要写入EEPROM的数据存储为结构。创建结构和相同大小的字符串的联合。这有助于您将所有数据作为字符串写入EEPROM。

考虑一个需要校准密钥、初始报警设置以及最大和最小功率阈值存储在EEPROM中的系统。以下代码段定义了具有这些值的结构,并使用联合来包装结构和字符串:

电路板

要说我2C 到 EEPROM,第一个字节是控制字节,包含 4 位控制代码(二进制 '1010'),3 位 I2C 地址由 EEPROM 和 R/W 位上的 A2、A1 和 A0 引脚确定。由于这些引脚接地,因此3位将是二进制“000”。所以 7 位 I2零件的 C 地址为 0×50。

收到第一个字节的确认后,第二个字节由主站传输,这是要写入的地址位置。第三个字节是要写入该位置的数据。

写入EEPROM的代码示例:

电路板

从EEPROM读取的代码示例:

电路板

这些函数已在QuikEval_EEPROM库中定义。如果是页面写入,则主站最多再发送 15 个数据字节,而不是发送停止字节。地址增量仅发生在最后 4 位。如果写入的字节超过 16 个,地址将滚动并从页面顶部重新写入。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分