0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MPC7448芯片和vME单板机实现嵌入式SMP系统的设计

电子设计 来源:微计算机信息 作者:李相国 , 杨树元 2020-09-16 18:06 次阅读

1 前言

对称多处理(SMP)是一种基本的并行处理结构.它的基本特点是所有处理器对系统公共资源的访问权限完全相同,即处理器之间完全对称。SMP系统在软件方面具有容易编程的特点。伴随着并行计算及多核处理器的流行,SMP系统得到越来越广泛的应用。

MPC7448是Freescale公司推出的一款高性能PowerPC处理器芯片,该芯片采用超标量e600内核。该处理器具备高性能、低功耗的特点,非常适合于尖端计算、嵌入式网络通信信号处理等应用场合。Tsi109是Tundra公司专为PowerPC处理器设计的主桥芯片,它支持Freescale的MPC74xx和IBM的PPC750xx系列芯片。Tsi148是Tundra公司推出的PCI/X-VME桥接芯片。

本文的嵌入式SMP系统基于MPC7448芯片,结合主桥芯片Tsi109和桥接芯片Tsi148设计的一个vME单板机。该系统具备优秀的计算性能,具有良好的通信能力。文章介绍了该嵌入式系统的硬件系统设计和系统软件开发过程。

2 系统硬件设计

2.1 系统整体简介

构建SMP系统需要处理器和主桥芯片的硬件支持,MPC7448和Tsi109支持sMP系统,Tsi109支持两个处理器。

Tsi109提供如下接口功能:处理器接口;DDR2内存系统接口;HLP接口;PCI/X总线接口;还集成了千兆以太网口和UART口。Tsi109提供了接口控制和接口间的高速互连功能,因此,本文以Tsi109为中心进行系统构建。系统整体结构如图(1)所示,系统充分利用了Tsi109提供的接口功能,并通过PCI/X总线扩展了VME总线和PMC接口。

基于MPC7448芯片和vME单板机实现嵌入式SMP系统的设计

图1 系统整体结构图

2.2 处理器接口设计

可以把该接口信号分为三类:时钟信号、单向点对点信号和普通信号。说明如下:(1)Tsi109提供三个完全相同的时钟信号,可以为2个处理器及反馈使用。(2)单向点对点信号主要是仲裁信号和中断信号。分为两组分别接两个处理器。(3)普通信号为两个处理器共用。由于对两个处理器共用,在布线时需要选择合适的拓扑结构,推荐使用Y型结构。

为了区分系统中的两个处理器。把它们标识为CPUO和CPU1。系统可以通过两种方式进行识别:(1)读取自己的寄存器位MSSCR0[ID]。(2)读取Tsi109的寄存器位PB_BUS_MS_SELE CT[WAMI]。连接到PB_BGn[0]的处理器总读取到0,连接到PB_BGn[l]的处理器总读取到1。我们把连接PB_BGn[0]的处理器设置为CPU0.把另一个设置为CPU1。

2.3 存储系统设计

Tsi109支持DDR2-400内存系统。内存接口包括数据信号、时钟信号、地地命令信号和控制信号。其中,数据信号包括64位数据位、8位校验位和18对源同步差分时钟信号;时钟信号包括6对差分时钟信号,分为两组分别由寄存器位SD_D[O,l]_CTRL[CLK_DISABLE]控制;控制信号分两组,包括2个时钟使能、4个0DT使能和4个片选,因此,Tsi109支持2个DIMM内存插槽,可以使用1-Bnak或2-Bank内存条。

本文使用内存颗粒K4T51083QC通过位扩展方式构建内存系统,使用第一组控制信号。把数据位和校验位依次分为9个字节,源脚步信号和字节号依次对应。每个字节对应一个芯片;控制信号、地址/命令信号为所有芯片共用;为了布线方便, 两个芯片使用一个时钟信号,为此,在内存初始化时不但要设置DIMMO寄存器组,还要正确设置SD_D{l}_CTRL[CLK—DISABLE]。上述信号中.数据信号是点对点连接,DDR2内存系统对这些信号提供了片上终端(0DT),因此,拓扑结构简单,信号完整性也容易得到保证,为方便布线还可以进行片内交换;其余信号都是一对多连接,必须选择合适的拓扑结构和布线约束,并且要对这些信号添加终端匹配电阻。通过仿真。选择使用对称二叉树结构进行布局、布线,校验芯片挂在第一个节点上。

