psbhero 发表于 2011-8-27 18:37:19

(急)现在打算用单片机硬件IIC做一个从机,来输出数据,我之前没有做过从机的应用,都是主机

现在打算用单片机硬件IIC做一个从机,来输出数据,我之前没有做过从机的应用,都是主机的;
请问我用单片机可以实现像TCN75之类的芯片的从机应答时序吗?就是完全遵照IIC的规范,有应答确认的(比如从机收到正确的地址要拉低SDA线)。我用MSP430F2132实现,不知可否?谢谢了

psbhero 发表于 2011-8-27 18:41:28

我的IIC主机打算用I/O口模拟,不知在速率上是否有严格的要求?这样可以互相通信吗?请有经验的兄弟帮忙看看。谢谢

psbhero 发表于 2011-8-28 21:07:48

大家出出主意啊!!!

luying2778 发表于 2011-8-29 11:13:25

可以试一下呀
试过了就知道是否可以了
我也没有弄过这一块
但是根据感觉还是可以实现的

MouseCat 发表于 2011-9-2 09:01:33

怎么样了?

psbhero 发表于 2011-9-2 09:20:35

现在开始编程序了,等我试验后,告知。

pang7 发表于 2011-9-2 09:25:23

可以的 从机貌似比主机简单些

psbhero 发表于 2011-9-5 20:56:06

最新进展:我把主机和从机分别设为发一个字节和接收一个字节,结果进行到从机地址识别就出错了。从机没有应答,主机就发停止了
从机地址是对的 波形如下:
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_674516GNQXMQ.JPG
(原文件名:IMAG0364 0.JPG)
发从机地址的波形

psbhero 发表于 2011-9-5 21:00:24

主机和从机的SDA SCL 线是单独连接的,长度大约为10~15CM,不知是否有影响?上图的从机地址是0X48

packer 发表于 2011-9-5 22:40:01

主机程序确认是对的吗?看波形你发了0x90,第9个高电平从机回了低电平

psbhero 发表于 2011-9-6 08:58:04

对的,48左移一位就是90.但是请注意我的主机发停止位了 所以我怀疑是主机认为那第九个窄脉冲是从机的NACK,所以就发停止了。

psbhero 发表于 2011-9-6 09:01:13

我在看看主机的程序,希望顺利调通。

psbhero 发表于 2011-9-7 22:45:05

不好调试啊!!!唉。。。时好时坏

psbhero 发表于 2011-9-20 09:18:51

已经调试出来了 我的主从机模拟的类似串口的指令。 挺好的 呵呵

xinzhi1986 发表于 2012-5-2 20:13:24

psbhero 发表于 2011-9-20 09:18 static/image/common/back.gif
已经调试出来了 我的主从机模拟的类似串口的指令。 挺好的 呵呵

你好,我最近也在写模拟从机的程序,我现在遇到的问题是我从机拉低sda线太慢,因为要判断读写和地址,等判断完之后再来应答的时候,主机已经nack停止了。。。我用stc12LE5a60s2,24M晶振,能不能说说你具体是怎么实现的?

dz20062008 发表于 2012-5-4 01:45:00

SDA、SCL需分别接上拉电阻。
SDA、SCL都是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。当总线空闲时,两根线都是高电平。连接总线的器件的输出端电路必须是集电极开路输出或开漏输出,以具有线“与”功能。
楼主模拟线与逻辑了没?

psbhero 发表于 2012-5-24 09:46:05

楼上的 我是用的单片机内部的硬件IIC模块,来实现的,而不是模拟IO的。
页: [1]
查看完整版本: (急)现在打算用单片机硬件IIC做一个从机,来输出数据,我之前没有做过从机的应用,都是主机