基于AT91RM9200的以太网接口模块设计

发布者:彩虹微笑最新更新时间:2012-09-22 来源: 现代电子技术 关键字:AT91RM9200  以太网  RTL8019AS 手机看文章 扫描二维码
随时随地手机看文章
0 引 言
    在Internet飞速发展的今天,网络已经渗透到生活的方方面面,与网络的结合已经成为嵌入式系统发展的必然趋势。目前,ARM微处理器已经在多个领域中得到应用,各种基于ARM微处理器的设备应用数量已经远远超过了通用计算机,基于ARM微处理器的开发应用正成为数字时代的技术潮流。


l AT91RM9200简介
    AT91RM9200是Atreel公司开发的基于ARM920T核的高性能,低功耗16/32位RISC微处理器,内部集成丰富的外设资源与外设接口,从而为低功耗,低成本,高性能的计算机应用提供了一个单片解决方案。适用于要求外设资源丰富,功耗低,工作稳定的工业控制等方面。
    AT91RM9200微处理器最高主频为180 MHz,其双向、32位外部数据总线支持8/16/32位数据宽度,26位地址总线可以对最大64 MB空间进行寻址。片内集成了非常丰富的外围功能模块,包括内存管理单元(MMU)、内部包含16 KB的SRAM和128 KB的ROM,16 KB的数据缓存以及16 KB的指令缓存。其外部总线接口控制器(EBI),支持SDRAM,静态存储器,Burst FLASH以及Compact FLASH。为了提高系统性能还扩展了以下外设;增强的时钟发生器与电源管理控制器(PMC);系统定时器(ST);实时时钟(RTC);高级中断控制器(AIC);4个32位PIO控制器;20通道的外设数据控制器(PDC);10/100兆Base-T型以太网卡接口;4个通用同步/异步串行收发器(UASRT)以及JTAG/ICE接口等。


2 最小系统设计
    硬件系统设计是嵌入式系统设计的基础,ARM系统硬件平台主要分为两部分:一部分为基于ARM处理器的最小系统;另一部分为外围扩展电路。系统只有在硬件最小系统调试稳定的基础上,才能灵活、轻松地扩展出其他外围应用,所以最小系统是保证微处理器可靠工作所必须的基本电路。基于AT91RM9200微处理器的最小系统由微处理器、电源电路、时钟电路、复位电路、JTAG接口、存储器模块、串行调试接口等电路组成。
2.1 电源电路设计
    在系统中AT91RM9200需要1.8 V和3.3 V电源,另外,大部分外围器件需要3.3 V电源,小部分外围器件还需要5 V电源,假设输入电压为5 V直流稳压电源。为了得到可靠的3.3 V电压,此处选用的电压转换芯片是NCPlll7ST33T3,它的输入电压为5 V,输出电压为3.3 V,最大输出电流为0.8 A。同样,为了得到可靠的1.8 V电压,选用NCPlll7STl8T3,它的输入电压为5 V,输出电压为1.8 V,最大输出电流为0.8 A。由于3.3 V和1.8 V属于NCPlll7系列的2个固定输出电压,所以设计比较简单,只需要在电路中与芯片并联2个典型值为10 tLF、的滤波电容即可。
2.2 时钟电路设计
    时钟电路为AT91RM9200和其他外设电路提供工作时钟。处理器内部带有锁相环电路,所以外接频率比较低的晶体振荡器,该设计用晶体振荡器Y1(20 MHz)作为系统的主时钟振荡器。处理器内部还带有实时时钟电路,还需要外接32.768 kHz的晶体振荡器。振荡器产生的主时钟和慢时钟经过微处理器内部2个锁相环后,产生系统所需的各种主时钟、外设时钟以及USB器件工作时钟。
