当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]PowerPC嵌入式系统中的以太网接口设计

l 引 言
    PowerPC是1993年IBM,Apple和Motorola公司(其半导体部门现在分拆为Freescale公司)联盟的共同设计的。PowerPC技术以RISC(精简指令集计算机)为基础,该技术由IBM的POWER(性能优化的增强RISC)体系结构而来。因PowerPC芯片具有高性能和低功耗的特点,主要应用在嵌入式系统。MPC7410是新一代G4处理器,通过加入A1tiVec技术,处理能力达到4G FLOPS,而1.8V的低电压操作大大降低了芯片的功耗,提高了系统的稳定性。MPC7410内部主频最高为500 MHz,每个时钟周期最多可以执行8条指令,其中包括4条矢量运算(A1tiVec)指令和2条整型指令。系统采用MPC7410为核心处理器搭建嵌入式系统硬件平台。利用Tsi107芯片组的PCI接口连接以太网。网口是系统非常重要的通信接口,通常情况下操作系统映像的下载以及与外界的通信都是通过以太网口进行的。文中介绍了以太网接口硬件设计和VxWorks BSP的开发。


2 系统结构概述
    整个系统结构框图如图1所示。

 在系统中使用了Motorola公司的RISC处理器Pow—erPC7410作为核心处理器,该处理器具有高性能和低功耗的特点,外接一个2 MB L2作为二级缓存,以提高运算速度。以Tundra公司为PowerPC专门设计的桥芯片/存储器控制器Tsil07作为北桥芯片,利用60X总线和MPC7410相接,用以把60X总线信号转化为PCI总线信号,并管理FLASH和SDRAM。此设计充分利用60X总线高数据传输速率和优秀的连接性能,发挥了MPC7410的高可靠性和强大的处理能力,使该硬件平台具有很高的性能。


3 Tsil07的PCI接口
    Tsil07的PCI接口与PCI 2.1规范兼容。使用一个32位地址/数据复用线。在PCI总线和处理器或本地memory之间提供内部缓冲。处理器读和写操作分别有1个32 B缓冲,memory操作具有2个32 B读缓冲和2个32 B写缓冲。PCI总线使用中央仲裁方式,每一个master都有它自己的请求(REQ)和获得(GNT)信号。可通过一个简单的请求——获得握手获得总线的控制权。仲裁在前一个访问时发生,故不会占用PCI总线的周期。
    Tsil07为自身和另外最多5个PCI总线master提供总线仲裁逻辑,可通过设置PCI仲裁控制寄存器(PACR)的位15决定是否使能(置为1)或禁止(置为O)片内PCI仲裁器。在复位信号(HRESET)为高时采集SDMA9以确定片内PCI仲裁器被使能(低)或禁止(高)。
    片内PCI仲裁器使用一个可编程的、两级、round—robin仲裁算数逻辑,5个外部master的每一个,加上Tsi107使用PACR中的适当位被编成2个优先级,高或低。低优先级组在高优先级组中共同占用一个总线请求传输通道。系统中如果有N个高优先级设备和M个低优先级设备,则每一个高优先级设备最少会得到总线传输,每个低优先级的设备最少会得到总线传输。


4 地址映射关系
    根据Tsi107在电路中所起的作用它的工作方式可以分为2种,host mode和agent mode。在host mode,Pow—erPC是整个板子的主CPU,Tsi107管理整个系统的Memory和PCI总线。在agent mode,PowerPC系统是一个PCI设备,Tsi107负责和PCI主桥通信,管理这个PCI设备局部的memory。整个PowerPC系统受PCI主桥管理。在本系统中Tsi107工作在host mode。Tsil07在host mode时可采用2种地址映射方式,map A和map B。在复位时通过地址映射配置引脚SDBA0选择地址映射方式。如果Tsi107工作在host mode并且SDBA0上拉,则Tsil07使用map B。建议不使用map A,使用map B时,PowerPC和PCI的地址映射关系如表1所示。

[!--empirenews.page--]

5 网口部分设计
    网口部分的设计基于芯片组Tsil07控制的PCI总线,基本框图如图2。

网口部分主要由Intel 82559,网络隔离变压器和RJ45接口3部分组成。82559是一个高集成度、高性能、低功耗的10/100 Mb/s快速以太网控制器,符合LON设计规范。物理尺寸只有15 mm×15 mm,是一款高性价比芯片。82559有完整的PCI接口,既可作主设备又可作从设备,在系统上电对其进行配置时只能作为从设备,正常工作后可作为主设备。32位的PCI控制器使82559在PCI总线上执行高速的数据传输。并且PCI控制器可处理通信任务,因而减轻CPU的负担。82559包含一个传输FIFO和一个接收FIFO,大小各为3 kB,在等待总线传输时可防止数据的流失。这将使82559利用最小的帧间距传送数据。82559可工作在全双工和半双工模式。82559连接一个E2PROM,E2PROM为硬件和软件提供上电初始化。在82559芯片上集成了MAC(介质访问子层)和PHY(物理层)的功能,通过片上的命令和状态寄存器经由PCI总线和PowerPC通信。H1102是一个网络隔离变压器,82559通过网络隔离变压器驱动刚45网线接口,用来支持10/100BASE—T,实现与外界通信。


6 以太网的VxWorks BSP的开发
    BSP即Board Support Package,板级支持包,是对目标系统的底层支持软件。对于具体的硬件平台,与硬件相关的代码都被封装在BSP中,由BSP向上提供虚拟的硬件平台,BSP与操作系统通过定义好的接口进行交互。BSP是所有与硬件相关的代码体的集合,是介于底层硬件和上层操作系统之间的一层,主要目的是为了支持操作系统,使之能够更好地运行于硬件系统。以下介绍了网口的VxWorks BSP的开发方法。
6.1 Tsil07的PCI接口的寄存器初始化
    对Tsil07的PCI接口的寄存器初始化主要是对PCI命令寄存器,PCI状态寄存器,PCI仲裁控制寄存器等和PCI相关的寄存器设置。因用户手册上对各寄存器的参数进行了详细的说明,在此将不再赘述。
    Tsil07中的32位配置寄存器地址是0x8000_00nn,nn是寄存器的相对偏移地址。对配置寄存器的访问采用间接方式,将配置寄存器的地址写到CONFIG_ADDR端口,则配置寄存器的内容将在CONFIG_DATA端口获得。CONFIG_ADDR端口的地址为:OxFEC0_0000~OXFEDF_FFFC,CONFIG_DATA端口的地址为0xFEE0_0000~0xFEEF_FFFF。
6.2 82559的PCI接口的寄存器初始化
    对Tsil07的PCI接口的寄存器初始化包括对PCI命令寄存器,PCI状态寄存器,Cache行大小(CLS)寄存器等寄存器的设置,以便能够找到PCI设备82559,使Power—PC能够对该设备进行访问。
    PCI定义了3个地址空间:PCI memory空间,PCII/O空间和PCI配置空间。PCI memory空间,PCI I/O空间采用直接访问。PCI支持2种类型的配置访问,typeO和type 1。AD[31:O]信号表示地址时根据配置访问的类型使用不同的形式,地址的低两位表明配置访问的类型——type O(AD[1:O]=ObOO)或type 1(AD[1:O]=Ob01)。2种地址形式都表明了一个具体的设备和该设备的一个具体的配置寄存器。typel 0用于在本地PCI总线上选择一个设备,type 1通过一个PCI—to—PCI桥传递配置请求到另一个PCI总线。系统采用type O配置,如图3所示。

  为访问配置空间,必须向CONFIG_ADDR寄存器写入一个32位的值,用于定义目标PCI总线、该总线上的目标设备和设备中要访问的配置寄存器。对CONFIG_DATA寄存器的一个读或写操作将使主桥将该访问转化为一个PCI配置周期(CONFIG_ADDR中的使能位被设置并且设备编号不是0b1_1111)。
    对于map B,处理器可在地址空间0xFEC0_0000~0xFEDF_FFFF中使用任何地址访问CONFIG_ADDR寄存器。尽管系统可以使用0xFEC0_0000~OxFEDF_FFFF中的任何地址,但一般使用地址0xFEC0_0CF8。为简化CONFIG_ADDR的地址通常被称为CF8。处理器可在地址空间0xFEE0_0000~0xFEEF_FFFF中的任何地址访问CONFIG_DATA寄存器。最常用的地址为0xFEE0_OCFC~0xFEE0_0CFF。为简化起见,一般指为CFC。
    对于type O配置,Tsi107把CONFIG_ADDR寄存器的设备编号转化为惟一的IDSEL信号,它们之间有一一对应的关系。功能编号和寄存器编号将不加改变的复制到AD[10:2],AD[1:O]在type O配置时为0b00。
6.3 中断的实现
    Tsil07的EPIC(可编程中断控制单元)支持5个外部中断。IRQ[O:4]信号代表了外部中断,它们被5个IRQ向量/优先级寄存器(IVPRO—IVPR4)控制和初始化。外部中断可被设置为电平或边沿触发。软件通过对向量/优先级寄存器的写操作为每一个中断源设置优先级,优先级的值在O~15之间,15最高。EPIC单元通过丽向处理器核申请中断。当处理器通过对EPIC单元中的中断响应寄存器(IACK)进行读操作以响应中断请求时,EPIC返回一个8位的中断向量到处理器,然后处理器处理该中断。处理器对EPIC单元的结束中断(EOI)寄存器进行写操作时,中断处理完成。
    对EPIC的初始化主要是设置各中断源的优先级和中断向量的设置。包括对特征报告寄存器(FRR)、全局配置寄存器(GCR)、伪向量寄存器(SVR)、外部和内部中断寄存器等的设置。


7 结 语
    搭建以MPC7410为核心处理器的嵌入式系统硬件平台,阐述以太网接口硬件设计和VxWorks BSP的设计方法,使以太网接口在系统中能正常通信。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着汽车电子和嵌入式系统技术的快速发展,微控制器(MCU)在车辆控制、通信、安全等关键领域的应用日益广泛。AURIX™是Infineon Technologies(现更名为Infineon Technologies AG...

关键字: 汽车电子 嵌入式系统 微控制器

随着嵌入式系统技术的不断发展,对存储器性能的要求也日益提高。i.MX RT 1024作为一款高性能的嵌入式微控制器,其内部集成的闪存(Flash Memory)为开发者提供了便捷且高效的存储解决方案。然而,在某些应用场景...

关键字: 嵌入式系统 存储器 微控制器

嵌入式系统,作为当今电子信息技术的重要组成部分,其应用领域遍布军事、医疗、通信、家电、汽车等多个行业。随着技术的不断进步,嵌入式系统设计也日趋复杂,设计方法和工具不断更新。本文旨在探讨嵌入式系统设计的三个层次,并分析各个...

关键字: 嵌入式系统 电子信息 计算机

随着嵌入式技术的快速发展,GPIO(General-Purpose Input/Output,通用输入/输出)接口已成为嵌入式系统设计中不可或缺的一部分。GPIO接口为开发者提供了灵活的输入输出控制,使其能够根据实际需求...

关键字: 嵌入式系统 开发板 GPIO接口

【2024年6月11日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)推出 PSoCTM 4高压精密模拟(HVPA)-144K微控制器,通过将高精度模拟和高压子系统集成到单芯片上,...

关键字: 微控制器 电池管理系统 嵌入式系统

嵌入式系统在现代科技领域中无处不在,从智能家居到工业控制,从医疗设备到航空航天,嵌入式系统都扮演着至关重要的角色。然而,由于其高度集成、定制化以及运行环境的复杂性,嵌入式系统的可靠性问题一直是开发者关注的焦点。本文将介绍...

关键字: 嵌入式系统 可靠性 工业控制

随着物联网技术的蓬勃发展,嵌入式系统作为其核心组成部分,正逐步渗透到各个行业领域。物联网嵌入式系统以其高度集成、低功耗、实时性强等特点,成为推动物联网技术发展的关键因素。在国内外,各大企业和研究机构纷纷投入研发力量,探索...

关键字: 物联网 低功耗 嵌入式系统

随着智能科技的飞速发展和广泛应用,高性能嵌入式系统已经渗透到各个领域,从消费电子、智能家居、智能医疗到工业控制、汽车应用等,无处不在的嵌入式设备正改变着我们的工作和生活。然而,传统单核系统的性能提升遇到瓶颈,无法满足这些...

关键字: 嵌入式系统 消费电子 智能家居

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

“实现机器人操作系统——电机控制器ROS1驱动程序简介”一文中概述了新型ADI Trinamic™电机控制器(TMC)驱动程序,并讨论了将电机控制器集成到机器人操作系统(ROS)生态系统中的方法。TMC ROS1驱动程序...

关键字: 电机控制器 机器人 嵌入式系统
关闭
关闭