1导言
一般含义的核算机体系结构是以CPU为中心,再辅以存储体系和I/O接口构成。其功用首要用于数值核算和数据处理。而嵌入式体系是将CPU作为部件嵌入到体系中,此刻的CPU并不是用于通用核算。嵌入式体系的首要特色是针对性强和实时性强、牢靠性高、体积小、功耗低,可广泛使用于个人数字助理、数码相机、数字电视、通讯、工业测控体系以及导弹操控等许多范畴。嵌入式体系的规划进程包含:需求证明、标准阐明、体系结构规划、硬件和软件构件规划以及体系集成等。较好的办法是选用共同的建模言语(UML)来描绘规划使命。这是一种面向方针的建模言语,它可将规划描绘为许多交互的方针,这些方针对应体系中的软件和硬件。与嵌入式体系严密相关的概念还包含实时操作体系(RTOS)、在片体系(SOC)和硬件描绘言语(HDL)。所以说嵌入式体系的规划是一个“体系工程”。
以MPC8260为CPU,再加上PLX9656的64bit/66MHz PCI接口所组成的嵌入式体系有很高的功用,其数据吞吐量可达几百MB/S。其间MPC8260是MOTOROLA公司出产的具有603eTM核及通讯处理模块(CPM)的高功用、高集成度CPU。它在片内集成了存储办理单元(MMU)、体系接口单元(SIU)、64位60x总线和32位本地总线以及强壮的网络接口(三个FCC、两个MCC、四个SCC、两个SMC等)。
嵌入式体系有两种作业方法:第一种为隶属作业方法,该方法将嵌入式体系规划成板卡方法,并经过主机的PCI接口进行数据传输。这种方法具有必定的独立性,可承当某项特定的使命,然后可使主机CPU的开支大大削减。常用的视频压缩卡、工业数据采集卡等都属此种类型。第二种作业方法为独立作业方法。该方法因为嵌入式体系自身含有CPU,因此是一个自主的体系和功用单元,能独立完结某项使命,并可经过网络接口(如以太网、ATM、HDLC/SDLC等)或通道(如SCSI、USB等)将数据传输给服务器,以完成数据的传输与办理。其典型产品有机顶盒、磁盘阵列操控器等。
2 PCI标准及其接口芯片
第一个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/66MHz PCI接口芯片PLX9656的结构框图。
PLX9656契合PCIr2.2、CompactPCIr1.0及PCI热插拔r1.0标准。它可装备为M方法(可与Motorola的MPC850、MPC860无缝接口)、C方法(为非复用地址/数据方法,可与DSP、ASIC和FPGA接口)和J方法(为复用地址/数据方法,可与IBMPoweerPC401和IOP480接口)。此外,它还具有以下特色:
●选用先进的Direct Master、Direct Slave和DMA数据传输技能,其爆发数据传输率PCIBus端为528MB/s,Local Bus端为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端信号、Local Bus端地址与数据、操控信号、电源和地。其间前两项占了信号数量的绝大部分。为了确保信号的牢靠传输,芯片上用许多引脚作电源和地,这些引脚在布线时应细心衔接,并应大面积敷铜,一起还要衔接滤波%&&&&&%。别的要注意的是:MPC8260有60x Bus和LocalBus两条总线,前者为MPC8260与外界的接口总线,所以应将PLX9656的Local Bus信号与MPC8260的60x Bus衔接。图2所示是体系的硬联逻辑框图。
4驱动程序
开发Windows环境和Linux环境的驱动程序有很大不同。
4.1 Windows环境中驱动程序的编写
因为Windows操作体系被Microsoft所独占,它是一个关闭的操作体系,因此很难将用户驱动程序挂接到Windows操作体系中。一般要运用一些开发东西,如Microsoft的DDK、Numega的DriverStudio和Jungo的WinDriver等。因此应首先是由它们生成驱动程序的结构后,再导入到Microsoft的Visual C++中,在填入与规划方针相关的代码后,最后由build生成Windows环境下的驱动程序。
PLX公司的PLX9656RDK供给了Windows API及其源代码和调试东西PLXMon。运用这些针对PLX芯片的API能够驱动PCI接口,并且其编程作业也十分便利。
PLX芯片的初始化函数原型为:
S8 Select Device(DEV%&&&&&%E_LOCATION*pDev);
它可供给许多对PCI的接口操作,其间包含寄存器读/写、中止答应/制止、获取中止状况、IOP总线读/写、IOP端口读/写、电源办理、热插拔功用、VPD读/写、EEPROM读/写、邮箱寄存器读/写、门铃寄存器读/写、DMA操控/状况、DMA块通道操作、DMASgl通道操作以及DMAShuttle通道操作等。
在对PLX芯片进行初始化后,便可运用PLX9656RDK供给的上述功用对PCI接口进行操作。
4.2 Linux环境下驱动程序编写
Linux是源代码开放型操作体系。在这种体系中,用户自编的设备驱动程序能够和原操作体系的驱动程序享有平等的“位置”。Linux环境下,驱动程序的编写有两种方法,一种是根据内核的,另一种是根据模块的。前一种方法是将驱动程序直接注册在相应的体系文件中,然后在操作体系启动时将它装载在内存中运用;后一种方法则经过命令行insmod和mmod来加载和卸载驱动程序模块,因此比较便利灵敏。
Linux对设备的操作与对文件的操作共同,一切的驱动程序都毫不例外地要运用file operations结构。其间的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显现输出和打印机硬拷贝输出、键盘和鼠标输入等),因此调试起来十分快捷。针对不同的方针体系,HardHat CDK有不同的开发东西包,但开发流程及东西的运用简直相同。首先用相应方针体系的穿插编译器将源程序编译为可执行文件,再将可执行文件拷贝到方针体系的NFS目录下,待方针体系装载内核并引导后,便可调试和运转使用程序了。程序调试成功后,就能够运用EmbeddedPlanet公司的Planet Core来将使用程序烧录到方针板的FLASH中,这样,方针板就成了可独立运转的嵌入式体系了。
6小结
由MPC8260和PLX9656构成的嵌入式体系有着宽广的使用远景。可使用于高功用通讯体系中的WAN/LAN操控卡、高速MODEM卡、帧中继卡、路由和交换机等,处理器集成的ATM、T1/E1及以太网等通讯通道均能很好地支撑上述通讯功用;别的还支撑高速PC适配卡、CompctPCI接口卡以及嵌入式主机体系等。因为PLX9656具有数据管道构架的直接传输方法,因此可便利的用于PCI及Local Bus端的I/O和设备的高速数据传输。
更多核算机与外设信息请重视:21ic核算机与外设频道