HLP接口是Tsi109提供的一种低速存储器接口,可以挂载ROM、EEPROM、FLASH、SRAM、NVRAM等多种存储设备。该接口有4个片选信号。可以挂载4个独立外设。本系统充分使用了这4个片选信号,在HLP_CS0上挂载AM29LV040B作为启动FLASH。该接口有两种工作模式:锁存模式和非锁存模式。锁存模式下地址信号更加稳定,而且,由于独立使用32位HLP_AD用于地址信号和数据信号,可以使用大容量Flash芯片,还可以使用32位器件。本系统全部使用锁存模式。

HLP是系统中重要接口。在系统加电及完成内部寄存器初始化后,MPC7448开始向Ox0_FFF0_0100位置读取第一条外部指令.这一读取指令被Tsi109自动引导到HLP接口与HLP_CS0连接设备上。因此,这里要保存系统的启动程序,操作系统和应用程序也保存在该接口的存储设备上。

2.4 通信系统设计

本系统使用PCI/X-VME桥接芯片Tsil48进行VME总线设计。Tsil48的信号可以分为PCI/X接口信号和VME接口信号。PCI/X接口信号连接系统PCI,X总线,占用PCI总线的PCI_REQ1,PCI_GNTl;VME接口信号通过TI公司VME收发芯片SN74VMEH2250l和VME连接器相连。Tsil48支持2eSST协议。

Tsi109集成以太网控制接口,可以连接两个物理连接设备(PHY)。本文使用Broadcom公司的以太网收发芯片BCM546l进行网口设计。BCM5461与Tsi109的连接使用千兆比特介质无关接口(GMⅡ)协议,与RJ45接口的连接通过隔离变压器。

串口是系统调试中一个方便接口。Tundra公司把串口集成到Tsi109中,简化了系统串口设计。串口的电路设计较为简单,使用一个电平转换芯片MAx3222连接Rs232连接器。

2.5 系统时钟和电源设计

系统使用一个33MHz的晶振作为基准时钟源,接入Tsi109的输入管脚CG_REF.经过内部倍频、缓冲,生成处理器接口、DDR2内存接口、PCI/X接口及Tsi109内部所需的时钟信号。处理器接口和DDR2内存接口的倍频因子可以通过CC_PB_SELECT[0..2]和CG_SD_SELECT[0..2]进行配置。

电源设计是系统设计中非常重要的组成部分,电源的稳定性将影响到系统的可靠性和稳定性。系统中电压值较多,多电压器件对加电时序也有一定要求。本文通过两个相互联系的步骤进行电源设计:(1)分析系统所需电压值,进行电压值的最大功耗统计,然后进行电源芯片的选型和电路设计;(2)分析多电压芯片的时序要求,设计系统的加电时序,然后对分立电源添加控制.组成完整的电源系统。系统为MPC7448内核选用TI公司的电源模块PTH03030。其余电压使用电源芯片构建;使用ADM1085进行时序控制。

3 系统软件开发

SMP系统需要操作系统的支持才能使用。在嵌入式领域,目前支持PowerPc且支持SMP的操作系统有Linux、QNX、eCos等.另一个重要操作系统VxWorks在新版本6.6中加入了对SMP支持。本文使用Linux操作系统。

进行嵌入式开发,首先要建立交叉开发环境。可以下载最新内核源码包及工具链包,自行构建、配置开发环境。本文选择使用ELDK开发套件。

3.1 U-Boot的移植

U—Boot是一个开放源代码的固件程序。它起源于PPCBoot,基于PowerPc处理器编写。目前能够支持PowerPC、ARM、x86、MIPs等多种处理器,支持上百种系统平台,能够引导Linux、NetBSD、vxworks等多种操作系统。本文使用U—Boot构建系统的启动程序。

