查看: 3130|回复: 0

[经验] 野火i.MX RT1052 MINI试用 --5--键控OV5640

[复制链接]
  • TA的每日心情
    开心
    2019-6-20 14:08
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2018-7-1 22:11:54 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 mabo124 于 2018-7-1 22:11 编辑

          近期又朝着自己的目标(设计一个基于RT1052的数字照相机系统)一步一步得前进,现在总结一下工作。
          目前实现了一个通过按键来设定选择照相机功能(参考野火的按键和ov6540例程),但是因为mini RT1052只有2个按键可供选择(mode键和wakeup键),我又偷懒没有外接按键电路(主要考虑系统将以触摸形式表达按键形式的功能选择,所以没有采用该外接物理按键方式,如果不得不用的话,可以考虑外接基于iic的zlg7290/基于spi的zlg7289数码管键盘模块),所以只用了一个mode键来表达一个选择拍照特效模式的功能,其他模式的选择与该方式实现相似。这里我主要总结我学习时,觉得需注意的事项。
          1. 按键初始化
      gpio_pin_config_t key_config;         // GPIO结构体初始化

      key_config.direction = kGPIO_DigitalInput;              //输入模式
      key_config.outputLogic =  1;                                
      key_config.interruptMode = kGPIO_NoIntmode;     //不使用中断

      GPIO_PinInit(CORE_BOARD_MODE_KEY_GPIO, CORE_BOARD_MODE_KEY_GPIO_PIN, &key_config);        // mode按键

         2. 摄像头初始化
    111111.png
                      图1   摄像头接口
          根据如图1所示,mini底板原理图并且参照fsl_iomuxc.h文件可以查看每一个引脚的功能定义以及其所在组的其它复用功能(随着频繁的访问使用,慢慢对这些引脚的复用功能也会逐渐掌握的)。这里摄像头引脚可以分为3类:GPIO接口、LPI2C接口和CSI接口。GPIO接口分别为PDN和RST;IIC接口分别为:SCL和SDA;CSI接口分别为:D0~D7、VSYNC、HSYNC、CLKIN和PCLK。注意事项是RST引脚为低电平时,用于复位整个传感器芯片;PDN用于控制芯片进入低功耗模式。所以初始化时需要将PDN和RST引脚均设置为高电平。代码如下示:
    GPIO_PinInit(GPIO1, 0, &pinConfig);
    GPIO_PinInit(GPIO1, 1, &pinConfig);

    这里由上面原理图可以看到PDN和RST分别连接USB_OTG2_ID和USB_OTG1_ID引脚(复用USB_OTG功能),查看fsl_iomuxc.h文件可知它们GPIO功能引脚名分别对应IOMUXC_GPIO_AD_B0_00_GPIO1_IO00和IOMUXC_GPIO_AD_B0_00_GPIO1_IO01引脚,所以使用GPIO_PinInit函数时,GPIO组名对应GPIO1,引脚名分别为0(PDN)和1(RST)。
    typedef struct _gpio_pin_config
    {
        gpio_pin_direction_t direction;    /*!< Specifies the pin direction. */
        uint8_t outputLogic;                /*!< Set a default output logic, which has no use in input */
        gpio_interrupt_mode_t   interruptMode;     /*!< Specifies the pin interrupt mode, a value of @ref gpio_interrupt_mode_t. */
    } gpio_pin_config_t;

       3. LCD初始化部分
        这里为了将摄像头采集来的图像数据显示到LCD上,开辟了4个缓冲队列,分别用于活动显示区和非活动显示区。
        如果实现数字照相机系统,那么当非活动显示区处于将要活动时,便可以截取出来作为一副图片并将其保存到SD卡/SPI FLASH中。
       4. 键控OV5640的实现
       通过检测mode键按下的次数,依次调用OV5640_SpecialEffects(uint8_t mode)来设置图片特效功能。
       5. 视频效果   ov6540提供了9个特效效果,所以依次按mode键9次,可以相应设置9个不同效果。



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-12 18:47 , Processed in 0.119215 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.