E、 SDRAM上电初始化:系统复位后初始化软件必须建立存储器接口的参数包括memory boundary register,memory banks enable registers,memory page mode register,and memory control configuration register(MCCR)。推荐的软件初始化顺序是最后设置MCCR1[MEMGO]位。之后MPC8245才对SDRAM进行如下初始化:Precharge all internal banks of the SDRAM device;Issue 8 refresh commands;Issue mode register set command to initialize the mode register inside the SDRAMs。
F、 SDRAM的奇偶校验(Parity)和读-修正-写校验(RMW Parity):MPC8245的SDRAM接口支持普通模式的奇偶校验和读-修正-写校验这两种模式。对于奇偶校验的检查和产生,32位数据总线需要附加4位的奇偶位(4 parity bits),64位的数据总线需要附加8位的奇偶位;对于ECC则只对64位的数据总线有效。设计带有校验的系统,需要用额外的SDRAM,其数据总线上的信号为PAR信号。当PCKEN被设置后,MCP8245就会对所有的存储器操作进行奇偶校验。
ROM/FLASH接口:
A、 ROM/Flash空间定位:16M字节的基址ROM空间(0xFF00_0000,0xFFFF_FFFF),256M字节的扩展ROM空间(0x7000_0000,0x7FFF_FFFF)。
B、 ROM/Flash接口控制信号:四个片选信号RCS[0:3],其中RCS[0:1]是用来片选基址ROM空间,而RCS[2:3]是用来片选扩展ROM空间的;一个输出使能信号FOE#用以提供读操作的控制;一个写使能信号WE#用来提供写操作的控制;另外,对Port X接口还额外提供了地址选通信号(AS#)和数据准备好信号(DRDY#)。
C、 基址ROM(Base ROM)接口的操作:
a. 空间划分:16MB的空间被分成两个8MB,其中RCS0可寻址0xFF80_0000到0xFFFF_FFFF,RCS1可寻址0xFF00_0000到0xFF7F_FFFF。由于在系统复位后处理器首先指向的物理地址空间为0xFFF0_0100,即Boot空间处于0xFF80_0000到0xFFFF_FFFF范围内,所以作为启动用的ROM/Flash的片选必须为RCS0。
b. 数据总线:总线宽度或者是8位,或者与SDRAM接口的数据宽度相等。对于使用8位的数据总线,要使用MDH[0:7]这八位数据线。对于8位的数据总线,在扩展ROM空间关闭时,MPC8245最多能使用21位的地址线(可寻址2MB的空间),在扩展ROM空间打开时,MPC8245最多能使用23位的地址线(可寻址8MB的空间)。注意:ROM/Flash的数据总线与SDRAM的数据总线的关系密切相关,具体见下表Table 6-14。
c. ROM/Flash定位:ROM/Flash可以位于本地总线上,也可以位于PCI总线上,这由复位配置引脚RCS0来决定。当设备位于PCI总线上时,MPC8245将对基址ROM的访问翻译为PCI的传送,此时MPC8245将不在ROM/Flash接口提供控制、数据、地址信号。
d. 地址复用:地址的复用参考下面3张图,Figure 6-34,Figure 6-35,Figure 6-36,其中Figure 6-34中的高两位AR[22:21]只有在扩展ROM空间打开的情况下才有效。
D、 扩展ROM接口的操作:MPC8245提供了256MB的扩展ROM空间(0x7000_0000,0x7FFF_FFFF),有RCS[2:3]来片选。在默认情况下扩展ROM空间是关闭的,它的打开是通过清除SDMA1和设置MCCR4[EXTROM]。注意:在扩展ROM空间打开的情况下,以下功能失效——TRIG_IN,TRIG_OUT,TBEN,SRESET#,CHKSTOP_IN#。
E、 ROM/Flash接口的写操作:在系统刚复位之后对Flash的写操作是无效的,这是因为写Flash的控制位之一PICR1[FLASH_WR_EN]没有被设置。另外,PICR2[FLASH_WR_LOCKOUT]位也是用来控制是否对Flash可写。一旦FLASH_WR_LOCKOUT被设置,则只能通过硬复位来清除设置。注意:MPC8245对Flash的写只提供了单拍的操作。
F、 Port X 接口的操作:MPC8245的ROM/Flash接口可用以连接非存储的I/O设备,这项功能被称为Port X。Port X的地址空间与ROM/Flash的地址空间相同,使用相同的地址复用技术,使用相同的数据、控制信号,还额外提供了Address Strob(AS)和data ready(DRDY)两根控制信号。Port X上的设备可以进行连续的读操作,但只能进行单拍的写操作。由于MPC8240没有DUART接口,因而可利用Port X接口与一串口芯片互连来“创造”出串口。作者: wjjily 时间: 2005-5-27 12:31
PCI接口:
MPC8245的PCI接口符合PCI规范2.2,使用32位复用的地址/数据总线,支持地址和数据的奇偶错误检查和报告。内部各有一个32字节的读/写缓冲区提供给处理器进行操作,而对本地存储器的操作是各提供有两个32字节的读/写缓冲区。可以作为PCI操作的发起者,支持高达32字节的读/写操作时可以无须插入等待状态,支持发起master-abort,识别target-abort,target-retry和target-disconnect;可以作为PCI操作的目标者,支持发起target-abort,target-retry和target-disconnect。
A. PCI空间:作为发起者,MPC8245支持对PCI memory空间,PCI/IO空间,256字节的PCI配置空间的读、写操作,另外还支持PCI特殊周期(special-cycle)和中断应答周期(interrupt-acknowledge)的操作;作为PCI目标者,MPC8245支持对本地存储器和内部PCI可访问的配置寄存器的读、写操作。
B. 格式选择:PCI接口既可以被编程为小模式(little-endian),也可以为大模式(big-endian)的数据格式。所以在设计上可以根据对方PCI设备的限制进行本方的设置。
C. PCI总线仲裁:MPC8245内部提供有PCI总线仲裁器,可支持多达5个的外部PCI设备进行仲裁。当然内部的仲裁器可以被禁止以使用外部的PCI仲裁器,这可以通过复位配置引脚MAA2的设置来决定。
D. PCI内部总线仲裁:MPC8245内部有DMA0,DMA1两个DMA通道和处理器来竞争访问PCI总线,它们的优先级为Processor and DMA0 and Processor and DAM1 and Processor...,当处理器发起的PCI操作若被打断,则在MPC8245重新得到总线时总线权分配给处理器而非DMA控制器。DMA进行PCI传送操作时也可以被打断,MPC8245重新得到总线后总线权分配给DMA。
E. PCI总线仲裁的操作:片内的PCI仲裁器采用可编程的两级(高、低优先级)循环(round-robin)算法。正在进行PCI操作的设备的优先级自动降为低,而顺序的下一个请求设备的优先级就变高。在当前的Master开始PCI传送操作时总线权就可以移交给下一个高优先级设备,但下一个设备的真正开始操作必须要等到当前的设备完成/放弃现在的操作。
F. Broken Master Lock-Out:当broken master特性打开时,若一个PCI总线的占有者在16个PCI时钟内没有发起操作将会被剥夺总线权,否则它将一直占有总线直到开始操作。这个特性应该是防止PCI死锁,推荐:打开这项功能。
G. PCI总线停靠:没有设备使用或请求PCI总线时,PCI仲裁器必须要选择一个设备作为PCI总线的停靠点,这是为了稳定PCI总线上的信号。停靠模式的控制在PACR寄存器中设置,见Table 7-1。