Profile - CN104


CN104

超声波扫描倒车探测器

上海海事大学
信息工程学院电子工程系






Advisor

Name: 龚兆岗

Members

No. Name English Name
1 邵丽华 ShaoLIhua
2 张小花 ZhangXiaohua
3 黄维 HuangWei

Project Paper

1. 设计概述 (Preliminary Paper)

 

1.   设计背景
随着汽车逐渐进入百姓家庭,保障行车安全的各个细节越来越受到人们的重视,安装倒车雷达,可以使驾驶员泊车更加安心。倒车雷达是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角,提高了驾驶的安全性。
倒车雷达由超声波传感器(俗称探头)、控制器和显示器等部分组成,目前市场上的倒车雷达大多采用超声波测距原理,驾驶者在倒车时,将汽车的挡位推到R挡,启动倒车雷达,在控制器的控制下,由装置于车尾保险杠上的探头发送超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经控制器进行数据处理,判断出障碍物的位置,由显示器显示距离并发出示警信号,从而使驾驶者倒车时做到心中有数,使倒车变得更轻松。
目前汽车市场上倒车雷达种类繁多,价格也是高低不等,倒车雷达的性能主要从探测准确性、显示稳定性、探测范围和捕捉目标的速度来考虑。通常,探头的数量决定了倒车雷达的探测覆盖能力,探头越多越能减少探测盲区。现在市面上的倒车雷达分别有2探头、3探头、4探头及8探头多种,2至4探头的倒车雷达一般安装在汽车的后保险杠上面,6至8探头的倒车雷达一般的安装方式是,前面2个后面4个,或前面4个后面4个。6个以上探头的倒车雷达,在倒车时可探测车的前左右角。
 
2. 设计意图及其特点
    目前的泊车辅助系统也有使用声纳传感器的,倒车雷达选用超声波探头作为传感方式,以真人声语音报距、数字显示、警示声、EL冷光光标等多种提示,来保障车主倒车的顺畅安全。它们的作用就是在倒车时,帮助司机“看见”后视镜里看不见的东西,或者提醒司机后面存在物体。但是,目前倒车雷达运用的超声波探测是从一点或者多点进行探测,探测范围不能很好地覆盖整车后周围,即便采用多探头提高覆盖能力,但其安装方式复杂累赘,且影响车的美观大方;而且倒车雷达多采用极限报警,即探测到障碍物距离小于设定的安全距离时发出声音或者灯光报警,不能对车后有效范围内的障碍物进行较为全面的、直观的实时监控。
本参赛设计的装置名称为“超声波扫描倒车探测器” ,即在NiosⅡ处理器的设计平台上采用超声波测量物体距离的传感方式,应用步进电机带动超声波传感器对车后进行180度全方位扫描,得到超声波传感器测得的车与障碍物的相对距离信息和步进电机的角度方向信息,NiosⅡ软核处理器将此信息综合分析后得出车后障碍物的具体方位信息,并将车后障碍物的具体方位以光标动态闪烁的方式实时地显示在LCD显示屏上。这样设计的优点有:
1)将超声波传感器固定在步进电机轴杆上,用步进电机带动超声波传感器做匀速扫描运动,实现对车后障碍物的全方位动态扫描,提高了探测覆盖能力,减少了探测盲区,可获得较详尽的车后障碍物情况;
2)将车后障碍物的扫描信息经综合分析后得出车后障碍物的具体方位,并以光标动态闪烁方式将车后障碍物的具体方位显示在LCD显示屏上,实现对车后障碍物的实时监控,给驾驶员一个简洁、直观、清晰的车后障碍物动态视觉信息。
   
3. 适用范围及其优点
本“超声波扫描倒车探测器”在性能上具备探测范围广、捕捉目标速度快、显示分辩率高等特点,可以应用到各种车型中,实现实时倒车泊车监控。本设计是基于NiosⅡ软核处理器,具有开发周期短、系统性能稳定、抗干扰性高、开发成本低廉等优点。
 
