从零开始做一个【智能车无线图传】(教程向)

从零开始做一个【智能车无线图传】(教程向)

第0章-引言

时光荏苒,转眼就已经大四了,……(此处省略1000字)
于我而言,给我留下印象最深的比赛就是智能车。虽然本人只参加了两届,有收获亦有遗憾。犯过许多错,也学到了很多知识。本人水平较为垃圾,比不上dalao们,但我也想在这里分享我所学到的东西,希望对未来的各位有所帮助。

0.1-规划

首先声明一点,该项目的软硬件都会开源(也许以后我会自己做点成品硬件售卖要恰饭的嘛 )
我给这个项目定为一个长线项目,也许2024年都完不成。毕竟一方面这不是我的主业,另一方面我希望我能写的比较细致,希望能教会你的不仅仅是做个图传。
现在让我们开始吧!

0.2-更新日志

立项-2023的某一天(忘记了 )
首篇文章发布——2023的最后一天
屏幕摄像头更新——2024-1-29

0.3-链接

第一章-从头开始

PS:其实本人还做过一个基于ESP32的图传。大概原理就是:车载单片机收到图像后通过SPI把图像数据传输给ESP32,ESP32在通过无线网络发送给上位机。
这样做很显然会占用车载MCU的一部分资源,这次我们来解决这个问题。

1.1-分析项目

以后的不知道,2023年主流摄像头模块还是MT9V034
为了不占用车载的MCU,最理想的办法就是复制一份物理IO。
查阅MT9V034传感器的数据手册以及逐飞开源库摄像头初始化的函数后我们可以得出关于MT9V034的两点:
-使用DVP借口
-IIC配置寄存器
IIC本身就是支持多主机的,所以不需要担心配置问题(至于为什么还需要IIC我会在后面的文章降到,这里暂且按下不表狗头 )
DVP接口经过查询,输入时钟已经内置了,而输出的数据,中断,时钟都是中断捕获,从原理上来说也是支持多个主机的。

1.2-选型

那么接下来,我们需要找一颗支持DVP以及IIC的MCU,这样就能够实现复制图像效果。
同时还有一个问题需要考虑,就是如何把图像数据通过网络传输给上位机。理想情况是一颗MCU就能完成所有问题,但是要是存在这种价格还比较亲民就不会有这个但是了。
所以我采用的方案是:在找一颗MCU负责发送数据,两颗MCU之间通过SPI通信连接。

综上,需要找一颗支持DVP IIC SPI的MCU。我最终挑选了AT32F435
看到这里你肯定想问为什么不直接用TCx64,TCx77,CH32V307,MM32……你先别急,听我慢慢解释,因为他们不是太贵就是太大不够优雅。
支持WIFI和SPI的MCU太多了一抓一大把,所以我选了W801。(啊,为什么?因为没用过想试试)

第二章-方案验证

2.1-硬件设计

能不能行总要试试才知道
先简单的画一块AT32F435方案验证板,引出必要的的接口已经便于调试的接口,简单的Lay一下。
(啊对你没看错,他没有电源,因为我用的DP100)
凑合看吧,验证方案嘛懒得画框框了
焊接后的实物

因为W801有现成的开发板也比较便宜,所以直接买了一块先验证可行性。

2.2-软件设计

难道是AT32F435用的人太少了吗,没找到重写过得库,那只能自己写一个了。另起一篇文章写吧。点我跳转
虽然是拓展一份接口,但为了验证方案也得插上摄像头验证一下,为了验证摄像头最直观的就是用屏幕显示出来,所以先我们先初始化摄像头,这里选的就是逐飞的摄像头。

2.2.1-IPS屏幕

因为屏幕不是必须的,再加上大部分的函数都是CV逐飞开源库的,所以这里就不细讲了。懒的写
屏幕其实就是1个半双工发送 主机 软控片选 SPI 加上几个IO(复位 背光 DC CS)控制。
至于向寄存器里写什么,建议Ctrl CV。
本小章完,效果图下章一起吧。

2.2.2-摄像头

摄像头采用SCCB(其实时序和IIC一个样)配置寄存器,DVP接口读取数据。
先来说用摄像头配置吧,用的软件IIC。主要是更灵活,MT(MT9V034,简写下同)的时序略有不同。在配置时发现相关文章较多,也不在写一遍了。就放两张图
请添加图片描述

读寄存器时序
请添加图片描述
写寄存器时序
PS:逻辑分析仪为开源的nanoDLA
关于寄存器每项的值配置为什么,因为阿飞把这一部分编译成静态库了,不知道是不是为了保护知识产权之类的,咱也不明写出来了。但是自己使用或者二次开发的时候要注意阿飞开了寄存器保护,改之前记得先关寄存器保护。
接下来就需要配置DVP了,AT32的官方库有OV5640的例程,也用的是DVP,EDMA搬运数据,官方的数据也写的很详细了,也不多赘述了,具体可以等后续开源了直接看。
初始化完成后即可用屏幕显示出来了。

在这里插入图片描述
效果图

2.2.3-W801

PS:因为俺之前也没用过,所以要摸索一下,可能下次更新要过挺久的了。

  • 28
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHHFSHHH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值