2.3 复位电路设计
    AT91RM9200有2个独立的复位信号,即系统复位信号NRST与调试复位信号NTRSI,都是低电平有效。系统上电后,AT91RM9200必须执行一个上电复位,在过渡状态下,它的强制复位信号为低,直到电源电压和振荡器工作频率稳定为止。此外,NRST和NTRST还可以手动复位,以方便用户调试程序。该设计中选用的复位芯片是MAX811,再加上一个手动按键,当工作电压低于3 V或手动复位输入引脚被拉低时处理器复位。
2.4 存储器模块设计
    存储器模块包括NOR FLASH存储器和SDRAM存储器。
    NOR FLASH存储器用于存储系统运行所需的程序和重要数据,即使掉电,程序和数据也不会丢失。该设计中所用芯片是Atmel公司生产的AT49BNl614T,以保持与AT91RM9200的兼容性,其存储容量为2 MB,工作电压为3.3 V,采用56引脚TSOP封装,具有16位数据宽度。AT91RM9200需要以下引脚与之对应相连:A[1:21],D[0:15],NCSO/BFCS,NRST,BFRDY,BFWE,BFOE。
    SDRAM存储器的作用是存放系统运行时的程序和数据,掉电后该部分程序和数据会丢失。设计中使用两片数据宽度为16位的SDRAM并为一个具有32位数据宽度的SDRAM模块,以充分发挥微处理器32位数据宽度的高性能。设计所使用的芯片是HY57V561620,其存储容量为32 MB,工作电压为3.3 V,采用54引脚TSOP封装,16位数据宽度,支持自动刷新和自刷新。AT91RM9200需要以下引脚与HY57V561620对应相连:D[0:31],A[2:11],A[13:14],NBS0,N:BSl,NBS2,NBS3,SDCKE,SDCK,SDCS,RAS,CAS,SDWE。这里特别注意:A12引脚不使用。[page]

2.5 JTAG接口电路设计
    JTAG是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,是开发、调试嵌入式系统的一种简洁高效的手段。它有两种接口标准:14针接口和20针接口。该设计中选择20针接口标准。JTAG调试接口设计是否标准,直接影响到硬件平台是否能够连接ARM仿真器。所以在设计时,有以下几点需要注意:
    (1)尽可能按照标准的20针接口设计。如果设计成14针接口,一定要严格按照14针接口对应于20针接口的对应关系来设计。
    (2)nTRST和nRESET、引脚不用时,要用10 kΩ的电阻拉高,否则JTAG上这两个引脚的信号不确定,会造成ARM调试器不能正常连接目标系统。
    (3)JTAG上输出的信号都要用10 kΩ的电阻拉高。
2.6 UART、串行接口电路设计
    AT91RM9200的UASRT作为同步/异步串行接口,在调试状态下作为调试串口;在正常工作状态下为一般串行口使用,可以通过RS 232实现与其他设备的通信。该设计中的UART、接口芯片是MAX3232,其工作电压为3.3 V,16引脚SOIC封装。其最为简单且常用的是三线制接法,即地线,接收数据线和发送数据线三脚对应相连。
    在完成以上几部分电路设计后,基于AT91RM9200的嵌入式系统就具有了安全可靠的工作条件,也为下面的扩展以太网接口设计打下了良好的基础。


3 以太网接口设计
    在ARM系统中,以太网接口是与远程机进行通信及调试的基础,还可以进行内部局域网和互联网间的通信。而基于ARM的系统若没有以太网接口,其应用价值就会大打折扣。因此,就整个嵌入式系统而言,以太网接口电路是必不可少的,但同时也是相对复杂的。
    从硬件的角度看,以太网接口电路主要由MAC控制器和物理层接口(PHY)两大部分构成。该设计中所用到的以太网接口芯片RTL8019AS,其内部结构包含这两部分。RTL8019AS是一款高集成度的以太网控制芯片,具有8/16位总线模式,集成了IEEE802.3协议标准的MAC层和PHY层的性能,与NE2000相兼容,支持以太网全双工通信方式;支持UTP,AUI和BNC自动检测,支持16位I/O基本地址选项和额外I/O地址输入/输出完全解码方式;支持存储器瞬时读写,收发可同时达到10 Mb/s的速率,内置16 KB的SRAM,可以方便地与微处理器进行连接。它支持多种嵌入式处理器芯片,内置有FIFO缓存器用于发送和接收数据。
