|
本帖最后由 ackyee 于 2022-10-25 09:14 编辑
如题,原先 其他型号的FPGA 和单片机 都没什么注意, 但是最近画的两块屏幕 让我觉得 串电阻好像有必要了
屏幕都是RGB888的, 然后板子是没接电阻 GPIO 直连屏幕的, 出现的问题是 初始化 有很大概率会失败, 原先以为是屏幕问题,所以 这次特地换了个I2C初始化的屏幕去抓 ack信号看看
调试过程发现如下问题 :
1. 屏幕不接 情况下 I2C 一直发 RGB888也一直发, 示波器可以一直抓到I2C发送的信号 (程序里 while(1),一直发送 I2C数据) 说明PS 的I2C一直没死机
2. 在1的情况下将屏幕接上 I2C 一直发, RGB888也一直发, ZYNQ的PS 硬件I2C竟然崩了 ,发送了一下 然后就再也不发送了(用PS的 sdk debug 发现 I2C 发送 多次 有几次会没有读到ack,然后 积累了几次错误后,I2C停止工作)
3. 将ZYNQ PL端的 RGB888全部关闭, 然后PS端的I2C仍然一直发, SDK每次都抓到ACK信号 成功率100%,也不会停机
现在比较意外的是
1.I2C 停机的原因是什么(明明情况一没有ack下 也能一直发送)
2.I2C确实 是被RGB888干扰到了 ,RGB888的各路信号 也确实存在过冲 和振铃, 然后I2C 上能抓到 干扰
3.这种情况 需要RGB888 每一路都串电阻吧
另外线与线的距离是 15mil RGB888线是 6个mil
还有一个 比较好奇的地方 ZYNQ的 PL 的IO(程序TX的部分)每一路都要串电阻吗?
看了好几个开发板 有板子核心板(黑金)串33欧的 也有PYNQ串 200欧的, 也有米联客和正点原子这样不串电阻的 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你所害怕的每一个鬼,都是别人朝思暮想却再也见不到的人。
|