uClinux上C2H加速的JPEG压缩
按JPEG标准进行的图像压缩大小为640x400。libjpeg的前向式DCT函数被加速器取代;该加速器使用C2H编译器开发而成,可以在uClinux环境中进行访问。将C2H加速器与uClinux结合非常重要,因为它要与其它任务同时运行。对libjpeg(标准库)进行加速使我们可以无需增加额外的DSP芯片或任何常见的软件就能获得性能的提升。使用libjpeg的应用程序可以通过重新编译提高压缩性能,而不必修改任何代码。
自定义的OBD-II接口
车辆都有一个用于进行系统管理的发动机控制单元(ECU)。警用车辆上也有这样的设备。对于新近制造的车辆来说,ECU是一个非常重要的组件,其作用是将发动机与各种电子控制部件结合起来。OBD-II是一个接口,可以将计算机或诊断工具连接到ECU以便进行车辆维护,它可以实现设备间的通信。
OBD标准有很多种,具体取决于车辆的制造商。本项目采用的是ISO9141-2国际标准。通过OBD-II,可以了解车辆的行驶速度、燃油状态和车辆的故障情况。其初始化过程为5波特,通信速度为10.4k波特。对于接收到的信息部分字节,必须进行补充并将其发送到ECU进行通信。在SoPC平台上使用的是UART组件,因为它与串行通信类似。
性能参数
在图像处理模块上发送控制信号,到步进马达上接收初始操作信号之间的时间间隔。该时间间隔是通过示波器测量得出的。通过GPIO接口启动步进马达后,在软件程序控制器中,Nios处理器会接收中断信号,并生成操作信号。
汽车跟踪摄像头的速度主要取决于图像处理性能。表2显示了基于不同平台的每种跟踪算法的测试帧速率。实际上,DE2的帧速率接近60帧/秒,因为图像处理模块以隔行扫描模式运行;但是,我们根据有效帧的数量将其标记为29帧/秒。

另一个结果是,C2H加速的libjpeg的DCT函数可以实现JPEG的快速压缩。640x400的24位位图经过了20倍强压缩以实现精确的测量。使用C2H编译所显示出来的性能比这种没有加速器设计的性能要差。要解决此问题,我们更改了缓冲区管理方法。在修改了DCT函数后,性能提升了4倍。
数据表
在设计该系统时,考虑了在uClinux系统上使用USB调制解调器时的性能下降问题。然而事实显示,网络性能与在PC环境中运行的性能几乎相同。
设计的体系结构
整个系统由uClinux操作系统控制。包括图像处理模块在内的摄像头控制系统和子系统由完整的FPGA组成。
标准JPEG库libjpeg的DCT函数被更改为C2H加速器。图像处理模块、VGA控制器和步进马达控制器被组合成一个单独的SoPC组件。总共消耗了31000LE。
设计描述
组合uClinux和C2H
