当前位置:首页 > 电源 > 数字电源
[导读]去年十月份Toyota Lexus 的2007 年最新车款Lexus LS 460 和Lexus LS 460L 在美国市场上市,两部车子都装置了Toyota 最新发展的”高级停车导引系统(Advanced Parking Guidance System)”,这个系统是使用一

去年十月份Toyota Lexus 的2007 年最新车款Lexus LS 460 和Lexus LS 460L 在美国市场上市,两部车子都装置了Toyota 最新发展的”高级停车导引系统(Advanced Parking Guidance System)”,这个系统是使用一个向后的摄像头和停车声纳传感器侦测周边状况,驾驶人靠在一个停车位旁边,按个按钮,踩煞车以控制速度,系统便会自动接手控制电动动力方向盘,完成路边停车的动作。除此之外,在目前最常应用于工厂自动化系统之中的自动导引车辆(Automatic Guided Vehicle, AGV)系统,可按照程序所下的命令及导引路线进行、停止、转弯,并能和搬运系统作连结;AGV是一种物料搬运设备,能在固定位置自动进行货物的装载,并自动行走到另一位置,以完成货物的卸载的全自动运输设备。AGV基本功能为能自动依循固定的轨道行走,虽然说这个技术早己引用在工厂中,但是由于路线必须是规划好并在地上画上行走路径,并无法应用于较复杂的环境之中,而我们所提出来的设计,是利用图像来辨别标志,而标志摆放位置也可以根据实际的应用环境来做改变,所以应用范围较传统AGV更为广泛。

不仅如此,本设计也具有特定标志搜寻功能,能够自动的分析现有的图像信息,自动锁定目标物并进行自动化车控的控制,故我们设计这套系统来协助民众自动停车、自动倒车入库,也可应用于机场对飞机的管控或是任何具有动力的交通运输工具。本文将机械视觉算法以硬件加速的模块实现,结合多核的高效能的嵌入式处理器Nios,完成一个自动化汽车导引的平台,未来可实现很多汽车驾驶安全方面的应用,包括防撞、车道偏离警报和车道维持(可导引驾驶人回到原车道)、背面障碍物警报、行人监测、车距监测(让驾驶人和前车保持适当的距离)、夜视、自动头灯调节、交通/限速标志识别和盲点监测等等。

设计介绍

我们使用“软硬件共同设计 (Co-design)方法”集成图像输入端、车控平台及动力控制模块,完成自动化目标追踪的实验平台,通过效能佳的软核CPU来控制外围的模块,并利用VHDL自制图像处理核心电路,建立智能型图像追踪的嵌入式系统平台,如图1所示。

图1 智能型图像追踪的嵌入式系统平台

系统核心组成器件可分成以下三类:

1. CMOS 传感器硬件模块:CMOS 传感控制器 、数据简化、SDRAM 控制器

(1) CMOS 传感器控制器:驱动CMOS 传感器并进行连续图像撷取,将动态图像数据流传入。

(2) 数据简化:将CMOS 传感器撷取的图像数据(GB&GR)进行压缩,以便大幅减少计算量及分析时间。

(3) SDRAM 控制器:通过六组FIFO控制器,将SDRAM资源规划给两组CMOS传感器控制器及VGA控制器来使用(三写三读)。

2. VGA硬件模块:

(1) VGA 控制器:通过其器件,可以实时将图像直接显示在VGA上。

(2) XY Histogram:并通过XY坐标标示出目标位置,并在实时图像上进行X轴及Y轴的图像数据统计(Histogram)。

3. 动力控制:

通过第二颗软核CPU来依序执行外部给入的命令,CPU通过四组PIO来驱动车体前后轮的控制电路,达到车体前进、后退、左转、右转的控制。

主要硬件器件

以SOPC Builder完成双CPU核心的设定,并利用Verilog设计硬件电路器件,以waveform进行时序仿真并验证,再通过PIO方式和CPU连结,除了SOPC Builder所提供的外围电路以外尚有双CMOS 传感器图像撷取电路、六端口SDRAM控制器、VGA控制器(含图像处理电路),说明如下,如图3所示,自行开发的硬件电路已集成为一个较大的模块(在图2左方的方块),而图3右方的方块则是利用SOPC Builder所建立的双CPU模块。

图2 硬件器件

1. 双核处理器:

在图3中的cpu_0是用来控制CMOS 传感器及图像处理所用,而cpu_1是用来控制车控动力的。

图3 双CPU系统

2. 2个 CMOS 传感器撷取:

