基于MPC8247处理器的嵌入式电力交换系统开发

发布者:Harmonious88最新更新时间:2018-02-09 来源: eefocus关键字:MPC8247  处理器  电力交换系统 手机看文章 扫描二维码
随时随地手机看文章

    本文首先介绍了基于MPC8247的嵌入式电力交换系统的硬件平台,着重阐述了如何在MPC8247处理器上开发嵌入式电力交换系统,主要包括开发环境的搭建、系统引导模块U-Boot修改、内核的裁剪和移植,交换软件SDK移植,应用软件ZebOS的编译等。通过电力交换设备(DPN8000)的现场应用,证实该系统具有体积小,功耗低,高带宽等优点,为电力通信网络和系统的开发做出了贡献。


    随着电力通信的发展,电力业务量的增加,对嵌入式电力设备的I/O处理能力有了更高的要求,尤其需要能提供大容量、高速率和高带宽的语音、数据和视频业务支撑的嵌入式接入设备,因此,性能高,功耗低的大容量嵌入式电力设备倍受青睐。

    Freescale公司生产的PowerPC处理器MPC8247具有集成度高,功耗低和能支持丰富的外围设备等优点,再搭配IP Infusion的ZebOS(R)软件,实现了快速通信与高吞吐率的数据处理,有效地提高了网络的性能、降低了网络基础设施的成本并增加了运营商和企业的收益,很好地解决了嵌入式电力通信设备遇到的问题。本文以开发大容量电力光交换设备OLT(DPN8000)为背景,介绍了电力交换系统的硬件设计和嵌入式交换系统系统开发的搭建,重点针对如何实现嵌入式电力交换系统给出解决办法。

    1 硬件平台的概述

    MPC8247板主要包括CPU子系统,其系统框图如图1所示。

a.JPG

    MPC8247是Freescale公司MPC82XX系列微处理器的一种,主要由G2_LE内核(PowerPC 603e内核的一种),系统接口单元SIU以及通信处理模块CPM组成。支持60x总线,其数据线宽为64位,地址线为32位;支持PCILOCAL总线,其数据线宽为32位,地址线为32位。PowerPC8247内核工作时钟最高为400 MHz,CPM工作时钟最高为200 MHz。外设接口大致如下:

    (1)SDRAM:64位256 MB容量,由4片64 MB的MT48LC32M16A2TG组成,使用Local Bus的D[0:63]和A[16:28]。

    (2)FLASH:32 MB容量,由2片16 MB的S29GL128N组成,设计中该FLASH工作在WORD模式,使用Local Bus的D[0:31]和A[4:29]。

    (3)PCI总线:引出一个32位66 MHz的PCI总线,经过PCI-PCIe桥片PI7C9X10转换成为PCIe总线,经XMC连接器连接到底板的交换芯片BCM56 338,作为FabrIC芯片的管理端口。

    2 嵌入式系统开发环境的搭建

    2.1 准备开发环境

    通常嵌入Linux的开发分为主机系统和目标系统,他们之间通过网络接口和串口互连,网口一般用以下载程序和内核映像文件,串口一般作为console控制台来使用,在主机通过超级终端与目标系统进行命令交互,就像PC的键盘和显示器。

    嵌入Linux系统模型如图2所示。

