无盲区车载全景影像倒车系统的设计
2015-08-10鞠剑平吴思华潘飞平
鞠剑平,吴思华,吕 毅,潘飞平
(1湖北工业大学商贸学院,湖北武汉430079;2武汉工程大学国际学院,湖北武汉430074)
可视倒车系统就是汽车辅助系统的一个重要组成部分,其主要功能是帮助司机克服行车盲区的困扰[1]。早期的汽车倒车雷达系统虽然能够侦测盲区范围内的障碍物,但是它只能够识别与雷达在一个水平面的障碍物。其后出现的由一个车载后视摄像头和车载显示屏组成的影像倒车系统,可以清晰看到车后的状况,解决了车后方的视觉盲区问题,但对于转弯过程中的车辆正前方及左右侧仍然存在视觉盲区。因此,研究可以消除车辆四周视觉盲区的全景影像倒车系统具有一定的现实意义。
本文所设计的车载全景影像倒车系统由分别安装在车辆前格栅或车标、左右侧门后视镜及尾门的4个指向地面的高清摄像头来收集车身四周的实时影像数据,然后利用图像处理技术实时在车载DVD的屏幕上显示1个、2个、3个或4个摄像头的车身四周全景影像信息。
1 主要元器件的选择
本系统设计所涉及的主要元器件包括:核心控制芯片、图形处理专用芯片以及与图形处理芯片相配套的SDRAM芯片。
本系统核心控制CPU选择的是STM32系列CPU,而没有选择一般常见的8位和16位单片机,主要原因如下:1)本系统由于需要控制实时视频图像的输出,需要CPU有较高主频,而8位51兼容型单片机主频一般为6~40 MHz,不能满足要求;2)STM32系列微控制器I/O引脚较多,板载资源丰富,集成度高,便于系统将来外接SD卡,实现行车记录仪等扩展功能[2];3)STM32系列微控制器基于先进 Cortex-M3架构,同系列 CPU间引脚相互兼容,便于将来硬件升级时更换同系列主频更高的CPU。
由于本系统需要对四路输入视频进行处理,控制输出一路视频,故除有控制芯片外,还需要有专用于图像处理的DSP芯片。对于进行图像处理的DSP芯片,没有选择常见的TI公司的C6000系列DSP,而是选用了TECHWELL公司推出的TW2824视频处理芯片,原因如下:1)TI公司的C6000系列DSP,其功能强大,使用灵活,对开发人员有较高要求,需要开发人员有较强图像处理算法方面的编程经验,而TECHWELL公司的TW2824视频处理芯片属于硬件固化型的DSP芯片,该芯片所用到的基本算法已固化到DSP芯片中,用户主要通过设置相关寄存器的值来完成相关功能的实现,大大降低了开发难度;2)TW2824具有视频输入、动态检测、视频控制、OSD叠加、视频输出和多片级联等功能,可应用于模拟矩阵视频切换系统、4/8/16路DVR、车载后视系统等众多领域,在车载电子领域其可靠性得到了充分的保障[3],而 TI公司的 C6000系列 DSP属于通用的图形处理芯片,不是针对车载电子进行专门设计的芯片;3)TW2824内部集成有4路模拟复合视频输入接口,能够直接将4路模拟输入视频信号进行ADC转换,产生相应的数字视频信号,如采用TI公司的 C6000系列 DSP,则需要外接如TVP5158等型号的专用4路视频解码芯片,这样不仅会增加硬件成本,而且会增大电路板面积;4)TW2824的价格远低于TI公司的C6000系列DSP,且采用TW2824制版工艺较为简单,只需制成双面板,而如果采用C6000系列DSP,核心板通常需要制成6~8层多层板。
使用TW2824进行图像处理时,需要配套连接两片SDRAM。根据TW2824的用户手册,其配套使用的是第一代SDR SDRAM。
2 设计方案
车载全景影像倒车系统的控制电路板通过车载DC12V输入电源信号,4路摄像头视频输入控制电路板,由控制电路板上的视频处理芯片对视频图像进行处理,处理以后的图像通过控制电路板上唯一的输出接口输出到车载DVD的屏幕上(将输出接口与原车显示器或者后视镜/仪表台显示器支持AV输入对插即可)。
汽车启动时,系统自动进入开机状态。当司机打左(右)转向灯时,左(右)转向灯触发信号触发控制电路板相关引脚,从而控制视频输出接口的信号,自动显示相应左(右)摄像头画面。任何情况下,当司机倒车时,系统自动显示后视摄像头画面,倒车档复位后,系统自动切换前视摄像头画面,15 s后自动关闭。在汽车正常行驶过程中,驾驶员可以通过按键控制,切换选择所显示的摄像头。
本系统通过对外接的4个摄像头的视频信号进行采集处理,并分割画面显示在车载DVD的显示屏幕中。
图1 系统结构框图
摄像头视频信号的动态侦测、裁剪、缩放是由视频控制芯片TW2824构成的画面分割电路完成。TW2824由 STM32控制,STM32采用并行方式与TW2824连接,相关控制信号连接到STM32上,通过软件编程实现STM32控制TW2824选择视频信号进行裁剪、缩放,实现三分屏显示。同时使用TW2824提供的OSD技术,叠加相应中英文字符菜单。由于显示的字符数目较多,TW2824的内部存储放不下所有待显示字符,故需外接存储芯片专用于存储待显示的字符点阵字库。系统整体结构框图如图1所示。
3 系统硬件电路设计
3.1 系统控制电路设计
本系统只需要使用最基本的I/O引脚控制视频输入输出电路,不需要其他的复杂功能。从成本上考虑,选择增强型STM32F103xx系列的微控制器,具体型号为STM32F103C8T6,封装为LQFP-48。基于STM32的系统控制电路包括STM32最小系统、JTAG仿真接口、控制视频输入电路。
本文所设计的车载360影像倒车系统通过专用的接口插座,从汽车上获得系统工作电压(+12V),并获得汽车的左转向、右转向、倒车、车顶灯等信号,根据这些信号,由STM32控制相应的左右和前后摄像头的视频输入。
这里以倒车信号为例说明其工作过程。如图2所示,当汽车启动时,J1中的 ACC输出高电平,PB14为低电平。STM32检测到PB14为低电平时,在PA3上输出高电平,Header4的1号引脚即为高电平,使倒车摄像头获得电源,向TW2824输入视频信号,但此时倒车摄像头信号并没有显示在车载DVD的屏幕上。当倒车输入信号输入高电平时,PB15输入为低电平;当STM32检测到PB15为低电平时,在PA4上输出高电平,使得Header4的2号引脚为高电平。只有当PA3、PA4同时为高电平时,TW2824才控制输出端口,将倒车摄像头信号显示到车载DVD的屏幕上。与此同时,STM32的PB13输出高电平,使得J1_4输出高电平,点亮倒车摄像头上所附带的补光灯[5]。
3.2 视频处理电路设计
选用PQFP208封装的TW2824M,其带有多路复用(MUX)和双通道输出功能。
1)STM32与TW2824的接口电路
TW2824的HSPB引脚可以将HOST总线设置为串行或并行工作方式。这里将该引脚接地,设置为并行工作方式,对应引脚 HDAT[0]-HDAT[7]与 STM32的 PA6-PA15相连接。TW2824并行HOST总线的数据线和地址线都是复用的,也就是说TW2824利用相同的引脚既传送地址又传送数值。
TW2824工作在并口方式时,通过引脚HCSB0和HCSB1来选择寄存器的页,写使能信号线HWRB和读使能信号线HRDB来完成读写控制,地址引脚HLAE在高电平时表示 HDAT[0]-HDAT[7]上传输的为地址信号,当它为低电平时,表示HDAT[0]-HDAT[7]上传输的为数据信号。
图2 STM32控制倒车视频信号输入
2)TW2824与SDRAM的接口电路
为了能够同时显示捕获视频图像,TW2824提供了2个独立的视频控制器,除了接扩展 SDRAM存储器能力不同外,这2个视频控制器(2个视频处理径X PATH和Y PATH)是完全相同的。对于显示路径(X PATH),外接SDRAM的大小是16~512 Mbits。外接的扩展存储器大小只与视频缓存和回放能力相关。
如图3所示,选择的SDRAM为容量为1M×16bits的 K4S161622。K4S161622内部包括 2个bank,11根行地址线RA0-RA10和8根列地址线CA0-CA7复用在引脚 A0-A10上,A0-A10与TW2824 X通道地址线 ADDRX[0:10]相连。K4S161622的数据总线DATA_D[0:15]与TW2824 X通道的 DATAX[0:15]相连。K4S161622的 BA引脚、WE引脚、CAS引脚和 RAS引脚分别和TW2824的BA0X、WEBX、CASBX和RASBX引脚相连接[6]。
K4S161622的DQM0、DQM1引脚是数据输入输出屏蔽引脚。DQM1、DQM0分别代表16位数据的高、低字节读取信号。当读取数据时,DQM1、DQM0分别用来控制16位数据中高低字节能否被读取;当DQM1、DQM0为低电平时,对应的高(低)字节就可以被读取,如果DQM1、DQM0为高电平时,对应的高(低)字节就不能被读取。当向内存里写入数据时,DQM1、DQM0控制数据能否被写入:当DQM1、DQM0为低电平时,对应的高(低)字节就可以被写入;如果DQM1、DQM0为高电平时,对应的高(低)字节就不能被写入。
3)TW2824的视频输入输出接口电路设计
TW2824具有5个输入接口,包括1路数字视频信号输入和4路模拟视频信号输入。4个模拟视频输入信号由内置的10位ADC和亮度/色度处理器转化为数据流,每个通道内置的编码器都有动态侦测和垂直水平缩放功能,经过缩放后的数字视频信号被传送给后续的视频控制部分。
使用TW2824的VIN0A-VIN3A来输入视频信号,而根据用户手册,不使用的VIN0B-VIN3B要串0.1 μF的电容接模拟地。视频信号在送到VIN0A-VIN3A之前先经过3阶LC无源低通滤波器进行滤波。
TW2824有两组输出通道、4个输出引脚,分别是 VOUTYX、VOUTCX、VOUTYY、VOUTCY,这里只使用X通道,
将VOUTYX(复合/亮度信号输出)、VOUTCX(复合/色度信号输出)都引出,通过并联LC滤波器滤波输出到接口座,与车载DVD输入端相连,以便于将输出视频显示在车载DVD的屏幕上。
图3 TW2824与SDRAM的连接
图4 TW2824的视频输入输出接口电路
3.3 电源电路设计
本系统中STM32工作电压为3.3 V,TW2824的数字电源的工作电压也为3.3 V,但TW2824的内部逻辑单元的工作电压和ADC、DAC模拟电源的工作电压为2.5 V,而汽车提供的标准电源电压为12 V,所以设计了相应的电压转换电路:首先用LM2576将12 V电压转换为5 V电压,然后使用LM1117_3.3和LM1117_2.5转化产生 3.3 V 和 2.5 V 电压源[7]。
4 系统软件设计与调试
本系统软件部分主要是对TW2824的控制器进行相应操作。TW2824的内部寄存器分为3页,分别以前缀0x,1x,2x开头,每页寄存器页内地址为00~ff,256个字节。系统并未用到TW2824的所有功能,当设计不同的系统时,需要对寄存器值进行不同的设定。对TW2824的片内寄存器读写有串行与并行2种方式,串行方式使用I2C协议标准2线连接,传输速度可达到400 Kb/s,而并行方式可达到更快的传输速度[8]。本系统中采用的是并行方式,CSB0和CSB1两根线用来选择TW2824内部寄存器页,在并行的接口方式下,TW2824也支持同寄存器页内寄存器地址自动加1功能,可方便地执行同页内寄存器的连续地址读操作或写操作。软件开发环境使用的是RealView MDK,相应的软件流程如图5所示。
图5 系统程序流程图
在硬件和软件都设计完成后,给电路板连接12 V电源,系统正常上电,检查各部分模块的电压均为正常。将系统视频输出端连接到车载DVD的显示屏上,系统能够正常显示图像(图6)。为方便硬件调试并根据司机实际使用的需求,在电路的电源上增加了一个按键开关,系统实现了以下的功能:
图6 电路板测试输出视频到车载DVD上
1)长按5 s可开机或关机;
2)短按即按以下顺序切换摄像头:前(前左右三画面)→左(左全屏)→右(右全屏)→后(后左右三画面);
3)如果倒车,自动切换到倒车的三画面(后、左、右三个画面);
4)没有倒车,车主可以按动开关切换画面,切换顺序:前(前左右三画面)→左(左全屏)→右(右全屏)→后(后左右三画面)。
[1] 陈红兵,刘怡俊,李 超.多视角智能可视倒车辅助系统的研究和设计[J].现代计算机(专业版),2014(15):51-57.
[2] 何华芝.基于STM32的车载监控设备的硬件设计[J].电子测量技术,2008(12):139-146.
[3] Techwell Inc.TW2824 DATASHEET[EB/OL].[2013-10-04]http://www.alldatasheet.com/datasheet-pdf/pdf/131354/ETC1/TW2824.html.
[4] 卢有亮.基于STM32的嵌入式系统原理与设计[M].北京:机械工业出版社,2012:93-113.
[5] 意法半导体.STM32F10xxx参考手册[EB/OL].(2009-12-01)[2013-11-07]http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/LN1939/PF257859?s_searchtype=keyword.
[6] Samsung Electronics.K4S161622D DATASHEET[EB/OL].(2003-06-08) [2013-12-24]http://datasheet.eeworld.com.cn/pdf/SAMSUNG/138168_K4S161622D-TC_L80.pdf.
[7]王剑宇.高速电路设计[M].北京:电子工业出版社,2010:113-121.
[8]范庆辉,阳富民.基于TW2824的OSD技术研究与实现[J].计算机工程与设计,2007(10):2 469-2 474.