1 任务6.1视频监控之行车记录仪_第1页
1 任务6.1视频监控之行车记录仪_第2页
1 任务6.1视频监控之行车记录仪_第3页
1 任务6.1视频监控之行车记录仪_第4页
1 任务6.1视频监控之行车记录仪_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务6.1车载视频监控设计引导案例车载视频监控构建任务6.1视频监控在当今社会生活中,车辆行驶安全愈发引起人们的重视。为了方便倒车入库、记录行驶过程,许多车辆均配备了车载视频监控系统。车载视频监控系统通过在车辆上安装摄像头和相关设备,实时监控车辆内外的情况,并记录下车辆行驶过程中的视频数据。各类信息中,图像含有最丰富的信息,作为机器视觉领域的核心部件,摄像头被广泛地应用在安防、探险以及车牌检测等场合。摄像头按输出信号的类型来看可以分为数字摄像头和模拟摄像头,按照摄像头图像传感器材料构成来看可以分为CCD和CMOS。现在智能手机的摄像头绝大部分都是CMOS类型的数字摄像头。生活中还有什么产品使用了摄像技术?手机、相机、摄像头门禁人脸识别系统、打卡机、行车记录仪、倒车影像…引导案例车载视频监控构建任务6.1基于车载视频监控构建引导案例任务6.1基于车载视频监控构建车载视频监控实时地获取摄像头图像数据,并将数据显示在LCD显示屏上,使人们方便直观地查看视频信息。任务描述车载视频监控构建12能够通过相关硬件说明书或数据手册,正确地建立硬件连接。能够根据OV5640摄像头基本原理,利用片上资源,实时获取到图像数据。任务要求引导案例3能够将获取的图像数据通过LCD显示屏实时地进行显示。任务6.1基于车载视频监控构建车载视频监控构建引导案例任务6.1基于车载视频监控构建(1)能根据OV5640摄像头模块说明书及相关原理图,在开发板和模块之间建立正确硬件连接。(2)能利用STM32片上的DCMI接口,通过编写代码,准确获取图像数据。会查阅Wi-Fi模组的AT指令手册,发送相应指令对其进行控制;会配置Wi-Fi模组工作在Station模式;会配置Wi-Fi模组工作在AP模式。知识目标技能目标车载视频监控构建任务分析任务1基于车载视频监控构建任务结合STM32微控制器最小系统、OV5640摄像头、LCD显示屏制作一个车载视频监控系统。系统示意图如图6-1所示。图6-1车载视频监控系统示意图车载视频监控构建任务计划表项目名称项目六

车载视频监控构建及Wi-Fi通信任务名称6.1任务1车载视频监控构建计划方式自主设计计划要求请用8个计划步骤来完整描述出如何完成本次任务序号任务计划1

2

3

4

5

6

7

8