3.1 以太网接口工作原理
    使用RTL8019AS作为以太网的物理层接口,它的基本工作原理是:在收到由主机发来的数据包后,侦听网络线路。如果线路忙,它就等到线路空闲为止,否则,立即发送该数据帧。在发送过程中,首先为数据包添加帧头(包括前导字段和帧开始标志),然后生成CRC校验码,最后将此数据帧发送到以太网上。
    在接收过程中,它将从以太网收到的数据包在经过解码、去帧头和地址校验等步骤后缓存在片内。在CRC校验通过后,它会根据初始化配置情况,通知RTL8019AS收到了数据包。最后,用某种传输模式(I/O模式、Memory模式、DMA模式)传到ARM系统的存储区中。
3.2 硬件电路设计
    用RTL8019AS芯片设计的以太网控制器相关电路,可以通过RJ45连上以太网,在判断网卡芯片是否工作正常时,有两个依据,一是看状态指示LED是否有闪烁;二是用专用网络监听工具软件进行监听。在本设计中用两个LED指示灯表示接收和发送状态,当有网络连接且收发数据包时,LED闪烁。此外,网卡芯片单独不能工作,还必须有一个网络变压器在RJ45接口和网卡芯片中间进行电平转换,该设计中所用的电平转换器是20F001N。另外要特别注意,由于RTL8019AS的复位引脚是高电平有效,而AT91RM9200的NRST引脚是低电平有效,所以不能直接将两个引脚进行连接。该设计所用的解决方法是:在两引脚间加上一个共发射极的三极管,利用它的反相作用,来达到两个复位引脚间的电平匹配。同时,为了提高数据的传输速率,需要将网卡芯片设计成16位的数据通道,这就要求将RTL8019AS的IOCSl6B引脚用电阻上拉来达到设计目的。RTL8019AS与AT91RM9200进行连接还需要以下引脚:NOE,NEW,NCS2,D[O:15],一条中断线IRQ0以及地址线A[O:4](设计RTL8019AS的I/O基地址为300H,所以只需要SA[O:4]接A[O:4],而A[5:19]只需要接地即可)。至此,硬件电路已经设计完毕,整个电路的结构框图如图1所示。

4 软件设计
4.1 以太网口初始化
    初始化第一步是复位以太网口。以太网口复位分为硬件复位和软件复位。硬件复位通过给RTL8019AS的RESET引脚发送一个复位脉冲;软件复位通过写端口达到复位,也就是给18~1F之间的任意一个寄存器写入任意一个数,就使得以太网口复位。第二步是设置一些寄存器的初始值,寄存器保存本机的物理地址,只有和寄存器保存的物理地址相同的以太网帧才被接收(RCR寄存器中PRO=O)。
    以太网口第一次复位必须是硬件复位,硬件复位以后要经过大约10 ms的等待才能对以太网口操作,特别是发送和接收操作。
