这种芯片用硬件iic能不能正确读数据?

[复制链接]
4107|11
 楼主| hwk612167 发表于 2012-2-13 11:41 | 显示全部楼层 |阅读模式
本帖最后由 hwk612167 于 2012-3-5 17:21 编辑

附图为Atmel公司一个存储芯片的读数据协议,看这个图,用msp430做主机硬件iic能不能正确读该芯片数据呢?
command理解为从机地址,若用7位地址模式读,我发完起始信号,主机立马变为读模式,数据地址还没来得及发,怎么办?
若改为10位地址模式,但430的10位地址模式地址第1个字节高5位固定为11110,所以也不行。
我用软件模拟iic通讯读写都没问题,用硬件iic写没问题,读数据会有问题,看这个图觉得与430的iic不是很兼容,不知说的对不对?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原野之狼 发表于 2012-2-13 11:49 | 显示全部楼层
IIC是一个标准协议,很有可能是你的理解有误。
仔细阅读下存期芯片的数据手册以及MCU的IIC控制器部分的资料。
forgot 发表于 2012-2-13 11:54 | 显示全部楼层
IO模拟I2C没问题,硬件I2C有问题?

可能是时序不是标准I2C时序吧,用IO模拟就是喽。

I2C协议其实是标准协议的,但是有些芯片不太一样,不过大体思路都差不多,靠软件协议来解决,LZ再多看下手册吧。
原野之狼 发表于 2012-2-13 11:58 | 显示全部楼层
可以把存储芯片的DATASHEET传上来看看~
airwill 发表于 2012-2-13 12:06 | 显示全部楼层
符合 I2C 协议, 7位地址方式, 但是通常的读时序, 在发送读命令后, 就是输入过程了, 这里却还要输出地址.
不符合读时序, 呵呵, 看样子只能用模拟 i2c 来做了.
 楼主| hwk612167 发表于 2012-2-13 13:08 | 显示全部楼层
已上传,谢谢。 4# 原野之狼
 楼主| hwk612167 发表于 2012-2-13 14:35 | 显示全部楼层
符合 I2C 协议, 7位地址方式, 但是通常的读时序, 在发送读命令后, 就是输入过程了, 这里却还要输出地址.
不符合读时序, 呵呵, 看样子只能用模拟 i2c 来做了. ...
airwill 发表于 2012-2-13 12:06

我就是这个意思。。。
原野之狼 发表于 2012-2-13 15:18 | 显示全部楼层
DATASHEET只说了是TWO WIRE,没说是I2C:lol
McuPlayer 发表于 2012-2-13 15:50 | 显示全部楼层
TWI比I2C功能更强,可以配置成I2C或者其他串行方式
原野之狼 发表于 2012-2-14 08:50 | 显示全部楼层
two-wire serial interface 不是TWI么,有些MCU像AVR就叫TWI,据说比I2c更高级? 8# 原野之狼
hwk612167 发表于 2012-2-13 15:40

既然是TWI  那就找一个有TWI的MCU就是了  比如AVR系列  正好适配这个ATMEL的存储芯片
linqing171 发表于 2012-2-14 11:58 | 显示全部楼层
这个不符合IIC及常见的AT24C01协议,带LENGTH和CRC的SMBUS可以实现这个时序。
还是模拟来的快。TWI只是两个线,我也见过有些SPI把MISO和MOSI复用后,也叫TWI。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:前进 前进 前进

20

主题

511

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部