撰写镜头图像撷取的控制硬件电路,并利用DE2发展板上的双IDE接口(Expansion Header1,2)可同时撷取到双重镜头的图像。

3. 多端口SDRAM 控制器:

利用Mega Wizard Plug-In Manager来生成三写三读的六接口FIFO(以内置RAM实现),让二组CMOS 传感器撷取及一组VGA 控制器能读写SDRAM设备。

4. VGA 控制器 和图像处理:

撰写VGA输出的硬件控制电路,并在图像输出的同时,进行X轴及Y轴的图像数据统计,并将结果存于片上内存(On-Chip Memory)之中,以便Nios处理器来读取。

SOPC系统端接口设定

图4 系统端SOPC接口设定

 

由DE2发展板所提供的范例新增用户自定脚位来控制自制的外围电路,并通过PLL生成100MHz频率的时钟源供SDRAM来使用,如图5所示。

图5 cpu_0在SOPC(上)及在NIOS IDE(下)中的内存配置

系统软件执行时内存的配置

由于开发板上的SDRAM已被CMOS 传感器撷取及VGA 控制器所使用,所以cpu_0及cpu_1的程序内存是放于Flash上,而cpu_0执行程序时的例外向量是放于SRAM上;而cpu_1是放于片上内存之中,当然在NIOS IDE开发该CPU的软件时,也必须分别要把变量堆叠区指定到相关的内存之中,如图5、图6所示。[!--empirenews.page--]

图6 cpu_1在SOPC(上)及在NIOS IDE(下)中的内存配置效能参数

本设计主要是针对每秒10张frame,而每个frame为640×480全彩24bit的实时图像进行图像辨视,每秒必须处理8.78M Byte的数据量,并进行二值化及X轴、Y轴Histogram的图像处理,由于必须快速处理大量图像信息,所以采用硬件加速,软件控制的架构来实现,此外,由于本设计的SDRAM资源可以切换给Nios来使用,所以亦可使用Nios来读取SDRAM的图像信息并进行图像处理,此外,在测试图像处理算法时,也利用BCB开发出PC端的仿真程序,而配备如下(Intel 1.6GHz Core Duo,1G RAM, 1.3 Mega CMOS 传感器 ),以下就三者实验数据进行比较,如表1所示。

设计架构 

系统流程

图7 系统流程图

系统流程如图7所示。

系统架构图

图8 系统方框图

由系统方框图8可知,本设计使用双核的系统,其中一个CPU是用来控制CMOS 控制器模块,而另一个CPU可以控制大部份的外围器件,而两个CPU之间是利用输出及输入PIO脚位,来达到传递数据的目的,这样设计的好处是,可利用一个CPU全速处理大量图像信息,而另一个CPU可以负责车控系统,若从图像中侦测到偏离或碰撞危险时,将能通过PIO来触发另一个CPU的中断,进而实时告知车控系统下达较正方向或闪避的控制命令,本设计使用到许多的外围器件包含:Flash Memory、SDRAM、SRAM、M4K RAM、LCM、JTAG-UART、RS232、GPIO、Button、Switch、Timer、LED、Segment、VGA、CMOS 传感器等。

图像处理方框图

图9图像处理方框图

由图9可发现,本设计之所以能达到实时图像及实时动态追踪,是因为当CMOS 传感器下图像撷取时,便能通过硬件器件,将数据从RAW Data转成RGB再进行二值化或灰阶的处理,以利进行图像处理,而且同时亦在VGA上立即显示出该图像,整个过程均是由硬件来做;在图像追踪时,Nios可以通过X轴或Y轴的直方图统计方式来进行标示目标物,所以一张新的图像进来时,Nios并不用做任何处理,即可读出所需要的数值,这样一来才能达到所期待的硬件加速效能。

表1 三种图像处理平台的效能分析

软件流程

1.为了加速运算,由硬件分别做了二值化和数据统计。

2.一开始先搜寻目标标线位置。

3.找到标线后进行动态锁定。

4.开始判断标线长度,自控车是否在标线最近距离,若否,则判断标线长是否大于标框长的70%,如果大于70%则放大标框。

5.由PIO送出前进的控制信号给自控车。

6.若自控车在标线最近距离则判断是否为左右转标线,若是 则依标线左(右)转,否则停止动作。

硬件电路

(1) 双CMOS 传感器图像撷取器件:通过Switch开关来达到切换主画面/子母画面的功能,Frame的速度由其中一个CMOS 传感器来主导,每一次CMOS 传感器所输出的数值为10bit,并同时输出该pixel的x,y坐标,以利读取。