说一说:通过老师的分析,你觉得要实现本任务需要:1.做哪些知识储备?2.技术路线如何?把它们写下来吧案例分析与计划任务1基于车载视频监控构建车载视频监控构建知识储备1. 认识OV5640摄像头模块OV5640图像传感器是一款常用的图像传感器,它采用了OmniVision公司的技术,其实物如图6-2所示。OV5640图像传感器具备500万像素(5MP)的分辨率,支持RGBBayer输出格式,适用于各种图像和视频。同时,OV5640图像传感器具备多种功能和特性,包括自动曝光控制、自动白平衡、自动对焦、降噪、色彩修正等。它还支持多种输出格式,如JPEG、YUV、RGB等,可以满足不同应用的需求。OV5640图像传感器的接口包括MIPICSI-2(MobileIndustryProcessorInterfaceCameraSerialInterface2)和DVP(DigitalVideoPort),这使得它能够与各种处理器和微控制器进行连接,如STM32F407ZET6等。车载视频监控构建图6-2OV5640图像传感器图6-3OV5640摄像头模块知识储备OV5640摄像头模块特点支持各种尺寸输出QSXGA、UXGA、SXGA、SVGA、VGA、QVGA、CIF到40*30尺寸支持多种格式输出YCbCr、RGB(565/555/444)、RawRGB和压缩图像(JPEG)输出格式等自动图像控制功能曝光(EC)、白平衡(WB)、消除灯光条纹、黑电平校准(BLC)和带通滤波器(BF)支持图像质量控制色饱和度调节、色调调节、gamma校准、锐度和镜头校准等支持图像设置图像缩放、平移以及窗口设置&&支持图像压缩,可输出JPEG图像数据支持多种输出接口DVP(数字视频并行)输出接口和MIPI(移动产业处理器接口)(OV5640)1280*1024640*480800*600320*240352*2881600*12002592*1944车载视频监控构建感光阵列将光信号转化成模拟信号XVCLK时钟模拟信号处理器对模拟信号进行算法处理输出阵列模拟数据AD转换器G(绿色)和R/B(红色/蓝色)数字信号ISP图像优化输出配置格式的数据模数转换时序发生器系统控制时钟PLL控制外部时序信号VSYNC、HREF和PCLK图像传感器处理图像传感器核心图像输出接口OV5640除了支持DVP接口还支持MIPI接口D[9:2]控制下HREFPCLKVSYNCSTROBERESETBPWDNXCLK驱动芯片的时钟信号行同步信号像素同步时钟帧同步信号控制芯片进入低功耗复位芯片(低电平)闪光控制输出知识储备OV5640摄像头模块基本原理车载视频监控构建知识储备OV5640摄像头模块原理图车载视频监控构建知识储备传感器窗口设置、图像尺寸设置、图像窗口设置和图像输出大小设置车载视频监控构建传感器物理像素尺寸(X_ADDR_MAX*Y_ADDR_MAX)传感器窗口图像窗口图像尺寸两者大小不一样时,图像缩放处理;一致时,输出比例1:1。传感器窗口:传感器区域感兴趣部分2640(0x03/19/1A/07/17/18)5640(0x3800~0x3807)图像尺寸:DSP/ISP输出图像的最大尺寸2640(0xC0/C1/8C)图像窗口:跟传感器窗口类似2640(0x51/52/53/54/55/57)图像输出大小图像输出大小:最后输出到外部的图像尺寸2640(0x5A/5B/5C)5640(0x3808~0x380B)图像窗口图像输出大小DSP处理

预缩放窗口5640(0x3810~0x3813)

