嵌入式系统以太网接口电路设计毕业设计.docx
《嵌入式系统以太网接口电路设计毕业设计.docx》由会员分享,可在线阅读,更多相关《嵌入式系统以太网接口电路设计毕业设计.docx(25页珍藏版)》请在冰豆网上搜索。
嵌入式系统以太网接口电路设计毕业设计
1引言
研究背景及意义
随着微电子技术和运算机技术的进展,嵌入式技术取得广漠的进展空间,专门是进入20世纪90年代以来,嵌入式技术的进展和普及更为引人注目,已经成为现代工业控制、通信类和消费类产品进展的方向,在通信领域,众多网络设备如VOIP,WirelessLAN,ADSL等都包括有大量嵌入式技术的成份,广播电视在向数字化的趋势进展,DVB,DAB技术也逐渐在全面推行起来,个人消费类产品,如PDA、数码相机、MP3播放器等产品都离不开嵌入式技术的支持,嵌入式技术在ATM、可视电话、汽车的ABS等产品中也都有大量的应用,另外,军事领域当中也处处可见嵌入式技术的身影,如单兵信息终端,便携式保密机,战场指挥系统等,能够说,嵌入式系统已经渗透到人们日常生活以至国家安全防御体系当中[1]。
嵌入式技术进展的核心是嵌入式微控制芯片技术的进展,现今微控制芯片功能变得愈来愈强,种类更为繁多,如MIPS,PowerPC,X86,ARM,PIC等,但这些嵌入式处置器受到价钱和兼容性等因素要求的限制,应用状况有所不同,MIPS和PowerPC处置器市场定位较高,对于本钱敏感的应用并非适合,而x86系列处置器要与806八、28六、386等维持兼容性,利用相同的指令集,从而限制了CPU系统性能的提高,现今嵌入式领域中利用最为普遍的是基于ARM体系结构的嵌入式处置器,其占据了80%以上的32位嵌入式处置器市场份额,从进展之初至今,ARM公司已经推出ARM7,ARM9,ARM9E,ARM10,SecurCore和Intel的StrongARM和Xscale等一系列的产品。
这些不同版本的处置器内核,虽一脉相承,但应用背景不同,例如,ARM7系列处置器针对功耗和陈本要求比较苛刻的应用而设计的;而ARM9系列处置器主要应用于下一代的无线设备;SecurCore则是专为安全设备而定制的[2]。
技术的进展要与实际应用相结合,才能表现出技术进步的价值,嵌入式系统的进展正如日中天,基于ARM核嵌入式微处置器的以太网的嵌入式控制实现也正在国内外如火如荼的展开,以太网在实时操作、靠得住传输、标准统一等方面的卓越性能及其便于安装、保护简单、不受通信距离限制等长处,已经被国内外很多监控、控制领域的研究人员普遍关注,并在实际应用中。
国内外研究现状
以太网是一种采用载波侦听多路访N/冲突检测(CSMA/CD)和介质存取控制(MAC)协议在共享介质上传输数据的技术。
由于其具有利用简便、价钱低、速度高等长处,因此从20世纪80年代出现以来,便专门快成为局域网的主流,3基于ARM处置器的串行通信与以太网协议的研究与应用在城域网和广域网上也取得很普遍的应用。
据统计,目前全世界85%的网络采用了以太网技术。
初期的以太网被称为共享以太网是指多节点共享同一个传输媒体,节点问采用广播方式通信.,所以容易发生冲突。
共享以太网CSMA/CD技术来避免冲突,即发送方检测到冲突就暂停发送,随机延迟一段时刻后再从头发送直到成功[3]。
因此共享以太网对时刻响应具有不肯定性。
最近几年来出现的互换以太网(SwitchedEthernet)克服了这一缺点。
互换以太网将网络以星型拓扑结构划分为许多物理上彼此隔离而逻辑上彼此联系的节点,在发送端和接收端之间成立一个独占的全双工通道,因此能有效避免冲突,同时使得以太网的服务质量取得专门大提高。
在传输速度方面,以太网从出现至今的20连年的进展时刻里,运行速度提高了两个数量级,从80年代的10Mbps到90年代的100Mbps、1000Mbps,再到现今的10Gbps。
以太网的速度优势、低廉的端口价钱和优越的性能,对于那些预备实行信息化改造以提高效率的生产领域来讲,具有专门大的吸引力。
目前,在国内外的工业领域,由以太网与工业现场相结合的工业以太网技术正处于研究和初步应用当中,成为工业控制网络建设的一种可行的解决方案。
在人们的日常生活和工作中,基于以太网技术和TCP/IP协议构建的互联网已经延伸到每一个角落,人们能够利用互联网快捷方便地共享信息、查询资料、成立电子商务等等。
能够相信,随着互联网的进一步普及和进展,以太网技术将会取得更为普遍的应用。
本文的工作
本文主要研究了基于ARM芯片的以太网接口电路设计。
在深切剖析以太网传输规范协议的基础上,选择单唯一个没有以太网模块功能的ARM芯片作为主控芯片外接一个以太网控制芯片组成以太网接口电路,所选芯片型号为ST公司的最新Cortex-M3核的STM32系列芯片嵌入式芯片作为主控芯片,完成以太网接口电路功能的设计。
本文主要论述了设计需要的原理知识和详细设计的进程,主要完成的工作如下:
一.按照设计要求选用STM32F103VET6嵌入式芯片,应用protel99SE软件作出所需要利用的外围设备的电路原理图与PCB图,完成系统硬件平台的构建。
二.结合相关以太网知识选取以太网控制芯片RTL8019AS,并结合20F001N和RJ-45接口组成外围电路。
2系统整体设计
按照本设计的要求,第一需要明白设计需要完成的内容。
本文依照先肯定大框架开始,然后慢慢细化到每一个芯片之间的连接,第一肯定设计的方案,以后是微控制芯片的选取,其中包括选取该芯片的原因、该芯片的长处与芯片简单介绍,硬件电路平台的搭建,然后连接电路组成最终可用电路图[4]。
设计方案的肯定
设计一个以太网接口电路,通常有两种设计方案:
第一种为选择一种能具有以太网模块功能的芯片独立实现,从而简化了硬件设计,可是若是只为了实现单一的以太网,如此无疑提高了经济本钱,另一种是与通常以太网电路设计相似,选择一款ARM微控制芯片如LPC2210和相应的以太网主控芯片如RTL8019AS,将两芯片进行相应的硬件连接,同时基于硬件进行相应的软件编程来实现。
这种设计的长处为,将一个复杂的设计分成不同功能的模块解决,芯片分工明确且避免了相关底层驱动冲突等问题,但缺点是工作量加大。
纵观国内市场占有率高的芯片,从经济本钱与设计工作量两方面考虑,发觉第二种方案切实可行,本文选取第二种设计方案[5]。
芯片的选择
按照设计要求,本论文主要下面几种主要芯片:
(1)主控芯片
(2)以太网控制芯片
(3)以太网变压器芯片
(4)存储器芯片
主控芯片的选择
本文需要选取一个方便易用且有较之其他同类功能的芯片有较大长处的微控制芯片,所以选择了ST公司的STM32F103VET6芯片,该芯片能远优于其它同类芯片得益于其先进架构的Cortex-M3内核的CPU核心,独立的16kb指令缓存和16kb的数据高速缓存,ST公司针对各类不同市场应用与性能需求提供了一整套完整的优化解决方案,其中的STM32系列主要针对价钱敏感的微控制应用领域而专门设计,强调了操作的肯定性,和性能、功耗与价钱的平衡[6]。
STM32系列还具有门数少、中断延迟小、调试容易的特点,其应用范围跨越低端微控制器与复杂的SoC系统,且通过一个基于堆栈的异样模式的实现,显著的缩小了内核的物理尺寸[7]。
STM32F103VET6主要特点
1.内核:
ARM32位的CortexTMM3CPU
—72MHz,MHz
—单周期乘法和硬件除法
2.存储器
—从32K字节至128K字节的闪存程序存储器
—从6K字节至20K字节的SRAM
3.时钟,复位和电源管理
—至供电和I/O管脚
—上电/断电复位,可编程电压检测器
—内嵌4至16MHz高速晶体振荡器
—内嵌经出厂调校的8MHz的RC振荡器
—内嵌40KHz的RC振荡器
—PLL供给CPU时钟
4.低功耗
—睡眠,停机和待机模式
—VBAT为RTC和后备存储器供电
睡眠模式,只有CPU停止,所有外设处于工作状态并能够发生中断/事件是唤醒CPU
停机模式,在维持SRAM和寄放器内容不丢失的情形下,停机模式能够达到最低的电能消耗。
在停机模式下,停止所有内部部份的供电,PLL,HSI和HSE的RC振荡器被关闭,调压器能够被置于普通模式或低功率模式[8]。
待机模式,在待机模式下能够达到最低的电能消耗。
内部的电压调压器被关闭,因此所有内部部份的供电被切断;PLL,HSI和HSE的RC振荡器被关闭;进入待机模式后,SRAM和寄放器的内容将消失,但后备存储器的内容仍然保留,待机电路仍工作[9]。
5.多达80个快速I/O
—所有能够映像到16个外部中断
每一个通用输入输出接口(GPIO)都能够由软件配置成输出,输入(带或不带)或其它的外设功能口。
多数GPIO管脚与数字或模拟的外设共用。
所有的GPIO管脚都有大电流通过能力。
再需要的情形下,I/O管脚的外设功能能够通过一个特定的操作锁定,以避免意外的写入I/O寄放器[10]。
该芯片还具有多项其它同类产品无法企及的长处
(1)利用最新的、先进架构的Cortex-M3内核
该芯片采用ARMv7的全新Cortex-M3内核,具有多项新增的增强架构,集成了多种系统外设,知足不同应用对本钱与性能的要求,具有内存小、高集成、低功耗的特点。
Cortex-M3内核是成立在一个高性能哈佛结构的三级流水基础上的,可知足事件驱动的应用需求。
通过普遍采历时钟选通等技术,改良了每一个时钟周期的性能,包括单周期的32*32乘法和硬件除法,取得了优良的性能比,与之前的ARM7TDMI相较,运行速度最多可快35%且代码最多可节省45%[11]。
(2)杰出的功耗机制
针对应用中运行模式下高效率的动态耗电机制、待机状态时极低的电能消耗、电池供电时的低电压工作能力这三种主要的能耗需求进行优化,具有高性能低功耗的长处。
(3)易于开发
ST公司提供了完整、高效的开发工具和库函数,帮忙开发者缩短开发时刻,能使产品迅速的进入市场。
其提供的驱动涵盖了SPI、ADC、GPIO、CAN、按时器和UART等所有标准外设,对应源代码都通过了严格的测试,并提供了详细的文档,方便用户理解。
本设计选取STM32系列芯片的主要原因除其优良的性能与低廉的价钱之外,能连接外部以太网控制芯片独立完成以太网接口电路的设计。
本文只需要以太网那个简单的功能,因此在CPU上无需选取STM32系列中性能高但价钱贵的芯片。
从经济本钱考虑,,选取100引脚的STM32F103VET6芯片。
STM32F103VET6芯片引脚图见图
图STM32F103VET6芯片引脚散布
本文利用的STM32F103VET6是100引脚的LQFP100封装,几个输出端口均为复用端口,可按如实际情形具体选择,由于只是利用该芯片的一部份功能,所以下面只对用到的有效引脚按功能分类简要说明:
(1)电源供电引脚:
共有11个引脚,别离是4个外部电源引脚VDD(一、二、3、4),4个地线引脚VSS(一、二、3、4),3个特殊供电引脚VBAT、VDDA、VSSA。
(2)系统复位引脚:
NRST,外接复位电路。
(3)时钟模块引脚:
共4个引脚,别离是用于低速外部时钟信号LSE的PC14OSC32_IN、PC15OSC32_OUT,和用于高速外部时钟信号HSE的PD0/OSC32_IN、PD1/OSC32_OUT。
(4)启动引导模块引脚:
共2个引脚,别离是BOOT0和BOOT1,用于选择不同的启动方式。
以太网控制器的选择
RTL8019AS以太网控制器(引脚图见图)是由Realtek公司出的一款高集成度的以太网控制芯片,RTL8019AS是一种全双工即插即用的以太网控制器,它在一块芯片上集成了RTL8019内核和一个16KB的SDRAM存储器,具有8/16位总线模式,集成了协议标准的介质访问控制子层(MAC)和物理层的性能,RTL8019AS是本系统与以太网通信的基础,它用以实现系统与网络上其他节点之间的报文发送与接收功能,处于TCP/IP协议栈的数据链路层,是信息传送、控制和管理的重要环节[12]。
其功能大致可分为以下两种;
(1)通信数据的发送和接收。
发送时,将发送来的数据依照特定的格式并加上前导码、帧定界符灯装配成帧,并进行CRC校验。
校验后,将数据串行的从网线上发送出去。
接收时,判断报文的目的地址是不是为本机地址,若是是,对报文进行校验。
校验正确,则将报文发往存储器本发送一个ACK应答帧。
若是校验后发觉报文错误,则将收到的报文抛弃并发送一个NAK否定应答帧[13]。
(2)载波信号的收发和控制。
这项功能包括载波监听、发送时刻等。
确切的说,网络控制器是一个DTE(数据终端设备)。
依照协议的模型功能划分,可将10Mb/s以太网控制器的功能模块划分为介质存取控制(MAC)子层、接入单元接口(AUI)、介质接入单元(MAU)和物理信号规范(PLS)等4部份[16]。
图RTL8019AS以太网控制芯片
1.内部RAM地址空间分派
RTL8019AS内部有两块RAM要接收和发送数据包就必需通过DMA读写RTL8019AS内部的16KRAM。
它实际上是双端口的RM,是指由两A套总线连接到该RAM,一套总线RTL8019AS读或写该RAM,即本地DMA;另一套总线是单片机读或写该RAM,即远程DMA[17]。
2.DMA介绍
(1)DMA(DirectMemoryAccess,直接内存存取)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通而不需要依于CPU的大量中断负载不然,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。
在那个时刻中,CPU对于其他的工作来讲就无法利用[18]。
(2)DMA传输将数据从一个地址空间复制到另外一个地址空间。
当CPU初始化那个传输动作传输动作本身是由DMA控制器来实行和完成DMA传输对于高效能嵌入式系统算法和网络是很重要的[19]。
(3)在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。
即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应当即把总线控制权再交回给CPU[20]。
(4)一个完整的DMA传输进程必需通过下面的4个步骤
—DMA请求,CPU对DMA控制器初始化,并向I/O发出操作命令,I/O接口提出DMA请求
—DMA响应,DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。
当CPU执行完当前总线周期即可释放总线控制权。
现在,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输[21]。
—DMA传输,DMA控制器取得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。
在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送进程中不需要中央处置器的参与。
开始时需提供要传送的数据的起始位置和数据长度。
—DMA结束,当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。
当I/O接口收到结束信号后,一方面停止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态摆脱,并执行一段检查本次DMA传输操作正确性的代码。
最后,带着本次操作结果及状态继续执行原来的程序[22]。
主要引脚介绍:
VDD:
5V
RST:
硬件复位接口,高电平有效
ANE:
地址使能脚,ISA信号对有效的输入输出命令必需是低电平
INT7—0:
中断请求总线:
能够别离IRQ15,IRQ12,IRQ10,IRQ5,IRQ4,IRQ3,IRQ2/9.唯一一条线被选择在一个时刻里反映中断请求。
RTL8019AS仍然用这些脚座位输入线,从而管理ISA总线上实际相应的中断线上的状态。
结果记录在INTR寄放器中,那个寄放器可用软件用来保护中断
IORB:
输入输出读指令端
IOWB:
输入输出写指令端
SMEMRB:
存储器读命令
SMEMWB:
存储器写命令,用来闪存写命令解码
TEST:
必需接地
BGRES:
带隙引脚
BGGND:
带隙地信号线
RX+,RX-:
这是AUI接收端对MAU接收微分输入信号的进位
TX+,TX-:
这是一对传输输出的包括微分线性的驱动器,它用来发送满切斯特编码数据到MAU。
这些输出是源输出,需要270欧姆的下拉电阻到地。
以太网变压器芯片选择
(1)以太网网络变压器简称网络变压器具体有T1/E1隔离变压器;
—ISDN/ADSL接口变压器;
—VDSL高通/低通滤波器模块、接口变压器;
—T3/E3、SDH、64KBPS接口变压器;
—10/100BASE、1000BASE-TX网络滤波器;
按照设计要求选用20F001N以太网变压器。
(2)它在一块网卡上所起的作用主要有两个,一是传输数据,它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,而且通过电磁场的转换耦合到不同电平的连接网线的另外一端;二是隔离网线连接的不同网络设备间的不同电平,以避免不同电压通过网线传输损坏设备[23]。
(3)网络变压器的主要作用是改善EMI特性、电平隔离。
(4)EMI滤波器叫电磁干扰滤波器,在电力或电子工程中对信号-信号、电源-电源、信号-电源和电源-信号之间利用电感性元件和电容性元件的频谱分离特性来将不需要的或有害的电磁频谱通过阻断或对地旁路的方式滤除的一种功能元件[24]。
(5)数据泵是消费级PCI网卡上都具有的设备,数据泵也被叫做网络变压器或可称为网络隔离变压器。
通常位于各功能电路的输入-输出端。
按用途可分为电源EMI滤波器和信号EMI滤波器;按滤波频谱特性可分为高通滤波器、低通滤波器、带通滤波器、带阻滤波器;按电磁模量特征可分为差模滤波器和共模滤波器。
普遍用于各类电子信号设备和开关式电源供给器中,以符合各国制定的电磁兼容标准,有效抑制有害电磁波对自身工作电路或其它敏感设备的干扰[25]。
本论文选取以太网变压器20F001N,如图为20F001N引脚图
图20F001N引脚图
20F001N是有共振电感的10阶T型滤波器,它有以下特点:
(1)输入损耗:
发射器最大1分贝,接收器最大1分贝
(2)回波损耗:
最小为15分贝
(3)声道干扰:
当频率为1—10Hz时最小为30分贝
(4)有7个发射极点,5个接收极点
主要引脚介绍:
TD+,TD-:
传输数据
RD+,RD-:
接收数据
RX+,RX-:
这是AUI接收端对MAU接收微分输入信号的进位
TX+,TX-:
这是一对传输输出的包括微分线性的驱动器,它用来发送曼彻斯特编码数据到
曼彻斯特编码(ManchesterEncoding),也叫做相位编码(PE),是一个同步时钟编码技术,被物理层利用来编码一个同步位流的时钟和数据。
它常被用在以太网媒介系统中[26]。
曼彻斯特编码提供一个简单的方式给编码简单的二进制序列而没有长的周期没有转换级别,因此避免时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误。
在那个技术下,实际上的二进制数据被传输通过那个电缆,不是作为一个序列的逻辑1或0来发送的。
相反地,这些位被转换为一个略微不同的格式,它通过利用直接的二进制编码有很多的长处。
在曼彻斯特编码中,用电压跳变的相位不同来区分1和0,即用正的电压跳变表示0,用负的电压跳变表示1。
因此,这种编码也称为相位编码。
由于跳变都发生在每一个码元的中间,接收端能够方便地利用它作为位同步时钟,因此,这种编码也称为自同步编码。
存储器芯片选择
闪存则是一种非易失性(Non-Volatile)内存,在没有电流供给的条件下也能够长久地维持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础[27]。
NAND闪存的存储单元则采用串行结构,存储单元的读写是以页和块为单位来进行(一页包括若干字节,若干页则组成贮存块NAND的存储块大小为8到32KB),这种结构最大的长处在于容量能够做得专门大,超过512MB容量的NAND产品相当普遍,NAND闪存的本钱较低,有利于大规模普及。
NAND闪存的缺点在于读速度较慢,它的I/O端口只有8个,比NOR要少多了。
这区区8个I/O端口只能以信号轮流传送的方式完成数据的传送,速度要比NOR闪存的并行传输模式慢得多。
再加上NAND闪存的逻辑为电子盘模块结构,内部不存在专门的存储控制器,一旦出现数据坏块将无法修,靠得住性NOR闪存要差。
NAND闪存被普遍用于移动存储、数码相机、MP3播放器、掌上电脑等新兴数字设备中。
由于受到数码设备强劲进展的带动,NAND闪存一直呈现指数级的超高速增加。
NOR和NAND是此刻市场上两种主要的非易失闪存技术。
Intel于1988年第一开发出NORflash技术,完全改变了原先由EPROM和EEPROM一统天下的局面。
东芝公司发表了NANDflash结构,强调降低每比特的本钱,更高的性能,而且象磁盘一样能够通过接口轻松升级。
可是通过了十连年以后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。
“flash存储器”常常能够与“NOR存储器”互换利用[28]。
NAND闪存技术相对于NOR技术有其优越的地方,因为大多数情形下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。
而NAND则是高数据存储密度的理想解决方案。
NOR的特点是芯片内执行(XIP,eXecuteInPlace),如此应用程序能够直接在flash闪存内运行,没必要再把代码读到系统RAM中。
NOR的传输效率很高,在1~4MB的小容量时具有很高的本钱效益,可是很低的写入和擦除速度大大影响了它的性能。
NAND结构能提供极高的单元密度,能够达到高存储密度,而且写入和擦除的速度也专门快。
应用NAND的困难在于flash的管理和需要特殊的系统接口。
1.下面分析NOR和NAND的主要区别:
(1)性能比较
擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时刻为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
NOR的读速度比NAND稍快一些,NAND的写入速度比NOR快很多。
NAND的4ms擦除速度远比NOR的5s快。
大多数写入操作需要先进行擦除操作。
NAND的擦除单元更小,相应的擦除电路更少[29]。
(2)接口不同
NANDFlash的单元尺寸几乎是NOR器件的一半,由于生产进程更为简单,NAND结构能够在给定的模具尺寸内提供更高的容量,也就相应地降低了价钱。
NORflash占据了容量为1~16MB闪存市场的大部份,而NANDflash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储。
(3)靠得住性和耐用性
采用flash介质时一个需要重点考虑的问题是靠得住性。
对于需要扩展MTBF的系统来讲,Flash是超级适合的存储方案。
(4)寿命
在NAND闪存中每一个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。
NAND存储器除具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每一个NAND存储器块在给定的时刻内的删除次数要少一些。
(5)位互换
所有flash器件都受位互换现象的困扰。
在某些情形下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。
一名的转变可能不很明显,可是若是发生在一个关键文件上,那个小小的故障可能致使系统停机。
若是只是报告有问题,多读几回就可能解决了。
固然,若是那个位真的改变了,就必需采用错误探测/错误更正(EDC/ECC)算法。
位反转的问题更多见于NAND闪存,NAND的供给商建议利用NAND闪存的时候,同时利用EDC/ECC算法即错误探测/错误更正算法。
(6)坏块