4. 本设计采用Nios处理器的优势
Altera公司的NiosⅡ是通用嵌入式处理芯片软内核,NiosⅡ系列嵌入式处理器使用32位的指令集结构(ISA),完全与二进制代码兼容。使用Altera的QuartusⅡ软件、SOPC Builder工具以及NiosⅡ集成开发环境(IDE),可以将NiosⅡ处理器嵌入到我们设计的“超声波扫描倒车探测器”系统中。根据NiosⅡ软核处理器系列针对的不同性能范围和成本,可以创建一款与设计的产品装置相符的“完美”处理器在Altera的FPGA上创建一个定制的片上系统,或者更精确地说,创建一个可编程单芯片系统。
1) 利用32位Nios处理器和FPGA完成车后障碍物的实时检测显示系统,必要的外围电路和处理器能集中在一块芯片上,大大减小了系统体积,简化了系统的硬件构成。在一定意义上实现了片上系统。
2基于FPGA嵌入IP硬核的SOPC系统,系统更为灵活、完备,功能更为强大,对更多任务的完成具有更好的适应性。设计方式灵活,不仅提供了许多可用的IP核,还可以构建自定义IP核,并且具有可裁减、可扩充、可升级的功能。本设计自定义了超声波传感器控制IP、步进电机控制IP,大大提高了数据的处理速度,可以保证较好的实时性,并可以降低成本。
3NiosⅡ符合工业技术的发展潮流,即硬件设计软件化,可以结合FPGA做出很多比较理想的东西,这就是NiosⅡ乃至其他所有软核CPU的最大的意义所在。
4采用的ALTERA 公司的FPGA器件本身就具有易于扩展和升级的特性,把FPGA的固有优势集成到嵌入式处理器的开发流程中,这些特性为本设计装置的升级及扩展提供了广阔的空间。采用FPGA进行设计,可以保证在系统的外围设备电路不变的情况下,通过更新FPGA内部的电路设计,使得系统功能能够得到很好的增强和升级,从而实现系统的可扩展性。
5) 采用模块化的设计方法和思路NiosⅡ软核处理器最大的优势和特点是模块化的硬件结构,以及由此带来的灵活性和可裁减性。相对于传统的处理器, NiosⅡ系统可以在设计阶段根据实际需求来增减外设的数量和种类。而且,SOPC Builder 还提供了标准的接口方式,以便用户将自己的外围电路做成NiosⅡ软核可以添加的外设模块。这种设计方式,更加方便了各类系统的设计调试,使得在以团队为单位的设计过程中,队员与队员之间能够更方便、更流畅地配合和协调。
因此采用Nios处理器和FPGA来实现对车后障碍物的实时监控显示是本“超声波扫描倒车探测器”研发的较为理想的选择方案。
(Draft / 2008-06-08 16:04:58)

2. 功能描述 (Final Project Paper)

 

本设计作品的主要功能是实现车后障碍物的LCD显示。用步进电机带动超声波探头做半圆周(180°)扫描,将超声波探头在有效距离范围内探测到的车后障碍物以闪烁的圆点在LCD的坐标图中显示出来。
本设计作品的硬件设备主要包括Altera DE1开发板、超声波传感探头、温敏传感器、ADC转换芯片、步进电机、外设控制电路板以及全彩色点阵LCD显示屏等。系统的功能模块主要有以下五个:超声波测距离模块、温敏传感AD转换模块、步进电机匀速转动模块、光电耦合位置校准模块、LCD彩色液晶显示模块。
1.   超声波测距离模块
超声波是由机械振动产生的,可在不同介质中以不同的速度传播,具有定向性好、能量集中、传输过程中衰减较小、反射能力较强等优点。超声波传感器可广泛应用于非接触式检测方法,它不受光线、被测物颜色等影响,对恶劣的工作环境具有一定的适应能力,因此在本倒车扫描系统中应用超声波进行障碍物的测量。本实验装置中超声波测距是通过在一个设定的周期内连续发射若干个超声波信号,不断检测超声波发射后遇到障碍物所反射的回波,从而测出一个时间周期内发射和接收回波的时间差Δ,然后求出障碍物距离S。在速度已知的情况下,距离S的计算,公式如下:
S=vΔ/2
步进电机因其能够精确地控制转动角度的特点而被应用于本作品中,用以带动超声波探头做扇形扫描以扩大扫描范围,减少扫描盲区。
系统工作过程中,步进电机每转动12.5度暂停大约76.5ms,转到180°时开始反向转动,仍然是每转动12.5度暂停大约76.5ms,在这个暂停时间内超声波探头发射超声波并检测接收障碍物反射的回波,从而测出该暂停时间内发射和接收回波的时间差Δ,根据这个时间差求出障碍物距离S。这一过程由超声波控制接口IP来实现。
 
