来源:互联网 发布时间:12-25
浏览量:
1 引言
网络技术的飞速发展促使嵌入式设备的数据传输方式发生重大变化,如今嵌入式设备网络化已成为嵌入式技术发展的一个重要方向。网络数据传输技术具有传输速率高、传送距离远、通讯协议完善、信息共享程度高等优点,为嵌入式设备增加网络功能有着深远的意义。在工业控制领域,应用嵌入式网络技术可实现仪器仪表的远 程测控,使控制系统底层设备间数据传输协议统一,甚至有人认为以嵌入式网络技术为支持的工业以太网在将来会取代协议不统一的现场总线。而在家庭自动化应用领域引入嵌入式网络技术,则可实现水、电、气三表自动抄送,家用电器远程控制,住宅防盗、灾难报警等,真正实现智能化小区管理。但对于以单片机为核心的嵌 入式设备而言,要利用有限的资源对数据和信息进行网络协议的处理具有一定的技术难度。本文通过设计一个实现串口设备接入internet的网络模块,探讨 利用低速单片机实现网络功能的方法。
2 协议和方案的选择
嵌入式设备网络化的关键是实现tcp/ip网络协议。众所周知,tcp/ip是一个数量庞大的协议体系,是几百种网络协议的集合, 在嵌入式系统有限的资源中很难完全实现。且嵌入式系统作为以应用为中心,具有特定功能的专用计算机系统,也不需要实现如此多的协议。因此系统设计的第一步就是进行tcp/ip协议栈子集的选择。
tcp/ip通常被认为是一个由链路层、网络层、传输层和应用层组成的四层协议系统,每一层都有相应的协议集合来实现不同的功能。数据链路层主要处理与传输介质有关的物理接口细节,考虑到以太网数据流量大且通用性强,因此采用以太网(ieee802.3)协议,用rj45接口将嵌入式设备连入网络。网络层 主要负责处理数据包在网络中的协议封装,该层选用tcp/ip协议栈的核心ip协议,同时选用arp协议实现ip地址到mac物理地址的转换。传输层主要 为两台主机上的应用程序提供端到端的通信,有udp和tcp两种协议。udp协议是不面向连接的,因而不能保证数据传输的可靠性。tcp是面向连接的,但 其可靠性的保证是以许多复杂措施及由此而增加的开销为代价换来的。因此在此选择tcp为传输层协议,但针对应用进行了简化以适应嵌入式要求。应用层负责处 理特定的应用程序细节,应用层协议种类繁多,考虑到嵌入式应用的特殊性,不选取通用的应用层协议。以上对协议子集的选择是以满足实用为目的,并在不影响网络基本功能的原则下进行的。
2.1 实现嵌入式设备网络化的方案的两种方案比较
实现嵌入式设备网络化的方案很多,在这里只对目前主流的两种方案进行比较:
(1) 高速的32位微处理器+嵌入式操作系统
该方案将嵌入式操作系统移植到微处理器中,在操作系统平台上进行软件开发。由于操作系统大多集成了tcp/ip协议栈,因而协议的实现相对简单,主要的工 作是如何将操作系统移植到特定的硬件平台。用该方案联网能实现很多复杂的功能,有很大的灵活性。但是运行操作系统对微处理器性能有较高的要求,开发人员不但要熟悉硬件,还需熟悉如何在操作系统平台上编写驱动和应用程序,因而此方案成本高且开发周期长。
(2) 8位单片机+以太网控制芯片
该方案用以太网控制芯片实现以太网协议的处理,以缓解对单片机性能和资源的要求。8位单片机一般速度较低,可扩展资源有限,在单片机系统中实现网络功能有 一定的挑战性。用以太网控制芯片实现底层协议可大大节省代码空间,单片机只需用软件实现上层tcp/ip协议栈。此方案比较适合于对成本、体积和功耗等比 较敏感的应用,但对协议栈的支持始终有限,不能实现复杂应用。
究竟选用哪种方案,则要根据传输数据量大小,以及具体的应用要求来决定。本文设计的是串口设备联网模块,属于低端应用,因而采用8位低速单片机来实现。
3 系统硬件结构
系统硬件结构框图如图1所示。
硬件设计的关键是主mcu芯片和以太网控制芯片的设计,考虑到实现tcp/ip协议对代码空间和处理速度的要求,选用的主芯片为at89c55,该芯片集 成了20k的flash rom,工作频率选用22.1184mhz。单片机还外扩了一片62256外部存储器,该ram可存储32k字节的数据。使用外部ram的目的是为了存放 网络数据,提高数据传输的速度。以太网数据包最大可到1500字节,89c55片内无法存储。同时62256还用作串口的输入输出缓冲,使单片机可以高速的吞吐数据。单片机中已集成了串行通信功能,只需在外围增加电平转换芯片即可实现连接,在此选用max232来实现rs232串口。max232是低功 耗、单电源的rs232发送/接收器,可以实现单片机ttl/cmos电平和rs232标准电平间的转换。当然如果将电平转换芯片替换成max485,此 系统则可实现rs485串口设备联网。以太网控制芯片一般可分为isa和pci两种接口标准,均是为pc机网卡而设计,用于8位单片机时需要进行一定的简 化。本文选用的rtl8019as是10mbps的全双工以太网控制器,由于其优良的性能和低廉的价格而被广泛使用。以太网控制芯片进行数据收发还需进行 滤波和变压,在此选用的滤波变压器为20f001n。此外系统中还有电源、复位、指示灯等外围电路,这些外围电路以及rs232接口和存储器接口等都属于常规电路,因此本文对其硬件电路不作过多说明,只对以太网接口部分进行详细介绍。
4 以太网接口工作原理及实现
内置16kb的sram可用于收发缓冲,以降低对主mcu的速度要求。该芯片可连接同轴电缆和双绞线,并可自动检测所连接的介质,其具有的睡眠模式可以降低功耗。
以太网控制芯片是以太网接口的核心器件,如何使用该芯片是设计以太网接口的关键。rtl8019as是符合ieee 802.3和cdma/cd标准的以太网控制芯片,实现以太网介质访问层(mac)和物理层(phy)的功能,其内部可划分为远程dma和本地dma2个 通道,结构如图2所示。
本地dma实现与网线的数据交换,单片机收发数据只需对远程dma操作。当单片机要向网络发送数据时,先通过远程dma将一帧数据送到rtl8019as 的发送缓存区,然后发出传送命令。发送控制器将字节在时钟控制下逐位移出,并送到crc编码单元。crc逻辑对帧数据产生校验序列,并附加在数据尾传送。 当接收数据时,接收控制器在时钟控制下将串行数据拼成字节送到fifo和crc,crc负责对输入数据进行校验,如果校验码不同,则该帧被拒收。地址识别单元对mac地址进行比较,只有与本地物理地址相同或为广播地址的数据帧才被接收。以上检验通过后将数据存入接收缓冲区,收满一帧后,以中断或寄存器标志的方式通知单片机,单片机再通过远程dma通道读取这一帧数据。
以太网接口硬件电路如图3所示,rtl8019as是符合isa总线标准的以太网控制芯片,采用100脚的tqfp封装。为了简化硬件设计,将jp脚接高电平使rtl8019as以跳线 模式工作。跳线模式下i/o地址由ios[0:3]决定,图3中将它们全部悬空,由于rtl8019as输入引脚内部有下拉电阻,所以i/o基址为 300h(即001100000000)。rtl8019as共有32个寄存器,用sa[0:4]与单片机相连进行寻址,地址线sa8、sa9接高电平, 其余地址线接低电平以锁定i/o地址。smemrb和smemwb引脚接高电平关闭memory方式。rtl8019as与单片机间采用8位的数据传输模 式,需将iocs16b脚用27kω电阻下拉接地。当rtl8019as上电复位时会检测该引脚的电平以决定数据总线宽度。iorb和iowb为 rtl8019as读写信号线,与单片机读写信号相连,低电平有效。单片机对数据帧的收发均采用查询方式,所以中断信号线都悬空。pl0,pl1脚悬空, 自动检测网络接口类型。aui引脚悬空使用utp接口,双绞线发送和接收信号tpin±和tpout±经耦合隔离变压器20f001n后,用rj45插头 接入网络。
5 系统软件设计
软件设计是整个系统设计的重点和难点,考虑到实现tcp/ip协议的复杂性,软件采用c51编程,并采用模块化编程的方法。首先按照功能将程序分为几个协 议模块,每个模块基本上放在一个独立的文件中,最后由主程序模块调用各功能模块实现协调工作。系统工作流程如图4所示,
上电后首先执行初始化工作,包括单片机及其外围电路,串口和以太网控制芯片的初始化。接着检查是否有串口发送或接收中断标志,如有转入相应子程序进行串行数据的处理。在本系统中,仅有串口使用中断的操作方式,网络芯片的控制采用查询方式。单片机的处理速度有限,如果响应以太网控制芯片中断将花费大量中断处 理时间,这势必会造成串行通信数据的丢失或超时。因此用查询法控制网络芯片,并将tcp/ip协议的处理放到主程序顺序循环中,以牺牲响应时间来保证系统 的稳定可靠工作。当然这种方法可能造成响应不及时,出现缓冲区溢出或丢包等现象,这可以依靠tcp协议来保证可靠传输。当需要向网络发送数据时,首先检查 发送缓冲区是否为空,如果没有数据帧正在发送,则依次对数据进行tcp和ip协议的打包后,将数据交给以太网控制芯片发出。网络数据的接收过程则与发送相反。
为了适应单片机有限的存储和运算能力,不光要有选择地实现tcp/ip协议的子集,还需要对tcp/ip协议进行有针对性的简化。对于ip协议,只采用它 主要的ip数据包收发功能:收到ip数据包时,检验ip头的版本、目的地址、校验和,如果正确就根据协议类型字段把数据交给上层协议;发送ip数据包时, 填写目的和源地址,设置校验和,然后交给下层协议处理。本设计中重点对tcp协议进
上一篇 : 暂无 下一篇 : 烤地瓜机 烤地瓜机烤地瓜的原理
版权声明:
1.华商贸易网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。
2.如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系邮箱:me@lm263.com