以太网控制器的嵌入式设备网络互连
时间:06-24
来源:互联网
点击:
图3 与DMA有关的寄存器
二、基于RTL8019AS的嵌入式设备网络互连设计方案
1.RTL8019AS的硬件电路设计
目前局域网常见的是采用双绞线为通信介质。图4为MOTOROLA的龙珠(Dragonball)处理器MC68VZ328(以下简称VZ328)和RTL8019AS的接口电路。RTL8019AS的工作电压为5V,而VZ328的工作电压为3.3V,所以RTL8019AS的输出需要电平的转换。在图4中,此电压的转换由U2 74F163245 完成。读数据时,D[0:15]数据经U2 送到VZ328;写数据时,D[0:15]送到RTL8019AS。 RTL8019AS在复位的上升沿锁定IOCS16脚的电平,其值决定数据总线的宽度:高电平时为16位总线方式,低电平时为8位总线方式。如挂接到8位主设备上,将以27kΩ的电阻下拉置地,D[8:15]空悬。为提高收发速度,图4采用16位数据总线方式。由于RTL8019AS没有外接初始化的EPROM,故其复位时命令寄存器(CR)的I/O地址的值为缺省值0X300,所以,为满足RTL8019AS的ISA时序,A5~A19的连接必须使其地址锁定在0X300,否则,就无法访问到RTL8019AS的寄存器。INT0中断脚经电平转换U4接到VZ328的IRQ6。VZ328以片选脚寻址RTL8019AS,接其端。在程序中,以I/O方式访问RTL8019AS,所以仅需要A[0:4]地址线,、接高电平关闭其MEMORY方式。
图4 RTL8019AS与68VZ328接口电路
2.RTL8019AS的软件编程
对RTL8019AS的软件操作,有查询和中断两种方式。在查询方式下,主程序通过CURR和Boundary两个寄存器的值来判断是否收到一帧数据。当Boundary与CURR不等时,说明接收缓冲区接收到了新的帧,主程序读取数据后,以读取帧的第二个字节(下一帧的页地址)更新Boundary,主程序循环跟踪CURR和Boundary达到数据的接收目的。主程序在发送一帧数据时,先要查TSR寄存器判断上一帧是否发送完毕。在实时多任务的环境,一般采用中断方式来处理RTL8019AS的收发。图5是一典型的中断处理程序(ISR)的流程。当主程序响应RTL8019AS的中断时,在ISR的入口,根据读取的中断状态寄存器(ISR)的值来确定程序的走向。
图 5 ISR流程图
- 蓝牙无线电调制解调器Siw1701原理与应用(02-19)
- 嵌入式移动数据库的关键技术(03-20)
- 在嵌入式SQL中怎样使用游标(08-12)
- 嵌入式Linux系统软件开发学习思路详细介绍 (08-20)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 嵌入式系统设计中的存储碎片收集策略(05-04)