4.2 以太网口存储及初始化
    RTL8019AS内部RAM地址范围从0x0000~0x7FFFF,其中0x4000~Ox7FFF用作接收和发送缓冲区。缓冲区是按页管理的,256 b为一页,这样接收发送缓冲页面是0x40~0x7F。发送缓冲区的起始页在TPSR寄存器中设置,接收缓冲区的起始页在PSTART寄存器中设置,PSTART实际上也表明了发送缓冲区的结束页。接收缓冲区的结束页是PSTOP。所以发送缓冲区的页从TPSR到PSTART-1,接收缓冲区的页从PSTART到PSTOP-1。一般设置如下:

   
    使发送缓冲区可以容纳下两个最大以太网帧(最大为1 514 B),第一个帧放在SEND_START_PAGEO起始页,第二个帧放在SEND_START_PAGE1起始页,剩下的缓冲区都作为接收缓冲区。
    RTL8019AS内部RAM是双口 RAM,因为它要支持两个独立的操作:一个是用户CPU读取RAM中的内容,对这个操作RTL8019AS提供一个读写口,也就是寄存器中的Remote DMA Port;另一个是RTL8019AS内部控制电路把从网络接收的数据写入RAM中,这时RAM称为Local DMA。RTL8019AS通过Local DMA写入RAM是不需要用户干涉的,它通过Remote DMA Port读写RAM。

[page]

   读RAM见RTLReadRam函数,代码如下:

   
    这个函数表示从address开始读取size个字节的内容到buff指向的内存中。设置CR寄存器指令为:writereg(cr,(0x00 | er_remote_read | cr_start_com-mand));然后从Remote DMA Port读取size次,就得到所需的数据。
    写RAM函数,操作基本上和读RAM函数差不多,只要将最后一步的读size次改成写size次就可以。
4.3 发送数据包
    发送数据包的基本步骤如下:
    (1)首先将发送的起始页,一般是发送缓冲区内的页(Ox40~Ox4b),写入StartPage变量中。将要发送的数据写入地址为StartPage<<8开始的缓冲区中,然后等待上一次发送结束。对于过大或者过小的数据包,不发送;对于过小的帧,在发送时要填充。
    TPSR为发送起始寄存器,将StartPage写入TPSR寄存器,高字节写入TBCRH(TBCRl),低字节写入TBCRL(TBCRO)。当写发送命令时,RTL8019AS将从TPSR<<8地址开始发送size个字节的数据。
    (2)发送数据帧:发送缓冲区可以存储2个最大的以太网帧,一个起始页为SEND_START_PAGEO,另一个起始页SEND_START_PAGEl,两个交替使用。发送数据帧时,CR寄存器设置为:writereg(cr,((prepage&OxCO)|cr_abort_compile_dma|cr_txp |cr_start_command]));发送数据包函数代码如下:

   
4.4 接收数据包
    接收数据包的步骤如下:
    (1)接收缓冲操作。当RTL8019AS接收到一个数据包后,自动将接收的数据包放到CURR页。如果一页放不下,则CURR加1;如果CURR=接收结束页,则CURR自动变成接收开始页,继续写入接收的数据。
    (2)用户读取接收数据包。RTL8019AS通过Local DMA把接收的数据写入接收缓冲区,并自动改变CURR和识别缓冲区的界限,这些都不需要用户干预。
    当一个无错的数据接收完毕,则触发中断处理函数。然后读取数据包到分配的内存,可以从接收字节计数器中得知读取数据。这里要处理一种情况:如果接收的数据包存储不是连续的,在这种情况下要分2次才能读取1个完整的数据包,判断是否存储不连续的条件是:
    bnry>Head[1]&&Head[1]!=RECEIVE_START_PAGE
    其中:bnry是这个包的起始页;Head[1]是下一个包的起始页。
    接收数据包函数与发送数据包函数相似,只需要修改相应寄存器配置即可。然后将接收的数据写入网络接口层的输入队列,如果写入失败则释放内存。写入后上层协议将提取这个数据包。最后网卡通过中断控制器向ARM响应中断,中断完毕清除中断标志。

5 结 语
    ARM微处理器正以其极好的性价比和极低的功耗,与其他体系结构的微处理器进行激烈的竞争,其应用将进一步深入到各行各业。可以预测,在将来的一段时期内,ARM微处理器将成为32位微处理器市场的统治者。了解、学习、掌握和应用ARM微处理器技术很有必要,也非常重要。在ARM系统采用高性能的以太网控制器,系统通信和调试快速、可靠,具有很高的实时性。该设计构造一个基于以太网的嵌入式系统的应用,该接口模块的主要任务是完成与外界的信息交互,以达到网络监控的目的。在实际应用中,它运行稳定,能够十分方便地实现网络互连。该系统已在视频监控光端机上得到成功应用,传输速度相当于PC机的10兆网口。

