版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机中TCP/IP协议子集的设计与实现刘恩涛,王沁(北京科技大学信息工程学院,北京100083摘要:集成了TCP/IP协议子集的单片机具有较高的应用价值,较好地解决了工控单片机使用串行通讯机制时存在的问题。设计中将TCP/IP协议子集、80C52单片机和RTL8019AS以太网卡芯片相结合,利用C语言编写系统控制程序及底层硬件驱动,在80C52单片机上实现了TCP,IP协议子集。此设计有效地降低了成本,通讯高速可靠,精简实用,易于操作与组建网络。关键词:单片机;TCP,IP;80C52;RTL8019AS;i控;网络Design and realization of TCP/IP proto
2、col subset based on microcontroller systemLIU En-tao,WANO Qm(College ofInformationEngineering,BeijingUniversityofScience andTechnology,Beijing100083,ChinaAbstract:Themicrocontroller systemwithTCPflPProtocol subsetembeddedisverypopularinpractice.Itisusedto solvetheproblems properly that appears in se
3、rial communication mechanism used in industrial control In this design,the80C52mierocontroller,TCP/IPprotocol subset and RTL8019AS ethemet chip are integrated properly The low level hardware drivers and systemcontrolling progrwnarewritteninClanguage.Finally,theTCP/IPprotocolsubsetis realized011the80
4、C52microcontroller system.Accordingtothis strategy, itis easyto achieve suchmerits aslow cost,highspeedand reliable communication,practicality,simplicityofoperationandnetwork constructingKey words:microcontroller;TCP/IP;80C52;RTL8019AS;industrial control;networkl引言目前,单片机在众多领域得到广泛应用,大到自动化生产线,小到智能家电,这
5、都归结于单片机价格低廉、性能稳定、嵌入性强和开发周期短等诸多优点。随着TCP/IP技术和Internet的迅猛发展,在单片机中集成TcMP协议成为一个研发热点。例如,前景看好的互联网家电,人们通过Intemet就可随时随地知道家中的情况,操控家电的运转,而这些家电的智能核心正是集成了TCP/IP协议的单片机。2工控TCP/IP网络单片机的优势传统工业控制中,单片机之间、单片机与计算机之间的通讯一直采用RS232或RS485串行通讯机制来实现。但是,随着生产规模的扩大、工控节点的增多、数据传输量的增大以及控制复杂度要求的提高,就不再适合使用串行通讯机制进行网络通信,这是因为串行通讯机制存在着一定
6、的缺陷。串行通讯的数据传输率较低;它的节点轮询控制机制实时性较差;随着控制复杂度的提高及节点数目的增多,系统可靠性下降较快。TCP/IP是当前应用最广泛的网络协议体系,它有成熟的标准通信协议和完善的体系结构,能将各种异构计算机系统互联,保证数据传输的可靠性。采用集成了TCP/IP协议的单片机作为工控节点优势显著。TCP/IP的成熟协议保证了通讯的可靠性;只需遵循标准协议进行开发,而无需另外设计通信协议:基于以太网的TCP/ IP网络可以达到lO/lOOMbps的传输速率,提高了系统实时性;在8/16/32位的微控制器芯片上均可实现TCP/IP协议系统i以太网星型拓扑结构保证了各节点的独立性和系
7、统的整体稳定性。综合上述原因和实际工程的需要,本文中设计并实现了一个集成TCP/IP协议子集的80C52工控单片机系统,用来回传网络单片机节点中的数据。380C52中TCP/IP协议子系统的设计与实现3.1系统网络结构与功能描述80C52工控单片机系统的网络拓扑结构如图1所示。实际应用中,主控服务器、以太网交换机和多个80C52工控单片收稿日期:20040106。作者简介:刘恩涛(1975,男,北京人,硕士研究生,研究方向为计算机网络、单片机应用嚣宽带网络等;王沁(1961.,女,北京人,教授,博士生导师,研究方向为计算机体系结构、网络通信及电子技术等。2282万方数据机构成一个TCP仃P网络
8、,主控服务器为PC机,32口10Mbps 以太网交换机和双绞线组将30台节点单片机与服务器连接起来。图180C52工控单片机系统的网络拓扑结构主控服务器端安装有标准的TCP/1P协议,提供DHCP服务,同时配以专门设计的基于UDP协议的应用程序来接收、分析并处理单片机发送过来的UDP打包数据。当80C52单片机加电后,它利用自身的DHCP功能从主控服务器自动获得口地址等网络参数;单片机可以对网络上pmg命令做出应答,以便测试单片机节点是否连通;外设备串口将数据传输到单片机串口中,单片机接收并处理后,使用UDP协议将数据打包,传送给单片机系统中的以太网卡芯片,再经以太网将数据传输到主控服务器中,
9、由服务器中专门的应用程序对数据进行分析和处理。3.2系统硬件实现80C52毕片机TCP灯P协议子集系统的硬件实现如图2所不。图2系统硬件实现结构图硬件实现中使用到的主要部件有80C52微控制器、RTL8019AS10Mbps以太网卡芯片、MAX232串口电平转换模块、12C总线E2PROM24c02、8位锁存器74HC373、32K的RAM 62256、FB2022网卡滤波器、R8323和RJ45连接插口。在本设计中,采用的微控制器芯片是51系列的80C52,它在工控中应用广泛、价格低廉。80C52的数据总线为8位,可扩展地址线为】6位,寻址范围达64K,其片内有256字节的RAM及16K的E
10、2PROM,其资源情况足够满足本设计的需求。这是因为从外设备串口发来的数据量较小、频率较低,一般次不会超过500bytes,IP软件实现部分不需对数据进行复杂的分片和重组处理;系统功能的实现只需TCPdP协议集中相对简单的IP、ARP、ICMP、UDP 和DHCP等5个协议的子集即可,而IP选路部分、TCP、RARP、IGMP、HTTP、FTP及TELNET等诸多协议均不在本系统的实现范围之内。采用将62256外部存储器和RTLS019AS的寄存器进行统一编址的访存方式。统一编址后,外部存储器62256占用单片机的外部数据地址空间0000H一7FFFH,共32K字节。RTL8019AS网卡芯片
11、本身的端口地址为240H-25FH,统一编址时,对这一地址范围进行了映射,采用高8位有效映射方式编址后为C000H-DF00H。80C52使用外部RAM的目的是提高单片机的数据缓存能力,适应相对复杂的TCP/1P数据处理。这是因为以太网的包最大可达1518字节,89C52单片机内部存储器是无法存储这么大的包的,只有放到外部的RAM里。同时这外部的RAM 也用作串行口的输入输出缓冲,以使单片机可以高速地吞吐数据。80C52对RTL8019AS的访问是通过统一地址线直接进行查询读写,而没有采用RTLS019AS向80C52发送中断请求的方式来读写网卡数据,这是因为RTL8019AS的数据传输率为1
12、0Mbps。而80C52的处理能力比较弱,如果采用中断的方式来处理网卡数据,80C52则有可能会被频繁中断,与其处理能力不匹配。硬件连接时,80C52的DA0-DA7与锁存器74HC373相连, 80C52的地址线AD0-AD7与数据线DA0DA7是复用的,通过80C52上的ALE锁存器能使信号来选择是地址还是数据有效,该ALE连接到锁存器的LE锁存使能管脚。80C52的地址线AD8ADl6及数据线DA0DA7分别与RTL8019的地址线与数据线相连。24C02是使用12C总线的E2PROM,可以用来存储用户的工控设置参数。FC22为耦合隔离变压器模块,通过它将RJ45外部接口与RTL8019
13、AS连接。MAX232为串口电平转换电路,数据传感器通过RS232接口将数据发送到单片机串口线,单片机将数据送到网卡传送出去。晶振可以用11.0592Mhz,也可以用22.1184Mhz,或更高的频率。3.3系统软件实现系统的软件实现全部采用C语言编写,而没有使用汇编语言,这是因为开发周期短,同时便于向不同开发平台移植。在开发平台的选择上,没有采用嵌入式操作系统,这是考虑到80C52单片机的硬件资源较少,软件所需完成的功能并不复杂,直接使用C语言来开发难度小、周期短。一般来讲,网络数据的分层处理过程如图3所示。当目的主机收到一个以太网数据帧时,数据就从协议栈的底层向以太两首部中的帧类型进行分用
14、图3以太网数据帧的分层处理2283万方数据上传送,在传送过程中去掉各层协议所加的报文首部。每层协议都要去检查报文首部中的协议标识,以确定接收数据的上层协议,之后,进行相关协议的实现。同样,当主机应用程序产生数据后,按照逆向向下逐层她发送,经过每层协议处理,最后通过以太网发送出去。系统的软件部分也是按这种思路设计并实现的,实现流程框图如图4所示。若IP包类型为UDP包类型,则进行相应的UDP处理。程序中定时器中断处理完成定时计时。串口中断处理程序由串口发送来的数据所触发,处理串口传输过来的数据,并按照协议规则将数据打包为UDP类型IP包,将数据发送到网卡芯片RTL8019AS,通过该芯片发送到网
15、上,传输给服务器。3.4测试结果图4程序实现的流程框图整个实现程序经C5l编译器编译并链接后,所生成的HEX 目标文件约12K字节,刚好可以写到80C52自有的16K E2PROM中。当系统加电后,开始读取并执行存放在80C52自身E2PROM中的程序。首先,程序依次对80C52和RTL8019AS 进行初始化,之后,从外部E2PROM24c02中读取预存的一些工控参数,经过一段延时后,网卡进入稳定的工作状态。系统运行DHCP协议程序从服务器中动态获取自身的网络设置,包括IP地址和子网掩码等,之后,系统进入运行状态。程序的运行态为永真循环结构体,每次循环开始时,通过访问网卡端口来判断是否接收到
16、新的以太网数据。若无新数据,则继续循环i若有新数据,则对以太网帧进行校验,若错误,则丢弃该数据,若正确,则对以太网帧中的协议类型进行检查。如果类型标志为0x806,则判断是ARP请求还是ARP应答,分别进行处理:如果类型标志为0x800,则是IP数据包类型,本系统只接收IP v4类型包,并对IP数据包校验,若出错,则丢弃,若正确,则根据JP包首部继续判断IP包的类型。若IP包为ICMP类型且为ping请求类型,则进行ping请求处理;2284测试时,使用计算机的RS232接口来替代外设各串口,将其与单片机的RS232接口相连。当计算机向单片机串121发送数据后,在服务器端的应用程序中正确接收到
17、计算机从串口所发出的数据。在服务器端,使用DHcP服务器软件监控到单片机系统动态获取IP地址等网络参数的过程,同时使用ping程序向单片机发送ICMP请求后,得到正确的ping响应。在实际测试中,单片机的TCP/IP数据传输率一般稳定在120kbps左右,由于80C52处理能力有限,再大的数据量就有些不大适合使用该系统进行传输了。4结束语本设计只是有选择性地实现了TCP/IP协议系统的一个子集,满足了实际工程需求。具有成本低廉、可靠性强、易组建和易操作等优点:在节点数较多的情况下,可靠性及实时性都要比采用串行通讯的单片机高。设计中并没有实现TCPflP系统中TCP、IGMP和HTTP等多个协议
18、。在对80C52单片机的外部存储器进行相应的扩充及程序完善后,就可实现TCP协议。在实现TCP和UDP协议的基础上,就可以在80C52单片机中实现更多的应用程序,如Telnet、FTP、HTTP 以及SNMP等应用,逐步完善网络单片机的功能,另外还可以考虑将系统移植到功能更强大、资源更丰富的16位或32位微控制器芯片上,并使用基于其上的嵌入式操作系统,这样,开发出的产品将功能更强大,应用领域更广阔。参考文献:1夏玮玮,沈连丰,肖婕嵌入式系统关键技术分析与开发应用【J】.单片机与嵌入式系统应用,2003,(2:59【2曹宇,魏丰,胡士毅用51单片机控制RTL8019AS实现以太网通讯【J电子技术
19、应用,2003,29(1:2123.3Richard Sevens w TCP.IP详解卷1:协议M北京:机械工业出版社,20004】4WrightGRTCP.IP详解卷2:协议MI北京:机械工业出版社, 20005】5吴金戌,沈庆阳,郭庭吉8051单片机实践与应用M北京:清华大学出版社.2002【6陈龙三8051单片机C语言控制与应用M北京:清华大学出版社,1999万方数据 单片机中TCP/IP协议子集的设计与实现作者:刘恩涛, 王沁作者单位:北京科技大学,信息工程学院,北京,100083刊名: 计算机工程与设计英文刊名:COMPUTER ENGINEERING AND DESIGN年,卷(
20、期:2004,25(12引用次数:4次参考文献(6条2003(13.Richard Sevens W TCP-IP详解卷1:协议 20004.Wright G R TCP-IP详解卷2:协议 20006.陈龙三8051单片机C语言控制与应用 1999相似文献(10条2007,20(5文章中给出了基于单片机嵌入式TCP/IP上网的解决方案.包括对以太网接口硬件设计,以及基于单片机实现的网卡控制器的驱动和TCP/IP协议软件设计,实现了基于单片机嵌入式TCP/IP上网.本文介绍了嵌入式TCP/IP协议在单片机网络系统中的数据传输技术.将TCP/IP协议嵌入式单片机中,借助网卡芯片RTL8019AS
21、实现了单片机在局域网内和通过局域网在互联网上的数据传输.用户终端以单片机系统板为媒介,通过网络与远程数据终端实现数据通信.3.学位论文姜玲玲基于增强型51系列单片机的TCP/IP协议栈的实现2005本文研究了嵌入式TCP/IP协议单片机在网络通信中的数据传输技术,开发了利用增强型单片机实现TCP/IP协议的应用系统,借助无线通信模块实现了单片机系统通过无线网络在Internet上的数据传输。用户终端以单片机系统板为媒介,通过网络与远程数据中心服务器实现数据通信。 本系统所使用的单片机是一款将可编程系统器件PSD和8032微控制器集成一体的功能强大的新型高速单片机STuPSD3200系列单片机,
22、这款单片机既满足了系统对资源的要求又简化了系统的外围电路。为了系统开发的便利采用了InsightME-3200仿真器及高性能集成开发环境MedWin。 利用单片机实现TCP/IP协议栈的技术难点在于:如何利用单片机自身有限的资源实现复杂的协议和状态机转换,同时保证系统的实时性,使之可以在Internet上传输IP数据包。由于TCP/IP协议比较复杂,受单片机内存和速度限制,如何将TCP/IP协议简化是本文所要研究和解决的重点问题。 为增强程序的可移植性,本文中所有代码都是由C语言编写的,并采用分层的结构,从底到上分别为:IP协议层、TCP协议层与应用层。上层函数的实现需要应用到底层函数,而底层
23、函数的任务就是为上层函数提供服务,最终完成应用层任务传送数据。 本课题采用包嗅探器Sniffer对通信数据进行跟踪分析,并验证协议栈程序的正确性。 本研究成果已经应用于交通部科技项目水上交通安全信息系统中。4.学位论文侯昉基于嵌入式实时操作系统和TCP/IP协议的单片机测控系统2004在网络通信的数据传输中,将TCP/IP协议嵌入到AT89C51单片机中,借助CS8900网卡芯片实现了单片机在局域网内和通过局域网在因特网上的数据传输,用户终端通过单片机实现网络与远程数据终端的数据通信.2005,26(9介绍了一种使用双单片机的多通道的毛细管电泳芯片检测系统,详述了从单片机如何通过网卡芯片RTL8019AS,通过以太网实现与上位机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建商学院《社会学教程》2025-2026学年期末试卷
- 2026安徽医科大学附属六安医院(六安市人民医院)招聘70人考试备考试题及答案解析
- 2026河北衡水市第三人民医院招聘就业见习人员70名笔试备考题库及答案解析
- 2026福建福州连江恒欣村镇银行春季社会招聘笔试参考题库及答案解析
- 地理八年级下册活动课 认识南方地区和北方地区的区域差异教案
- 2026年青岛国际投资有限公司校园招聘笔试参考题库及答案解析
- 2026河北唐山中心医院心血管内科、神经内科招聘4人考试备考试题及答案解析
- 2026湖北黄石市阳新县中等职业学校校园招聘教师26人笔试参考题库及答案解析
- 桂科版五年级下册任务三 玩转你的视频教学设计
- 高中信息技术 多媒体作品的规划与设计教学设计 粤教版选修2
- 科主任临床科室管理
- 装配式建筑碳核算 课件 4章装配式建筑碳排放系数分析与核算
- 高边坡开挖技术方案
- 《医疗质量管理与控制指标汇编7.0版》
- GB/T 26941-2025隔离栅
- 网架专项吊装施工方案
- T-CBJ 2310-2024 酱香型白酒核心产区(仁怀) 酱香型白酒(大曲)生产技术规范
- 露天矿山运输安全培训课件
- 电机制造工测试考核试卷及答案
- 长春公益岗管理办法
- 国网竞聘面试题库及答案
评论
0/150
提交评论