我的五一就被这件怪事给消磨了
具体是这样的 本来搞好的程序在开发板上多通过了
为了提高可靠性和抗干扰能力 在原来的开发板后面加了一级光耦隔离
在程序上取了个逻辑反 理论上只是增加了隔离而已。怪事就出现了。
电路好像没有收到信号一样 没有反应。
于是我就用示波器看了光耦的输出是否和开发板上的输出一致 结果是一致的
多是串行24bit数据 数据大家多为10000011 11111011 只是电压幅度值有些
差异(用了tlp521-4 我特意降低了通讯速率 大概在0.5k左右)
光耦的输出高电平为2.8-3.0v 低电平为0.2-0.5v
用单片机直接输出为 高电平3.2-3.3v 低电平0v-0.2v
逻辑 时序 多没问题 就是电压有差异 cpld的io逻辑是cmos的
也就是1/2vcc是翻转点 1.65v左右 也应该没有问题啊 怪事了
坛内弟兄有无遇到此类怪事 还请指点一二
详细的波形如附件 一个是直接输出 一个是光耦输出