微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 用于车速传感器测试平台的串行口-以太网桥设计

用于车速传感器测试平台的串行口-以太网桥设计

时间:06-22 来源:互联网 点击:
3.1.1 PSD模块配置设计

微控制器μPSD3254的PSD模块使得硬件电路的设计大为简化。它本身提供的两块大容量Flash以及SRAM(支持后备电池)使用户无需再进行外部程序/数据存储器扩展。同时PSD模块中的DPLD子模块为Flash和SRAM提供了灵活的地址译码,CPLD子模块可供用户设计一些简单的组合/时序逻辑电路。本设计根据具体应用需求,对PSD模块配置如下:

(1) 主Flash扇区0(fs0)配置在程序存储器的0000H~FFFFH空间;
(2) 主Flash扇区1(fsl)配置在程序存储器的8000H~7FFFH空间;
(3) SRAM(rs0)配置在外部数据存储器的0000H~7FFFH空间;
(4) CPLD的PA口和PB口被分别设计为两个多路转换器,以供串行通信时进行信道切换。

3.1.2 串行口扩展设计

由图2可知,车速传感器性能测试平台中四个仅支持串行口的测试设备(分别负责耐温、转速、传感器静态特性和动态特性的测试)要同时接人嵌入式串行口-以太网桥,而微控制器μPSD3254本身只提供两个串行口(uart0、uart1),所以必须进行串行口扩展。一种简单的扩展方法是利用单片机I/O端口控制多路转换器(如CD4052)进行串行口扩展(图3),实现了一点对多点分时串行口通信。根据微控制器μPSD3254的I/O端口资源情况,依此方法系统最多可扩展32个串行口。根据此思路并结合测试平台的具体应用需求,利用μPSD3254的CPLD模块设计了两个二选一的多路转换器,从而不仅将两个串行口扩展为四个(uart00、uart01和uart10、uart11),而且省去了多路转换器芯片。另外,电平转换器实现TTL—RS232电平转换,这样就为四个测试设备提供了四个标准RS-232串行口供其接入串行口-以太网桥。

3.1.3 以太网接口设计

以太网接口是硬件电路设计的关键。因为RTL8019AS是基于ISA总线PC主板的以太网控制器,所以在和8位微控制器进行接口(见图3)时其硬件电路与通用方式有很大不同。下面从RTL8019AS以太网控制器自身功能配置、与微控制器μPSD3254之间的总线接口及与网络介质的接口等三方面给出具体电路设计。

(1) RTL8019AS功能管脚设置

RTL8019AS提供3种工作方式:PnP即插即用方式、免跳线方式和跳线方式。由于8位微控制器μPSD3254无法支持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=A15,所以RTL8019AS映射到μPSD3254外部数据区的地址范围是8000H~FFFFH,这样μPSD3254通过读写外部数据区的此地址范围就能实现对RTL8019AS的读写。③由于RTL8019AS的处理速度比μPSD3254快很多,其内部数据缓冲区也相对较大,为了避免RTL8019AS每收到一帧数据就发出中断请求,从而频繁地打断处理器,所以μPSD3254以查询而非中断方式读写RTL8019AS以太网控制器。④RTL8019AS在复位时要进行一系列内部寄存器操作,所以用单片机的P3.7端口控制其复位,以保证有足够的复位时间。

(3) 网络介质接口连接

由于RTL8019AS内部已集成以太网收发器,而且对外提供AUI(支持粗同轴电缆)和BNC(支持细同轴电缆和双绞线)两种网络介质接口,所以本方案选择较常用的BNC接口,这样就只需再外加一个网络变压器20F001N和RJ45水晶头插座即可解决网络介质接口问题。

3.2 软件系统设计

由于整个网桥的底层功能(如以太网协议实现)已由硬件电路完成(见图4),所以在软件上只需完成RTL8019AS驱动、精简TCP/IP协议栈实现、用户自定义应用层处理以及串行口通信等功能。为了便于软件功能的实现和扩充,软件系统采用模块化方法进行设计。

3.2.1 RTL8019AS驱动模块

此模块设计依赖于RTL8019AS的硬件工作原理,即对RTL8019AS的驱动是通过操作其内部寄存器组来完成的。通常,在进行数据收发前需先向各寄存器写入相应的控制字,当发送以太网数据帧时,微控制器μPSD3254通过RTL8019AS的I/O端口将打包好的数据以远程DMA方式写入到RTL8019AS的内部数据发送缓冲区,然后启动发送;接收以太网数据帧时,RTL8019AS会自动接收数据并将其存人自己的内部数据接收缓冲区,然后以寄存器标志或中断请求方式通知μPSD3254,μPSD3254再通过RTL8019AS的I/O端口将数据以远程DMA方式读到自己的数据缓冲区并进行下一步的拆包处理。基于以上分析,RTL8019AS驱动程序分三部分设计,即芯片初始化(设置MAC地址、收发缓冲区大小、中断等)、发送数据子程序和接收数据子程序。详细的驱动程序见文献[3]。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top