PowerPC体系结构的I/O寻址采用内存映射方式,即内存地址和I/O地址统一编码,在进行代码移植前,需要首先确定系统的地址映射关系,本系统地址映射见表(1)。u—Boot的移植可以通过以下步骤进行:(1)搜索u—Boot源码,找到一个和目标板最为接近的参考平台mpc7448hpc2;在board目录下创建目标板目录smp7448,复制参考平台文件到该目录,修改文件名为smp7448.c.在include/configs目录下找到参考板头文件,复制并创建目标板头文件smp7448.h;在顶层目录Makefile文件内添加目标板定义。(2)根据地址映射表修改目标板头文件中宏定义,这需要参考MPC7448和Tsi109相关寄存器格式;阅读目标板源代码,根据系统参数进行必要的修改和调整。(3)编译、下载和调试,直至顺利启动,能够进入命令状态。

表1 系统地址映射表

上述是单处理器的U-Boot移植,在SMP系统下稍有不同。大多数SMP系统的启动过程都由一个处理器来完成。其它处理器处于待命状态。在PowerPc平台规范中,负责启动的处理器称作主处理器.其余为从处理器。对SMP系统的U—Boot移植,需要在单处理器初始化代码的开始部分添加一个基于处理器识别的分支处理代码,让主处理器正常执行,从处理器直接跳转某地址(linux下为一secondary_hold)。需要说明的是。这里的“主”、“从”概念只在系统初始化阶段有意义,操作系统初始化完毕后处理器之间完全对称。

3.2 Linux的移植

LinⅡ操作系统是一个基于CPL版权的自由软件。目前,Linux已经支持x86、ARM、PowerPc、MIPs等多种处理器平台,另一方面。Linux已经在嵌入式系统.PC系统、服务器等场合得到广泛应用。自2.0版本开始提供对SMP支持,2.2版本添加PowerPc平台上SMP支持,直至在2.6版本中做了重大改进,包括复杂度为调度算法、独立的运行队列、基于优先级的任务抢占、SMP负载平衡等,Linux才更好地支持了SMP系统。

Linux源码分为体系无关和体系相关两部分,后者又可以具体分为处理器相关和平台相关。移植工作主要在平台相关代码部分。Linux移植可以通过以下步骤进行:(1)查找和目标平台相似的参考平台,在arch/powerpc/platforms 目录下创建目标板目录(本文目标板使用原有的platforms/embedded6xx目录). 添加目标板配置源文件和头文件,在该目录Makefile文件和内核配置文件Kconfig里添加目标板信息;在顶层Makefile文件内设置目标板编译参数:ARCH=powerpc及CR0SS_COMPILE=ppc_74xx-;(2)进行目标板平台代码的修改;添加必要的驱动程序;(3)配置目标板:make menuconfig;编译生成内核镜像: make;制作根文件系统;(4)在u-Boot启动完毕后,使用tftp下载Linux内核镜像和根文件系统,运行Linux。

u-Boot及Linux移植成功后,即可进行应用软件的开发。

4 结束语

本文介绍了一个基于PowerPc的嵌入式SMP系统设计。本文的创新点在于,分析和设计了一个基于PowerPC的SMP系统。并介绍了相应的系统软件开发。本文可为嵌入式系统设计提供一定参考价值。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    455

    文章

    50816

    浏览量

    423613
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305198
  • 接口
    +关注

    关注

    33

    文章

    8598

    浏览量

    151157