2.   温敏传感AD转换模块
在空气中,15℃下超声波的传播速度是340米/秒,但其传播速度易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1℃,声速增加约0.6米/秒。因此在测距精度要求很高的情况下,应通过温度补偿的方法对传播速度加以校正。已知现场环境温度T时,超声波传播速度V的计算公式如下:
V=331.5+0.607T
这样,只要测得超声波发射和接收回波的时间差Δt以及现场环境温度T,就可以精确计算出发射点到障碍物之间的距离。
用硬件的方法实现温度的测量有着快速、高效的特点,因此对温度信号的采集我们选用温敏电阻电路,电路输出变化的模拟电压量。采集到的温度模拟数据需要转换成数字信号并传送给系统进行温度修正。为节省IO口,并且消除并行带来的同步问题,模拟数据的转换采用串行输入方式,选用性能稳定的ADC0838多重通道选择A/D转换芯片,并自行设计AD采集转换数据控制接口IP。
 
3.   步进电机转动模块
步进电机因其能够精确地控制机械的移动角度特点而被应用于本系统装置中,实现超声波传感器做扇形扫描以扩大其扫描范围,减少扫描盲区。步进电机是由输入的脉冲信号来加以控制的。模拟电路虽然可以用来产生连续可调的脉冲信号,但却难以控制,而用数字集成电路来对步进电机进行控制,则能克服以上缺点。因此我们采用Verilog自行设计步进电机控制IP核,这种设计方法有着不依赖器件、移植容易、能加快设计的特点。并且,Verilog在现场就能进行修改,与FPGA器件相结合,能大大提高设计的灵活性与效率,缩短产品的开发周期。
 
4.   光电耦合位置校准模块
系统每次启动扫描时步进电机可能不在初始位置,因此系统在重新启动扫描时需要检测步进电机是否在初始位置,如果步进电机不在初始位置,系统将控制步进电机匀速转动,在到达初始位置时步进电机开始按要求转动并触发超声波探头开始工作。这个使步进电机到达初始位置的校准归零工作我们是利用光电耦合器来实现的。
    光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。它由发光源和受光器两部分组成,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等等。我们将它安装在初始位置,当步进电机转到该初始位置时,光电耦合器能够检测到并给出相应信号,从而使系统能够控制步进电机开始按要求转动。
 
5.   LCD彩色液晶显示模块

         数据采集采用串行输入,节省IO口,并且消除了并行带来的同步问题。在显示存储器SDRAM中开辟一个显示缓存区,将数据传到LCD显示。自行设计LCD接口控制IP。采用友好的操作界面让图形在320*240 的TFT LCD屏上进行显示,移植了用户图形界面UC/GUI使使用界面更加友好和美观。针对信号的特点编写了数据组织,分析和处理,显示的算法。

(Draft / 2008-09-12 20:43:09)

3. 性能参数 (Final Project Paper)

 

1.  系统的性能指标参数
图片参数:320*240 Bmp格式
LCD显示屏参数:分辨率320*240,3.6’
2.  系统资源利用情况
FPGA:Altera Cyclone II EP2C20F484C7
显示存储空间:8M SDRAM
程序存储空间:512KB SRAM
用户接口:按键开关、LED、七段数码管
GPIO_0接口外接LCD彩色液晶显示屏
GPIO_1接口外接超声波扫描电路模块控制板
3.  元器件性能参数
超声波探头:TCT40-16T/R,工作频率为40kHz,探测距离为0.2米至20米,扫描有效角度为80°
光电耦合器:H42B6
 A/D转换芯片:ADC0838
(Revision: 3 / 2008-09-17 09:16:32)

4. 设计结构 (Preliminary Paper)

 

 