关键字:AT91RM9200  以太网  RTL8019AS 引用地址:基于AT91RM9200的以太网接口模块设计

上一篇:基于AT91RM9200的嵌入式网络摄像机的设计与实现
下一篇:基于AT91RM9200的LCD驱动程序设计

推荐阅读最新更新时间:2024-03-16 13:09

OLED显示模块与AT91RM9200的接口设计
OLED 全称为Organic Light-Emitting Diode,即有机发光二极管显示器,是指有机半导体材料和发光材料在电流驱动下而达到发光并实现显示的技术。OLED与LCD相比有许多优势:超轻、超薄(厚度可小于1 mm)、亮度高、可视角度大(可达170°)、由像素本身发光而不需要背光源,功耗低、响应速度快(约为LCD速度的1 000倍)、清晰度高、发热量低、抗震性能优异、制造成本低、可弯曲。所以OLED更能够展示完美的视频,再加上耗电量小,可作为移动电话、数码电视等产品的显示屏,被业界公认为最具发展前景的下一代显示技术。    1 P13501显示模块的特性   台湾铼宝公司推出的P13501是一种128×6
[电源管理]
OLED显示模块与<font color='red'>AT91RM9200</font>的接口设计
SpirentTestCenter被用于验证128个40G以太网端口
全球网络、设备及服务测试领域的领导者思博伦通信公司今天宣布,独立测试实验室NetworkTest使用SpirentTestCenter对HP FlexFabric数据中心产品组合的性能进行了验证。 测试的重点: NetworkTest实验室使用SpirentTestCenter对HPFlexFabric 12910上128个40G以太网端口的线速率性能进行了验证,从而成就了业界最大规模的公共 40G以太网测试之一。此外,该测试实验室还对HP FlexFabric 11908上64个40G以太网端口的性能和规模进行了验证,而该产品可支持包含虚拟机和服务器在内的超过128,000个各类主机。 该测试对HPFlexFabri
[测试测量]
Marvell在CES 2018上演示安全的汽车以太网和边缘计算
Marvell凭借其在处理、移动、存储的全新策略,在CES 2018展示了最新的安全汽车以太网和边缘计算以及完整的IEEE 802.11ax无线连接方案。 拉斯维加斯,内华达州- Marvell公司在CES 2018展上突出强调了其在处理、移动和存储数据方面的战略重点。在他们位于威尼斯酒店仅限受邀人士的演示厅里,Marvell展示了包括安全的基于以太网的汽车网络解决方案,边缘计算以及基于其最近宣布的IEEE 802.11ax产品家族的高速无线连接方案。 汽车以太网解决方案以88Q5050安全千兆以太网交换机芯片为核心,采用100BASE -T1技术且符合AEC-Q100 Grade 2的规范(图1)。8端口交换机在2017年7月首
[汽车电子]
Marvell在CES 2018上演示安全的汽车<font color='red'>以太网</font>和边缘计算
数据中心测试端到端
在以太网、光纤通道等多种组网技术共存于数据中心的当下,对数据中心的端到端测试非常必要而且重要。对测试设备也提出了更高的要求。 “光纤通道测试解决方案的推出让Ixia可以提供给用户一个完整的数据中心端到端测试。” “Ixia的数据中心测试解决方案包括数据中心以太网和光纤通道接口测试、FCoE协议一致性和性能测试,以及SAN测试。”Ixia公司高级市场布道官Dave Schneider在接受《网络世界》记者独家采访时表示,“最新的光纤通道测试解决方案的推出,让Ixia可以提供给用户一个完善的数据中心端到端测试。” 经济而高速的10Gbps以太网网络,通过以太网光纤通道技术(FCoE)将以太网和光纤通道网络融合成单一网络,大幅度减
[测试测量]
基于STM32和以太网的远程电参数测量系统设计
  摘要 针对目前各地用电及收费管理不便的问题,文中研究了基于ARM和以太网的远程电参数测量技术。该技术主要用于对电参数的采集和存贮。主控制器采用32位的ARM微处理器STM32F103V,接口硬件设计配合上位机显示电参数。上位机采用LabVIEW的DataSocket枝术编写实现显示功能。通过上下位机的结合,完成电能的计量,进而方便收费管理。   随着人们用电管理方式逐步、向着更加智能、高效和网络化的改善。文中结合网络技术,采用高性能的以太网控制芯片W5100,利用专用的电能计量芯片CS5460A研究了电参数的远程传输。通过W5100嵌入以太网,可以实现数据的远程传输,有效地将经CS5460A采集的电流值、电压值及功率值传送
