tag 标签: mt9j001

相关博文
  • 热度 28
    2015-4-29 23:27
    1471 次阅读|
    0 个评论
           前面分别介绍了良子USB2.0摄像头开发上的FPGA和USB2.0芯片,FPGA可以用跑马灯程序来测试,USB2.0芯片可以用BULKLOOP例程来测试。这里介绍另外一个例程,将FPGA和USB2.0芯片连起来,用FPGA控制USB2.0芯片,工作在SLAVE FIFO模式。具体是FPGA产生递增的数据,写给USB2.0芯片,上位机再接收USB数据。通过查看接收的数据,可以看数据是否对齐,是否有数据丢失,或者有重复的数据。       有一点需要说明,这个例程没有SDRAM参与,只是FPGA和USB2.0芯片之间的数据传输。另外专门有一个例程有SDRAM参与,FPGA产生的递增数据先写入SDRAM,再从SDRAM读出写进USB2.0芯片,具体的功能和这个例程是一致的,可以查看下一篇文章。       FPGA的程序很简单。第一个模块当然是PLL,用来输出FPGA的同步时钟IFCLK,摄像头开发板上的晶振是48M,经过PLL之后也是48M ,加载到IFCLK引脚上。48M是CY7C68013A的最大同步时钟,在IFCLK是48M的情况下,数据的传输速度最快,带席最高。另个一个模块就是产生递增数据的模块,每一个时钟,16总线上的数据都增加1。       CY7C68013A内的固件程序也不复杂。固件工作在AUTO模式,只是实现了两个大端点2和6,清除了另外两个大端点4和8,FIFO大小是512字节,4倍模式。       测试时要先下载FPGA程序,再下载USB固件程序。原因很简单,FPGA要先产生IFCLK输送给USB芯片。当然,你也可以反过来下载固件,测试一下。用上位机采集数据如下:              测试时1是要选择IN端点,一次采集的数量量2大些,我这里设置的是51200字节,默认的值是512字节,比较小。3是示例的一个数据,显示的数据是7A 77,实际的数据是0x777A,是反的。数据传输到底有没有少数,多数,可以查看上图中的4,多采集几次,这里的数据是规律的,不会有变化。如果数据不是X3或者XB,那么需要仔细检查程序了,数据有错误了。   正在更新,,,,     未完,待续,,,,,,。   (另公布一群号178338109,USB3.0开发专业讨论区)     淘宝店铺: http://liangziusb.taobao.com 良子.2015年    承接USB开发工程   QQ:2687652834
  • 热度 26
    2015-4-17 22:15
    3134 次阅读|
    0 个评论
           这里介绍一下摄像头开发板上的USB2.0芯片部分。CY7C68013A是一款支持USB2.0 HIGH SPEED的芯片,传输速度可以达到40M字节每秒,是应用最为广泛的芯片。CY7C68013A工作在SLAVE FIFO模式,从控制的角度可以看做是普通的FIFO,控制起来非常简单。电路图如下:       上面的原理图是标准的,应用在我的多个USB2.0项目上。56引脚的CY7C68012只有三个8组GPIO,其中两个8组共计16位IO用来做16位SLAVE FIFO模式的数据总线,仅剩下1组8位控制线,略微有些少。这8位控制线除了SLAVE FIFO必须的SLOE#、FIFOADDR1、FIFOFADDR0、PKTEND#、SLCS#这5个信号后,最后只剩下3根用户可以用的GPIO。当然这些硬件上的缺点可以通过其它方式弥补。       CY7C68013A这三组GPIO都与FPGA相连,受FPGA控制,电路板工作在SLAVE FIFO模式。这种工作模式能简化USB协议的复杂性,降低开发难度。实际上在固件中设置68013A为AUTO IN模式后,可以将USB芯片看作是一片普通的FIFO,控制起来很简单。   未完,待续,,,,,,。   (另公布一群号178338109,USB3.0开发专业讨论区)     淘宝店铺: http://liangziusb.taobao.com 良子.2015年    承接USB开发工程   QQ:2687652834
  • 热度 22
    2014-6-6 10:32
    2418 次阅读|
    3 个评论
            之前做过几款工业相机的底板(不含SENSOR,只含有USB3.0的小板),尽管结构形式不同,但原理上都是大同小异的。由于受到机械尺寸的影响,一般均采用两层结构,底层是基于USB3.0的数据传输模块,简单的是由一片CYUSB3014组成,稍微复杂的又多加了一片FPGA及DDR2芯片;顶层是驱动SENSOR的子板,两块板子通过连接器连结在一起。典型的机械尺寸如下:        由于只是一个底板,相对简单一些,只含有1、USB3.0的B型接口,一般是垂直安装的,方便从相机的后面连接USB3.0连接线。2、主芯片CYUSB3014一棵。3、其它辅助电路如复位、电源、滤波等。4是与SENSOR子板相连的连接器。第一版的样板如下:       近期文章: 1、毫威摄像头传感器OV5620简介 2、用USB3.0开发板驱动毫威摄像头传感器OV5620 3、测试USB3.0速度的几个固件例程 4、OV7670摄像头开发板介绍 5、通过JTAG口烧录EPCS芯片   (另公布一群号178338109,CYUSB3014开发专业讨论区。)     我的博客: http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM 淘宝店铺: http://shop64171919.taobao.com 良子.2013年    承接USB开发工程  USB毕设指导 QQ:2687652834
  • 热度 14
    2014-6-6 10:28
    1564 次阅读|
    0 个评论
             上一篇主要是测试了I2C总线的写操作。这一篇看一下读操作。读操作的上位机发送指令如下:(固件程序还是用UsbI2cRegMode)           上图主要说明是从EEPROM的地址0x1234的位置读取4个字节。读取的4个字节分别是0xA5、0xA6、0xA7、0xA8。示波器测试的图像如下,            上图含有的信息较多,完整的显示了从EEPROM的地址0x1234处读取的4个字节数据,第一个控制指令是0xA0,其后跟随的是地址0x1234,是向EEPROM中写入地址数据。尽管是想从EEPROM中读取数据,但还得先向EEPROM中写入地址数据。接下来的指令是0xA1,这个是确切的读指令,再其后是读出的4个数据。         接下来测试一次读写64字节的数据。首先编辑一个文件,其内容为递增的数据,从00开始,如下,          先向EEPROM中写入64字节数据,在控制台程序中操作如下,          上图中主要设置的是要写入64字节数据,写指令是0xBA,写入地址是从0x0000处开始,最后单击Transfer File按钮,弹出如下对话框,           上图为弹出的查找文件对话框,找到刚才编辑的64字节的文件,直接打开就可以。数据传输后的结果如下,           上图表明,64字节数据已经成功写进EEPROM了。最后,我们再从EEPROM中读出64字节,看是否为刚才写入的数据。控制台程序操作如下,           上图显示成功从EEPROM的地址0x0000位置读出64字节数据。   (另公布一群号333917885 ,SPARTAN6开发专业讨论区。)     淘宝店铺: http://liangziusb.taobao.com 良子.2014年    承接USB开发工程  USB毕设指导 QQ:1345482533