1. 系统总体设计硬件框图

“超声波扫描倒车探测器” 总体结构主要由Altera FPGA开发平台、超声波传感器、步进电机、位置传感器以及LCD显示器等组成。为完成串行口通信、SDRAM、FLASH芯片访问等功能,本设计系统配置了基于Avalon总线的SDRAM接口、SRAM接口、FLASH接口、时钟TIMER、UART核等组件。系统硬件框图如上图4.1所示。
图4.1中超声波传感器控制IP完成对超声波传感器的控制。包括:控制超声波传感器发送40KHz超声波,同时给定时器控制器一个开始信号,使其控制定时器开始计数;超声波传感器接收被障碍物反射回来的超声波后,给定时器控制器一个结束信号,使其控制定时器结束计数。由NiosⅡCPU处理器通过计算超声波收发之间的时间差来确定车与车后障碍物之间的距离。
图4.1中位置传感器完成对步进电机的角度初始化。位置传感器可以选用光电传感的方式对步进电机进行上电后位置校准归零。位置传感器反馈步进电机的较准归零情况,当步进电机较准动作结束时,传送相应的信号给步进电机控制IP。
图4.1中步进电机控制IP完成对步进电机驱动模块的控制。包括:步进电机的启动,步进电机运转角度的初始化情况,步进电机加速减速控制,步进电机转速的控制,步进电机旋转方向的控制,步进电机旋转角度的控制等。
    由NiosⅡCPU利用内部算法对障碍物的角度信息和距离信息进行综合分析,以此对车后障碍物做出准确定位,并将分析结果传送给LCD显示车后障碍物的角度和距离。
 
2. LCD显示屏的显示方式

图4.2为LCD显示方式示意图。图4.2中的圆周曲线表示车后障碍物与车之间的相对距离,射线表示车后障碍物与车之间的角度方向,图中实心原点表示车后存在的障碍物,它在LCD显示屏上的运动轨迹表示车在倒车时与车后障碍物之间的距离、角度方向的实时变化。
 
3. 系统总体软件设计流程图

    程序采用C语言编写,系统总体软件流程图如图4.3所示。

(Revision: 2 / 2008-06-15 23:33:30)

5. 设计方法 (Final Project Paper)

          本设计作品在硬件上主要实现车后障碍物的测量、步进电机的转动、光耦传感复位归零、温度数据采集转换等。在软件上主要实现超声波传播速度的温度修正、极坐标的转换、系统的复位归零、LCD上的车后障碍物的显示等。

1. SOPC硬件平台设计
作品选用基于Nios II 的SOPC平台进行设计,针对本设计系统的功能,我们利用自定义外设来实现超声波测距离控制IP、温敏传感AD转换控制接口IP、步进电机转动控制IP、 LCD液晶图像显示控制IP等设计。我们将超声波测距离电路、温敏传感AD转换电路、步进电机驱动电路以及光耦复位电路采用逻辑门芯片74H245、MC1413集成到一块电路板,实现与DE1扩展槽GPIO_1的数据接口连接,其总体电路如下图所示:
 
              
 
        图5.1.1 接口电路图
 
1.1 超声波测距离控制IP的设计
1) 超声波收/发电路设计
  对车后障碍物距离数据的采集我们采用模块化的方式,主要由前端的超声波探头、信号滤波放大电路、信号整形电路等组成。其中超声波的收发是根据倒车实际情况选用的压电陶瓷超声波传感器TCT40-16T/R1,它具有高灵敏度、高可靠性、高稳定性、耐高/低温度、耐湿度、耐冲击、振动等严酷环境条件的特点。
 超声波的发送电路采用的工作电压为12V,超声波探头的工作频率为40kHz。我们采用在SOPC上自行编写的超声波控制接口IP,由系统时钟分频后产生40kHz的晶振频率,经MC1413芯片进行功率放大后加载在超声波发射探头上,实现对超声波发送的控制。
 超声波的接收电路采用的工作电压为5V,由常用的功率放大三极管9014进行功率放大,然后采用8位总线驱动器74HC245对回波信号进行稳形,再与接口板相接到超声波控制接口IP的接收口。这样系统可以精确地通过时钟计数来计算超声波发送和接收之间的时间差。