收藏 人收藏

    评论

    相关推荐

    单片机与单板机的区别

    单板机的名称较早,系指将一个计算机的主要部件都放在一块电路板上的专用计算机。单板机上设备部件星罗棋布。单片机一词出现在超大规模芯片制造之后,系指将一台计算机的主要部件都放到一块芯片之中
    发表于 09-25 05:02

    ATMEL MYS-SAM9X5 系列单板机(ARM926EJ-S内核)

    ATMEL AT91SAM9x5芯片的外设特点进行板级实现,更方便直接嵌入目标嵌入式产品。全面稳定的软件支持包含MDK测试例程,Linux系统
    发表于 10-15 15:22

    ATMEL MYS-SAM9G45 单板机(ARM9内核)

    Ethernet controller,高速 SDIO/MMC接口, 1280x860电阻屏的LCD控制器,触摸屏以及摄像头接口等。  MYS-SAM9G45单板机的科学设计为SAM9G45 ARM9的嵌入式
    发表于 10-15 15:29

    基于VxWorks 的嵌入式系统复合通信模式

    嵌入式系统与VxWorks实时操作系统应用愈加广泛的背景下,结合嵌入式系统对于各类实时通信方式的不同需要,提出基于控制应用的复合通信模式;
    发表于 05-15 13:45 9次下载

    基于PowerPC的嵌入式SMP系统设计

    本文提出了一个基于PowerPC 的高性能嵌入式SMP 系统设计方案,该系统使用高性能的处理器MPC7448,具备优秀的计算性能。文章介绍了
    发表于 08-05 11:06 16次下载

    SBC8100单板机设计及使用指南

    SBC8100单板机设计及使用指南 SBC8100单板机为开发者使用OMAP35x系列处理器提供了完善的硬件及软件开发环境,支持linux-2.6.22操作系统及WinCE6.0操作系统
    发表于 03-09 09:27 40次下载

    嵌入式系统支柱学科的交叉与融合

    嵌入式系统支柱学科的交叉与融合 嵌入式系统的概念源于微型计算机的嵌入式应用。早期的嵌入式
    发表于 03-29 15:10 1022次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>支柱学科的交叉与融合

    单板机自动复位电路图

    单板机自动复位电路图
    发表于 05-30 15:55 1171次阅读
    <b class='flag-5'>单板机</b>自动复位电路图

    基于MPC7448的高端PowerPC常见问题解决方法

    基于MPC7448的高端PowerPC常见问题解决方法
    发表于 09-23 17:16 46次下载

    米尔科技推出物联网/工业4.0最佳平台MYS-6ULX系列单板机

    米尔科技近期隆重推出MYS-6ULX系列单板机平台,该产品基于NXP公司I.MX6UL/I.MX6ULL系列处理器(ARM Cortex-A7,528MHz),采用紧凑且稳定可靠的硬件设计并配套丰富的软件及文档资源,为物联网应用、工业控制及通信应用提供了性能可靠、成本领先的嵌入式
    发表于 04-27 18:58 1823次阅读

    基于MVME2700单板机实现DSP系统实时通信控制的方案研究

    分析在Apex软件环境下,SHARC处理器阵列板与MVME2700单板机基于VME总线的交互通信机制;利用该机制在VxWorks操作系统下,实现MVME2700
    的头像 发表于 01-22 11:00 2463次阅读
    基于MVME2700<b class='flag-5'>单板机</b><b class='flag-5'>实现</b>DSP<b class='flag-5'>系统</b>实时通信控制的方案研究

    如何使用MPC7448结合vME单板机设计嵌入式SMP系统

    对称多处理(SMP)是一种基本的并行处理结构.它的基本特点是所有处理器对系统公共资源的访问权限完全相同,即处理器之间完全对称。SMP系统在软件方面具有容易编程的特点。伴随着并行计算及多
    发表于 09-20 09:44 1501次阅读
    如何使用<b class='flag-5'>MPC7448</b>结合<b class='flag-5'>vME</b><b class='flag-5'>单板机</b>设计<b class='flag-5'>嵌入式</b><b class='flag-5'>SMP</b><b class='flag-5'>系统</b>

    基于MPC8536的VME总线嵌入式控制器研制

    基于MPC8536的VME总线嵌入式控制器研制(嵌入式开发大作业程序)-该文档为基于MPC8536的VM
    发表于 07-30 15:38 7次下载
    基于<b class='flag-5'>MPC</b>8536的<b class='flag-5'>VME</b>总线<b class='flag-5'>嵌入式</b>控制器研制

    创龙科技推出全新业务-“工业单板机

    创龙科技10多年来一直专注于ARM、FPGA、DSP异构多核技术开发,为了满足客户更多应用场景的“嵌入式工业平台”需求,创龙科技正式推出全新业务线-“工业单板机”!
    的头像 发表于 12-21 11:15 563次阅读

    基于模块电源的船舶集控系统嵌入式单板机电源设计

    基于模块电源的船舶集控系统嵌入式单板机电源设计 引言 某船集控系统采用SBS公司VME总线嵌入式
    的头像 发表于 12-17 14:43 221次阅读
    基于模块电源的船舶集控<b class='flag-5'>系统</b><b class='flag-5'>嵌入式</b><b class='flag-5'>单板机</b>电源设计