0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【一等奖】RT-Thread创新应用设计大赛作品

电子发烧友论坛 2022-02-07 14:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作品名:基于RT-Thread摄像头车牌图像采集

作品地址:http://www.elecfans.com/project/33798

作者:Mak_z

项目简介:

使用基于RT-thread操作系统的AB32VG1开发板作为主控,对ov7670摄像头进行图像采集,并使用串口发送图片RGB565格式到PC供opencv进行图像识别。原项目设想在开发板上进行采集的同时并通过简单的二值算法和插值算法实现车牌号识别,但实践中发现开发板的ram并不够保存采集回来的图像信息,与数据手册中介绍的192k有一定差距,实现用户能使用的ram是70k;同时原设想是带lcd屏幕的,但最后发觉io口数量不够,只能通过串口调试显示,但lcd屏幕的 spi代码仍保留在原码中,可供参考。目前开发板通过摄像头采集完整数据部分已经完成,并且可以通过串口uart1发送到上位机进行图像显示。识别号牌上位机需要另外再做。

硬件说明:

1.摄像头ov7670带fifo:采用csi总线的普通30w摄像头。考虑到用模拟读取摄像头,io的反转速度可能不能满足高速采集的需要,因此保险起见,直接使用带fifo的摄像头。sccb总线采用全模拟的方式,跳过了所有中间层,直接操作寄存器,提高了总线的时钟

2f60475c-805e-11ec-9e9d-dac502259ad0.jpg

2.串口工具PL2302(ttl转RS232),一款与pc通讯的串口工具,免驱。

2f76cdce-805e-11ec-9e9d-dac502259ad0.jpg

3.总接线图

2f97d08c-805e-11ec-9e9d-dac502259ad0.jpg

软件说明:

1.软件流程图

2fabca56-805e-11ec-9e9d-dac502259ad0.jpg

2.关键代码

/* 摄像头IO口采用直接操作寄存器的方式实现,极大提升io速度 */#define BSP_FIFO_RCK_PIN      "PA.5"#define BSP_FIFO_RCK_SET_LOW     (GPIOA_BASE[GPIOx] &= ~(1ul << 5))#define BSP_FIFO_RCK_SET_HIGH     (GPIOA_BASE[GPIOx] |= (1ul << 5))
/* sccb总线的初始化并设置ov7670相应寄存器 */  sccb_init();
  if(sccb_write_reg(0x12, 0x80) == RT_FALSE){    return RT_FALSE;  }
  rt_thread_delay(50);
  id1 = sccb_read_reg(0x0b);  id2 = sccb_read_reg(0x0a);
rt_kprintf("id1 = 0x%02x, id2 = 0x%02x\n", id1, id2);
  for(rt_uint16_t i = 0;i < sizeof(ov7670_init_reg_tbl) / sizeof(ov7670_init_reg_tbl[0]);i++){    sccb_write_reg(ov7670_init_reg_tbl[0], ov7670_init_reg_tbl[1]);}
/* 开启摄像头vsync扫描线程(没有外部中断因此改用轮询的方式实现) */  rt_thread_t thread;  /* 查询VSYNC线程 */  thread = rt_thread_create("ov7670_vsync", ov7670_vsync_thread_entry, RT_NULL, 1024, 5, 100);
  if (thread == RT_NULL){    rt_kprintf("ov7670_vsync thread create fail!\n");    return RT_FALSE;  }  /* 启动线程 */rt_thread_startup(thread);
/* 提取hal库实现了uart的数据发送函数 */void uart1_send(rt_uint8_t *pbuf, rt_uint32_t len){  for(rt_uint32_t i = 0;i < len;i++){    hal_uart_clRFlag(UART1_BASE, UART_FLAG_TXPND);    hal_uart_write(UART1_BASE, pbuf);    while(hal_uart_getflag(UART1_BASE, UART_FLAG_TXPND) == 0);  }}