[测试测量]
基于STM32和<font color='red'>以太网</font>的远程电参数测量系统设计
TDK推出具有高ESD鲁棒性车载以太网用贴片压敏电阻
高达25 kV的可靠ESD保护 在高数据速率下低电容、窄公差,以确保信号的完整性 小型尺寸:1.0 x 0.5 x 0.5 mm 工作温度高达150 °C TDK株式会社凭借新型(AVRH10C221KT1R5YA8)产品扩大了其车载以太网用贴片压敏电阻的产品阵容,该新型产品具有非常高的ESD鲁棒性,特别适合用于恶劣的环境中。因此,该AVR系列新产品还可提供高达25 kV(IEC61000-4-2)的可靠ESD保护。此外,由于采用非常精确的贴片技术和优化的制造工艺,新贴片压敏电阻具有1.5±0.13 pF低电容。通过采用IEC 1005封装(1.0 x 0.5 x 0.5 mm),该元件的体积比现有元件小75
[汽车电子]
TDK推出具有高ESD鲁棒性车载<font color='red'>以太网</font>用贴片压敏电阻
矿场安防系统光纤自愈以太网方案
矿场安防系统传统技术比较成熟,主要包括电视监控系统。前端点距中央控制室较近的一般采用电缆传输,当距离超过500M时,一般采用点对点的基带非压缩的视频、数据、音频光端机,将前端的视频、报警、音频信号传输至监控中心,同时将监控中心对摄像机云台、镜头的控制信号传至前端。 一、周界系统光纤自愈以太网环网新方案 针对矿场安防系统传统的点对点传输解决方案的固有缺陷,在矿场周界监控系统中,本文采用基于集散控制系统概念的工业以太网环网系统。该系统具有高度的分散性、实时性、可靠性、开放性和可操作性,同时也可以做到数据、语音和视频“三网合一”。它采用统一的TCP/IP协议,避免了不同协议间难以通讯的困扰;可以直接和局域网的计算机互连,可以通
[工业控制]
用于嵌入式控制的以太网
将各个嵌入式控制模块连接在一起的方法有很多,而以太网具有较好的可靠性、速度和大量成熟的基础架构 20世纪80年代,当个人电脑开始在全球的办公室中普及的时候,人们不禁吃惊的发现,一场正在兴起的计算革命能够发掘并大大提高人们的生产效率。20世纪90年代,所有的电脑开始通过Modem和小型办公网络连接在一起,然后通过Internet实现了互连,从此互连网的计算和通信功能开始明显地提高人们工作的效率。 随着越来越多的嵌入式应用系统开始相互连接并与网络计算基础架构连接在一起,我们有可能会在嵌入式控制应用的ROI(投资回报)中看到与网络应用类似的阶跃式增长。 互连的方案 将某一应用系统中(或者分离的应用系统中)的各个嵌入式控制模块连接在
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved