MT7688双摄像头双电机驱动小车(2)整体方案

该篇主要介绍双摄像头双电机驱动小车的整体方案,以及自定义协议部分协议部分

主目录:http://blog.csdn.net/DFSAE/article/details/78715815


本篇目录

一.方案

1.整体结构

2.MT7688内部实现方案

二.自定义通信协议

1.整体协议框架

2.通信连接控制协议

3.电机控制或其他(暂时没有)部分的控制协议

4.摄像头的控制协议


一.方案:

1.整体结构

MT7688双摄像头双电机驱动小车(2)整体方案_第1张图片

整体方案大概如上框图所示。MT7688作为硬件部分的核心,负责摄像头,直流电机的控制。同时,通过Socket将数据上传。这里分为三个传输通道,用不同的端口号作为区分:视频传输占2个,还有一个数据传输通道,主要负责命令等数据的传输。

此外,为了后续拓展功能(假如MT7688自带的资源已经不够支持了),里面最好加一个串口数据透传的功能,将应用软件发下来的数据转发到外拓的MCU上,拥外扩的MCU间接控制硬件。(假如直流电机也用MCU控制,那么只要在MCU上编程,再把控制线接到MCU的控制脚上即可。)这里解释一点,因为MCU支持不了实时视频传输,速度不够,所以这里的核心必须是MT7688这类的物联网芯片。

应用这里具体如何处理视频数据还没确定。暂时这里用一个简单的测试代替,仅做视频显示功能和命令控制的测试。

2.MT7688内部实现方案

MT7688双摄像头双电机驱动小车(2)整体方案_第2张图片

MT7688里面的处理方案如上所示,做一个服务,开机启动。然后监听固定端口传送下来的命令数据。数据解析层负责解析数据,完成解析后调用不同的控制模块进行控制。电机驱动现在采用的是开环的控制,把2路PWM控制集成在一个驱动中。这里有点歧义的是摄像头的控制,我这里使用控制(开启或关闭)独立的进程(mjpg_streamer)来达到控制摄像头的目的。这里能想到的还有种方式(。。。。。。调用mjpg_streamer的API,把所有的控制放在一个进程中控制)。然后数据转发现在不做任何处理,就是直接把接收的数据通过调用串口驱动发送给MCU。

二.自定义通信协议

1.整体协议框架

通信协议的整体格式如下:
MT7688双摄像头双电机驱动小车(2)整体方案_第3张图片

协议整体分为3类:通信连接控制,电机控制或其他(暂时没有)部分的控制,摄像头的控制。

2.通信连接控制协议

现在这里指做一个开关,其他什么都做。不过如果做拓展的话可以把通信连接的数据都加到这类数据中。比如:通信通道变换或增加,控制方身份确认,数据加密等。当断开或重新连接或者中间过程掉线(持续检测没应答),电机会自动停止。掉线摄像头会保持原来的状态,断开或连接处于打开状态。
MT7688双摄像头双电机驱动小车(2)整体方案_第4张图片

3.电机控制或其他部分的控制协议

这里为了快速响应,所以在控制部分不做应答。具体速度控制协议也不做,因为系统处于开环。方向和速度档位和速度档位的控制方式为固定粗略的控制方式。PWM及方向控制位具体的,在上位机端要么用于测试,要么需要通过人机界面经过一定的转换后得到。
MT7688双摄像头双电机驱动小车(2)整体方案_第5张图片

4.摄像头的控制协议

摄像头控制协议如下:
MT7688双摄像头双电机驱动小车(2)整体方案_第6张图片

*注:MT7688和外部拓展MCU的通信协议也是这份协议,相当于直接做数据转发。

你可能感兴趣的:(MT7688双摄像头双电机驱动小车(2)整体方案)