/* LCD底层驱动代码,因为引脚不够,所以无法演示,测试可用,另外程序里也配有寄存器版本的操作代码 */
static rt_uint32_t spi_bit_xfer(struct rt_spi_device *device, struct rt_spi_message *message){  struct rt_spi_bit_ops *ops = (struct rt_spi_bit_ops *)device->user_data;
  rt_uint8_t tmp_buf[1024];  rt_memset(tmp_buf, 0, sizeof(tmp_buf));
  if(message->send_buf == RT_NULL){    message->send_buf = tmp_buf;  }else if(message->recv_buf == RT_NULL){    message->recv_buf = tmp_buf;  }else{    return RT_FALSE;  }
  if (message->cs_take){    ops->set_cs(ops->data, PIN_LOW);  }#ifdef SPI_DC  message->length & SPI_DC ? ops->set_dc(ops->data, PIN_HIGH) : ops->set_dc(ops->data, PIN_LOW);  message->length &= ~SPI_DC;   /* 复原消息长度 *///  rt_kprintf("message->length = %d\n", message->length);#endif  spi_rw_bytes(device, (rt_uint8_t *)message->send_buf, (rt_uint8_t *)message->recv_buf, message->length);
  if (message->cs_release){    ops->set_cs(ops->data, PIN_HIGH);  }}
static const struct rt_spi_ops spi_bit_bus_ops ={  RT_NULL,  spi_bit_xfer
};

优化思路:


1. 由于ab32vg1没有外部中断可以使用,ov7670的帧同步信号vsync只有500us的高电平时间,因此为了捕捉到该信号,vsync线程一直占用很多的资源;


2. 串口与上位通讯的速度目前最快只有115200bps,上位机可以接受256000bps的速度,但将驱动改为256000bps后,接收会出现乱码,因此串口使用的图片数据非常缓慢。

项目演示

2fba60c0-805e-11ec-9e9d-dac502259ad0.jpg


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RT-Thread
    +关注

    关注

    32

    文章

    1540

    浏览量

    44286
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    华为与中国移动合作荣获第三届“新绿杯”全国总决赛一等奖

    近日,第三届“新绿杯”信息通信行业赋能碳达峰碳中和创新大赛颁奖仪式在北京举行。华为联合中国移动申报的《AI赋能无线网络精细化节能创新应用》案例荣获“绿色基站及通信机房”专项赛道一等奖
    的头像 发表于 10-09 16:47 876次阅读

    华为荣获第三届“华彩杯”算力大赛北区决赛一等奖

    近日,第三届“华彩杯”算力大赛北区决赛在北京举行。华为AI集群路由器助力中国移动打造的“AI+时代IP网络新架构助力算力网络新发展”项目,在众多参赛项目中脱颖而出,荣获北区决赛一等奖
    的头像 发表于 09-16 15:11 777次阅读
    华为荣获第三届“华彩杯”算力<b class='flag-5'>大赛</b>北区决赛<b class='flag-5'>一等奖</b>

    喜报!康柚斩获全国数据创新大赛一等奖,与中石油、中国移动名企同台载誉!

    管理,慢病防治智慧平台”,从全国1300多个参赛项目中脱颖而出,斩获大赛一等奖!数据赋能乘数而上:国家级的巅峰对决“2025中国信息协会数据要素应用创新大赛”是由中
    的头像 发表于 08-28 17:33 820次阅读
    喜报!康柚斩获全国数据<b class='flag-5'>创新</b><b class='flag-5'>大赛</b><b class='flag-5'>一等奖</b>,与中石油、中国移动<b class='flag-5'>等</b>名企同台载誉!

    易控智驾荣获应急管理科技创新奖一等奖

    的 “大型露天煤矿卡车无人驾驶安全高效运行关键技术及规模化应用” 项目荣获一等奖(本次评选仅13个项目获得一等奖)。
    的头像 发表于 08-21 16:30 1060次阅读

    (ST大赛等奖作品)超声波自拍神器实例项目

    (ST大赛等奖作品)超声波自拍神器电路图:
    发表于 05-28 21:04

    英诺达斩获第四届“创赢未来”集成电路赛道一等奖

    日前,“创赢未来”第四届长三角G60科创走廊科技与产业创新大赛(松江赛区)暨第五届“海聚英才”全球创新创业大赛(松江区选拔赛)成功举办,英诺达凭借其EDA软件及解决方案,从80余个硬科技项目中脱颖而出,斩获集成电路赛道
    的头像 发表于 05-23 10:16 739次阅读

    电科网安斩获2025数字中国创新大赛一等奖

    近日,电科网安联合测科院打造的方案《无人机多源地理空间信息采集与处理系统密码应用方案》项目从全国300余支顶尖团队中脱颖而出,在2025数字中国创新大赛中荣获“低空产业数据安全规范化技术”赛道一等奖。颁奖典礼于福州隆重举行。
    的头像 发表于 05-10 10:00 1103次阅读

    三获殊荣 | 经纬恒润再获中国港口协会科技进步一等奖

    近日,2024年度中国港口协会科学技术正式公布评审结果,经纬恒润再获中国港口协会科技进步一等奖!这是继2020年获得二等奖、2022年获得一等奖
    的头像 发表于 04-14 17:07 864次阅读
    三获殊荣 | 经纬恒润再获中国港口协会科技进步<b class='flag-5'>奖</b><b class='flag-5'>一等奖</b>

    主线科技荣获全国人工智能应用场景创新挑战赛一等奖

    总决赛,经过激烈角逐,主线科技参赛的《基于AI技术智能网联商用车项目》获全国一等奖殊荣,同时项目也获得了全国人工智能最具推广示范效应解决方案荣誉,主线科技成为了自动驾驶卡车行业首个获得该项赛事专项赛特等奖及全国总决赛一等奖的企业
    的头像 发表于 01-21 10:56 905次阅读

    中兴通讯荣获第七届“绽放杯”全国一等奖

    在近期落幕的第七届“绽放杯”5G应用征集大赛全国总决赛中,由中兴通讯、常州移动与微亿智造联合打造的《打造超级虚拟工厂:5G+多维工业AI模型》项目荣获全国一等奖
    的头像 发表于 01-07 17:12 1171次阅读

    天合光能荣获光伏组件回收专题赛一等奖

    近日,工业和信息化部第二届能源电子产业创新大赛太阳能光伏赛道决赛在山东临沂隆重举行。天合光能全回收再生光伏组件在众多参数作品中脱颖而出,荣获光伏组件回收专题赛一等奖,也是该专题的最高奖
    的头像 发表于 01-06 11:07 832次阅读

    广电计量牵头项目获得中国商业联合会服务业科技创新奖一等奖

    近日,第十六届中国商业联合会服务业科技创新奖评奖结果正式公布。广电计量牵头完成的“动力电池系统检测评价关键技术研究与应用”项目获得中国商业联合会服务业科技创新奖一等奖
    的头像 发表于 01-03 11:29 790次阅读

    大华股份荣获中国创新方法大赛一等奖

    ,大华股份凭借其卓越的创新能力和深厚的技术积累,脱颖而出,斩获了全国一等奖。大华股份的获奖项目为“不惧强光,分毫必现,基于TRIZ的强逆光锐捕技术”。该项目通过灵活运用创新方法,成功突破了行业性技术难题,实现了在强逆光
    的头像 发表于 12-27 14:50 883次阅读

    国科微荣获音视频领域关键技术突破一等奖

    近日,第五届“马栏山杯”国际音视频算法大赛-2024音视频领域关键技术突破揭晓,国科微8K超高清视频系列芯片凭借优异的产品性能及示范性应用获评一等奖
    的头像 发表于 12-26 15:11 866次阅读

    中兴通讯荣获第七届“绽放杯”5G应用征集大赛全国总决赛一等奖

    第七届“绽放杯”5G应用征集大赛全国总决赛在上海圆满落幕。由中央广播电视总台、北京移动和中兴通讯共同打造的“5G-A保障总台春晚直播,直播模式迎来无线变革”项目荣获一等奖
    的头像 发表于 12-13 15:06 1048次阅读