打印

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

[复制链接]
3258|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 hwk612167 于 2012-3-5 17:21 编辑

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

iic.JPG (21.13 KB )

iic.JPG

相关帖子

沙发
原野之狼| | 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传上来看看~

使用特权

评论回复
5
airwill| | 2012-2-13 12:06 | 只看该作者
符合 I2C 协议, 7位地址方式, 但是通常的读时序, 在发送读命令后, 就是输入过程了, 这里却还要输出地址.
不符合读时序, 呵呵, 看样子只能用模拟 i2c 来做了.

使用特权

评论回复
6
hwk612167|  楼主 | 2012-2-13 13:08 | 只看该作者
已上传,谢谢。 4# 原野之狼

使用特权

评论回复
7
hwk612167|  楼主 | 2012-2-13 14:35 | 只看该作者
符合 I2C 协议, 7位地址方式, 但是通常的读时序, 在发送读命令后, 就是输入过程了, 这里却还要输出地址.
不符合读时序, 呵呵, 看样子只能用模拟 i2c 来做了. ...
airwill 发表于 2012-2-13 12:06

我就是这个意思。。。

使用特权

评论回复
8
原野之狼| | 2012-2-13 15:18 | 只看该作者
DATASHEET只说了是TWO WIRE,没说是I2C:lol

使用特权

评论回复
9
McuPlayer| | 2012-2-13 15:50 | 只看该作者
TWI比I2C功能更强,可以配置成I2C或者其他串行方式

使用特权

评论回复
10
原野之狼| | 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的存储芯片

使用特权

评论回复
11
linqing171| | 2012-2-14 11:58 | 只看该作者
这个不符合IIC及常见的AT24C01协议,带LENGTH和CRC的SMBUS可以实现这个时序。
还是模拟来的快。TWI只是两个线,我也见过有些SPI把MISO和MOSI复用后,也叫TWI。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:前进 前进 前进

20

主题

511

帖子

3

粉丝