ISP输入窗口设置知识储备OV5640摄像头模块与STM32微控制器最小系统硬件连接OV5640摄像头模块可直接与STM32微控制器最小系统上的CAMERA摄像头接口进行连接,连接后可通过SCCB等相关协议进行通信,具体的连接关系如表6-1所示硬件种类连接关系OV5640模块3.3VVSYNCHREFRSTD1D3D5D7FLASHSTM32最小系统3.3VPB7PA4PG15PC7PC9PB6PE6PA8硬件种类连接关系OV5640模块GNDSCLSDADOD2D4D6PCLKPWDNSTM32最小系统GNDPD6PD7PC6PC8PC11PE5PA6PG9车载视频监控构建知识储备2.认识SCCB协议车载视频监控构建摄像头的配置参数是通过SCCB总线来实现。SCCB(SerialCameraControlBus)串行摄像头控制总线,由两根线组成:SIO_C和SIO_D。跟IIC总线协议极其相似SIO_C(OV_SCL)用于传输时钟信号;SIO_D(OV_SDA)用于传输数据信号。差异点:相同点:起始和停止信号数据有效性9th周期SDA内容传输单位:相Don’t位和NA知识储备SCCB传输时序车载视频监控构建3相写传输周期2相写传输周期2相读传输周期设备写通信地址,内存地址,所写数据设备写通信地址,内存地址设备读通信地址,所读数据写操作读操作①②‘X’数据位可写入1或0,对通讯无影响注意:不支持连续读写知识储备模块相关寄存器车载视频监控构建通过寄存器配置OV输出图像的分辨率、图像格式、时序等。关键寄存器寄存器功能OV5640设置图像格式0x4300设置时序输出0x4740设置分辨率&复位0x3008设置传感器窗口0x3800~0x3807设置图像尺寸0x3810~0x3813设置图像窗口图像输出大小0x3808~0x380BID获取0x300A/300B组写0x3212知识储备使用SCCB读取传感器数据的程序逻辑通过SCCB协议,可以实现对摄像头或图像传感器的配置和控制。例如,可以使用SCCB协议设置摄像头的曝光时间、调整白平衡、配置图像格式等。举例来说,假设我们要使用SCCB协议设置摄像头的曝光时间,程序逻辑是:①发送摄像头的地址(7位地址)来指定目标设备。②发送一个控制命令,指示摄像头进入曝光时间设置模式。③发送具体的曝光时间数值,用于配置摄像头的曝光时间。④发送停止条件,表示通信结束。使用SCCB协议读取图像传感器的数据,程序逻辑是:①发送图像传感器的地址来指定目标设备。②发送一个控制命令,指示图像传感器进入数据读取模式。③通过数据传输阶段,从图像传感器读取实际的图像数据。④发送停止条件,表示通信结束。车载视频监控构建知识储备ATKOV5640模块时序图介绍车载视频监控构建帧时序图(UXGA模式1600x1200)帧信号行中断信号VSYNC、HREF极性可以通过REG设置摄像头输出,用于标记一帧数据的开始与结束摄像头输出,用于标记一行数据的开始与结束数据信号一帧图像数据的时间高电平有效,输出有效数据一个tp输出一个像素区别点:行信号周期JPEG输出,PCLK大大减少,且HREF不连续,数据流以0xFF,0xD8开头,以0xFF,0xD9结束,数据保存为.jpg。参考实际输出时序为准OV2640/OV5640支持RGB565或JPEG输出。知识储备ATKOV5640模块时序图介绍车载视频监控构建OV2640/5640输出行/像素输出时序图HREF高电平时,输出有效数据RGB565格式输出,每2个字节组成一个像素的颜色(低字节在前,高字节在后)。知识储备3.认识DCMI接口STM32F4系列微控制器中的DCMI(DigitalCameraInterface)接口是一种用于连接图像传感器的接口,它提供了高速的图像数据传输和控制功能,适用于实现图像采集、处理和显示等。DCMI接口的引脚定义如下。(1)HSYNC(行同步信号):用于指示图像数据的行同步(水平同步)位置。(2)VSYNC(场同步信号):用于指示图像数据的场同步(垂直同步)位置。(3)PIXCLK(像素时钟信号):用于提供图像数据的时钟信号。(4)D[13:0](数据线):用于传输图像数据,接OV5640摄像头模块我们只用了8位数据。车载视频监控构建知识储备DCMI接口的主要特点和功能车载视频监控构建支持数据格式8位逐行视频(单色/Bayer)、YCbCr4:2:2/RGB565逐行视频和压缩数据JPEG支持高速数据流可达54MB/sDCMI接口引脚14条数据线(D13-D0)和一条像素时钟线(PIXCLK)(时钟极性可编程)数据流同步方式硬件同步:HSYNC和VSYNC信号;同步码同步(8位并行数据接口宽度支持)对于压缩数据,DCMI仅支持硬件同步模式捕获模式快照(单帧)和连续采集裁剪功能收到的图像中选择一个矩形窗口存放到32位数据寄存器(DCMI_DR)图像缓冲区由DMA管理,而不是由摄像头接口管理信号名称信号说明D[0:13]数据(不同数据接口,D有效引脚不同)PIXCLK像素时钟(可设置极性)HSYNC水平同步/数据有效(行同步信号)VSYNC垂直同步(帧同步信号)缓存(4个字深度)管理DCMI接收数据的时序DCMI_DMA知识储备DCMI接口原理框图及信号车载视频监控构建知识储备DCMI信号波形车载视频监控构建PIXCLK上降沿捕获HSYNC和VSYNC高电平时数据有效传感器输出时序图参考手册VSYNCHREF实际输出时序根据时序设置DCMIR_BYPASS知识储备DCMI数据说明车载视频监控构建8个数据引脚DCMI_CR的EDM[1:0]位D[0:7]DCMI_DR32位4个PCLKDCMI_CR的CAPTURE位置1触发DMA请求低字节在前,高字节在后LCD/SRAMDCMI_DMAVSYNC/HSYNC/PCLK采集完一帧数据,假如使能了帧中断,会产生IT_FRAME硬件同步DCMI_DMA请求具体DMAxCHxSx? 《STM32xx参考手册》知识储备DCMI相关寄存器车载视频监控构建DCMI相关寄存器介绍F4/F7/H7寄存器名称作用DCMI_CRDCMI控制寄存器用来设置DCMI相关配置参数DCMI_IERDCMI中断使能寄存器用来使能DCMI相关中断(FRAME_IE)DCMI_ICRDCMI中断清零寄存器用来清除中断状态(FRAME_ISC)DCMI_MISRDCMI屏蔽中断状态寄存器用来返回相关中断的当前屏蔽状态(FRAME_MIS)除了DCMI相关寄存器,还用到DMA相关寄存器(CCR/CR/LISR/FCR/PAR/M0AR/M1AR/NDTR)知识储备DCMI控制寄存器DCMI_CR车载视频监控构建ENABLE:使能DCMIFCRC[1:0]:帧捕获率控制VSPOL:设置垂直同步极性,VSYNC引脚上数据无效时的电平状态HSPOL:设置水平同步极性,HSYNC引脚上数据无效时的电平状态PCKSPOL:设置像素时钟极性CM:设置捕获模式CAPTURE:用于使能捕获注意:完成其他配置后才设置!!!使能前,必须将其他配置设置好捕获所有帧,设置00即可结合前面分析,设置0即可结合前面分析,设置0即可上升沿捕获,设置1连续采集模式,设置0设置1该位使能后,激活DMA,DCMI等待第一帧开始,然后生成DMA请求将收到的数据传输到目标存储器。知识储备DCMI寄存器对应的驱动函数车载视频监控构建驱动函数关联寄存器功能描述__HAL_RCC_DCMI_CLK_ENABEL(…)RCC_AHB1ENR使能DCMI时钟HAL_DCMI_Init(…)DCMI_CR初始化DCMI__HAL_DCMI_ENABLE_IT(…)DCMI_IER使能DCMI相关中断__HAL_DCMI_ENABLE(…)DCMI_CR使能DCMIDCMI_InitTypeDefuint16_t SynchroMode /*数据同步模式(内嵌码同步/硬件同步)

*/uint16_t PCKPolarity /*像素时钟有效边沿*/uint16_t VSPolarity /*VSYNC的有效电平(无数据传输)

*/uint16_t HSPolarity /*HSYNC的有效电平(无数据传输)

*/uint16_t CaptureRate /*捕获数据的帧率*/uint16_t ExtendedDataMode /*数据线宽度*/uint16_t JPEGMode /*JPEG模式选择*/… 低电平低电平上升沿全帧捕获8位数据格式知识储备DCMI寄存器对应的驱动函数车载视频监控构建uint32_tRequest /*DMA请求*/uint32_tDirection /*DMA传输方向*/uint32_tPeriphInc /*外设地址(非)增量*/uint32_tMemInc /*存储器地址(非)增量*/uint32_tPeriphDataAlignment /*外设数据宽度*/uint32_tMemDataAlignment /*存储器数据宽度*/uint32_tMode /*传输模式*/uint32_tPriority /*DMA通道优先级*/uint32_tFIFOMode /*FIFO模式*/uint32_tFIFOThreshold /*FIFO阈值*/uint32_tMemBurst /*存储器突发传输*/uint32_tPeriphBurst /*外设突发传输*/DMA_InitTypeDefFIFO相关内容/weixin_38106263/article/details/108787092DMA_PERIPH_TO_MEMORYDMA_REQUESR_DCMI实际情况定DMA_PINC_DISABLEDMA_PINC_(EN/DIS)ABLEDMA_PDATAALIGN_WORDDMA_MDATAALIGN_xxx实际情况定DMA_CIRCULARDMA_PRIORITY_HIGHDMA_FIFOMODE_DISABLEDMA_FIFO_THRESHOLD_xxDMA_MBURST_SINGLEDMA_PBURST_SINGLE知识储备DCMI接口的使用步骤(1)配置DCMI寄存器:通过设置DCMI寄存器,配置图像传感器的时钟极性、数据格式、帧率等参数。(2)配置DMA控制器:如果需要使用DMA进行数据传输,需要配置DMA控制器,设置传输方向、传输大小等参数。(3)启动DCMI和DMA:通过设置相应的寄存器,启动DCMI和DMA的工作。(4)处理中断:如果使用中断触发机制,需要编写中断处理函数,处理图像采集完成或错误发生时的中断。(5)处理图像数据:根据应用需求,对采集到的图像数据进行处理,如存储到内存、显示到屏幕等。STM32F4的DCMI接口框图车载视频监控构建知识储备4.认识LCD显示屏TFT-LCD(Thin-FilmTransistorLiquidCrystalDisplay)是一种液晶显示技术,它采用薄膜晶体管(TFT)作为电子开关,控制液晶分子的排列来实现图像显示。TFT-LCD是目前应用最广泛的液晶显示技术之一,常见于各种电子设备中,如智能手机、平板电脑、电视等。车载视频监控构建知识储备LCD显示屏与STM32F4最小系统板硬件连接硬件类型连接关系LCD显示屏NCERSWRRDRSTD0D1D2D3STM32F4最小系统板PG12PF12PD5PD4RESETPD14PD15PD0PD1硬件类型连接关系LCD显示屏D4D5D6D7D8D9D10D11D12STM32F4最小系统板PE7PE8PE9PE10PE11PE12PE13PE14PE15硬件类型连接关系LCD显示屏D13D14D15GNDNCNCNCGNDGNDSTM32F4最小系统板PD8PD9PD10GND---GNDGND硬件类型连接关系LCD显示屏V5MIMOPENNCTCSCLK--STM32F4最小系统板5VPB2PF11PB1-PC13PBO--车载视频监控构建知识储备5.OV5640摄像头模块驱动步骤车载视频监控构建①初始化IO口③初始化SCCB接口④读取传感器ID⑤执行初始化序列查看原理图1、初始化OV模块2、配置DCMI3、初始化DCMI_DMA初始化IO(复用功能)/使能帧中断根据OV输出的配置,配置工作模式(VSYNC/HREF/PCLK)设置源地址(DCMI_DR)和目标地址(LCD_RAM)②上电并复位SCCB通信接口厂家有提供参考配置序列SCL和SDAPWDN和RST手册查看寄存器4、DCMI启动传输设置LCD光标和写RAM、使能DMA、DCMI捕获使能知识储备OV5640摄像头模块读取图像的过程车载视频监控构建1、等待帧同步信号(VSYNC)2、等待HREF为高电平3、等待第一个PCLK上升沿4、读取第一个像素低字节5、等待第二个PCLK上升沿6、读取第一个像素高字节7、等待第三个PCLK上升沿8、读取第二个像素低字节9、循环读取剩余像素……10、结束知识储备OV5640摄像头模块读取图像的过程车载视频监控构建1、初始化OV模块3、配置DCMI4、配置DCMI_DMA初始化IO(复用功能)/使能帧中断根据OV输出的配置,配置工作模式(VSYNC/HREF/PCLK)5、DCMI启动传输使能DMA、DCMI捕获使能JPEG模式2、初始化串口2初始化IO口/上电并复位/初始化SCCB接口/读取传感器ID/执行初始化序列用于把接收到的JPEG数据传输到上位机设置源地址(DCMI_DR)和目标地址(RAM)使用双缓冲,开启传输完成中断,设置NVIC,中断服务函数注意:启动传输前,设置RGB565模式&JEPG模式&输出尺寸任务实施任务实施前必须先准备好表6-3所示的设备和资源。任务实施前必须先准备好以下设备和资源。设备清单表序号设备/资源数量是否准备到位(√)1STM32F407ZET6最小系统1

