MicroBlaze微处理器在实时汽车系统中的应用
普遍认为开发多处理器系统软件的难度要大于单处理器系统。但实际情况并非总是如此。我们这个在 TRW 汽车公司下属的咨询部 TRW Conekt 工作的设计团队最近接管了一个项目,展示了如何根据手中的问题发挥硬件的功能,并通过使用许多个处理器开发出高效系统。
我们小组接到了一项任务,为一个名为"Foot-LITE"的项目开发车载嵌入式处理电子系统(该项目由MIRA 公司牵头,英国政府支持的技术战略委员会、交通部和工程物理科学研究所赞助)。该项目能够为驾驶员提供反馈信息,从安全和燃油经济性的角度让他们了解他们的驾驶习惯。
该系统通过两种方式为驾驶人员提供反馈。一是,由一个仪表盘式的智能电话显示系统(由布鲁塞尔大学设计,HW CommunicaTIons 公司开发)向驾驶员提供与需要立即关注的事件有关的实时通信。二是,该系统还能够连续采集行程数据,包括特别"事件"的视频流,然后将其上传到互联网服务器,供用户在闲暇时查看。根据我们的合作伙伴汽车高级驾驶协会 (Institute of Advance Motorists) 提出的驾驶建议,另一个合作伙伴英国里卡多有限公司 (Ricardo UK) 开发出了一种算法,能够决定哪些事件需要标出来提醒用户注意。
该项目将把这个系统安装到由30辆车组成的车队里。测试车手由项目合作方Hampshire县议会 (Hampshire County Council) 公开招募。
该项目将逐步纳入由12家行业、政府和学术合作伙伴协同研究的成果。这意味着我们需要非常灵活的解决方案来解决我们的处理问题。
起初,我们想提供单处理器系统。不过很快发现,专用处理器可以简化算法开发工作每次迭代所需的集成工作。
基本系统
我们已经有一种处理器系统,目前正在另一个项目中进行开发,主要用于图像处理(图2)。
该系统基于连接到 4 个独立的DDR存储块的单个Xilinx? Spartan?-3A XC3SD3400A器件。该架构可以让用户实现众多不同的处理器/逻辑配置。举例来说,可以把整个 FPGA 结构用作完全采用HDL定义的纯逻辑资源。另外,还可以使用更高级的工具,比如赛灵思EDK来实现 4 个(或者更多)的软核微处理器。每个软核微处理器都可以访问自己专用的DDR存储设备,保护数据免遭其它微处理器的干扰。对于其他的简单工作,可以使用内嵌的BRAM块来实现更多的处理器。
图 1 – Foot-LITE 系统
此外,可以采用小型子卡来配置对外的I/O,从而可以针对不同的项目迅速转换定制的I/O设置。
项目合作伙伴很早就决定采用USB接口,因为这样可以向系统添加各种外设。然而这需要一些形式的USB 协议栈--我们通过使用Petalinux版本的uclinux获得,以及一个配有USB主机设备的子卡。
使用 Linux 还为我们提供了一种管理SPI闪存设备的简单方法,该系统可提供 FPGA 比特流和应用代码存储。我们安装了一个简单的 JFFS2 文件系统,可以通过以太网(使用 FTP)或启动USB 记忆棒(包含一个脚本,用以将新代码上载到内部闪存上)来实现现场应用升级。在传统的嵌入式系统中,所有这些要求都需要软件小组编写底层应用代码。不过,在有了 Linux 之后,我们可以轻松地编写简单的 Bash 脚本来控制这些流程。
Foot-LITE 算法
Ricardo开发出了用于评估驾驶员行为的核心算法,并将其应用在自己的 rCube 快速原型设计系统上 (http://www.ricardo.com/en-gb/ Engineering-Consulting/AutomotiveExpertise/Controls--Electronics/ Embedded-Software/rCube/)。我们采用这种方法进行了初步的仿真器测试,并在三辆测试车辆上进行了试用。在测试车辆上,一个嵌入式视觉系统(基于现有的 TRW 产品--凑巧也有 FPGA)用于测量与前车之间的距离,并评估车辆在车道上的位置。测试车辆还可通过雷达系统提供距离信息。作为投产前的一个步骤,我们在更大规模的试验中取消了雷达系统,因为视觉系统已经能够为应用提供足够的信息。
我们在车辆上安装了前视摄像头和处理子系统,两者整合成一个小型设备,安装在后视镜的旁边。子系统中的嵌入式算法可通过视频图像处理来测量车身和车道边缘之间的距离。此外,并行算法还可检测到 Foot-LITE 车辆前面的车辆,并测量车头间距。该子系统使用汽车标准的控制器局域网(CAN) 总线将数据传输给Foot-LITE子系统单元。
我们在 Foot-LITE单元中集成了三轴加速计和横摆角速度传感系统,这可以给Foot-LITE算法提供在需要时访问高速率、低延时车辆动态信息的可能。
Foot-LITE 算法把所有的数据整合在一起,为驾驶员提供一系列与他的(或她的)驾驶风格相关的简洁信息。
算法实施
起初,我们想提供一种单处理器系统。不过很快发现,专用处理器可以
多处理器系统 uClinux FPGA MicroBlaze 相关文章:
- 基于uClinux的汽车黑匣子的设计(06-28)
- FPGA技术在汽车电子中的应用(11-26)
- 电源分配结构的三大转变为电源管理技术开创新局面(01-10)
- 利用FPGA协处理器优化汽车信息娱乐和信息通讯系统设计(01-24)
- 如何利用可编程器件设计车用显示系统(08-30)
- 基于SoPC的汽车安全监控系统设计(07-09)