tag 标签: mt9m001

相关博文
  • 热度 31
    2016-6-30 21:33
    2298 次阅读|
    0 个评论
          接上一篇。             这一篇介绍FPGA驱动单个AD7980的开发过程,驱动多个AD7980的级联模式可以查阅后面的帖子。单个AD7980的驱动时序图如下:   1、确定SCLK频率的上限。上图中SCK的周期为Tsck,查数据手册得知在3.3V为12nS,对应频率的上限为80多M。为了方便开发,直接将FPGA开发板上的48M时钟,经过PLL直接输出C0为10M,周期为100nS,远大于12nS; 2、SDI引脚直接接FPGA引脚,置高电平1。 3、确定状态机为三个状态,分别是AD7980_IDLE、AD7980_CONVERSION和AD7980_AQUISITION。这三个状态分别对应上图中的第3个波形,3个状态的命名也是按照上图来命名的。AD7980_IDLE状态,芯片处于等待状态;AD7980_CONVERSION状态,需要使能AD7980_CNV=1,启动ADC转换;AD7980_AQUISITION状态,使能AD7980_CNV=1,同时输出确定的16个时钟信号AD7980_SCK,同时在AD7980_SCK下降沿将AD7980_SDO串行输出采集进来。 4、3个状态的转换如下: parameter AD7980_IDLE                 =3'b001; parameter AD7980_CONVERSION =3'b010; parameter AD7980_AQUISITION    =3'b100; case(nstate)    AD7980_IDLE:         输出控制;         if (AD7980_EN)               nstate= AD7980_CONVERSION;         else               nstate= AD7980_IDLE;         end     AD7980_CONVERSION:          begin              输出控制;              conversion_count=conversion_count + 1'b1;              if(conversion_count==4'd10)                   nstate= AD7980_AQUISITION;              else                   nstate= AD7980_CONVERSION;             end     AD7980_AQUISITION:           begin                输出控制;                if(aqusition_count==7'd0)                begin                     AD7980_SCK=1'b0;                end                else if (aqusition_count==7'd33)                       nstate= AD7980_IDLE;                else                     输出控制; SIGNALTAP II捕获的波形如下:   正在更新,,,,,   淘宝店铺:http://liangziusb.taobao.com  良子.2016年 承接USB开发工程   QQ:1345482533
  • 热度 30
    2016-6-30 20:41
    1962 次阅读|
    0 个评论
         USB2.0开发板已经调试完毕了,板子上的各个芯片都编写了测试例程,例程有10个左右,和之前的USB2.0开发板例程差不多。除了上一篇介绍的配套的双摄像头子板,另外还设计了MT9M001的单摄像头子板及多种数据采集用的子板。第一款ADC数据采集板是8通道、16位的AD7606,第二款单通道16位,SPI总线的AD7890,,,。      这篇文章先描述AD7980的开发,其它的ADC芯片可以查阅后面的帖子。AD7980芯片一般性说明如下:        AD7980是一款16位、逐次逼近型模数转换器(ADC),采用单电源(VDD)供电。它内置一个低功耗、高速、16位采样ADC和一个多功能串行SPI总线接口。在CNV上升沿,该器件对IN+与IN-之间的模拟输入电压差进行采样,范围从0 V至REF。基准电压(REF)由外部提供,并且可以独立于电源电压(VDD)。SPI兼容串行接口还能够利用SDI输入,将几个ADC以菊花链形式连接到一条三线式总线上,并提供可选的繁忙指示。采用独立电源VIO时,它与1.8V、2.5V、3V和5V逻辑兼容。       基于芯片的数据手册及评估板原理图,设计了如下的原理图:       AD7980需要三个工作电压,一个是VDD1=2.5V,一个是VIO=3.3V,好与FPGA芯片直接对接,第三个是参考电压VREF=5V,参考电压原理图如下:       原理图中还有一部分,就是SPI总线与FPGA相连的部分,比较简单,这里就不做介绍了。 接下一篇文章,,,,,   淘宝店铺:http://liangziusb.taobao.com  良子.2016年 承接USB开发工程   QQ:1345482533
  • 热度 23
    2016-4-17 09:49
    2054 次阅读|
    0 个评论
         近日在设计双摄像头的开发板,已经接近结束。这块电路板的结构还是采用FPGA+SDRAM+USB2.0的,没有太大的变化,因为这种电路结构是最优的,非常适合做数据采集和图像采集之用。之前的USB2.0开发板,都是用的两片SDRAM,满足做乒乓操作的需求;现在的这块开发板,只用了一片SDRAM,同样也可以完成乒乓操作,因此硬件上更简洁、合理。 电路板的大小,与一张身份证的大小相同,85.6mm X 54.0mm,如下图,      加工好的电路板如下,     目前为这块板子配套了两个模块,一个是数据采集模块AD7606,是8通道的16位数据采集模块,另一个是双摄像头的视频采集模块,像素是130W的MT9M001。双摄像头的模块如下,     最后要说明的是:这块板子的FPGA用的是EP4CE10,ALTERA公司的,同样功能的FPGA,还有XILINX公司的SPARTAN 6,硬件也已经完成,目前正在移植配套的例程。关于SPARTAN 6版本的USB2.0开发板,可以查看其它的文章。 淘宝店铺:http://liangziusb.taobao.com  良子.2016年 承接USB开发工程   QQ:1345482533
  • 热度 19
    2016-2-2 22:21
    1597 次阅读|
    0 个评论
          接上一篇。 关于USB2.0摄像头开发板,可以访问: http://bbs.ednchina.com/BLOG_ARTICLE_3027702.HTM       上一篇主要介绍的是开发前的三个特殊引脚,分别是XMCLK、RESET#和PDWN。接下来在FPGA程序中设置这三个引脚的正确电平。 第一个引脚是XMCLK,26针接口的25脚,经过电平偏移芯片U18的6脚到11引脚,接到FPGA的P2引脚。底板上的外部晶振为48M,经过PLL变为24M之后,由C0输出到P2引脚。第二个引脚是RESET#,26针接口的23引脚,经过U18的4脚到13引脚,接到FPGA的N2引脚,应为高电平。第三个引脚是PWDN,26针接口中的24引脚,经过U18的5脚到12引脚,接到FPGA的P1引脚,应为低电平。      在做了以上准备后,摄像头就可以响应68013发过来的I2C指令了。OV5640的寄存器较多,可以先读出芯片的版本号,来验证I2C通信是否正常。关于OV5640的版本信息,查数据手册,有如下的信息:         确定要读写的摄像头寄存器之后,还得编写68013A的固件程序,以便能正确发出I2C指令(这方面内容,可以查看我前面的帖子)。上位机程序,直接就可以用“Control Center”,通过控制传输完成。下面是截取的数据,       从寄存器地址0x302A返回的数据是0xB0,对照数据手册是完全正确的。      以上过程验证了I2C通信是正常的,接下来要输入一连串的摄像头配置指令,使OV5640工作在720P@30模式下。       未完,待续,,,,,,,,,,,       淘宝店铺: http://liangziusb.taobao.com 良子.2016年    承接USB开发工程  QQ:1345482533
  • 热度 19
    2016-1-31 20:13
    1561 次阅读|
    0 个评论
          前面已经开发完OV5640了,用的是MIPI接口的OV5640,主芯片用的是CYUSB3065,USB3.0接口(可以看这里: http://bbs.ednchina.com/BLOG_ARTICLE_3029910.HTM )。这里介绍并口的OV5640开发,目前想用在USB2.0摄像头开发板上,关于USB2.0摄像头开发板,可以访问: http://bbs.ednchina.com/BLOG_ARTICLE_3027702.HTM       OV5640模组,还是手机上使用的模组,只要接口正确,直接就可以使用。按照之前定义的26针接口,PCB如下所示,       上图中左侧的26针接口,有几个特殊的引脚,开发时需要注意: 1、25脚XMCLK:FPGA发出提供给OV5640的外部时钟,查OV5640的数据手册,确认需要的是24M的时钟。 2、23脚RESET#:异步复位引脚,有效电平为低电平(芯片内部有上拉电阻),正常出图时,FPGA应提供此引脚高电平。 3、24引脚PWDN:掉电控制引脚,有效电平为高电平(芯片内部有下拉电阻)。       在搞定了上面三个引脚后,接下来就是通过I2C总线读取OV540的芯片版本了。如果I2C通信也正常,则硬件开发的大部分工作都完成了,其余的主要是各种寄存器指令了。 (当然,电压一定要正常)      由于是并口的OV5640,正确配置后,可以用示波器查看19脚、20脚和21脚上的波形,可以看到OV5640发出的行、场等信号。        未完,待续,,,,,,,,,,,       淘宝店铺: http://liangziusb.taobao.com 良子.2016年    承接USB开发工程  QQ:1345482533