b.JPG

    2.1.1 安装开发编译环境

    通常主机与目标板的CPU都不相同,需要进行交叉编译。在本项目中使用了GNU GCC工具链。GNUGCC的PowerPC版本需要交叉编译,所有源代码可以从FSF的FTP站点。

    整个建立过程为:下载源文件、补丁和建立编译的目录;建立内核头文件;建立二进制工具(binutils);建立初始编译器(bootstrap gcc);建立C库(glibc);建立全套编译器(full gcc)。

    安装好之后可以用“which ppc_8xx.gcc”来查找一下产生的目标执行文件在哪里。

    2.1.2 配置DHCP

    主机系统需要设置DHCP服务器,用于目标系统在采用BOOTP启动时获取IP地址。设置之前首先要知道目标系统的MAC地址,同时要保证主机系统安装了DHCPD服务器。修改虚拟机中/etc/dhcpd.conf配置文件,然后用如下命令重新启动dhcpd服务:


    #/etc/init.d/dhcpd restart

    同时启动dhcpd服务,使主机每次启动时自动启动该服务。

    2.1.3 配置TFTP服务器

    TFTP(简单文件传输协议)服务器用于目标系统从主机系统上获取可执行的代码或内核映象文件。

    以超级用户登录主机系统,编辑下面文件:

    #vim/etc/xinetd.conf

    去掉下面一行的注释:

    #tftp dgram udp wait root/usr/sbin/tcdp in.tftpd

    根目录下创建tftpboot目录:

    #mkdir tftpboot

    将每次编译好的目标代码拷贝到该目录下,在系统服务中启动TFTPD服务(运行#setup,在“System servICes”中选择。)然后执行:#service xinetd restart即可。

    2.1.4 配置NFS

    NFS主要是给目标系统提供一个根文件系统(Root Filesystem)。

    首先,编辑配置文件/etc/exporlts:

    #vi exports

    如果原来不存在,添加一行:

    /home/com_target_master*(rw,no_root_squash)

    “/home/com_target_master”是根文件系统所在的目录,“*”允许主机所在网段所有机器访问。和配置TFTP一样,在系统服务中启动NFS服务,重新启动系统或运行:

    #service nfs restart

    2.2 目标板FLASH资源分配

    对于系统平台来说,建立良好的FLASH分区是系统成功运行的基本保证。具体FLASH资源分配如表1所示。

d.JPG

    3 嵌入式系统开发的实现过程

    本文的软件平台是基于电力交换设备,DPN8000的开发环境为模型。搭建软件层次模型如下:e.JPG

    3.1 Linux系统引导模块uboot

    U-Boot是德国DENX软件中心依照GPL(General Public License)发布的系统引导模块,支持多种处理器,如ARM系列、PowerPC系列、MIP S系列、X86系列等。根据自己的目标系统修改编辑U-Boot包下的源文件,进行移植,最后编译U-Boot后生成二进制文件,用于引导系统。

    在U-Boot代码中,主要有关的代码设置在MYM(uboot)\cpu\mpc8260.c的代码中实现,但是该地址的定义在其平台说明头文件中。故增加一个mpc8247平台——mpc8260ads,在$(u-boot)\include\config目录下增加一个相应平台配置头文件说明-mpc8260ads.h,将与硬件有关的配置放在此文件中。对应SDRAM,FLASH等定义如下:

    (1)SDRAM的地址设定

    #define CFG_OR1 0xF0002900

    #define CFG_PSDMR 0xc4322423

    以上定义的为SDRAM的地址设定,由MPC8247片选CS1相关的寄存器设定。

    (2)FLASH的地址设定

    #define CFG_FLASH_BASE 0xfe000000

    #define CFG_BR0_PRELIM

    CFG_FLASH_BASE | 0x00001801

    #define CFG_OR0_PRELIM

    CFG_FLASH_BASE | 0x000008C2

    以上定义的为FLASH的地址设定,由MPC8247片选CS0相关的寄存器设定。

    (3)FPGA地址设定

    #define CFG_FPGA_BASE 0xF4500000

    #define CFG_BR3_PRELIM CFG_FPGA_BASE| 0x00001801

    #define CFG_OR3_PRELIM 0xFFFF8010

    以上定义的为FPGA的地址设定,由MPC8247片选CS0相关的寄存器设定。

    修改完成后,通过make得到u-boot.bin文件。

    3.2 Linux内核的移植

    由于嵌入式系统存储资源有限,精简内核就显得尤为重要。建立系统的新内核,最主要的工作就是配置内核参数配置内核文件,进入内核释放的目录下执行命令:#make menuconfig会生成新的.config文件。然后执行#make uImage,生成新的uImage,将生成的内核拷贝到tf tp目录下即可。

    使用tftp将内核镜像文件下载到目标板上,重新引导后,目标板即可成功启动。

    3.3 文件系统的制作

    将得到Busybox版本进行解压,配置和编译就可以得到想要的文件系统。具体命令如下:

    下载一个busybox-1.1.3.tar.gz

    #tar xvzf busybox-1.1.3.tar.gz

    #cd busybox-1.1.3

    #make defeonfig

    #make menuconfig

    Busybox编译出一个单个的独立执行程序,就称为Busybox,它集成了非常多的命令工具,如果要使用某一命令,需要做一个软链接就可以了。在这个项目中,采用busybox来配置所需各类文件,具体方法参见busybox的手册。

    3.4 SDK的移植过程

    将拿到的sdk-xgs-robo-5.6.2.tar.gz的源码文件解压到/home/corn_work/目录下:

    #ed/home/com_work

    #tar-zxvf sdk-xgs-robo-5.6.2.tar.gz

    3.4.1 设置环境变量

    设置环境变量如下:

    #export SDK=/home/com_work/sdk-xgs-robo-5.6.2

    这样SDK的环境路径已经设好,进入make目录下,修改对应的Makefile.linux-bmw和Make.LOCal文件,使这2个文件对应的内核,编译器路径和交换芯片类型是所需要的类型。

    3.4.2 编译SDK

    如果想重编译SDK,只需进入:/home/eom_work/sdk-xgs-robo-5.6.2/systEMS/linux/kernel/bmw目录下,执行#make clea n;make将生成的模块拷贝到对应文件系统的对应的目录下即可。

    生成的模块如表2所示。

l.JPG

    然后将用到的模块加载。执行过程如下:

    #insmod linux-kernel-bde.o-f

    #insmod linux-uk-proxy.o-f

    #insmod linux-bcm-diag-full.o-f

    #./bcm.user.proxy

    3.5 ZebOS的移植过程

    将拿到的ZebOS771.tar. gz的源码文件解压到/home/corn_work/目录下:

    #cd/home/com_work

    #tar-zxvf ZebOS771.tar.gz

    3.5.1 建立环境变量

    进入zebos目录下:

    #cd/home/com_work/ZebOS771

    建立set_export.sh文件源码如下:

m.JPG
      修改完set_export.sh文件,执行:#source set_export.sh即可。

    3.5.2 修改配置文件编译ZebOS

    进入ZebOS目录下,主要修改的文件是config.sh,修改好自己要编译的模块,执行:#.config. sh进入platform/linux目录下:#cd platform/linux

    #make clean;make all就好了。将platform/linux/bin目录下生成的bin文件拷贝到文件系统对应目录下,这样,就完成了整个系统的开发搭建。

    4 结语

    基于MPC8247嵌入式电力交换系统的设计,具有体积小、功耗低、性能高,丰富的应用接口等优点,随着大容量电力光交换设备DPN8000的现场应用,证实该系统充分发挥了对网络和配电等设备的强大支持功能。该平台系统在变电站工作环境比较恶劣的条件下有较好的适应性和强大的通信能力,提供了更高的转发速率,更大的吞吐率和更好的包处理能力,充分体现了其优异的性能。


关键字:MPC8247  处理器  电力交换系统 引用地址:基于MPC8247处理器的嵌入式电力交换系统开发

上一篇:基于SKJ-II型数字随动系统的PWM装置数学模型分析
下一篇:基于内核对象的Linux输入子系统触摸屏的驱动设计

推荐阅读最新更新时间:2024-03-16 15:54

中容量STM32处理器启动代码的理解
今天要介绍一下STM32的启动代码,我这里使用的是中容量的STM32f103c8t6,对应的启动文件就是startup_stm32f10x_md.s,我这里启动文件版本是V3.6.2 不多说废话,先上我注释过的源码: /** ****************************************************************************** * @file startup_stm32f10x_md.s * @author MCD Application Team * @version V3.6.2 * @date 28-February-2013 * @b
[单片机]
基于EP9312的银税类嵌入式系统硬件设计方案
1 嵌入式系统的概念与特点 嵌入式系统结合微处理器或微控制器的系统电路与其专属软件,达到系统操作效率的最高比,这里把嵌入式系统定义为一个体积较小的计算机系统(与PC机相比),由于其体积较小,因此软硬件结构和应用范围与PC机相比有较大的不同,其特性可归纳为下列四项: (1)通常执行特定功能; (2)以微电脑与外围构成核心; (3)严格的时序与稳定性要求; (4)全自动操作循环。 嵌入式系统具有目的性或针对性,其开发是围绕着产品和产品的特定功能来进行的。它必须最大限度的在硬件和软件上"量身订作"以提高效率 ,本文设计的嵌入式系统主要用于金融和税务类产品。 2 总体设计 2.1 CPU的选择 本文采用的是Cirrus L
[应用]
带你认识型号纷繁的高通骁龙80X处理器
    每每提到高通骁龙800系列处理器,大家一定会将它与高性能、旗舰等名词相挂钩,但是高通骁龙800只是一个系列的家族代号。在800这个数字的背后还拥有众多的小分类,不过这些复杂细致的分类,经常会把大家弄得十分头痛。今天我就带大家细致得剖析一下高通骁龙800,让大家不再傻傻分不清楚。 高通骁龙800处理器解析(图片来自网络)   骁龙800主要技术规格解读   处理器   制程:28nm   架构:Krait 400   核心数:4核   主频:单核速度可达2.3GHz   GPU   Adreno 330 GPU(支持各种计算API,包括OpenGL ES 3.0、DirectX、OpenCL、Renderscript Co
[手机便携]
SPARC V8结构嵌入式微处理器开发环境的设计实现
SPARC V8 ( Sc a l a b l e Pr o c e s s o rArchitecture V8)是Sun Microsystems 提出的一种32位RISC微处理器结构,此结构的处理器具有指令系统简单、采用硬布线控制逻辑、处理能力强、速度快、可靠性高等特点,基于这些特点,SPARC结构处理器现在被广泛地应用于UNIX工作站、服务器等稳定性要求很高的环境中。随着SPARC V8结构处理器越来越广泛的应用,如何搭建此结构微处理器的软件和硬件开发环境是一个值得研究的课题,本文中详细地阐述了开发环境的硬件平台设计方案和软件集成开发环境设计思路。   SPARC V8结构嵌入式微处理器的硬件开发环境设计硬件开发环境以
[单片机]
华为新旗舰完全曝光:搭载1.6GHz四核处理器
    目前已经可以确定华为新旗舰Ascend P7将于5月7日在法国巴黎正式发布,现如今其配置也被完全曝光了。   从微博用户 @包子玩机 公布的图片来看,华为新旗舰P7采用的是1080p分辨率显示器,搭载的是Kirin 910T四核1.6GHz处理器(Cortex-A9架构,GPU为Mali-450 MP4),内置2GB内存,运行基于Android 4.4.2的Emotion UI 2.3。   此前曾有消息称华为新旗舰P7搭载的是真八核处理器,而随后又有消息称其搭载的是高频版四核1.8GHz的Kirin 910,但现如今其配置终于明确了,它搭载的不过是四核1.6GHz的Kirin 910T而已,大家失望吗?
[手机便携]
IAR由来以及全球首个8051 C编译器
  选择为C做一个编译器是IAR公司成立之初的一部分成功。Pascal在当时也是一个选项,但是最终并没有被用于嵌入式研发中。   IAR公司诞生于这三个字母中后两个字母所代表的天才——Anders Rundgren先生——的嵌入式编程的满腔热情中。   “我给我的孩子命名为Pascal,但最终选择了C做第一个编译器,” Rundgren先生微笑着说。   IAR公司成立于1983年,而第一个C编译器是若干年以后的事情。在那些日子里,没有多少人相信C编程语言会有美好的前景,尽管如此,它与处理器不同部分直接通讯的能力是Anders Rundgren先生选择C的一个重要原因。   “这纯属运气,” Rundgren回顾往事时
[嵌入式]
Intersil推出针对应用处理器、GPU、FPGA以及系统电源的最小尺寸和最高效率PMIC
瑞萨电子株式会社子公司Intersil今天宣布,推出一款用于应用处理器、GPU、FPGA和高性能系统电源的高度集成且可编程电源管理IC(PMIC)-- ISL91211,在1.1V输出电压下效率可达91%。该新型PMIC的低RDS(on) MOSFET和可编程PWM频率有助于工程师使用更少的外部元件,实现比竞争解决方案小40%的50mm2电源。ISL91211三、四输出PMIC是采用单芯锂离子电池或2.5V – 5.5V电源供电的智能手机、平板电脑、固态硬盘、网络和无线物联网(IoT)设备的理想选择。下面就随电源管理小编一起来了解一下相关内容吧。 Intersil推出针对应用处理器、GPU、FPGA以及系统电源的最小尺寸和最高
[电源管理]
14纳米制程技术将使英特尔未来 12~18 个月之间...
直被外界讥为「挤牙膏」的处理器大厂英特尔(Intel),日前宣布自 2018 年起 3 年内,扩建以色列工厂升级制程技术之后,意味着英特尔 10 纳米制程已在计划中,但英特尔投资扩厂的时间还要长达两年,代表目前英特尔 14 纳米制程还要继续用下去。但英特尔 14 纳米究竟还要用多久,日前英特尔给了官方答案:还在持续改良,且较首代产品提升 70% 的 14 纳米制程,未来 12~18 个月内还会继续使用。 根据日前参加摩根大通(JPMorgan)第 46 届全球技术、媒体及通讯会议的英特尔高级副总裁 Murthy Renduchintala 表示,早在 2014 年首次定义 10 纳米制程时,英特尔就提出非常苛刻的目标,就是
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved