我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1049|回复: 6

[电信设备] MPC8260和PLX9656组成的嵌入式系统的PCI接口设计方案

[复制链接]
  • TA的每日心情

    2024-10-6 20:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1202

    主题

    247

    回帖

    2115

    积分

    二级逆天

    积分
    2115

    终身成就奖特殊贡献奖

    发表于 2021-1-7 09:14:24 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    摘要:论述了PLX公司的64位、66MHz的PCI接口芯片PLX9656与Mortorola公司的嵌入式处理器MPC8260的PCI接口设计,阐述了嵌入式系统设计的原理及方法,同时介绍相关的开发设计工具。

    关键词:嵌入式;PCI;硬联逻辑;接口设计;PLX9656;MPC8260
    1引言
    通常意义的计算机系统结构是以CPU为中心,再辅以存储系统和I/O接口构成。其功能主要用于数值计算和数据处理。而嵌入式系统是将CPU作为部件嵌入到系统中,此时的CPU并不是用于通用计算。嵌入式系统的主要特点是针对性强和实时性强、可靠性高、体积小、功耗低,可广泛应用于个人数字助理、数码相机、数字电视、通信、工业测控系统以及导弹控制等诸多领域。嵌入式系统的设计过程包括:需求论证、规格说明、体系结构设计、硬件和软件构件设计以及系统集成等。较好的方法是采用统一的建模语言(UML)来描述设计任务。这是一种面向对象的建模语言,它可将设计描述为许多交互的对象,这些对象对应系统中的软件和硬件。与嵌入式系统紧密相关的概念还包括实时操作系统(RTOS)、在片系统(SOC)和硬件描述语言(HDL)。所以说嵌入式系统的设计是一个“系统工程”。
    以MPC8260为CPU,再加上PLX9656的64bit/66MHzPCI接口所组成的嵌入式系统有很高的性能,其数据吞吐量可达几百MB/S。其中MPC8260是MOTOROLA公司生产的具有603eTM核及通信处理模块(CPM)的高性能、高集成度CPU。它在片内集成了存储管理单元(MMU)、系统接口单元(SIU)、64位60x总线和32位本地总线以及强大的网络接口(三个FCC、两个MCC、四个SCC、两个SMC等)。
    嵌入式系统有两种工作模式:第一种为附属工作方式,该方式将嵌入式系统设计成板卡形式,并通过主机的PCI接口进行数据传输。这种方式具有一定的独立性,可承担某项特定的任务,从而可使主机CPU的开销大大减少。常用的视频压缩卡、工业数据采集卡等都属此种类型。第二种工作模式为独立工作方式。该方式由于嵌入式系统本身含有CPU,因而是一个自主的系统和功能单元,能独立完成某项任务,并可通过网络接口(如以太网、ATM、HDLC/SDLC等)或通道(如SCSIUSB等)将数据传输给服务器,以实现数据的传输与管理。其典型产品有机顶盒、磁盘阵列控制器等。
    2PCI规范及其接口芯片
    第一个PCI技术规范1.0版本于1992年6月面世,到1999年2月发布了2.2版,不久前又公布了PCIX规范。PCI的位数由32位扩展为64位,频率从33MHz提高到133MHz。该规范是处理器、存储器总线至周边设备扩展的桥梁,根据PCI桥接的对象可分为Host/PCI桥(北桥)和PCI/SA桥(南桥),它们可一起构成芯片组。PCI接口芯片通过配置和编程可将其数据空间映射为Memory和I/O方式;其数据传送既可以是单数据段读写,又可以是突发方式、中断方式或DMA方式。
    许多厂商(如AMCC、IBM、PLX等)都可提供PCI接口芯片,图1所示是PLX的64bit/66MHzPCI接口芯片PLX9656的结构框图。
    PLX9656符合PCIr2.2、CompactPCIr1.0及PCI热插拔r1.0规范。它可配置为M模式(可与Motorola的MPC850、MPC860无缝接口)、C模式(为非复用地址/数据方式,可与DSPASICFPGA接口)和J模式(为复用地址/数据方式,可与IBMPoweerPC401和IOP480接口)。此外,它还具有以下特点:

    ●采用先进的DirectMaster、DirectSlave和DMA数据传输技术,其迸发数据传输率PCIBus端为528MB/s,LocalBus端为264MB/s;
    ●I2OTM信息单元包括8个32位邮箱寄存器和2个32位门铃寄存器;
    ●PCI仲裁器支持7个外部主设备;
    ●带有可编程中断产生器及串行EEPROM接口。
    3硬联逻辑设计
    PCI接口芯片的主要功能是桥接CPU端的LocalBus与PCI总线。另外,还必须通过串行总线上的EEPROM来配置PCI芯片的初始工作方式。PLX9656的三种工作模式(M、C和J)可以和大多数CPU和DSP接口。其中M模式是专为MOTOROLA的POW-ERPC系列CPU而设计的接口模式。
    由PLX9656与MPC8260组成的最小系统至少应包括以下几个组成部分:FLASH、SDRAM、SRAM、PCI连接器、JTAG端口、时钟、复位、电源、EEPROM、以太网接口、ATM和RS232串行口等。
    PLX9656信号线包括PCI端信号、LocalBus端地址与数据、控制信号、电源和地。其中前两项占了信号数量的绝大部分。为了保证信号的可靠传输,芯片上用很多引脚作电源和地,这些引脚在布线时应仔细连接,并应大面积敷铜,同时还要连接滤波电容。另外要注意的是:MPC8260有60xBus和LocalBus两条总线,前者为MPC8260与外界的接口总线,所以应将PLX9656的LocalBus信号与MPC8260的60xBus连接。图2所示是系统的硬联逻辑框图。
    4驱动程序
    开发Windows环境和Linux环境的驱动程序有很大不同。
    4.1Windows环境中驱动程序的编写
    由于Windows操作系统被Microsoft所垄断,它是一个封闭的操作系统,因此很难将用户驱动程序挂接到Windows操作系统中。通常要利用一些开发工具,如Microsoft的DDK、Numega的DriverStudio和Jungo的WinDriver等。因而应首先是由它们生成驱动程序的框架后,再导入到Microsoft的VisualC++中,在填入与设计对象相关的代码后,最后由build生成Windows环境下的驱动程序。
    PLX公司的PLX9656RDK提供了WindowsAPI及其源代码和调试工具PLXMon。利用这些针对PLX芯片的API可以驱动PCI接口,而且其编程工作也非常快捷。
    PLX芯片的初始化函数原型为:
    S8SelectDevice(DEVICE_LOCATION*pDev);
    它可提供很多对PCI的接口操作,其中包括寄存器读/写、中断允许/禁止、获取中断状态、IOP总线读/写、IOP端口读/写、电源管理、热插拔功能、VPD读/写、EEPROM读/写、邮箱寄存器读/写、门铃寄存器读/写、DMA控制/状态、DMA块通道操作、DMASgl通道操作以及DMAShuttle通道操作等。
    在对PLX芯片进行初始化后,便可利用PLX9656RDK提供的上述功能对PCI接口进行操作。
    4.2Linux环境下驱动程序编写
    Linux是源代码开放型操作系统。在这种系统中,用户自编的设备驱动程序可以和原操作系统的驱动程序享有同等的“地位”。Linux环境下,驱动程序的编写有两种方式,一种是基于内核的,另一种是基于模块的。前一种方式是将驱动程序直接注册在相应的系统文件中,然后在操作系统启动时将它装载在内存中使用;后一种方式则通过命令行insmod和mmod来加载和卸载驱动程序模块,因此比较方便灵活。

    Linux对设备的操作与对文件的操作一致,所有的驱动程序都毫不例外地要使用fileoperaTIons结构。其中的read、write、ioctl、mmap、open、release指针分别指向用户编写的驱动程序的相关操作。
    每个PCI设备均可由总线号、设备号和功能号来确定,它共有三个访问空间,即内存空间、I/O端口和配置寄存器。配置空间用于决定PCI器件的工作方式和映射到系统中的地址。其基本功能函数如下:

    访问I/O和内存空间时,要根据配置寄存器中PCL-BASE-ADDRESS-i(i=0.。.5)所给定的基地址来读写数据。
    5嵌入式系统的实现
    嵌入式系统的开发平台包括Host(主机)和Tar-get(目标)两部分。通常,Host和Target的硬件构架(如x86、PowerPC、ARM、MIPS等)和操作系统都不尽相同。因此需要用CDK(交叉开发工具包)把在Host上开发的代码下载到Target上。此开发平台的模型如图3所示。

    由于主机上资源丰富(如功能强大的操作系统和应用软件、CRT显示输出和打印机硬拷贝输出、键盘和鼠标输入等),因此调试起来非常便捷。针对不同的目标系统,HardHatCDK有不同的开发工具包,但开发流程及工具的使用几乎一样。首先用相应目标系统的交叉编译器将源程序编译为可执行文件,再将可执行文件拷贝到目标系统的NFS目录下,待目标系统装载内核并引导后,便可调试和运行应用程序了。程序调试成功后,就可以使用EmbeddedPlanet公司的PlanetCore来将应用程序烧录到目标板的FLASH中,这样,目标板就成了可独立运行的嵌入式系统了。
    6小结
    由MPC8260和PLX9656构成的嵌入式系统有着广阔的应用前景。可应用于高性能通信系统中的WAN/LAN控制卡、高速MODEM卡、帧中继卡、路由和交换机等,处理器集成的ATM、T1/E1及以太网等通信通道均能很好地支持上述通信功能;另外还支持高速PC适配卡、CompctPCI接口卡以及嵌入式主机系统等。由于PLX9656具有数据管道构架的直接传输方式,因而可方便的用于PCI及LocalBus端的I/O和设备的高速数据传输。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 79 天

    [LV.6]常住居民II

    128

    主题

    1万

    回帖

    8411

    积分

    二级逆天

    积分
    8411

    终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

    QQ
    发表于 2021-1-7 09:18:07 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    675

    回帖

    41

    积分

    二级逆天

    积分
    41

    社区居民忠实会员终身成就奖

    QQ
    发表于 2021-1-7 09:21:04 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    4704

    回帖

    4345

    积分

    二级逆天

    积分
    4345

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2021-1-7 11:14:57 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    1 小时前
  • 签到天数: 200 天

    [LV.7]常住居民III

    8

    主题

    5309

    回帖

    4635

    积分

    二级逆天

    积分
    4635

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2021-1-7 13:27:12 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    42

    主题

    1248

    回帖

    2215

    积分

    二级逆天

    积分
    2215

    终身成就奖优秀斑竹奖

    发表于 2021-1-7 16:57:10 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    20

    主题

    1829

    回帖

    4435

    积分

    PADS-2021国庆特训班

    积分
    4435

    终身成就奖特殊贡献奖优秀斑竹奖

    发表于 2021-1-7 19:36:50 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表