(2)为了提高系统运行的效果,系统启动后将FLASH中代码拷贝到SDRAM中,由SDRAM作系统程序运行场所。为了发挥AT91RM9200处理器32位数据处理性能,本设计选用2片4BANK×4M×16b(32MB)SDRAM,并联组成32b的RAM,总共64MB空间,完全可以满足嵌入式操作系统及各种复杂功能的运行要求。
如图4为用2片SDRAM并联构建32位SDRAM存储系统的简图,其中一片作为高16位,另一片作为低16位,他们的数据线分别接AT91RM9200数据总线的D[16..31]和D[0..15]。SDRAM是被分配到AT91RM9200的BANK1(存储区域2)地址空间的,即将AT91RM9200的NCS1端分别接到2片DSRAM的CS片选端。因为SDRAM的第10位地址线A10还有给SDRAM预充电的作用,所以AT91RM9200提供给SDRAM专用的地址线——SDA10,来代替通用地址线MA10,并且因为32位数据读写是4字节对齐的,所以AT91RM9200的地址线MA[2..11,13,14]接SDRAM地址线A[0..9,11,12]。
2.2.2 10/100 Mb/s以太网模块
传统的RS 232和RS 485通信方式已经不适应远距离、大信息量的数据传输,而充分利用现有发达的网络系统,实现信号机联网的功能,也是智能交通发展的要求,AT91RM9200芯片本身集成有网络控制器件和28B的FIFOs栈和专用数据控制器(DMA)的接收和发送通道,硬件实现了OSI网络参考模型中介于物体层和逻辑链路层之间的介质访问MAC子层,但是没有提供物理层接口,因此需要外接一个物体层传输控制器来提供接入以太网的通道。用Intel的LXT972快速以太网PHY传输控制芯片进行数据的网络收发。
LXT972和AT91RM9200网络控制器通过介质无关接口(MII)可以很方便地连接。在LXT972和RJ45接口之间需要用网络隔离变压器来连接,网络隔离变压器起信号传输、阻抗匹配、波形修复、杂波抑制以及高电压隔离等作用,以保护系统的安全。LXT972的RX+/RX-、TX+/TX-接到网络隔离变压器上,再由变压器引出相应信号连接到RJ45接口上,网络模块以标准RJ45接口与以太网相连。其网络模块连接方式如图5所示。
2.2.3 系统总线扩展模块
考虑到信号机的体积、靠靠性及提高信号机的模块化程度,方便设备的升级、扩展、控制板上并不直接实现控制参数输入、车流量检测等功能,信号机从控制板引出数据总线、地址总线和必要的控制信号,设计统一的系统总线,控制板通过总线来操作各个功能板,如信号灯驱动板、车辆检测板以及操作面板的键盘输入和LED显示输出,控制板和各个功能板都卡装在插槽接口。
由于信号机的系统总线设计使用ISA总线标准,因此总线时序同ARM的读写时序不同,所以首先需要对arm时序和ISA时序做转化。底板总线需要的数据、地址、读写等控制信号等都先由CPLD进行时序转换后再发送到总线上去。底板总线使用16位数据总线,7位地址总线,分配给底板总线的地址空间是AT91RM9200的BANK2区(存储区域3),片选信号端NCS2。对底板总线的读写操作由AT91RM9200的EBI(外部总线接口)来控制,嵌入式操作系统以I/O内存的方式来对他们进行管理。AT91RM9200的可编程时钟输出端PCK0用来给底板总线提供时钟信号,由CPLD对他进行分频处理,产生需要的多个时钟频率。