原创 USB3.0芯片终于出来了(52)_摄像头测试板的IO分配

2014-6-6 20:34 2543 22 25 分类: MCU/ 嵌入式 文集: USB3.0芯片终于出来了

        CYUSB3014支持8位、16位、32位数据传输,为了最大限度的利用USB3.0的带宽,可以选择32位数据总线。CYUSB3014共用GPIO是59个(也有说是61个),由于多个外设复用一个引脚,因此CYUSB3014的GPIO是相当复杂的。

        在32位数据总线的SLAVE FIFO模式下,GPIO的分配如下:

1、数据总线32位,由GPIO[0-15]+GPIO[33-44]+GPIO[46-49]组成。

2、同步时钟PCLK,引脚是GPIO[16]。

3、控制信号线SLCS#,引脚是GPIO[17]。

      控制信号线SLWR#,引脚是GPIO[18]。

      控制信号线SLOE#,引脚是GPIO[19]。

      控制信号线SLRD#,引脚是GPIO[20]。

      控制信号线FLAGA,引脚是GPIO[21]。

      控制信号线FLAGB,引脚是GPIO[22]。

      控制信号线PKTEND#,引脚是GPIO[24]。

      地址线A1,引脚是GPIO[28]。

      地址线A0,引脚是GPIO[29]。

        以上引脚共计是42个,59个余下的还有17个,除了一些专用引脚外(GPIO[30-32]启动方式引脚),其它的一些外设引脚可以当作GPIO,如GPIO[23]、GPIO[45]、GPIO[50-52]I2S引脚、GPIO[53-56]串口引脚、GPIO[57]I2S引脚、GPIO[58-59]I2C引脚。这些引脚可以控制SENSOR的电源控制、复位控制等。

        在软件上,有几个函数来完成对这些GPIO的控制。GPIO[53-56]是串口引脚,如果数据传输用不到串口,这几个引脚完全可以当普通IO来使用。第一个要使用的函数是status = CyU3PDeviceConfigureIOMatrix (&io_cfg);这个函数是是分配GPIO的,由输入参数io_cfg来决定。输入参数的定义是

           /* 53-56 GPIOs are enabled. */

             io_cfg.gpioSimpleEn[0]  = 0;
             io_cfg.gpioSimpleEn[1]  = 0x01E00000;
             io_cfg.gpioComplexEn[0] = 0;
             io_cfg.gpioComplexEn[1] = 0;
        其中001E00000中的1是对GPIO的定义。
        第二个要使用的函数是apiRetStatus = CyU3PGpioSetSimpleConfig(SESOR_RESET#, &gpioConfig);输入参数定义如下:  
 /* Configure GPIO 56 as output(SESOR_RESET#) */
    gpioConfig.outValue    = CyFalse;
    gpioConfig.inputEn     = CyFalse;
    gpioConfig.driveLowEn  = CyTrue;
    gpioConfig.driveHighEn = CyTrue;
    gpioConfig.intrMode    = CY_U3P_GPIO_NO_INTR;
 
        经过以上两个函数,就可以正常控制GPIO了,作用就是 SESOR_RESET#。

设置SESOR_RESET#为高电平,如下

apiRetStatus = CyU3PGpioSetValue (SESOR_RESET#, CyTrue);

 

设置SESOR_RESET#为低电平,如下

apiRetStatus = CyU3PGpioSetValue (SESOR_RESET#, CyFalse);

 

 

(另公布一群号333917885,SPARTAN6开发专业讨论区。)

 

 

淘宝店铺:http://liangziusb.taobao.com

良子.2014年    承接USB开发工程  USB毕设指导

QQ:1345482533

文章评论3条评论)

登录后参与讨论

用户1289874 2014-7-4 12:03

請問USB3.0芯片有支援自動曝光或自動白平衡嗎? 謝謝

tuyongfei_706464766 2014-6-13 13:35

谢谢你的分享

用户377235 2014-6-6 01:31

支持你的研究,希望交流。

相关推荐阅读
liangziusb_940932268 2016-06-30 21:33
最新的良子USB2.0开发板3_AD7980数据采集开发2
      接上一篇。            这一篇介绍FPGA驱动单个AD7980的开发过程,驱动多个AD7980的级联模式可以查阅后面的帖子。单个AD7980的驱动时序图如下:   ...
liangziusb_940932268 2016-06-30 20:41
最新的良子USB2.0开发板2_AD7980数据采集开发1
     USB2.0开发板已经调试完毕了,板子上的各个芯片都编写了测试例程,例程有10个左右,和之前的USB2.0开发板例程差不多。除了上一篇介绍的配套的双摄像头子板,另外还设计了MT9M001...
liangziusb_940932268 2016-05-22 13:42
CYUSB3065开发板调试过程4_测试开发板的三种启动过程
        CYUSB3065的开发板已经调试完毕,很快就会在淘宝上架。利用这段时间,整理一下如何测试CYUSB3065开发板。开发板上设置了两种非易失性的存储器,一个是I2C接口的EEPRO...
liangziusb_940932268 2016-04-17 09:49
最新的良子USB2.0开发板1_电路板介绍
     近日在设计双摄像头的开发板,已经接近结束。这块电路板的结构还是采用FPGA+SDRAM+USB2.0的,没有太大的变化,因为这种电路结构是最优的,非常适合做数据采集和图像采集之用。之前的US...
liangziusb_940932268 2016-03-02 21:05
良子USB2.0摄像头开发板19_电路板升级
      近日升级了USB2.0摄像头开发板,现在的版本号是1.4。此外,又额外增加了几种摄像头。开发板如下,摄像头是200万像素的MT9D001,没有安装镜头:   配300万像...
liangziusb_940932268 2016-02-29 18:50
200万像素摄像头AR0237开发1
      APTINA目前发布了200万像素的CMOS芯片AR0237CS,像素阵列大小为1928 (H) x1088 (V),是一棵标准的1080@60芯片。AR0237CS支持两种输出模式,...
我要评论
3
22
关闭 站长推荐上一条 /2 下一条