2) 自定义超声波控制接口IP
本设计中对处理超声波的发送、接收和计数模块进行了硬件化处理,形成了自定义IP,这样可以缩短系统时间,方便软件的程序处理。Quartus II 软件下超声波控制接口IP模块示意图如下:
                                                 
                       
                         图5.1.2 超声波控制接口IP模块图
 
         
                       
                         图5.1.3 超声波控制接口IP模块图
 
1.2    温敏传感AD转换控制接口IP的设计
1) AD 时序控制功能模块
系统采用的AD转换芯片为ADC0838,它是以8位开关电容逐次逼近的方法实现A/D转换,利用差分基准电压这个特性ADC0838可能测量到的最小量值达500mv/256。
ADC0838芯片中的数据传输遵循SPI协议。SPI的主要特点有:可以同时发出和接收串行数据。SPI是一个环形总线结构,由CS、CLK、DI、DO构成,其时序主要是在工作时钟频率CLK的控制下,两个双向移位寄存器进行数据交换。假设下图中的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。那么第一个上升沿来的时候,数据将会是DO=1;寄存器中的10101010左移一位,后面补入送来的一位未知数x,成了0101010x。下降沿到来的时候,DI上的电平将锁存到寄存器中去,那么这时寄存器=0101010(DI),这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成了一个SPI时序。

时序控制即根据其时序图来产生,其时序图如下图所示。

                              

                              图5.1.4 ADC0838时序图

 

2)温敏传感数据采集AD转换

在系统SOPC下添加了SPI总线模块和系统读数中断模块,SPI采用250M时钟,所以一个温度模拟信号的转换、传输可以在0.52ms以内完成。上电时,初始化采集模块各寄存器值,当系统产生读数中断请求时,AD转换芯片将采集到的信号转换为数字信息,存储到寄存器中,CPU通过SPI总线方式将寄存器中的数字图像数据送到DE1开发板中固定的寄存器空间,等所有数据采集完后,将数据赋值给软件程序中的参数进行温度查表设定,对超声波的传播速度参量进行修正。这里我们只用到ADC0838芯片的一路模拟通道,系统只对通道CHO中的模拟信号进行转换、读数。其电路连接图如下所示:

 

        

                           

                               图5.1.5 ADC0838应用原理图

 

 1.3 步进电机转动控制IP

           1)步进电机的工作原理

本设计作品中的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。
用Verilog HDL自行设计代码能实现步进电机速度和方向的控制,同时通过光耦传感器输入传感信号实现系统初始化时步进电机的位置归零,消除机械累积误差以及帮助系统程序判断扫描的准确方向角度。
通过光耦传感器能记住步进电机的当前断电时的停滞位置,系统上电时则可直接从上次步进停滞位置继续转动。当转动到光耦传感器处,系统自动校准归零,从而实现精确步进。
我们自行编辑步进电机转动控制接口IP,输出转动角度信息step_out, 步进电机控制接口IP模块图如下图所示。
                                          
                                         
                                         图5.1.6 步进电机控制接口IP模块图
 
                                
               
                    图5.1.7 步进电机控制接口功能模块图
 
