十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

DS4520 九端口 I2C总线接口的IO扩展和EEPROM

DS4520 九端口 I2C总线接口的IO扩展和EEPROM 测试DS4520基本功能DS4520 DatasheetAD\Test\2026\August\TestDS4520F103.SchDoc01【DS4520芯片功能】一、背景手边有一块 DS4520芯片 他可以通过I2C总线扩展外部 IO 端口 更重要的是对于输出IO口它可以永久保持。 内部还有64字节的EEPROM 这为嵌入式电路设计提供了方便。 下面设计一个电路板 测试它的基本功能。二、测试电路设计测试电路。 MCU使用 STM32F103单片机 通过I2C总线连接DS4520。 铺设单面PCB 适合一分钟制板 一分钟之后得到测试电路板。 焊接电路板。 清洗之后进行测试。三、测试结果由于焊接的是一片旧的F103单片机。 在给电路板施加5V工作电源的时候 静态电流达到了100mA左右。 特别是3.3V的电压只有3.1V。 不过这并不影响程序下载。 重新下载的新的测试程序之后 静态工作电流下降到24mA左右 工作电压也稳定在3.3V了。观察电路板上的 3.3V的电压波形 由于在焊接的时候 在稳压输出并没有焊接 10uF的电容 都是0.1uF的电压。 这里可以看到稳压3.3V 输出具有比较明显的波动。 在稳压输出焊接一个 10uF的表贴电容之后。 可以看到此时 3.3V 的电压变得平稳了。 由此可以看到 XC6206的输出必须焊接 10uF的滤波电容 才能够是的输出电压稳定。四、软件测试根据 DS4520的数据手册 可以知道它对应的 I2C 总线地址的结构。 在硬件上 对于A0,A1,A2三个管脚都接地。 最后一位是读写标志位。 由此我们可以知道访问DS4520的 I2C 总线地址应该是 A0或者A1。 在软件上—— 通过一个循环 对于从1到0xfe 地址进行扫描 如果能够传输一个字节的地址 则输出对应的I2C地址 这样可以扫描出 I2C总线上可以使用的 I2C 设备。 可以看到输出结果正是 A0,A1。 这说明现在可以正确通过I2C总线访问 DS4520器件了。这里还要说明的是 可以使用一个NULL指针 传递0个字节 来说实现一个空写过程 这样可以设置DS4520内部的 I2C访问寄存器指针的数值。根据DS4520的读写协议 下面我们来访问它内部的S RAM 从0xfa到0xff具有6个比特的S RAM 首先向它内部写入6个数据 然后再读取这些数据 可以看到它们与写入的数据是相同的 接下来将芯片掉电然后再重新读取数据变为0。 由此验证了读写内部SRM的过程是正常的。对于DS4520内部的EEPROM进行读写。 在写EEPROM的时候 每一次最多写入8个字节 然后需要等待 20ms以上 这样才能够正确写入 EEPROM。 现在读取写入的数据 可以看到和写入的数据是一致的。 在掉电之后数据保持不变。最后测试DS4520的 IO功能 写入对应的IO口状态 可以看到对应的 DS4520的端口高低电平在改变。 电路板掉电之后 重新上电 IO口的状态会保持不变。 这也说明DS4520的 IO 口状态可以保持。※总结 ※本文测试了DS4520的基本功能。 可以为将来电路设计提供实现思路。■ 相关文献链接:DS4520 Datasheet
返回列表