用于车速传感器性能测试平台的以太网桥设计
网控制器,其本身能完成以太网协议处理,只需和微控制器进行简单连接即可实现以太网通信;另外硬件电路还包括MAX232电平转换器和20F001N网络滤波器等少数外围器件。整个硬件系统仅由4、5个芯片构成,结构简单紧凑,可靠性高,成本低廉。下面从三方面给出硬件电路的具体设计。 3.1.1 PSD模块配置设计 微控制器uPSD3254的PSD模块使得硬件电路的设计大为简化。它本身提供的两块大容量Flash以及SRAM(支持后备电池)使用户无需再进行外部程序/数据存储器扩展。同时PSD模块中的DPLD子模块为Flash和SRAM提供了灵活的地址译码, CPLD子模块可供用户设计一些简单的组合/时序逻辑电路。本设计根据具体应用需求,对PSD模块配置如下: (1)主Flash扇区0(fs0)配置在程序存储器的0000H~FFFFH空间; (2)主Flash扇区1(fs1)配置在程序存储器的8000H~7FFFH空间; (3)SRAM(rs0)配置在外部数据存储器的0000H~7FFFH空间; (4)CPLD的PA口和PB口被分别设计为两个多路转换器,以供串行通信时进行信道切换。 3.1.2 串行口扩展设计 由图2可知,车速传感器性能测试平台中四个仅支持串行口的测试设备(分别负责耐温、转速、传感器静态特性和动态特性的测试)要同时接入嵌入式串行口-以太网桥,而微控制器?滋PSD3254本身只提供两个串行口(uart0、uart1),所以必须进行串行口扩展。一种简单的扩展方法是利用单片机I/O端口控制多路转换器(如CD4052)进行串行口扩展(图3),实现了一点对多点分时串行口通信。根据微控制器的I/O端口资源情况,依此方法系统最多可扩展32个串行口。根据此思路并结合测试平台的具体应用需求,利用uPSD3254的CPLD模块设计了两个二选一的多路转换器,从而不仅将两个串行口扩展为四个(uart00、uart01和uart10、uart11),而且省去了多路转换器芯片。另外,电平转换器实现TTL—RS232电平转换,这样就为四个测试设备提供了四个标准RS-232串行口供其接入串行口-以太网桥。 3.1.3 以太网接口设计 以太网接口是硬件电路设计的关键。因为RTL8019AS是基于ISA总线PC主板的以太网控制器,所以在和8位微控制器进行接口(见图3)时其硬件电路与通用方式有很大不同。下面从RTL8019AS以太网控制器[1]自身功能配置、与微控制器之间的总线接口及与网络介质的接口等三方面给出具体电路设计。 (1)RTL8019AS功能管脚设置 RTL8019AS提供3种工作方式:PnP即插即用方式、免跳线方式和跳线方式。由于8位微控制器无法支持PnP工作方式,而免跳线方式又需外加专用串行E2PROM 93C46以存放相应的工作参数,因此选择跳线工作方式。在这种方式下RTL8019AS的中断、I/O端口地址、网络接口类型选择等就完全取决于表1所示功能管脚的状态。 JP脚接高电平使芯片工作于跳线方式,IOCS16B脚接低电平选8位数据总线,IRQS0~IRQS2接低电平选INT0为中断请求源,IOS0~IOS3接低电平选芯片I/O端口基地址为300H,AUI、PL0、PL1接低电平分别选BNC网络接口和10Base-T双绞线传输介质,SMEMRB/SMEMWB接高电平屏蔽BROM读写操作。 (2)RTL8019AS与微控制器的总线接口 RTL8019AS与微控制器的接口连接如图4所示。 针对以上总线接口还有几点说明:①由于在8位微处理器系统中,只需操作RTL8019AS的32个I/O端口地址,所以只需5根地址线进行译码,其余15根地址线要根据I/O端口基地址接固定电平。②AEN使能端为低电平有效,而PC7的内部逻辑方程为PC7=,所以RTL8019AS映射到外部数据区的地址范围是8000H~FFFFH,这样通过读写外部数据区的此地址范围就能实现对RTL8019AS的读写。③由于RTL8019AS的处理速度比快很多,其内部数据缓冲区也相对较大,为了避免RTL8019AS每收到一帧数据就发出中断请求,从而频繁地打断处理器,所以以查询而非中断方式读写RTL8019AS以太网控制器。④RTL8019AS在复位时要进行一系列内部寄存器操作,所以用单片机的P3.7端口控制其复位,以保证有足够的复位时间。 (3)网络介质接口连接 由于RTL8019AS内部已集成以太网收发器,而且对外提供AUI(支持粗同轴电缆)和BNC(支持细同轴电缆和双绞线)两种网络介质接口,所以本方案选择较常用的BNC接口,这样就只需再外加一个网络变压器20F001N和RJ45水晶头插座即可解决网络介质接口问题。 3.2 软件系统设计 由于整个网桥的底层功能(如以太网协议实现)已由硬件电路完成(见图4),所以在软件上只需完成RTL8019AS驱动、精简TCP/IP协议栈实现、用户自定义应用层处理以及串行口通信等功能。为了便于软件功能的实现和扩充,软件系统采用模块化方法进行设计[2]。 3.2.1 RTL8019AS驱动模块 此模块设计依赖于RTL
- 高速DSP与串行A/D转换器TLC2558接口的设计(09-08)
- 基于RS-485总线的远程测控系统(06-21)
- 关于串行口控制寄存器SCON(12-01)
- 串行口通信原理及操作流程(12-01)
- 由串行口接收带偶校验位的ASCII码数据块MCS51汇编程序(11-29)
- 51单片机串行口--同步移位寄存器(11-26)