2OV5640摄像头模块1

3LCD显示屏1

4配套软件包1

5杜邦线或转接线若干

车载视频监控构建任务实施任务实施导航&实施纪要实施纪要表项目名称项目六视频数据采集及WiFi模块应用任务名称6.1任务1车载视频监控构建序号分步纪要1

2

3

4

5

6

7

8

搭建硬件环境生成基础工程添加代码编译下载结果验证车载视频监控构建任务实施(1)搭建硬件环境车载视频监控构建车载视频监控系统硬件连接如图所示车载视频监控系统主要包含STM32F4微控制器最小系统、OV5640摄像头模块、LCD显示屏三部分任务实施(1)使用KeilMDK创建基础工程车载视频监控构建打开KeilMDK软件,单击菜单“Project”→NewuVisionProject,在弹窗中输入需要保存项目的目录路径及工程名。\Desktop\myVideo\task1\Projects\myvideo按提示选择MCU型号,本任务选STM32F407ZETx。如图所示。任务实施(1)使用KeilMDK创建基础工程车载视频监控构建单击KeilMDK桌面快捷图标按下图配置工程组。任务实施烧写ESP8266模组的AT固件车载视频监控构建将教材配套的代码包拷贝到Project同级目录下,如图所示。任务实施车载视频监控构建按图示添加文件到工程组中。startup_stm32f407xx.s文件路径为:..\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\User下的demo.c、main.c、stm32f4xx._itc、system_stm32f4xx.c文件路径为:..\User\Drivers\SYSTEM下的delay.c、sys.c、usart.c的路径..\Drivers\SYSTEM\delay\、..\Drivers\SYSTEM\sys\、..\Drivers\SYSTEM\usart\Drivres/STM32F4xx_HAL_Driver下的stm32f4xx_hal.c等19个文件的路径在..\Drivers\STM32F4xx_HAL_Driver\Src\之下Drivres/BSP下的led.c、lcd.c、key.c这三个文件的路径分别为..\Drivers\BSP\LED\、..\Drivers\BSP\LCD\、..\Drivers\BSP\KEY\。Drivres/BSP下的atk_mc5640.c、atk_mc5640_dcmi.c、atk_mc5640_sccb.c这三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论