3. 串口
TL16C550是RS-232串口控制芯片,接在RCS1空间,MAX3221是电平转换芯片。串口的工作模式由软件决定,既可工作于中断模式,也可工作于轮询模式。在调试的时候,串口用于输出调试信息和接收外部命令。在实际应用中,串口可以作为系统和用户的交流窗口,用户通过串口来掌握或改变系统的运行情况。
4. PCI设备
本系统中,PCI采用MPC107内部仲裁器,总线工作于33MHz。系统的网口芯片选用了Intel82559,这是一款具有PCI接口的,将物理层和链路层集成在一起的10M/100M自适应网口芯片,可减少电路板空间和走线数量。变压器选用了Pulse公司的H1012。网口可工作于全双工或者半双工模式。
另外,PCI1410A是连接PCI总线和CF卡的一种接口芯片。CF卡具有携带方便、易于升级、存储量大、抗震性好等优点。在本设计中,CF卡主要用于保存应用软件、用户数据备份等。而且,在今后的系统维护和软件升级中,技术人员只需要更换CF卡或者升级CF卡中的软件,十分方便。设计选用了SanDisk公司的型号为SDCFB-64-101的CF卡,64M字节容量,几何尺寸为36.4mm×42.8mm×3mm。
PMC插槽用于扩展PCI插卡,增加系统功能。例如,如果系统需要增加一个网口,只要在PMC槽上插入一块具有PMC接口的网卡就可以了。
5. 时钟
M41T81是ST公司生产的一款时钟芯片。在本设计中,为系统提供时钟,因为在电信、网络等许多应用场合,系统必须提供时间信息。M41T81具有I2C接口,两种供电模式:在系统上电时,由电路板上的3.3V电源供电;系统断电时,自动切换到外接电池供电。电池供电时的电流很小,仅为1A。
地址空间分配
在PCI主设备模式下,MPC107支持两种地址空间分配方案:Map A和Map B。在PCI从设备模式下,MPC107只支持Map B。选择哪种地址分配方案是由上电启动时,引脚SDBA0的高低来决定的,如果为高,则选用Map B,否则,选用Map A。在本系统中,MPC107工作于PCI主设备模式,选用了Map B地址空间分配方案。
在Map B地址空间分配方案中,整个32位(4G)地址空间被分为4大块:本地存储空间、PCI存储空间、PCI I/O空间、系统ROM空间。如表1所示。
表1:地址空间分配。

在本系统中,128MB SDRAM的基地址是0000_0000,2MB Flash的基地址是FFE0_0000,串口控制芯片TL16C550的基地址是:7C00_0000,64M CF卡的访问地址是8000_0000。
设计关键
1. 时钟
时钟信号是本设计的一大关键。整个系统只有一个时钟输入:OSC_IN,33MHz,输入到MPC107,经过MPC107的FO缓存产生5个同步的PCI时钟信号,其中3个PCI时钟输送给PCI设备,1个保留,另一个PCI时钟作为系统时钟(PCISYNC_OUT),输送到PLL和DLL(延时锁相环)模块,经过锁相和倍频,分别产生CPU时钟(CPU_CLK0)、4个SDRAM(SDRAM_CLKx)时钟、和一个回馈时钟(SDRAM_SYNC)。CPU_CLK0输送给MPC755。
MPC107的DLL模块类似于PLL,但是它能够把一个时钟周期分为128个离散的间隔。在PCB布线时,SDRAM时钟的走线是等长的。DLL检测SDRAM_SYNC时钟从输出到输入的时延,这个时延就相当于SDRAM_CLK的时延。通过调整SDRAM_SYNC时钟的时延,可以方便地增加或者减少SDRAM_CLK时钟的延迟。一般情况下,走线16.5cm相当于时延1000ps。
本设计中,CPU_CLK0走线长度、SDRAM_SYNC的走线长度和SDRAM_CLK时钟的走线长度三者相等。PCISYNC_OUT到PCISYNC_IN的走线长度和PCICLK的走线长度相等。
MPC755通过对CPU_CLK0时钟倍频,获得内核主频。二级高速缓存的时钟是由MPC755对内核主频分配所得,分频系数由L2CR寄存器的L2CLK位决定,可以是1、1.5、2、2.5、3(本系统选择了2.5)。一般的,分配系数的选择要根据外部Cache的性能、MPC755的内核工作频率和DLL的调整能力决定。L2 Cache最小的工作频率是80MHz。分频后的时钟经过片内的DLL电路调整,输送到二级缓存。但是,L2SYNC_OUT作为反馈时钟又输入到L2SYNC_IN,返回路径长度必须是L2CLK_OUTA走线长度的二分之一,这样CPU就能够保证输入到L2 Cache的时钟信号上升沿是和L2接口的时钟信号上升沿对齐的。