在PowerPC上实现I2C控制及实现设备间通信的方法
I2C读、写流程
3.2.2 通过PCI局部总线实现设备间通信
PCI局部总线是微型计算机中处理器/存储器与外围控制部件、扩展卡之间的互联接口,PCI局部总线规范是互联机构的协议,也是电气和机械配置的规范。PCI局部总线具有总线主设备支持和自动配置功能,提供了3类地址空间,即存储器、I/O和配置地址空间。这些特点为总线上各设备间的通信奠定了基础。
车辆显控系统中存在多个PCI设备,鉴于PowerPC较强的处理能力和实时操作系统的实时多任务处理功能,使得PowerPC控制主板成为“主设备”,负责设备间的协调,其他设备作为“从设备”。由“主设备”根据“从设备”的设备识别号和供应商识别号对其进行配置,根据地址空间的存储映射访问方式进行数据通信。PCI设备间的通信流程如图6所示。
3.3 应用程序与设备驱动的连接
应用程序是通过调用设备驱动程序来访问设备的。调用设备驱动有3种方式:直接调用、通过操作系统内核调用和通过操作系统的扩展模块调用。直接调用方式可以使应用程序高效地访问设备,但移植性差,且用户需自行管理设备;通过内核调用,由操作系统管理,移植性好,但增加了系统开销;通过扩展模块调用的优缺点与通过内核调用类似。
车辆显控系统是一个复杂的实时操作系统,需要良好的可移植性,且存在扩展模块,因此应用程序同时使用通过内核和扩展模块两种方式来调用设备驱动程序。通过内核调用通用设备驱动程序,通过扩展模块调用特殊驱动程序。
3.4 应用程序与设备的直接连接
针对一些特殊设备的控制要求,PowerPC控制主板对其采用直接控制的方式,而不通过设备驱动。
I2C总线是一种两线式串行总线,主要应用于微处理器外围芯片的扩展。它只需两根线——串行数据线和串行时钟线,即可实现微处理器与总线上具有I2C总线接口的设备进行数据交换。
I2C总线设备以其简单性和有效性被广泛使用。车辆显控系统中用于模拟视频显示的视频解码器CCX25836就是其中之一。CCX25836的寄存器需要用I2C总线进行配置,系统设计采用FPGA构建了硬件I2C电气结构,在PowerPC控制主板上用软件模拟视频解码器所需的I2C读写流程(详见图3~4),设置其寄存器,从而实现视频通道的切换、亮度对比度的调整等视频显示功能,如图5所示。
结语
PowerPC MPC8548E微处理器以其丰富的接口、较强的运算能力、较快的处理速度、稳定性和易扩展性受到嵌入式系统开发者们的青睐。车辆显控系统的主板采用此芯片为核心处理器,配备必要的外围接口,并采用VxWorks作为运行在其上的操作系统,使其具备了实时处理多任务的能力。通过扩展PCI设备,实现了显控系统设备间、显示系统与其他系统设备间的数据交换和控制。
评论