(2) 多端口 SDRAM 控制器:通过六个FIFO来提供三读三写的SDRAM控制器,每一个FIFO的大小为2KB,全利用M4K RAM来生成。

VGA 控制器 & 图像处理:将SDRAM读来的数值,配合适当的H_sync及V_sync信号一个一个把Pixel打出去,在这同时亦顺便进行X轴或Y轴的直方图统计,并将结果存储于另一个M4K RAM中,待NIOS需要时即可以马上从此M4K RAM中读到数值。

直流电机驱动电路

我们使用全桥电路来控制轮子的正转及反转、Nios通过CAR_CMD[3..0]这个PIO来控制车体的运动,CAR_CMD[1..0]为后轮的开关,而CAR_CMD[3..2]为前轮的开关,在图十五中为一可控制电流正流或逆流的全桥电路开关,而前轮也相同,其中详细的控制命令,如表2所示。

表2 金桥电路控制命令

图10 软件流程图

图11 双CMOS 传感器模块

图12 6-ports SDRAM controlle

[!--empirenews.page--]图13 VGA controler & Image Processing模块

图14 后轮的全桥电路开关

实境测试

在图15中,智能型图像追踪车已锁定特定的目标物了,并朝著目标物前进,图中可以清楚地看出除了自色箭头标志外,尚有许多其它的白色干扰物,如白色墙壁、面纸…等,而在图16中是智能型图像追踪车的VGA输出,可以清楚地看到图中是二值化的图像,并且已智能型图像追踪车已锁定白色箭头标志(绿框围住),在车体前进时,绿框会自动变大并锁定白色箭头。

图15 智能型图像追踪车正朝著目标物前进

图16 智能型图像追踪车前进时锁定的目标

图17 智能型图像追踪车

结语

本设计使用两颗嵌入式Nios软核,通过快速设计且高集成性的Avalon总线,将复杂的外围电路及数种内存模块集成为车控平台,通过Nios高性能的表现,可以很轻易地实现实时图像处理及高速自动控制的产品。图17为最终设计成型的智能型图像追踪车。

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

FIFO(First In, First Out)存储器是一种常见的存储器类型,它具有以下特点,并在实际应用中发挥着重要的作用。

关键字: FIFO 存储器 数据传输

VGA、DVI、HDMI将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它们的区别的相关情况以及信息有所认识和了解,详细内容如下。

关键字: VGA DVI HDMI

为增进大家对光端机的认识,本文将对光端机在使用过程中容易碰见的一些问题以及这些问题的解决方案予以介绍。

关键字: 光端机 指数 VGA

深圳2022年10月8日 /美通社/ -- 日前,TUV南德受邀参与亚马逊全球个人防护设备(PPE)合规管理线上峰会,为企业分享欧盟、英国、美国及日本的个人防护设备...

关键字: 亚马逊 防护 BSP NIOS

为增进大家对分配器的认识,本文将对VGA分配器以及VGA分配器的工作原理予以介绍。

关键字: VGA 指数 分配器

主控芯片是主板或者硬盘的核心组成部分,是联系各个设备之间的桥梁,也是控制设备运行工作的大脑。在主板中,两大芯片是最重要的,一个是南桥芯片,它控制着扩展槽,USB接口,串口,并口,1394接口,VGA接口,等,它主要负责外...

关键字: 主控芯片 VGA CPU

NAS是功能单一的精简型电脑,因此在架构上不像个人电脑那么复杂,像键盘、鼠标、荧幕、音效卡、喇叭、扩充漕、各式连接口等都不需要;在外观上就像家电产品,只需电源与简单的控制钮。NAS在架构上与个人电脑相似,但因功能单纯,可...

关键字: NAS USB VGA

两个系统(SystemA和SystemB),使用两个不同的时钟clkA(100MHz)和clkB(70MHz)。这两个时钟彼此之间都是异步的。数据必须从SystemA传递到SystemB。SystemA能够在100个时钟...

关键字: FIFO

在这篇文章中,小编将为大家带来ADI基带可编程VGA滤波器ADRF6520的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 滤波器 VGA 可编程

前两天家里电脑显示器的线坏了,火急火燎的买了根线,谁知道买回来之后接口不匹配,不能用。显示器为什么要有这么多接口呢?这些接口又有什么区别呢? 必须把它搞清楚!这不,经过我的不屑努力,终于搞明白了,马不停蹄的来跟大家分享一...

关键字: 显示器接口类型 VGA DVI HDMI DP
关闭
关闭