新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 在PowerPC上实现I2C控制及实现设备间通信的方法

在PowerPC上实现I2C控制及实现设备间通信的方法

作者:时间:2012-08-30来源:网络收藏

摘要:车辆显控系统的控制主板选用高性能 MPC8548E处理器,扩展了显示器、内存、Flash存储器和接口设备。以此主板为平台,实现了车辆数据和视频的实时显示和控制。本文重点阐述了在上用软件实现控制以及通过PCI总线间通信的

本文引用地址:http://www.eepw.com.cn/article/196461.htm

车辆显控系统是对车辆工作状态信息进行显示、控制,并完成人机交互的系统。车辆显控系统需要在显示文字、图形和视频的同时响应按键操作,并对车辆控制系统进行操控。这就要求系统具有实时响应、并行处理多个任务的能力。本文在以 MPC8548E为处理器的控制主板上应用实时操作系统VxWorks,实现了实时响应系统操作、显示相应信息的功能。以此主板为核心控制主板的显控系统,具有高性能、高稳定性和良好的兼容性。

1 PowerPC MPC8548及其控制主板概述

PowerPC MPC8548是Freescale公司开发的新一代PowerQUICC III系列的高性能处理器。其内部工作频率可达1.33 GHz,在该工作频率上处理性能可达3 065MIPS。一级缓存有指令缓存和数据缓存各32 KB,二级缓存为512 KB,支持DDR1和DDR2存储器控制器,支持PCI、PCI-X和PCIE接口,支持SRapid IO接口和4个GbE接口。MPC8548不仅拥有强大的数据处理能力,还具有很强的通信处理能力,可靠性高,抗恶劣环境能力好,特别适合对网络性能要求较高及有多个接口的场合。

车辆显控系统的核心控制主板是以PowerPCMPC8548E为处理器的嵌入式系统。该系统通过扩展显示器、内存、Flash存储器以及其他接口控制电路,构成了高性能、高可靠性的核心控制主板。以此控制主板为硬件平台,移植嵌入式实时操作系统VxWorks,对接口设备驱动进行二次开发,继而以VxWorks为软件开发平台,开发应用程序,实现显示和控制任务。

2 PowerPC控制主板硬件设计

如图1所示,PowerPC控制主板硬件系统由处理器、外围电路和外部接口设备组成。外围电路包括电源、晶振和复位电路;外部接口电路包括串口、网口、EL/LVDS液晶显示、16位PCI总线、USB接口、Flash、鼠标和键盘等。

PowerPC控制主板硬件结构图

PowerPC控制主板硬件结构图

3 PowerPC控制主板软件设计

车辆显控系统是一个多任务的复杂的实时嵌入式系统,采用操作系统对所有软硬件资源进行分配、调度、控制和协调,尤其是协调并发活动,如任务调度、内存管理、同步机制、异常和中断处理、任务间通信等。WindRiver公司(现被Intel收购)的VxWorks是一个实时嵌入式操作系统。VxWorks操作系统已经广泛应用于航空、汽车等行业,鉴于VxWorks对PowerPC处理器体系结构的支持,使得应用PowerPC处理器的嵌入式系统大多以其作为操作系统。因此,车辆显控系统也采用VxWorks作为操作系统。

嵌入式系统是根据实际要求对硬件资源进行配置和裁减而成的系统。由于嵌入式产品是软硬件的结合体,且随着产品的研制完成,软件就已固化在硬件环境中,因此,软硬件综合开发是嵌入式系统的一大特点,而软件设计是在紧密联系硬件的基础上完成的。

PowerPC控制主板的软件设计遵循嵌入式软件的体系结构设计,分为如下两部分:

①特殊设备驱动的开发,通用设备驱动程序的集成,即板级支持包BSP的开发。

②应用程序的开发,即显控任务的实现。

3.1 设备驱动开发

由于本系统的硬件平台是根据实际需要设计的,故必须根据实际的接口对设备驱动进行开发。在VxWorks提供的通用设备驱动的架构上,结合每个具体设备的工作原理和功能,以数据流为中心,在掌握设备与CPU及外接设备的通信方式后,对具体设备的驱动进行逐一开发。设备驱动程序开发完成后,最终形成MPC8548E的板级支持包BSP。硬件设备程序的集成包括如下几个方面。

(1)特殊设备驱动

一些特殊设备的驱动程序不在VxWorks配备的标准设备清单中,因此需自行开发,例如PCI线驱动、DDR内存驱动和显示驱动等。

(2)通用设备驱动

通用设备的驱动程序可以直接应用VxWorks标准驱动,或在标准驱动的基础上稍作改动即可,例如鼠标、键盘、串口、以太网接口和USB接口等。

3.2 应用程序开发

首先将车辆显控系统要完成的任务分解为多个任务:按键查询、界面切换、数据显示、视频显示和参数存储。应用程序保证各任务按照规定的方式实时完成。PowerPC控制主板软件结构图如图2所示。

PowerPC控制主板软件结构图

PowerPC控制主板软件结构图

按键查询:定时查询是否有键按下,如有,则向界面切换、数据显示、视频显示和参数存储发送消息,完成相应的任务。

界面切换:切换到相应界面。

数据显示:显示车辆控制系统在不同工作模式下的状态。

视频显示:切换视频通道,调节图像的亮度、对比度,并进行相关操作。

参数存储:根据指令保存参数,或等间隔地将参数保存到缓存。

3.2.1 接口控制的软件实现

总线是一种两线式串行总线,主要应用于微处理器外围芯片的扩展。它只需两根线——串行数据线和串行时钟线,即可实现微处理器与总线上具有I2C总线接口的设备进行数据交换。

I2C总线设备以其简单性和有效性被广泛使用。车辆显控系统中用于模拟视频显示的视频解码器CCX25836就是其中之一。CCX25836的寄存器需要用I2C总线进行配置,系统设计采用FPGA构建了硬件I2C电气结构,在PowerPC控制主板上用软件模拟视频解码器所需的I2C读写流程,设置其寄存器,从而实现视频通道的切换、亮度和对比度的调整等视频显示功能。I2C读、写流程如图3、图4所示,通过I2C总线设置亮度、对比度的流程如图5所示。

I2C读
上一页 1 2 下一页

评论


相关推荐

技术专区

关闭