基于POWER PC的数据处理系统设计

2018-06-08 10:03吴杰
科技视界 2018年8期
关键词:数据处理

吴杰

【摘 要】数据处理系统适合于车载、机载等恶劣环境下,运行多任务实时操作系统,完成信息层数据运算,以及高性能图形显示等多种应用。本文对于相关数据处理系统设计具有参考意义。

【关键词】POWER PC;数据处理

中图分类号: TP274.2 文献标识码: A 文章编号:2095-2457(2018)08-0004-004

Design of data processing system based on POWER PC

WU Jie

(The 20th Institute of China Electronics Technology Group Corporation, Xi'an 710068, China)

【Abstract】The data processing system is suitable for many applications,such as vehicle,airborne and other harsh environment,running multi task real-time operating system,complete data operation of information layer,and high performance graphics display. This paper has reference meaning for the design of related data processing system.

【Key words】POWER PC; Data processing

随着嵌入式系统的广泛应用,数据处理系统的扩展性和通用型越来越受到大家的关注。本文中的數据处理板核心处理芯片采用基于POWER PC架构的MPC8548芯片,具有处理速度快,通用接口丰富、工作温度范围大的特点;软件部分选用多任务实时操作系统VxWorks,可以同时完成数据运算、高性能图形显示等多种工作,支持透明的底层硬件操作,实现软件编写与硬件设计分离,简化了底层软件设计,有很好的的扩展性和移植性。

1 系统设计

本设计中采用POWER PC作为核心处理芯片,实现多任务并行数据处理功能;CPU主控MPC8548为整个模块数据处理中枢,处理外围各种芯片采集的数据,并将必要的数据保存到非易失存储器。系统将高性能 MPC8548与嵌入式显示芯片SM722集成在一起,CPU通过PCI总线传输数据到显卡,提供用户交互界面;FPGA通过构建寄存器和双口RAM实现接口通信和时序控制等功能;DSP完成浮点运算和数据处理的功能;话音电路完成话音编解码和数模转换功能。系统提供丰富的外部接口,包括串口(RS2232和RS422)、以太网接口、USB接口、LVDS总线接口以及VGA接口。系统设计框架如图1所示。

2 硬件设计

2.1 主控芯片设计

本设计的POWER PC芯片选用Freescale公司的MPC8548处理器,该芯片是一款高性能、低功耗的32位RISC处理器。最高主频超过800MHz,具有很强的定点和浮点计算能力。该处理器内部架构如图2所示。

MPC8548处理器具有强大的e500 PowerPC内核、512KB的二级缓存,使得处理器的性能与I/O系统输入之间能够协调匹配。除了具有高性能的e500内核,MPC8548还具有1个64位、频率为400MHz的DDR2 SDRAM存储控制器、4个千兆以太网控制器、1个DUART、1个4通道的DMA控制器、1个本地总线控制器、2个I2C控制器和1个串行周边接口 (SPI)。MPC8548还具有2个32位PCI控制器。MPC8548不仅拥有强大的数据处理能力,还具有很强的通信处理能力,可靠性高,抗恶劣环境能力好,特别适合对网络性能要求较高及有多个接口的应用场合。

2.2 外部存储设计

利用MPC8548 PCI桥,通过Silicon Motion的Sil0680A扩展出电子盘接口模块,该芯片提供了PCI总线与IDE接口的桥接,它能接收来自PCI总线的命令去操作IDE接口,然后再通过SM223芯片接Flash芯片,实现板载8GB Flash空间。NAND FLASH芯片选用一片 K9WBG08U1M 芯片实现。

本处理系统的DDR内存扩展通过挂接 5片 MT47H64M16芯片实现。MPC8548内部集成了 DDR2存储控制器,可以直接进行内存单元的行列访问和控制。每个内存芯片有64M X 16bit的存储空间,4片内存芯片拼接成 64bit位数据总线,构成512MByte的存储空间;另一片内存芯片实现ECC纠错,提高数据存取的可靠性。

Nor FLASH 的扩展由 Local BUS 接口上挂接存储芯片实现。NOR FLASH 选用S29GL512P芯片,每片有512Mb的存储空间,两片组合成 128MByte 存储空间。由于MPC8548的 Local BUS接口是地址数据复用,因此需要在local bus和flash芯片之间增加74LVT16373 器件完成地址数据信号锁存,MPC8548的Local Address Latch Enable (LALE)信号完成锁存使能控制,外部存储扩展如图3所示。

2.3 以太网接口设计

以太网功能模块的实现主要依赖于MPC8548自带的以太网控制器来实现两路百兆以太网接口,在外围配备 Marvell 88E1145 的物理层芯片来实现10\100 以太网接口。

2.4 串口设计

由于MPC8548只支持1路RS422串口,其他串口需要进行扩展,我们选择了XR16L784芯片扩展出1路RS422串口和2路RS232串口。

2.5 显示模块设计

显示模块使用Silicon Motion的Lynx3DM显卡芯片(简称SM722),SM722通过PCI总线连接到CPU,SM722对外输出一路VGA信号和一路LVDS信号。

SM722(Lynx 3DM8+ )芯片集成128位 2D/3D行动绘图引擎及8MB内建内存,能整合强化的多屏幕显示及硬件加速的MPEG/DVD播放功能于单一基板中,为用户提供了功能强大的图形显示系统。

2.6 USB接口设计

MPC8548没有自带USB接口模块,在设计中使用PCI总线进行扩展,本系统采用了PHILIPS公司的ISP1561芯片扩展出了四路USB接口,其中两路用于外接USB鼠标与键盘,另两路留作USB接口。

2.8 FPGA设计

FPGA选用的是Xilinx公司目前主流的Virtex-4系列的LX40,大概等效400万系统门,有较为充足的硬件资源自己的构建寄存器和控制逻辑。利用FPGA的双口RAM,FPGA与PowerPC采用EDMA方式进行通信。FPGA与PowerPC采用I2C总线发送控制命令,实现对秒脉冲信号的处理、记数、收发存储等功能。FPGA与话音电路通过内部寄存器完成数据传输。FPGA与外部设备通过高速LVDS总线进行通信,最高速率可达600Mbps。

2.9 DSP设计

DSP选用32位高速浮点型处理器TMS320C6713,时钟最高频率为300MHz,其内核采用超长指令字(VLIW)体系结构,单指令字长为32位,一个时钟周期同时执行 8 条指令,总字长达到256位,其最大处理能力可以达到2400MIPS。内部分为 8 个功能单元,具有64 个 32bit 通用寄存器。具有功耗低、通用性好的特点。DSP的EMIF接口的 CE0 空间挂接 16MB SDRAM存储数据; CE1 空间挂接 64MB FALSH 存储程序; CE2 和 CE3 空间连接 FPGA,作为DSP与 FPGA之间的数据总线。DSP可以通过HPI接口从FPGA中动态加载程序 。 DSP 可以通过自身程序运行或写 PWRD 控制字方式进入休眠状态。休眠模式可以通过中断唤醒,在FPGA中写入一个唤醒指令,产生一个中断信号送给 DSP。

2.10 话音电路设计

本系统的话音电路由2路模拟话音组成,每路包括话音模拟电路、A/D、 D/A、话音编解码芯片。通过外部PTT信号实现发话控制。

2.11 复位电路设计

系统总共有上电复位、手动复位、软件看门狗复位等三种复位方式。上电和掉电复位信号通过电源管理芯片产生;手动复位及外部复位均接入 CPLD, CPLD经过内部逻辑控制把复位信号送到 PowerPC、 DSP、 FPGA等芯片;CPLD 内部实现软件看门狗,结合PowerPC 芯片自带的看门狗电路,实现可靠的看门狗复位。

3 系统软件设计

整个数据处理板的软件主要由板级支持包(BSP)、VxWorks操作系统内核、系统引导代码、应用程序四部分组成。首先在板级支持文件基础上生成VxWorks操作系统映像(包含应用程序模块),系统上电启动后,引导程序将系统引导代码和 操作系统映像从Flash拷至SDRAM中,引导代码执行后跳转到VxWorks映像执行。数据处理板既支持以太网口将生成的VxWorks映像下载到板上进行调试,也支持将VxWorks映像固化到板上电子盘中,从FLASH上启动运行应用程序。操作简单,现场调试和软件升级尤为方便。软件框图如4所示。

3.1 板级支持包

BSP是针对目标系统所开发的启动代码和部分设备驱动程序的集合。最基本的BSP需支持处理机复位、初始化、驱动串口和必要的时钟处理。BSP的主要功能在于配置系统硬件使其工作于正常的状态,以及完成硬件与软件之间的数据交互,为OS及上层应用程序提供一个与硬件无关的软件平台。因此从执行角度来说,其可以分为两大部分:

目標系统启动时的硬件初始化及操作系统引导例程,它只在系统启动过程中执行一次;

目标板上控制硬件运行的设备驱动程序,由它来完成硬件与软件之间的衔接。包含部分必要的设备驱动程序和相关设备的初始化操作。这部分可以根据用户需要进行裁剪。

BSP在系统中的位置如图5所示。

硬件初始化及操作系统引导具体是指从系统上电复位开始直到VxWorks开始初始化用户应用时(即系统执行到usrAppInit函数处)的一段时间内系统所执行的过程。这个过程主要包括三个部分的工作。

CPU初始化:初始化CPU的内部寄存器(如状态寄存器、控制寄存器、高速缓存等)。

目标机初始化:初始化控制芯片的寄存器(如BUS、DMA、DRAM)、I/O设备寄存器(驱动各设备),为整个软件系统提供底层硬件环境的支持。

系统资源初始化:为操作系统及系统的正常运行做准备,进行资源初始化(如操作系统初始化、空间分配等)。

具体运行过程为:

系统上电之后,首先调用romInit()函数,禁止中断,清除cache,设置堆栈启动类型,初始化CPU基本寄存器,调用SDRAM初始化函数初始化,直接跳转到romStart()函数,把代码段和数据段从bootrom复制到RAM中运行,当中完成程序映象的解压缩跳转到usrInit()函数,执行VxWorks中的C语言代码。执行操作系统内核所必须的初始化程序,完成Cache程序的初始化,系统的BSS段清零,初始化中断向量表,最后进入到用户程序入口usrAppInit(),进行应用程序的运行。

从图中可以发现BSP不是一个设备驱动程序,因为设备驱动程序能够访问硬件设备(例如网络设备驱动程序、SCSI设备驱动程序),同时相同类型设备的驱动程序,可以不作修改从一个目标环境中移植到另一个目标环境中(例如网卡驱动程序);而BSP则只能运行在指定设备的硬件环境中。

就数据处理板来说,BSP除完成MPC8548的初始化外,还需完成以下设备的管理和驱动工作:

(1)SM722显示驱动:SM722提供了图形显示功能,其内部寄存器可通过映射到PCI寻址空间来进行访问。

(2)网络的访问驱动:对MPC8548的寄存器进行配置,实现MPC8548的两路网络端口访问。

(3)串口驱动:通过XR16L784实现了两路RS232的发送与接收,并支持MPC8548通过中断方式访问XR16L784;由MPC8548的DUART口扩展出一路RS422,通过中断控制数据发送与接收,从而实现UART的扩展。

(4)USB的驱动:MPC8548通过PCI扩展出的4路USB用于鼠标键盘接口,支持USB热拔插。利用SM722提供的硬件光标功能,实现支持用户可选的鼠标形状。

(5)电子盘驱动:MPC8548主板采用通过PCI转IDE芯片SIL0680外接IDE电子盘,电子盘驱动模块主要完成了SIL0680芯片的驱动,实现了SIL0680寄存器设置,配置了SIL0680的PCI地址空间,并完成电子盘文件系统的初始化,将电子盘配置为dosFs文件格式,通过ATA的PIO或DMA访问方式访问电子盘。

3.2 VxWorks操作系统

VxWorks 是美国Wind River System 公司推出的一个嵌入式实时操作系统。具有良好的移植性、扩展性和通用性。首先,该系统十分灵活,具有功能强大的应用程序接口(API)函数;其次,该系统可裁减性强,用户在使用操作系统时,并不是操作系统中的每一个部件都要用到,可以根据需要进行裁剪;再次,该系统可靠性很高,已经广泛应用到航空、航天、通信等领域,成为实际上的工业标准和军用标准。

本系统上所用的VxWorks5.5.1是在风河提供的集成开发环境Tornado2.2.1下编译生成的。

4 典型应用实例

本文中的数据处理系统具有多任务处理能力强,处理延时小的特点,可以作为各种通信设备、信息处理设备的核心处理单元,这里以某型高速信息处理计算机(简称信息处理机)为例。

信息处理机主要完成负责消息协议转换和处理、设备参数控制、消息统计和监控、设备状态查询等功能,由POWER PC数据处理板、时统处理板、底板和显控模块构成。设备组成如图6所示。数据处理板和时统处理板通过底板互联,数据处理板输出LVDS显示信号到显控模块,电源模块为整个设备供电。显控程序使用windml库开发,当数据处理板的操作系统启动正常后加载显控模块进行显示。多任务处理的应用程序通过VxWorks的任务调度函数調配运行。系统运行界面和显控界面如图7和图8所示。经测试,使用数据处理板的信息处理机的信息处理时延小于1ms,信息处理能力大于每秒500条。

5 结束语

基于MPC8548的数据处理系统具有数据处理能力强、接口扩展性强、软件移植性好的特点,得到了广泛的应用。本数据处理系统已应用于多型设备中,性能稳定可靠,满足各种复杂场景的使用要求,也为其他数据处理系统的设计提供了参考。

【参考文献】

[1]Freescale Semiconductor.MPC8548 PowerQUICCTMIII Integrated Processor Family Reference Manual[M].MPC8548ERM Datasheet. East Kilbride,USA:Freescale Semiconductor Inc,2007:1035-1222.

[2]王彦刚,吕遵明,万留进.VxWorks系统的BSP设计与实现[J].计算机系统应用,2011,20(12)91-94.

[3]赵爱君.DDR SDRAM原理介绍及其MPC8548 DDR2控制器参数配置[A].2010中国仪器仪表学术、产业大会(论文集2)[C].2010.

猜你喜欢
数据处理
验证动量守恒定律实验数据处理初探
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
ADS-B数据处理中心的设计与实现
MATLAB在化学工程与工艺实验数据处理中的应用
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
大数据处理中基于热感知的能源冷却技术
Matlab在密立根油滴实验数据处理中的应用
我国首个“突发事件基础数据处理标准”发布