1.4 LCD液晶图像显示控制IP
本设计采用的LCD液晶屏选用的是友晶的LCM扩展板,对车后障碍物进行实时显示。该TRDB_LCM液晶屏是主动矩阵式TFT液晶显示屏,其特点是亮度好、对比度高、层次感强、颜色鲜艳等;能处理连续8位(RGB或YUV)的数字信号;支持NTSC和PAL时序;用于显示和功能选择的三线寄存器控制;内嵌的对比度、亮度和校正模块;支持带状彩色过滤器 960 × 240(TH模式,三原色( Red红, Green 绿, Blue 蓝)虚拟, YUV 输入)。其扩展板接到DE1的扩展口GPIO_0上。
我们先用Coreldraw图形设计软件设计出LCD上面要显示的开机画面和坐标扫描图,图片大小为320×240,设计的图像如下所示:
                   
                  
 
                              图5.1.8 开机画面
 
                 

                                图5.1.9 障碍物显示画面

 然后用VB编写图像数据转换界面,由于DE1中SRAMFLASH的存储空间有限,于是我们按照蓝、绿、红、空的格式组织图像转换数据,用十六进制表示,一个字节表示两个点,以节省图像存储空间。其图像数据转换界面如下图所示:
 
 
                           图5.1.10 开机图像转换界面
 
 将VB程序转换、组织后的十六进制图片数据以二进制格式存入FLASH,将FLASH中的数据配合时序写入SRAM,编写自定义IP核SRAM_LCM,取图像数据R、G、B的高八位写入FIFO,再读入SDRAM进行LCD显示。图像存储器采用FLASH、SRAM,通过软件编程处理采集到车后障碍物的坐标数据,将其存入SRAM。用C语言编写SRAM中坐标底图与坐标闪烁圆点的图像合成程序,LCD在SDRAM中获取图像数据并将图像显示出来。图像信息能够通过Avalon总线主端口的块传输方式,利用C语言编写中断程序从内存中自动读取。LCD液晶图像显示控制IP如下图所示:
 
                      
                     
                     5.1.11 LCD液晶图像显示控制IP模块
 
  LCD液晶图像显示控制IP核SRAM_LCM主要用来对图像存储器进行控制及转换、读取数据,并以寄存器方式存储,主要包括:控制寄存器、状态寄存器、地址寄存器和中断寄存器。图像显示存储器采用片内FIFO,静态坐标图像信息是通过Avalon总线主端口的块传输方式,通过软件编程处理采集到的数据,将其写入SRAM,对静态坐标图像进行修改,再将数据存入SDRAM进行显示。
 
2. 系统软件设计
软件部分最重要的就是图像数据的采集、读写、传输、显示。
主控函数,主要是图像数据的读取、显示。用中断来通知系统完成以下具体的工作指令:半周扫描结束,数据写入SRAM,与SRAM中原有坐标底图进行比较综合,在LCD上显示图像。
    
   
     
                         图5.2.1 软件系统模块图
 
2.1 中断读数模块
1) 通过中断把超声波测到的数据读出并放入a数组中。
2) 判断a数组中的8个数,相邻的两个数是否相同,(相同的定义是相邻两数相比的比值为0.9到1.12之间),如果两个数相同,则认为测到的这两个点是同一个点,调用samechangeX、samechangeY 函数将该点的极坐标转为直角坐标,samechangeX函数返回的值是该点的x坐标值,赋给x数组,samechangeY函数返回的值是该点的y坐标值,赋给y数组;如果两个数不相同,则认为测到的是两个独立的点,调用 changeX、changeY函数将此两点的极坐标分别转为直角坐标,changeX函数返回的值是点的x坐标值,赋给x数组,changeY函数返回的值是点的y坐标值,赋给y数组。
3) 判断x数组中的元素的值是否为异常值,判断y 数组中的元素的值是否为异常值(异常包括两种情况:a、读到超声波测到的数据为0;b、数据转换成直角坐标后x坐标值、y坐标值超出给定范围),如果数值异常的话,给定义的color数组赋0 ,如果数值不是异常值,将需要在LCD上显示的颜色代码赋给color数组。
其软件流程图如下所示:
 
              
                      
                         5.2.2 中断读数模块软件流程图
 
2.2 温度修正模块
1) 通过A/D转换得到一个与当前温度相对应的数据。通过中断,将温度修正IP模块获得的数据发给上位机,
2) 根据温度测量芯片的资料,在上位机对读到的数用if语句做一个范围限定,将这一范围内所对应的温度赋给全局变量temp。
其软件流程图如下图所示:
 
                  
 
                     图5.2.3 温度修正模块软件流程图
 
2.3 重启扫描模块
使用按键中断的方式,在DE1上设置一个KEY键,给上位一个中断,当上位收到中断请求,就给步进电机发一个开始信号(即给步进电机一个写信号),并且做成乒乓按键的形式,按一下系统处于工作状态,再按下系统便处于停止状态。
 
                   
                   
                         图5.2.4 重启扫描模块软件流程图
 
