基于BCM5615和BCM5615的EPON系统ONU设计
系统硬件由嵌入式控制模块和网络交换模块两部分构成。嵌入式控制模块是ONU的控制和管理核心,它为嵌入式Linux操作系统的运行提供硬件平台,通过它来实现对网络交换模块的控制与配置,实现网络交换模块的正常运行。网络交换模块提供以太帧的交换与转发功能,嵌入式控制模块通过PCI总线与网络交换模块进行通信,访问网络交换模块内部各芯片的寄存器,对各芯片进行配置并获取各个芯片的状态信息。网络交换模块内部的交换芯片BCM5615将嵌入式控制模块对它的访问,转换为自己对网络交换模块内部各芯片的访问,这样就实现了嵌入式控制模块对网络交换模块内部各芯片的管理。
嵌入式控制模块接口设计
嵌入式处理器MPC8245简介
MPC8245由一个外设逻辑块和一个32位超标量体系结构PowerPC处理器内核构成。在外设逻辑块中集成了一个PCI桥、DUART、内存控制器、DMA控制器、EPIC中断控制器、一个消息单元和一个I2C控制器。处理器内核支持浮点运算和内存管理,具有16KB指令高速缓存(cache), 16KB数据cache和电源管理特性。MPC8245内含一外设逻辑总线,用于连接处理器内核和外设逻辑块。处理器内核可在多种不同的频率下工作。MPC8245既可用作 PCI host,也可用作PCI代理控制器。支持多达2GB的SDRAM;支持18 组的4MB, 16MB, 64MB, 128MB, 或256MB存储器。
时钟电路
MPC8245输入时钟由33MHz的的晶振通过零延时缓冲器产生四路时钟信号,一路作为MPC8245的PCI总线时钟和内核的输入时钟,系统时钟信号OSC_IN未用,需要接地。MPC8245的引脚PLL_CFG[0:4]用于配置倍频因子,经过内部倍频器,产生SDRAM时钟和166MHz的CPU内核时钟。一路作为RTL8139的PCI总线时钟,一路作为BCM5615的PCI总线时钟。
PCI总线接口
PCI总线工作在33MHz,设计中要保证PCI时钟的时钟相位偏移小于2ns,否则,系统可能无法正常工作。MPC8245作为PCI 主处理器,RTL8139和BCM5615的REQ#、GNT#分别连到MPC8245的REQ[0:1]#、GNT[0::1]#,由MPC8245来实现总线的仲裁。利用地址线AD31,AD30来决定RTL8139、BCM5615的IDSEL, 实现PCI总线配置访问时对RTL8139、BCM5615的片选。这种方法会使AD31,AD30线上增加一个负载,因此将它们的IDSEL通过1K?电阻耦合到AD31、AD30上来解决负载加重的问题。PCI总线的控制信号都要求有上拉电阻,保证它们在没有驱动设备驱动总线的情况下仍然具有稳定的值,因而 FRAME#、TRDY#、IRDY#、DEVSEL#、STOP#、SERR#和PERR#这些信号使用10K?电阻上拉。
Flash
在MPC8245 中,ROM/Flash被分为2 个BANK ,BANK0 的地址为0xFF8000000xFFFFFFFF ,片选为/RCS0, RCS0接存储代码的存储器片选;BANK1 的地址为0xFF0000000xFF7FFFFF,片选为/RCS1。 ROM/Flash/SRAM 工作在不同的数据宽度(8位,16位,32位,64位)地址总线下,复位时,MPC8245的引脚MDL0、/FOE决定启动数据位宽度;复位后,硬件复位配置字决定数据的宽度。
本设计中选择512KB的Flash作为Bootloader代码存储器,系统工作在8位模式,对应的地址为0xFF8000000xFF87FFFF。选用两片AM29LV320B分别作为Bootloader/Linux内核和文件存储器,AM29LV320B是32 Mb、单3.3V电源供电的闪存,编程和擦写电压由内部产生,与JEDEC单电源闪存标准兼容;可组成4M×8Bit或2M×16Bit的存储器。可用标准EPROM编程器进行编程;存取时间最短为70ns;独立的片选(CE#)、写使能(WE#) 和输出使能(OE#)控制,可减小对总线的压力。片选RCS1、RCS2分别选择两片Flash,RCS1选中的Flash对应的地址为0xFF0000000xFF3FFFFF,RCS2选中的Flash地址由编程决定。
跳线J1用来将RCS0接到Flash1,RCS1接到Flash0,这样在Bootloader代码运行后,将Bootloader代码、Linux内核代码都烧到Flash1,节约一片512KB的Flash,同时留下RCS2、RCS3片选信号,留作以后扩展Flash用。
SDRAM
32MB的SDRAM由两片HY57V283220T组成。MPC8245的SDRAM接口 使用一个片选信号CS1,同时作为两片HY57V 283220T的片选,构成64位数据的SDRAM。 HY57V283220T是4 Bank×1M×32Bit的CMOS SDRAM,单3.3±0.3V电源供电,所有引脚与LVTTL接口兼容,所有输入和输出都以系统时钟的上升沿为参考。
评论