pic控制8019as第8部分.docx
- 文档编号:10909555
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:48
- 大小:838.92KB
pic控制8019as第8部分.docx
《pic控制8019as第8部分.docx》由会员分享,可在线阅读,更多相关《pic控制8019as第8部分.docx(48页珍藏版)》请在冰豆网上搜索。
pic控制8019as第8部分
SHANGHAIUNIVERSITY
毕业设计(论文)
UNDERGRADUATEPROJECT(THESIS)
题目:
基于单片机的多点联网系统
学院通信与信息工程学院
专业通信工程
学号05124618
学生姓名陆盛浩
指导教师陆小锋
起讫日期2009年3月29日-6月20日
目录
摘要2
Abstract3
第一章绪论4
1.1课题背景4
1.2课题研究目的和意义5
1.3课题研究的主要内容及论文安排5
第二章相关基础知识介绍6
2.1以太网工作原理6
2.2TCP/IP协议栈简介7
2.3相关开发工具8
2.3.1PROTEL99SE介绍8
2.3.2MPLABIDE介绍9
第三章多点联网系统设计11
3.1基于单片机的多点联网系统设计框架11
3.2基于PIC18F4580单片机的网络接入模块硬件设计12
3.2.1网络接入模块硬件设计框图12
3.2.2基于PIC18F4580的控制单元12
3.2.3以太网接入单元13
3.2.4前端系统接口单元16
3.2.5其他单元设计19
3.3基于PIC18F4580单片机的网络接入模块PCB板设计20
第四章多点联网系统软件设计21
4.1系统整体软件设计框架21
4.2前端系统接口程序设计21
4.3基于RTL8019AS芯片网络接入驱动程序设计23
4.4关于TCP/IP协议栈的程序设计26
第五章总结与展望28
致谢29
参考文献30
附录32
文献翻译32
系统原理图45
摘要
现实生活中,许多的嵌入式系统设备已被广泛地应用,由于当前硬件设计的问题,未嵌入网络连接模块,使得这些嵌入式系统在使用上受到限制,而添置新设备又需要很高的成本。
本文设计的网络接入模块解决了嵌入式设备与以太网络的连接问题,在不改变嵌入式设备本身结构的情况下,用户终端可以通过这个模块将现有的各种串口设备快速方便地接入网络,从而实现仪器的远程控制、远程数据终端的数据通信等功能。
本设计方案利用8位单片机PIC18F4580提供的系统资源和处理能力,加上ISA接口的10Mb/s网卡芯片RTL8019AS,通过编写一套精简的协议栈,并实现可靠的数据通信,从而达到低成本、可靠连接网络的目的。
关键字:
以太网单片机RTL8019ASPIC18F4580
Abstract
Inthereallife,manyembeddedsystemdeviceshavebeenwidelyused,buttheyhavenotembeddedthenetworkmoduleowingtothecurrentdesignproblem.Itmakestheseembeddedsystemslimitedinuseandhighexpensewillhavetobepaidifnewdevicesshouldbeadded.
ThenetworkaccessmoduledesignedinthisthesissolvedtheproblemoftheconnectionbetweentheembeddeddevicesandtheEthernet.Underthecircumstancethatthestructureoftheembeddedsystemswillnotbechanged,theuserterminalcanaccessthenetworkfastandconvenientlythroughthevariousserialdevicesexistinginthismodule,thusrealizingtheremotecontrolofthedevices,thedatacommunicationofremotedataterminalandotherfunctions.
Thisdesignschemetakesadvantageofthesystemresourcesandtheprocessabilityprovidedbyan8-bit-MCUPIC18F4580and10Mb/sLANchipRTL8019ASwithISAinterface.Throughcodeaconcisesetofprotocolstack,reliabledatacommunicationrealizedanditalsoachievedthegoaloflowcostandreliablenetworkconnection.
Keywords:
Ethernetnetwork,MCU,RTL8019AS,PIC18F4580
第一章绪论
1.1课题背景
随着计算机网络技术的发展,各种智能设备通过Internet互联已经成为趋势,Internet已成为信息流通最重要的渠道。
对于小型嵌入式设备来说,借助Internet传送各种控制信息,可以使通过Internet上实现异地充值、用户信息远程管理、消费信息联网管理。
方便管理者统一管理,既能节省管理方面的开销,又能使用户得到方便。
因此,嵌入式系统如何接入Internet已经成为了一个研究热点。
目前,在工业控制领域,单片机系统主要通过RS232、RS485和CAN总线协议通信,它们无法直接与互联网连接,以至于该系统处于与互联网隔绝的状态。
这些系统广泛采用低成本8位单片机,而这种单片机一般只具有RS232异步串行通信接口,要接入到互联网必须进行通信接口改造,这种改造不仅是接口的物理改造,更关键是数据格式的改造和通信协议的转换。
基于TCP/IP通讯协议的以太网已深入普及到工厂、车间、公司、办公场所及家庭。
越来越多的企业/楼宇等建立了网络系统并进入全球互联网组织。
随着网络的普及,很多企业将公司的管理挂接在网络上,以求实现统一化,高效化。
将TCP/IP协议与射频感应卡控制系统相结合的基于单片机的多点联网系统,具有一定的技术先进性和宽广的市场前景与实用价值。
非接触IC卡又称射频卡,是世界上近几年发展起来的一项新技术,同时也是射频识别技术和IC卡技术有机结合的产物。
它解决了无源(卡中无电源)和免接触这一难题,是电子技术应用领域的一大突破[1]。
在目前的消费类RFID非接触式射频卡的使用过程中,很多商家都没有实现多个连锁机构之间的网络连接,使得消费者在使用各种RFID会员卡的过程中存在很多问题,譬如丢失、异地充值、用户信息远程管理、消费信息联网管理等,对于消费者来说没有足够的保障,对于商家来说无法实现有效的多种信息数据库统一管理。
1.2课题研究目的和意义
随着分组交换以太网局域网技术的发展,以太网技术由于其简单、低成本、易扩展,统一标准的优势,在用户桌面系统和企业内部网络已非常普及,其应用领域逐步向接入网、城域网、甚至广域网/骨干网方面拓展,形成基于IP/Ethernet的端到端的无缝连接。
所以,在实际应用中,嵌入式系统的网络接入通常采用双绞线以太网技术连接各嵌入式终端构建快速局域网,再通过公共的网络接口,连接到外部Internet网络上。
因此,把嵌入式系统的网络接入应用到“一卡通”系统中,实现一种低成本、简便而有效的“一卡通”系统的网络化、自动化是非常有意义的工作。
1.3课题研究的主要内容及论文安排
课题研究的主要内容是一个网络连接的专用电路系统,RS232串口出入,RJ45以太网接口出入,可以适用于一些比较小型系统网络连接的需求,有较大的通用性。
特别是在有很多个工作点都需要网络连接数据通信的情况下,不需要更改原有系统的架构与设计,只要添加这个模块,就可以实现系统网络连接的功能。
而本文提出一种RS232串行通信接口与RJ45以太网接口网络接入模块的设计方案,已有的嵌入式系统可以通过该模块接入到以太网,进一步接入互联网,实现与网络信息交互的功能。
本文首先对相关基础知识进行介绍,包括以太网的工作原理,TCP/IP协议栈和相关开发工具,通过综合分析在“一卡通”系统网络接入的特点和要求,提出了一种8位嵌入式系统的价廉、简便而有效的网络接入方案,并且在最后一章对该方案的设计和应用做出了总结和展望。
具体内容如下:
论文先对相关的基础知识做简单的介绍,再详细地介绍基于PIC18F4580单片机嵌入式系统的网络接入方案的硬件、软件设计。
第二章相关基础知识介绍
2.1以太网工作原理
统计数字表明,目前全球85%的网络采用以太网技术。
以太网技术的优势是成本低、灵活,在接入领域使用以太网技术作为产品开发平台已经成为一个必然的发展趋势,是当今现有局域网采用的最通用的通信协议标准。
该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。
以太网在互联设备之间以10~100Mbps的速率传送信息包,双绞线电缆10BaseT以太网由于其低成本、高可靠性以及10Mbps的速率而成为应用最为广泛的以太网技术。
以太网作为一种原理简单,便于实现同时又价格低廉的局域网技术已经成为业界的主流。
而更高性能的快速以太网和千兆以太网的出现更使其成为最有前途的网络技术。
以太网设计为一种共享总线(sharedbus)技术,可支持广播,使用尽最大努力交付(best-effortdelivery)的机制,并且有分布式接入控制。
以太网采用广播机制,所有与网络连接的终端都可以看到网络上传递的数据。
通过查看包含在以太网帧中的目标地址,确定是否进行接收或丢弃。
如果证明数据确实是发给自己的,则终端将会接收数据并传递给高层协议进行处理[2]。
以太网的接入方式称为具有冲突检测的载波侦听多点接入CSMA/CD(CarrierSenseMultipleAccesswithCollisionDetect),任何终端都可以在任何时间访问网络。
CSMA/CD是一种分布式介质访问控制协议,网中的各个站(节点)都能独立地决定数据帧的发送与接收。
每个站在发送数据帧之前,首先要进行载波监听,只有介质空闲时,才允许发送帧。
这时,如果两个以上的站同时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送随即宣告失败。
每个站必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。
CSMA/CD协议简单、可靠,其网络系统(如Ethernet)被广泛使用。
2.2TCP/IP协议栈简介
1、TCP/IP协议栈
四层模型
TCP/IP这个协议遵守一个四层的模型概念:
应用层、传输层、互联层和网络接口层[3]。
(1)链路层
由控制同一物理网络上的不同机器间数据传送的底层协议组成,实现这一层的协议并不属于TCP/IP协议组。
在本系统中这部分功能由单片机控制网卡芯片RTL8019AS实现。
(2)网络层
网络层将信息发送到相邻的TCP/IP网络上的任一主机
上,IP协议就是该层中传送数据的机制,同时为建立网络间的
互连提供ARP地址解析协议,实现了从IP地址到数据链路物理地址的映像。
(3)传输层
传输协议在计算机之间提供通信会话。
传输协议的选择根据数据传输方式而定。
两个传输协议:
传输控制协议TCP:
为应用程序提供可靠的通信连接。
适合于一次传输大批数据的情况。
并适用于要求得到响应的应用程序。
用户数据报协议UDP:
提供了无连接通信,且不对传送包进行可靠的保证。
适合于一次传输小量数据,可靠性则由应用层来负责。
(4)应用层
应用程序通过这一层访问网络。
2、单片机TCP/IP的特点
单片机内实现TCP/IP协议栈与PC机内不同,因为单片机内部资源有限,所以要在单片机内实现TCP/IP协议栈,就必须根据具体应用系统的有限资源环境,对TCP/IP栈协议进行裁简[4],实现与需要有关的功能。
在单片机上实现TCP/IP与在PC机上实现TCP/IP是有所不同的,它的特点是:
(1)速度慢:
20M晶振的PIC单片机的最快网络传送速度为40KB/s。
其中的关键在于TCP/IP需要对传送的每个字节进行校验和计算,以及必要的拷贝。
这样PIC单片机的处理速度就不够了。
为了提高单片机TCP/IP的速度一般的方法是要对协议栈进行精简。
(2)程序存储空间和外部RAM空间不大:
一般的单片机的最大程序和数据空间为64KB。
TCP/IP协议一般需要对发送的数据进行缓存,而一个最大的数据包就有1500B左右,当网络速度很大的时候内存消耗将很大。
对于非嵌入式TCP/IP协议栈,64KB的程序和数据空间是不够的。
(3)单片机体系结构:
PIC单片机是16位机,所以对于需要完成同一个数据操作,32位的PC机可能只需要10条指令,而51单片机可能需要几百条指令。
2.3相关开发工具
2.3.1PROTEL99SE介绍
Protel99SE是Protel公司致力于Windows操作系统下的EDA设计软件,是视窗环境之印刷电路板设计系统,采用设计库管理模式,可以进行联网设计,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。
同时,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层[5]。
按照系统功能来划分,Protel99se主要包含以下俩大部分和6个功能模块。
1、电路工程设计部分
(1)电路原理设计部分(AdvancedSchematic99):
电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。
本系统的主要功能是:
绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。
(2)印刷电路板设计系统(AdvancedPCB99):
印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。
本系统的主要功能是:
绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。
(3)自动布线系统(AdvancedRoute99):
本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。
2、电路仿真与PLD部分
(1)电路模拟仿真系统(AdvancedSIM99):
电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。
(2)可编程逻辑设计系统(AdvancedPLD99):
可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。
本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。
利用PLD系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。
(3)高级信号完整性分析系统(AdvancedIntegrity99):
信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检查电路设计参数、实验超调量、阻抗和信号谐波要求等。
Protel99SE的功能特性:
1、开放式集成化的设计管理体系
2、超强功能的、修改与编辑功能
3、强大的设计自动化功能
2.3.2MPLABIDE介绍
MPLAB集成开发环境(IDE)是综合的编辑器、项目管理器和设计平台,适用于使用Microchip的PICmicro;系列单片机进行嵌入式设计的应用开发。
MPLABIDE是适用于PICmicro;系列单片机和dsPICTM数字信号控制器,基于Windows操作系统的集成开发环境。
MPLABIDE提供以下功能:
•使用内置编辑器创建和编辑源代码。
•汇编、编译和链接源代码。
•通过使用内置模拟器观察程序流程调试可执行逻辑;或者使用MPLABICE2000和MPLABICE4000仿真器或MPLABICD2在线调试器实时调试可执行逻辑。
•用模拟器或仿真器测量时间。
•在观察窗口中查看变量。
•使用MPLABICD2、PICSTART;Plus或PROMATE;II器件编程器烧写固件。
•使用MPLABIDE丰富的在线帮助快速找出问题的答案。
第三章多点联网系统设计
3.1基于单片机的多点联网系统设计框架
本次设计的系统适用于许多工业控制、生活设施的控制中。
主要结构如图3-1所示。
图3-1系统总体结构图
如图3-2所示,嵌入式系统等外部应用系统可通过RS232串口连接网络接入模块,经RJ45接口连接到以太网,实现与网络上信息的交互。
此网络接入模块的主要功能是连接未嵌入网络模块的嵌入式系统和外界网络,从而达到低成本、便捷、可靠连接网络得目的。
图3-2单片机系统通过网络接入模块连入以太网示意图
若数据从嵌入式系统发送到互联网,则嵌入式系统发送的异步串行数据帧经过网络接入模块后,把数据帧转换成以太网数据帧,然后上传到互联网,反之亦然。
3.2基于PIC18F4580单片机的网络接入模块硬件设计
3.2.1网络接入模块硬件设计框图
16位单片机系统网络接入的总体硬件框图如图3-3所示,单片机选用PIC18F4580,网卡芯片选用RTL8019AS,还有电平转换芯片MAX232和S558-5999-T7。
在这个框图重要包含以下四个单元:
1、PIC18F4580的控制单元;2、以太网控制单元;3、串口通信单元;4、其他单元。
图3-3基于PIC18F4580网络接入的系统实现框图
下面的内容会结合各个单元的特点,详细说明各个单元的硬件设计。
3.2.2基于PIC18F4580的控制单元
(一)单片机PIC18F4580的简介
单片机微型机(MCU)可以运用在控制性应用领域,嵌入到各种产品中去,以提高产品的智能化。
在单片机内部含有计算机的基本功能部件:
CPU、存储器、各种接口电路。
而本次设计所用的PIC18F4580拥有32KB的FLASHROM、256B的EEPROM、1536B的SRAM、通用I/O口36个、ISP(在系统可编程)、看门狗等功能。
(详见PIC18F4580数据手册)
之所以考虑使用PIC18F4580单片机是因为该单片机相比较其他普通单片机(例如,51单片机)有以下三方面的优势:
1)该单片机是在MPLABIDE集成开发环境下进行开发,功能十分强大,可以使用MPLABICD2在线调试器实时调试。
同时,采用标准C语言编程,可读性强、移植性好、开发周期短。
2)该单片机拥有32KB的FLASHROM,256B的EEPROM,超大的程序和数据存储可供用户移植入精简的TCP/IP协议栈,并将它划分成几个块,供用户做数据存储,这样,可以省去外围存储电路的设计,节约成本,同时,简化系统的设计。
3)该单片机加密性强、抗静电与抗干扰能力强适用于条件比较恶劣的环境。
(二)PIC18F4580控制电路的设计
如图3-4为单片机PIC18F4580的系统原理图,由2个20PF的电容与20MHz的晶振并接的作为晶振电路,给单片机提供稳定的工作频率[6]。
系统采用按键复位电路,当连接RSTDRV的SK1键按下时对单片机进行复位。
其中,该单片机的正常工作电压为5V。
图3-4单片机PIC18F4580系统图
3.2.3以太网接入单元
(一)网络控制芯片RTL8019AS的简介
RTL8019AS是REALTEK公司生产的高集成度专用以太网接口芯片,支持PNP自动探测,内嵌16KB的SRAM,具有全双工的通信接口,可以通过交换机在双绞线上同时发送和接收数据,使传输带宽从10Mbit/s增加到20Mbit/s,RTL8019AS是针对ISA总线而设计的,用于实现网络的物理层协议,主要包括网络控制器与网络电缆的物理连接、介质访问控制(MAC)、数据帧的拆装、帧的发送与接收、错误校验、数据信号的编/解码和数据的串/并变换;RTL8019AS的数据包发送/接收过程通过2个DMA操作来完成,本地DMA完成RTL8019AS与片内FIFO队列之间的数据传送,作用是完成控制器和网络线的数据交换,远程DMA完成RTL8019AS与外部处理器之间的数据传送[7]。
(二)RTL8019AS接入电路的设计
单片机PIC18F4580与网卡芯片RTL8019AS的连接框图如图3-5所示,其中RTL8019AS还要经过网络隔离变压器才能直接连接到网络,起到信号传输、阻抗匹配、波形修复、杂波抑制以及高电压隔离的作用。
图3-5RTL8019AS、PIC18F4580、S558-5999-T7之间的连接框图
✓RTL8019的第65引脚JP接高电平,使RTL8019AS工作在跳线模式。
RTL8O19AS提供3种配置I/O端口和中断的模式,由于在本设计中,只有RTL8019AS一个“外设”,不会有多个外设来竞争系统总线的资源,所以可以直接使用最简单的跳线模式来选择I/O端口和中断。
RTL8019AS是否使用跳线模式由第65脚JP决定。
当JP脚接高电平时,RTL8019AS工作在跳线模式[8]。
✓RTL8019AS的第96引脚IOCS16B接地,使RTL8019AS工作在8位模式。
✓单片机的I/O端口RD[0…7]与RTL8019AS的低8位数据端口相连,实现单片机与RTL8019AS之间的数据通信。
✓DB[1],DB[2]引脚接高电平。
RTL8019AS的DB[0…3]的四个引脚的组合可以确定RTL8019AS16个I/O基地址的选择,这里选用的基地址为240H,此时对应RTL8019AS的DB[0…3]引脚电平为“0110”。
(见RTL8019AS手册P19)当网卡复位的时候,各引脚电平默认为低电平“0”,所以DB[0],DB[3]可以不需要接低电平,只要悬空即可。
✓地址线SA0-SA4与单片机RB[2…6],SA[6]与单片机RB7相连,RB7提供高电平“1”。
RTL8019的I/O寄存器的偏移地址要占用0x00~0x1F的范围,所以地址线SA19-SA5是固定值,单片机RB[2…6]与TRL8019AS的地址线SA0-SA4相连,控制网卡芯片地址的选择。
✓单片机的
、
分别接接网卡控制器的IOWB、IORB,控制对网卡芯片寄存器的读、写操作。
✓单片机的
引脚与RTL8019AS的RESDRV引脚相连,即同时与SK1按键电路连接,实现单片机和RTL8019AS同时复位。
✓RTL8019的TPOUT+,TPOUT-引脚与网络变压器的TD+,TD-相连,发送网络数据;TPIN+,TPIN-引脚与网络变压器的RD+,RD-相连,接收网络数据。
如图3-6所示,为RTL8019AS各引脚的连接原理图。
图3-6RTL8019AS接入电路图
3.2.4前端系统接口单元
(一)串口通信的基本概念
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- pic 控制 8019 as 部分