首页->【FPGA/CPLD助学小组】

1166 18

1.概述

SF-NIOS2开发套件有着丰富的配套资料,包括特权同学录制的20课时视频教程和已经出版的《爱上FPGA开发——特权和你一起学NIOS II》一书。SF-NIOS2开发套件在既有丰富外设基础上,也预留了一些可供扩展的IO接口,本文所介绍的SF-NA模块就是通过一块配套的转接板实现了SF-NIOS2套件的视频采集显示功能。
SF-NIOS2套件扩展SF-NA子板,可以实现将数字摄像头输出视频图像显示到SF-NIOS2板载3.5寸320*240的真彩色液晶屏上的功能。随SF-NA子板配套开发资料齐全,包括开发文档、全部工程代码以及摄像头模块的详细使用资料。
1. 功能框图介绍
FPGA工程的功能框图如图1所示。上电初始,FPGA需要通过IIC接口协议对摄像头模块进行寄存器初始化配置。随后摄像头模块持续输出RGB标准的视频数据流,FPGA通过对其相应的时钟、行频和场频进行检测,从而一帧一帧的实时采集图像数据。
采集到的视频数据通过异步FIFO送入SDRAM中,在另一侧,使用另一个异步FIFO将SDRAM缓存的图像数据送个LCD驱动模块。LCD驱动模块不断的读出新的现实图像,并且驱动3.5寸液晶屏工作。
 

图1

2. 接口扩展说明
如图2所示,SF-NIOS2板载P2插座为可扩展接口。

图2
 
3.      焊接DIY
SF-NA摄像头模块提供如图3所示的配件,需要用户自己焊接DIY(还好都是插针,相比对大家来说都是小菜一碟)。

图3
       
 
如图4所示,L1层焊接2*8的孔座。
 
 
图4
       
 
如图5所示,L2层焊接2*10的孔座。
 
 
图5
       
 
如图6所示,SF-NIOS2板上焊接2*10的跨接针。
 
 
图6
完成焊接任务,先将摄像头插入SF-NA模块的P1中,注意两个插座的1脚要对准(找不到1脚,我汗,对照图7吧自己揣摩吧),同样如图7所示将SF-NA的P2插入SF-NIOS2的扩展插座中。

 
图7

4. 效果演示
 
 
图8
 
 
图9
晚上光线不好,效果差点,但是没关系,能看出来真实的摄像头拍出来的效果。
5. 相关资源
楼主可见

  1. WDB 18#

    问一下哦,sdram_wr_ack = ((work_state == `W_TRCD) & ~sys_r_wn) | (work_state == `W_WRITE)
          | ((work_state == `W_WD) & (cnt_clk_r < sdwr_byte-2'd2));这个应该和sdram_rd_ack一样设置把??不然WRFIFO输出不是和sdram读进来差了几个时钟??能不能帮我看一下?

  2. simba888 17#

    好强大。。。

  3. WDB 16#
    回复:特权同学
    回复:wdb6681957

    请问一下哦,在小板子上的两个VCC和GND分别应该接多少V的?

    3.3V的

    两个电源都接3.3V吗??为什么要分成两个VCC呢

  4. 特权同学 15#
    回复:wdb6681957

    请问一下哦,在小板子上的两个VCC和GND分别应该接多少V的?

    3.3V的

  5. xj0126 14#

    很好的资料。。。

    过个月应该可以学了

  6. WDB 13#

    我想问一下哦,always @(posedge clk or negedge rst_n)
     if(!rst_n) dcnt <= 8'd0;
     else if(vf_rduse > 8'd158) dcnt <= dcnt+1'b1;
     else if((dcnt != 8'd0) && (dcnt < 8'd160)) dcnt <= dcnt+1'b1;
     else dcnt <= 8'd0;这一段是根据什么来设置158这几个数据的??有点想不通

  7. WDB 12#

    请问一下哦,在小板子上的两个VCC和GND分别应该接多少V的?

    并且在摄像头上管脚是只有一个VCC和GND,为什么要分两个呢?模拟电源和数字电源??不是这个要怎么区分呢??分别应该接多少电压呢?

  8. WDB 11#

    请问一下哦,在小板子上的两个VCC和GND分别应该接多少V的?

  9. 木易 10#
    楼主,我是模拟单片机程序写的,首先在ACK的状态机之前的一个状态机中,首先sda赋值为1,然后将sda设置为输入,在ACK这个状态机中用 while(sda)来检测应答位,如果检测到sda的应当位,则跳过while(sda)继续往下执行!否则继续等待! 不知道这样写行不行?


     

  10. 木易 9#

    应答没处理好吧


     

  11. 木易 8#

    感谢楼主分享!我以前写IIC通信时发现,检查应答位,通信不成功,不检查,反而通信成功!不知道为什么?
     

  12. 木易 7#
    当然严格可靠稳定的通信还是建议判断一下应答位


     

  13. 木易 6#
    可以不需要检测,预计时间差不多就行


     

  14. 木易 5#

    请问楼主在你的iic_ctrl.v这个文件的IIC通信部分,没有看到检测从机的应答位的程序,是不需要检测吗?


     

  15. 木易 4#

    不好意思,代码是移植过来的,注释没改掉