发新帖我要提问
123
返回列表
打印

菜农“征脑”-通用异步串口实现I2C/SPI硬件控制器的具体方法

[复制链接]
楼主: hotpower
手机看帖
扫描二维码
随时随地手机跟帖
41
HotWC3| | 2010-6-28 09:35 | 只看该作者 回帖奖励 |倒序浏览

此时想念TestCode

本帖最后由 HotWC3 于 2010-6-28 09:55 编辑

https://bbs.21ic.com/frame.php?frameon=yes&referer=http%3A//bbs.21ic.com/icnewest.html


纠正一个错误:
“IIC从机如果拉低SCL”主要用于解决主机和从机的速度不匹配即从机慢的问题。一般出现在从机模拟IO的项目上。


“拉低SCL”,这肯定是从机干的事,为什么???
因为害怕主机太快自己没处理完。


这说明Simon21ic对I2C协议有深入研究,一般人只使用I2C专用器件,根本不会介意或考虑这个“严肃”的问题。


就事论事,看来俺在34楼的判断有问题~~~

http://blog.**/hotpower/11727/message.aspx

使用特权

评论回复
42
程序匠人| | 2010-6-28 09:38 | 只看该作者
找一颗便宜的单片机去做吧,花不了几毛钱。

从成本上考虑,虽然三极管很便宜,但是要占用PCB面积。而PCB也要算成本的。

说不定还是用单片机做很便宜呢。

使用特权

评论回复
43
HotWC3| | 2010-6-28 09:42 | 只看该作者
晕倒了!!!现在是做题,而不是“合理不合理”,匠人在北京白用脑了~~~

使用特权

评论回复
44
程序匠人| | 2010-6-28 10:04 | 只看该作者
哈哈,在动脑之前,先考虑一下是否在正确的方向上吧。

方向反了,走的越快,离目标越远……;P

使用特权

评论回复
45
Simon21ic| | 2010-6-28 10:33 | 只看该作者
本帖最后由 Simon21ic 于 2010-6-28 10:39 编辑
“拉低SCL”,这肯定是从机干的事,为什么???
因为害怕主机太快自己没处理完。

就事论事,看来俺在34楼的判断有 ...
HotWC3 发表于 2010-6-28 09:35


确实判断有错误,拉低SCL本来就是从机的权利,而且一般IIC从机,中断中,SCL就已经是下拉的状态,等到中断处理完成后,释放中断,IIC才会释放SCL,这个过程是不需要IO模拟的。而且,也很少用IO模拟IIC从机。
反而,SCL被设备拉低就一定是IO模拟的IIC主机要考虑的问题。



纠正一个错误:
“IIC从机如果拉低SCL”主要用于解决主机和从机的速度不匹配即从机慢的问题。一般出现在从机模拟IO的项目上。

应该是主机模拟IO,从机不需要等待SCL的。

应该这么说,从机不管是否是IO模拟的,都会拉低SCL。
而,一般,在主机用IO模拟的情况下,才会需要考虑等待SCL这个问题。

使用特权

评论回复
46
Simon21ic| | 2010-6-28 10:55 | 只看该作者
本帖最后由 Simon21ic 于 2010-6-28 10:59 编辑

如果hotpower的意思是,IIC从机多用一个额外的IO口,来拉低SCL的话,这里就可能会引起另一个问题:
IIC主机如果使用IO模拟的话,就无法实现对SCL和SDA操作的原子性,这样就会有一定的概率产生冲突。

使用特权

评论回复
47
hotpower|  楼主 | 2010-7-3 03:42 | 只看该作者
看来俺应该接受各位的意见~~~

USB转SPI/I2C现在很多,这样做确实很头痛。

最近在研究MCU加密问题~~~

使用特权

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

本版积分规则