|
载入中...
黑夜里, |
|
51管脚上的窄脉冲 作者 张进东 日期 2007-5-7 10:25:00
51单片机IIC应用时应注意的问题。整理成PDF文档了,可以点下面的链接下载。(下载做了更新,新加入了一些内容,补充了“s99060”和“电子白菜”两位朋友提供的信息。)
1、AT89系列的Port 1~3不是单纯的开漏输出,直接驱动IIC在设计上本来就是错误的,不能简单地归结为单片鸡的结构问题; 2、串100欧电阻也许是对某具体电路的临时补救办法,但绝不是好的设计。在未知 IIC 线的上拉阻值、电压和接收方的输入阈值等的情况下怎可断言串100欧后还有足够的驱动能力呢? 3、后文中的“网友提供”的I/O结构图是摘自8051的硬件手册吧?是否也适用于AT89呢?(俺搅得两者的Port0/Port1~3的性质是相反的) 设计者应养成直接查厂商第一手资料的习惯,而不可轻信流传的说法或翻译文件。 以下为张进东的回复: 没有看到你的电路和波形,不知道你说的毛刺具体是怎么回事,但肯定跟我说到的不是一码事。猜测可能是因为你的数据线较长,而终端又没有匹配,是信号的过冲现象。 文中这段: "这种70年代的IO结构,在30多年后的今天终于导致新问题的发生,也许这是那些设计51芯片的工程师们当时没有预料到的。" 也不妥. 标准IIC是用OC(OD)的,不会有这种问题发生,有硬件IIC的51mcu的SDA/SCL这两条腿也是OC的,要想用它出1还是要自己加上拉来着. 这篇文章确是指出了模拟IIC时要加一定限流措施的事实(大部份51是肯定的了,c8051和AVR这些的好像就无所谓了,它有OC选项的) 以下为blog主人的回复: 谢谢,链接修改了 ![]() s99060提到的我以前真没见到过,倒是估计脉冲应该是1-3个时钟周期宽,但示波器不争气,没办法确定宽度,只能是猜。原来还真是为提高沿的上升速度啊...如果还回来的话,希望能给发个输出结构的图到我邮箱:zjd01@eyou.com。谢谢了呵! 很感谢电子白菜的实验结果:) 祝你们每天开心! :) 做了下实验:脉冲幅值为4.40V,宽度为100nS.上升时间20nS,下降时间30nS. 单片机为AT89C51ED2,下拉电阻330欧姆. 示波器采样频率1GS/s,带宽100M. 用软件模拟I2C时要考虑这个倒是没想过(所以51硬件I2C的管脚是标准开漏的),以后要注意了,但LM75连这个都吃不消倒也想不到哦(不过那个强上拉能提供正常输出的100倍的电流哦) |
载入中...
About Me载入中...
Category载入中...
newlog载入中...
Recent Comments载入中...
Recent Message载入中...
login载入中...
Search载入中...
Statistics载入中... |
|
个人网页,不含转载内容 |