2.4 坐标转换模块
1) 调用温度修正函数,比对温度列表将对应得到的温度值赋给temp变量,并对声速进行修正。
2) 调用中断读数函数,并判断从超声波控制接口模块中每个寄存器中读到的数据是否为0,若为0(表示没有障碍物),则将对应的x、y 数组中元素的值赋为异常值(x=155、y=20);否则将读到的数,乘以该寄存器相应角度的正弦和余弦值,得到直角坐标下的x坐标值、y坐标值,并将其赋给相应的x、y 数组元素,实现从极坐标到直角坐标的转换。
3) 判断x、y 数组中的元素是否过界 (过界定义:(a)x数组中的元素值小于10或者大于155.(b)y数组中的元素值小于40或者大于240。两者满足其一则定义为过界),若过界,则将相对应的x、y 数组中元素的值赋为异常值。
4) 判断相对应x、y 数组中元素的值是否为异常值,若为异常值则将相应color数组中元素的值赋为0,否则将该color数组中元素的值赋为LCD上显示的颜色代码值。
 
       
 
                       图5.2.5 坐标转换模块软件流程图
 
2.5 图像数据处理显示模块
1) 调用开始中断和读数中断两个函数,分别得到x数组 、y数组 、color 数组中各元素的值。将x、y数组中各元素表示的二维坐标值转换为一维地址值,该一维地址值需要写入自行设计的SRAM_LCM IP,将该一维地址值赋给m数组中的相应元素。
2) 从SRAM中读取坐标底图数据,每读取一个数据, 将其地址与m数组中每个元素进行比较,若两者相同,则将m数组中该元素的值及其相邻的4个元素的值与从 SRAM中读取的数据作“或”运算,将运算结果存入寄存器;若两者不相同,则直接将从SRAM中读取的数据存入寄存器。
   3)  将寄存器中的值写入SRAM_LCM IP。
 
           
 
                  图5.2.10  图像数据处理显示模块软件流程图
 

 

(Revision: 6 / 2008-09-17 09:15:23)

6. 设计特点 (Preliminary Paper)

 

 

1. 采用步进电机轴与超声波传感器相连方式对车后做180度扇形扫描。这样设计既避免了安装多探头带来的不便和复杂累赘,又使得扫描覆盖范围广,探测盲区少。
2. 考虑到本装置的实际情况,参照SOPC中提供的类似IP来自行设计自己需要的IP核,如超声波控制接口部分和步进电机控制接口部分。
3. 利用C语言编程实现车后障碍物的二维图像动态实时显示。由超声波传感器采集获得车后障碍物与车之间的相对距离信息,由步进电机控制IP获得车后障碍物的角度方位信息,通过对这些信息进行算法综合分析,实现对车后障碍物的二维图像定位,将综合分析结果发送给LCD,将车后的障碍物信息以光标闪烁的方式实时地显示在LCD显示屏上。显示方式直观、清晰。
4. 通过采用SOPC技术,把中央控制和外围接口电路集成到一块芯片上,具有体积小、易升级、成本低、精度高等优点,便于推广使用。
(Revision: 2 / 2008-06-08 16:25:57)

7. 总结 (Final Project Paper)

 

1.  在本作品的研究开发中我们深深体会到,Altera公司的集成开发环境在软硬件上都给了开发者极大的支持,包含在Quartus开发工具中的SOPC Builder提供了一种可视化的快速架构方法,用户只需要在SOPC Builder中在总线上挂载配置的设备,这让开发变得十分灵活。我们就是利用这一优点,将自定义IP挂接在Avalon总线上,然后利用SOPC 技术生成了自己需要的Nios系统,从而极大地提高了工作效率,缩短了开发周期。
        
        2.  两个月的时间完成开发软、硬件基础的学习,进行系统设计、实现及验证,这对我们是一场挑战,但是这种遇到问题解决问题,在解决问题的过程中学习的方式又是一种进步最快的学习方式。通过自己动手编写程序、调试程序,仿真验证,将模块挂接到总线、在Nios环境下运行C程序等,我们对书本上的知识有了更深的理解,对整个设计流程也有了清晰的概念。

 

(Revision: 4 / 2008-09-17 09:14:16)