单片机
2005年第22卷第3期
微电子学与计算机
229
果使用较快的DSP、RAM等,要考虑时序问题。也就是说RTL8019AS的IOCHRDY,是需要考虑连到
CPU上。或者做一定的处理。
(2)传输速度:在系统中,上位机与下位测控设
备之间数据交换的速度.取决于以太网接口模块的传输速度。而以太网模块的传输速度取决于以太网接口芯片的速度、单片机的处理速度,以及和设备交换数据的方式。在一般的测控系统中,要传送的
仅仅是控制命令和测量数据,数据量不大。模块与测控设备之间采用RS一232/485、CAN等串口方式连接,其通信速率仅几十kb/s或上百kb/s。这时以
太网接口芯片的速度(10Mb/s)和微处理器的速度就
远大于串口通信速度。因此传输速率主要取决于串口的通信速率。当要传送的数据速率要求很高时,它与测控设备之间就不能再采用串口连接.而必须采用并口连接。这时传输速率就取决于微处理器的
处理速度。此时。要选用一些高速的单片机。
(3)IP地址:以太网测控系统中,测控设备通过该模块进入以太网。必须确定自己的IP地址。IP地
址的获得有两种方式:动态获得IP地址和固定分配
IP地址。
(4)安全控制:在小型封闭的局域网中进行测
控.安全问题不大,但在广域网甚至因特网上进行
测控,安全控制就至关重要。为此,采用48~128位的用户密码来保护测控设备的安全。合法用户可以修改、设定自己的密码。网络非法用户即使窃取了
IP地址。没有用户密码,也无法操作设备。
f51实时性问题:测控系统在很多场合都要强调它的实时性,但以太网不是一个实时系统。由于它
的载波侦听碰撞检测(CSMA/CD)通信方式,决定了
以太网中IP包的传输会有延迟。甚至丢包,这是利用以太网组成分布式测控系统最大的缺点。但是,现在以太网的速度越来越快,百兆网甚至千兆网,
或在一些小型封闭的局域网中.网络的繁忙程度大
为减轻.IP包几乎没有碰撞,传输延迟、丢包现象就大大减小.不会影响测控系统的正常工作。同时,在系统的网络层之上,可增加应答协议,丢包的问题
就可基本克服。
4程序设计
所有程序采用51汇编语言编制,可读性强。占用内存少,开发简易。首先设计初始化和远程DMA持作程序,在此基础上设计数据包收发程序。
从程序员的角度看.RTL8019AS的数据包收发
流程非常简单.驱动程序将要发送的数据包按指定
格式写入RTL8019AS的RAM中,并启动发送命
令.RTL8019AS芯片会自动把数据包转换成物理帧
格式在物理信道上传输。反之,RTL8019AS收到物理信号后将其还原成数据,按指定格式存放在芯片的RAM中以便主程序读取。以太网协议有多种,如802-3,其帧结构如表l所示。物理信道上的收发操
作均使用了这种帧格式,其中,前导序列、帧起始
位、CRC校验均由硬件自动添加/删除,与软件无关。
但是.从RTL8019AS收到的数据包格式并不是802.3的真子集.而是如表2所示。明显地RTL8019AS自动添加了“接收状态、下一页指针、帧长度(字节)”三个数据成员(共4个字节)。这些数
据成员的引入方便了驱动程序的设计,体现了软硬件相互配合协同工作的设计思想。而发送数据包的
格式是802.3的真子集,如表3所示。
表1
802.3帧结构
62位
2位
48位
48位
麽詈。=PE/l数据DATAl填充PADI校验FCs
16位某害暮孑≥DATA≥46字节
32位
说明:
类型TYPE:0800IP包;0806ARP包;814C
SNMP
包:8137IPX届PX包
小于0600H值用于IEEE802.3帧,表示数据包长度
DA7IA:DA+SA+7IYPE=14字节+DATA=1514字节,即最大传输包长度小于等于1514
PAD:最小包长度不小于60字节,最小DATA长度46字节,不够时补0.
表2
R’rL8019AS接收包帧结构
8位8位16位48位48位
16位
引挈字
可选32位
表3RTL8019AS发送包帧结构
l目的IP地源IP地类型TYPE/数据域
址DA址SA长度LEN填充PAD
DA7I'A
48位
48位
16位
≤1挈字填充PAD
1了
4.1数据包的接收
将RTL8019AS内部RAM的后52设置为接收缓冲区,该缓冲区构成了一个FIFO队列,PSl’ART、PSTOP两个寄存器限定了循环队列的起始和结束