tag 标签: IMX178

相关博文
  • 2025-4-5 17:01
    162 次阅读|
    0 个评论
    基于ARTIX7的FPGA+DDR3+USB3的摄像头开发板1
    一、基于SPARTAN6的USB3摄像头开发板已经完成有几年了,为适合最近的项目需求,又重新设计了一款基于ARTIX7的USB3电路板。总体设计目标基本一致,都是想胜任通用USB3的数据采集及工业相机的开发,所以电路板的硬件结构都一样,都是基于FPGA+DDR3+USB3的结构。FPGA选择的是484引脚的XC7A35TFGG484的,DDR3选择的是MT41J128M16,用来做图像数据的帧缓存,USB3芯片还是常用的CYUSB3014。电路板总体结构如下: 二、电路板上的主要部分简单介绍如下: 1、FPGA主芯片,A7的XC7A35TFGG484的,用做主控芯片; 2、USB3.0芯片,型号是CYUSB4014BZXI,USB3数据传输的; 3、DDR3芯片,型号是MT41J128M16,用做图像数据帧缓存的; 4、外部连接器,可以将摄像头子板的,如IMX178的,IMX287的,IM273的子板。引脚是100PIN的,分别连接到了FPGA的两个独立的BANK上,分别是BANK34和BANK35上。 5、USB3连接器,TYPE-B接口,比较结实的这种连接器。后面的USB4开发板会全部转向TYPE-C接口; 6、电源芯片两个,LDO类型的,提供给USB3芯片3.3V和1.2V,独立供电; 7、FPGA的电源芯片,三个电压为别是内核的1.0V,DDR3的1.5V和独立的3.3V; 8、FPGA的GTX电源芯片三个,分别是1.0V、1.2V和1.8V; 9、BANK35的单独供电芯片,默认是1.8V,用户可以自己更改这个电压; 10、BANK34的单独供电芯片,默认是1.8V,用户可以自己更改这个电压; 11、调试用的4个LED指示灯,还有一个FPGA配置好的指示灯; 12、调试用的4个按键; 13、USB3用的启动方式拔码开关,可以设置成从USB3启动还是从SPI FLASH芯片启动。8脚SOP芯片是SPI FLASH芯片; 14、外部供电及电源开关。电路板一般从USB3电缆取电就行; 15、FGPA的JTAG下载接口; 16、DDR3的端接电压芯片; 三、以下是电路板连接摄像头子板的示意图 上图摄像头是用的IMX273或者是IMX287,当然也可以接之前的IMX178。这些摄像头都是Sub-LVDS接口的,开发板也可以MIPI接口的摄像头,后面再作介绍。 四、电路板硬件准备好了,后面会重点说明一下IMX273摄像头的开发。类似的方案已经用在了多个项目上了,下面简单介绍几种应用。一是应用于口腔扫描仪,二是标准的工业相机。后面会有专门的帖子说明这方面的应用。 五、除了前面介绍的ARTIX7硬件电路板,适合项目应用的还有K7的以及ECP5的工业相机开发板。后面还会推出国产易灵斯FPGA的USB3.2开发板。 这是一个基于K7的FPGA+DDR3+USB3的通用开发板,硬件结构基本上和前面的电路板是一致的。 这是一个基于LATTICE的FPGA的开发板,具体系列是ECP5的,设计这款开发板主要目的是为了开发工业相机。ECP5的FPGA可以支持多种摄像头的接口,包括LVDS、Susb-Lvds、SLVS和MIPI的,当然也能用做SLVS-EC的接口。关于SLVS-EC接口,后面会抽时间开发一下。 良子USB,20250405 专注USB3.0、FPGA、PCIE、定制UVC摄像头 VX:15940187710
  • 热度 29
    2020-2-29 10:35
    3390 次阅读|
    0 个评论
    基于SPARTAN6+DDR3+USB3开发板的DDR3读写实例5_TEST工程代码分析
    一、TEST工程前面已经创建、运行起来了,这里简单分析一下工作代码。由于工程比较大,各种控制隐藏的比较深,不花点时间还一时半会不能理解。当然,这里也不会面面俱到,详细分析每一段代码,这里主要挑选两条线进行分析,一个MCB对外的P0控制接口,另外一个是调试时用的6种数据模式。这些内容适合刚入门的,高手的可以忽略。TEST工程主界面如下: 1、约束文件example_top.ucf,处理引脚锁定的,前面我们修改过这个文件。 2、debug调试的三个文件,分别是icon、ila、vio,后面分稍详细分析一些。 3、DDR3读写主文件,DDR3黑盒子文件、时钟及PLL相关文件、顶层文件。 4、右侧窗口显示的是工程的顶层文件example_top.v的内容,参数宏定义,72行-119行,这部分参数是前面MIG生成DDR3核的过程中定义的。 二、继续看顶层文件example_top.v的内容,如下图:行号105到128行, 是引脚定义,实际上连接到DDR3上的引脚。第一个信号calib_done信号比较重要,程序下载到FPGA芯片里后,这个引脚会变高。如果电路板硬件有问题的话,这个引脚为保持为低。 三、继续看顶层文件example_top.v的内容,如下图:140行定义的是6个端口仅使能了P0端口;148行是修改后的PLL相关设置,图中说明的非常详细。 四、继续看顶层文件example_top.v的内容,如下图:行号457开始的是与DEBUG相关的几个信号,包含VIO信号;472行是输出内部的校准信号calib_done;497行是例化PLL时钟相关的模块。 五、继续看顶层文件example_top.v的内容,如下图:从512行开始的是DDR3的例化黑盒子模块,这部分及其下层代码都是加密的,用户无需关注。用户只需要关注DDR3核开放给用记的三组接口就行。 六、继续看顶层文件example_top.v的内容,如下图:626行说明的是6个端口,641开始的是P0口的三组信号,这里仅说明P0,其它5个口类似。 七、继续看顶层文件example_top.v的内容,如下图:行号830开始,例化的是DDR3读写模块,是主要的P0口读写文件。 八、继续看顶层文件example_top.v的内容,如下图:行号1039开始,是关于调试的,包括后面的icon、ila和 vio三个模块。其中下面3指出的是VIO相关的3个信号,用来设置6种测试模式的,后面会有介绍。 九、继续看顶层文件example_top.v的内容,如下图: 是chipscope调试时用的三个模块例化,再往后是三个模块的声明。至此,主文件分析完毕 。 良子USB,20200215 专注USB3.0、FPGA、PCIE、定制UVC摄像头 QQ:392425239