找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于MB86R01的挖掘机图形仪表的设计

[复制链接]
admin 发表于 2013-3-25 05:01:16 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 提出了利用单芯片实现面向挖掘机图形仪表的新一代车载终端系统设计与实现方法。采用富士通公司推出的MB86R01作为核心,根据挖掘机的要求和特点,主要介绍了挖掘机仪表的硬件和软件设计。利用μC/OS-II作为操作系统设计一款精度高、灵敏度高、界面友好、工作稳定的嵌入式挖掘机图形仪表。利用MB89296图像处理器实现挖掘机仪表显示任务,减轻了CPU的负担,使图形显示更加高效。
关键词: 图形仪表;MB86R01;图像处理器;μC/OS-II;CAN总线
    仪表板作为挖掘机的一个关键部件之一,它集中了全车的仪表,能集中、直观、迅速地反映挖掘机在行驶过程中的各种动态指标,如发动机转速、行驶速度、油温、水温、油压、GPS、视频、故障诊断及各种指示灯和报警信号等。挖掘机驾驶员能够通过仪表板上显示的信息,了解挖掘机当前的工作状态,以便及时地对挖掘机做出相应的处理。目前仪表板已经由最初的基于机械作用力而工作的机械式仪表发展到步进电机式仪表板,采用步进电机驱动指针指示车速、转速、油量、水温等[1]。传统的挖掘机表存在占用面积大、分布散乱、显示内容固定单一、显示信息量小等缺点,不具有可配置性,而且恶劣的工作环境常常导致仪表显示的信息不准确或失灵等[2]。这些传统仪表板的缺点都在很大程度上影响了驾驶员对挖掘机的使用。
 为克服传统仪表板的局限性,根据挖掘机的工作特点,设计新一代全数字式挖掘机图形仪表板代替传统的机械仪表来准确、稳定、灵活地显示挖掘机所有信息成为一种必要,也是仪表板发展的一种趋势。
1 挖掘机图形仪表板系统结构总体设计
 挖掘机仪表板处理的主要信息有发动机转速、油温、水温、油压、GPS、视频、故障诊断以及各种指示灯和报警信号。本文设计的挖掘机图形仪表板的MCU利用CAN总线与控制器ECU等其他各个部件进行数据间的通信,最终在仪表板上显示出各个功能模块的信息。挖掘机系统框图如图1所示。
2 挖掘机仪表硬件设计
 挖掘机仪表板的硬件框图如图2所示,该系统的硬件电路主要包括了以MB86R01为核心的时钟电路、复位电路、电源电路、JTAG调试电路、存储器电路、串口通信电路、视频输入电路、LCD显示电路、按键电路和CAN总线收发电路组成。
    20121107050347572112809.gif
    该硬件系统的MCU采用的是MB86R01,该芯片是由富士通公司推出的一款单芯片实现新一代车载终端系统的微处理器。MB86R01整合汽车电子所需的各种功能,如2D/3D绘图、汽车通信控制系统、程序保护功能及各种媒体接口;并将这些功能整合在一颗芯片上,进一步降低系统成本。此产品可对应来自汽车导航装置或数字仪表板的资料及车载局域网络的所有信息,并能同时提供舒适的驾驶环境以及高品质的绘图显示。本文的设计是将MB86R01应用于汽车仪表上的这些特性移植到挖掘机上来开发挖掘机图形仪表。
 MB86R01采用工作主频达333  MHz的32 bit ARM926EJ-S内核作为控制CPU,片内有两片内置的32 KB SRAM,提供了足够的程序存储空间。另外,MB86R01中采用富士通的MB89296图像处理器(GDC)作为2D/3D图像显示和视频捕捉。MB86R01的GDC可以实现3D绘画显示功能,与抗锯齿功能组合使用能够绘制光滑漂亮的直线。从帮助安全驾驶的角度出发,画面的重叠对于MB86R01实时地收集各种信息,简明易懂地传递给司机来说是个非常方便的功能,MB86R01能支持最多6个图层的重叠,实现图像的清晰显示[3]。这主要是MB86R01利用了专门的图像处理器,所以在图像显示上有其突出的优势。
另外,MB86R01使用视频纹理映射功能不变形地显示后部摄像机等拍摄的图像,克服了由于视野范围、广角镜头引起的变形而影响司机的判断。新产品不仅可降低成本,并能维持高系统效能。
3 挖掘机仪表系统软件设计
 软件部分主要由系统层和应用层组成[4]。对于一个嵌入式系统,选取合适的操作系统支持程序的开发是一个关键,针对不同的设计方案选取合适的操作系统能够达到最好的设计效果。μC/OS-II操作系统的启动快、研究免费、开源等特性符合本设计的需要,因而选择μC/OS-II作为操作系统比较符合挖掘机图形仪表的开发。应用层设计是在操作系统的基础上编写执行各种任务的程序代码。
3.1 μC/OS-II系统简介
 μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息 队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化[5]。
3.2 μC/OS-II在MB86R01上的移植及配置
 μC/OS-II的源代码除了那些与硬件关系极为紧密的软件模块不得不用汇编语言编写之外,绝大部分代码都是用C语言编写的,所以μC/OS-II的可移植性极强。移植μC/OS-II要编写3个文件,即OS_CPU.H、OS_CPU.C、OS_CPU_A.S。在OS_CPU.H中完成所需的基本配置和定义;OS_CPU.C源文件主要移植OSTaskStk Init()、OSTaskCreateHook()等6个函数;OS_CPU_A.S主要完成OSStartHighRdy()、OSCtxSw()等4个汇编函数的移植[6]。
3.3 系统任务及分析
 μC/OS-II将各个执行的模块程序作为任务,μC/OS-II的任务是一个无限循环的子程序。通过一定的调度机制来将各个任务有序实时地执行下去。本文中的挖掘机图形仪表系统可以划分为以下几个主要任务:CAN总线收发与处理任务、LCD图形仪表显示任务、串口通信任务、视频捕捉显示任务、EEPROM存储任务、键盘处理任务。各个任务之间可以通过信号量、邮箱和消息队列实现任务的通信处理。
 图3为CAN收发与处理任务和LCD图形仪表显示任务的执行过程。初始化完成后,主程序发起CAN收发与处理任务和LCD图形仪表显示任务,两个任务先后进人等待信号量和等待消息队列的状态。CAN总线中断产生后,中断服务程序释放信号量,使CAN总线任务进人就绪状态,在其获得CPU使用权后,对总线数据进行处理并将数据发送到消息队列,从而使LCD图形仪表显示任务进入就绪状态,通过任务调度获得CPU使用权后,根据消息队列中的数据,计算指针需要指向的角度和需要显示的数值并通过LCD显示出来。
    20121107050347618982810.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 23:39 , Processed in 0.058062 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表