在4摄像头的项目中,我们使用STM32的串口和I2C功能配置摄像头以及编码器ADI7393.基本思路是,将STM32的串口通过FPGA,由FPGA编程生成一个多路选通器,逐路配置4路摄像头,STM32的串口配置程序通过FPGA配置摄像头都能成功配置,但是用STM32的I2C配置ADI7393就一直没有通信成功。这个其实和STM32的程序没有多大的关系,因为之前是配置成功过的。只不过是在PCB没有飞线之前。原来的原理图设计是将STM32的两个管脚作为复用使用,也就是说先让它作为I2C口配置ADI7392,然后再remap为串口配置摄像头。我们使用的是底板加核心板的方式,核心板就是FPGA,底板就是LVDS通信以及MCU配置。刚开始单独使用底板配置ADI7393时,可以成功通过I2C进行配置。但是把核心板插上后,I2C却一直没有成功,而单独使用串口的程序则可以成功配置摄像头,最后我们认为FPGA的管脚对这个STM32复用的管脚有干扰,导致I2C通信不成功。为了证明FPGA是否真的有干扰,我把FPGA与STM32相连的两个脚编程为双向IO,在没有使用时输出高阻状态,但是I2C还是没有成功。最后我们飞线将复用管脚分开,采用STM32的独立的管脚分别作为I2C和串口,但问题有来了,现在竟然通过仿真器竟然找不到STM32,下载不了程序了,检查了半天电路板也没有发现飞线搞错的,真不知道怎么搞的?这两天一直在找这个问题,现在也没找到原因。可能大伙看了半天也不知道我的项目原理是怎样的,改天我把框图画一下,大家指点下方案是否可行。
用户377235 2015-2-24 08:47
用户377235 2013-5-9 11:07
用户120337 2011-3-7 22:56
用户1292807 2011-3-7 19:33
用户120337 2011-3-6 21:34
用户142540 2010-7-31 17:16
用户1623314 2010-7-28 17:09