浅谈AT91RM9200在以太网接口模块应用

发布者:chuyifei最新更新时间:2012-08-09 来源: 21ic 关键字:AT91RM9200  以太网接口  存储器 手机看文章 扫描二维码
随时随地手机看文章

0 引 言

在Internet飞速发展的今天,网络已经渗透到生活的方方面面,与网络的结合已经成为嵌入式系统发展的必然趋势。目前,ARM微处理器已经在多个领域中得到应用,各种基于ARM微处理器的设备应用数量已经远远超过了通用计算机,基于ARM微处理器的开发应用正成为数字时代的技术潮流。ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。

l AT91RM9200简介

AT91RM9200是基于ARM920T核的高性能、低功耗16/32位RISC(精简指令集计算机)微处理器。其内部集成丰富的外设资源,适用于要求外设资源丰富、功耗低、工作严格稳定的工业控制和野外仪器等方面。 从而为低功耗,低成本,高性能的计算机应用提供了一个单片解决方案。适用于要求外设资源丰富,功耗低,工作稳定的工业控制等方面。

AT91RM9200处理器主要具有如下特点:1)低功耗:VDDCORE电流为30.4mA,待机模式电流为3.1mA.2)双向、32位外部数据总线支持8位、16位、32位数据宽度读写,支持SDRAM、static Memory、Burst Flash、Compact FLASH和NAND Flash,满足采集站对于数据的采集和处理要求。3)提供一系列符合工业标准的外设接口,如:USART、SSC、SPI、USB及I2C等。4)具有20通道外围数据控制器(PDC或DMA),可以数据的传输更快,同时可以减轻CPU的负担,以便实时响应其它的处理。5)支持USB 2.0(12Mbps)主机端口,可以方便在野外采集时另接存储器,以便持续采集。 6)支持以太网10/100,可以很方便的实现采集之间的快速通信。

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器件工作时钟。振荡器(英文:oscillator)是用来产生重复电子讯号(通常是正弦波或方波)的电子元件。其构成的电路叫振荡电路。能将直流电转换为具有一定频率交流电信号输出的电子电路或装置。种类很多,按振荡激励方式可分为自激振荡器、他激振荡器;按电路结构可分为阻容振荡器、电感电容振荡器、晶体振荡器、音叉振荡器等;按输出波形可分为正弦波、方波、锯齿波等振荡器。广泛用于电子工业、医疗、科学研究等方面。

2.3 复位电路设计

AT91RM9200有2个独立的复位信号,即系统复位信号NRST与调试复位信号NTRSI,都是低电平有效。系统上电后,AT91RM9200必须执行一个上电复位,在过渡状态下,它的强制复位信号为低,直到电源电压和振荡器工作频率稳定为止。此外,NRST和NTRST还可以手动复位,以方便用户调试程序。

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.[page]

SDRAM存储器的作用是存放系统运行时的程序和数据,掉电后该部分程序和数据会丢失。SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。SDRAM从发展到现在已经经历了四代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM.(显卡上的DDR已经发展到DDR5) 设计中使用两片数据宽度为16位的SDRAM并为一个具有32位数据宽度的SDRAM模块,以充分发挥微处理器32位数据宽度的高性能。AT91RM9200需要以下引脚与HY57V561620对应相连:D[0:31],A[2:11],A[13:14],NBS0,N:BSl,NBS2,NBS3,SDCKE,SDCK,SDCS,RAS,CAS,SDWE.这里特别注意:A12引脚不使用。

2.5 JTAG接口电路设计

JTAG是英文"Joint Test Action Group(联合测试行为组织)"的词头字母的简写,该组织成立于1985 年,是由几家主要的电子制造商发起制订的PCB 和IC 测试标准。JTAG 建议于1990 年被IEEE 批准为IEEE1149.1-1990 测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993 和IEEE1149.1b-1994.JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程JTAG也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。GND 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)。[page]

以太网口第一次复位必须是硬件复位,硬件复位以后要经过大约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.

读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个字节的数据。[page]

(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系统采用高性能的以太网控制器,系统通信和调试快速、可靠,具有很高的实时性。该设计构造一个基于以太网的嵌入式系统的应用,该接口模块的主要任务是完成与外界的信息交互,以达到网络监控的目的。在实际应用中,它运行稳定,能够十分方便地实现网络互连。

关键字:AT91RM9200  以太网接口  存储器 引用地址:浅谈AT91RM9200在以太网接口模块应用

上一篇:AT91RM9200微处理器的最小系统设计
下一篇:基于AT91RM9200的CAN智能节点设计

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

富士通:铁电存储器我也很牛的!
铁电随机存取记忆体(Ferroelectric RAM,FRAM;或称FeRAM)由于结合了ROM与RAM的优势,具备非挥发性、高速写入、高耐受度、低功耗等方面的条件,在这几年来不断扩大市场版图,特别是在工业应用领域备受瞩目;随着物联网(IoT)崛起,FRAM也可望在各类智慧连网装置上找到更多新应用商机。 在FRAM技术领域耕耘15年的日商富士通半导体(Fujitsu Semiconductor),自1999年首度量产 FRAM 元件以来,全球出货量累计已超过25亿颗,具备多样化的产品种类选择;富士通半导体资深产品工程师谢京桦表示,该公司的FRAM一开始以日本国内的智慧卡(交通票券、金融卡)、RFID应用为主,后来逐渐拓展至医
[单片机]
优化DSP应用的技术
   介绍   数字信号处理 (DSP) 是处理信号和数据的专用方法,其目的在于加强并修改这些信号。数字信号处理也用于分析信号以确定特定的信息内容。DSP主要用于处理真实世界的信号。这些信号可由数字序列进行转化和表示。我们后来使用数学方法处理信号,从信号中提取特定信息或以某种方式转化信号。   DSP在实时嵌入式系统中非常普遍,在这种系统中,计算的及时性与准确性同样重要。DSP 在这些环境中非常普遍,因为其根据设计,能够非常迅速地执行常见的信号处理操作。DSP 的可编程性允许应用随着时间的推移而不断变化发展,从而为应用供应商提供了众多优势。进行 DSP 编程需要熟悉应用、DSP 硬件架构以及用于编写高效实时软件、并能满足系统
[嵌入式]
石墨烯存储器问世 比闪存存储单元密度更高
Rice大学研究人员正在着手研究一类存储单元密度至少为闪存两倍的石墨烯片状存储器。 石墨烯(Graphene)是由没有卷成纳米管的纯炭原子薄膜构成,在此之前石墨烯已被用于IBM的超快速晶体管原型产品及其它领域。此次,由Rice大学教授James Tour领头的科研小组首次将石墨烯用于架构更简单的双端存储器件。 与晶体管这类三端器件不同,“我们(所研发)的石墨烯存储器单元仅有两个端子,”Tour表示,“通过在存储单元两端加不同电压就可以完成对存储单元的读/写或删除。” 在实验过程中,通过加3.5V的电压来断开石墨烯片之间的连接通道可清空存储内容。一个1V的信号允许电路将控制存储单元,决定其处在‘导通’或
[手机便携]
ATmega32 Flash程序存储器
系统内可编程的Flash 程序存储器 ATmega32具有32K字节的在线编程Flash,用于存放程序指令代码。因为所有的AVR指令为16 位或32 位,故而Flash 组织成16K x 16 位的形式。用户程序的安全性要根据Flash程序存储器的两个区:引导(Boot) 程序区和应用程序区,分开来考虑。 Flash存储器至少可以擦写10,000次。ATmega32的程序计数器(PC)为14 位,因此可以寻 址 16K 字的程序存储器 P228 “支持 引导装入程序 – 在写的同时可以读(RWW, Read-While-Write)的自我编程能力” ,而P240 “ 存储器编程 ” 详述了用 SPI 或 JTAG 接口实现对 Fl
[单片机]
ATmega32 Flash程序<font color='red'>存储器</font>
兆易创新通过并购完善存储器业务版图
兆易创新是国内存储器芯片设计龙头,公司董秘李红表示,在国家大力扶持集成电路产业及芯片进口替代加快的趋势下,集成电路行业迎来一轮蓬勃发展期,兆易创新将充分受益于行业景气周期。公司在原有NOR Flash市场优势的基础上,增添了NAND和MCU等新的成长点,并将通过收购北京矽成完善公司存储器版图。   进口替代空间大   兆易创新是中国内地最大的代码型闪存芯片设计企业,也是最大的串行NOR Flash设计企业。公司在全球NOR Flash的市场占有率为7%。2013年,公司通用型MCU芯片样品成功投向市场,2014年、2015年MCU销售同比增速分别高达930%、748%。   兆易公司高管介绍,公司产品主要包括两大系列三个产品线,分
[手机便携]
国产芯片赶追之路 中芯国际发明传输门晶体结构存储器方案
静态随机存储器(SRAM)作为一种典型的半导体器件,已被广泛的应用于计算机、手机、数码相机等电子设备中。 随着半导体技术的发展,存储器的制备工艺也越来越成熟,同时所形成的存储器也具备更好的性能。在实际的生产场景中,部分厂商利用鳍式效应晶体管来作为存储器中的晶体管器件。虽然将鳍式场效应晶体管应用于存储器中,有利于缩减存储器的尺寸,并且还可提高存储器的性能。然而,存储器的性能还需进一步优化,例如改善存储器的读取容限等。 为此,中芯国际在2017年5月9日申请了一项名为“存储器及其形成方法”的发明专利(申请号:201710322968.X),申请人为中芯国际集成电路制造(上海)有限公司。 根据该专利目前公开的相关资料,让我们一起来看看这
[手机便携]
国产芯片赶追之路 中芯国际发明传输门晶体结构<font color='red'>存储器</font>方案
东芝存储器竞标案下隐藏的苹果和鸿海的私心
  3D NAND已经是科技产业的战略物资,原本被美日韩三阵营锁住的封闭型游戏场,意外爆出 东芝 (Toshiba)卖子赎身一案,让全球科技巨擘为之疯狂。最戏剧化的莫过于鸿海一路的出招,最震惊的则是苹果(Apple)鸭子滑水的布局,彼此的看似合作又随时保持弹性,足见3D NAND技术的迷人!下面就随网络通信小编一起来了解一下相关内容吧。   苹果是全球最大的NAND Flash采购者,最大供应商又是劲敌三星电子(Samsung Electronics),苹果想自己掌握NAND Flash供货是可以理解的。   苹果曾经面板、处理器(AP)、3D NAND/DRAM全数的关键零组件都被三星钳制,现在AP已经交给台积电,但AMOLE
[网络通信]
三星购买Kilopass非易失性存储器技术许可
半导体逻辑非易失性存储器(NVM)知识产权的领先提供商Kilopass Technology, Inc.今天宣布,三星电子株式会社(Samsung Electronics Co., Ltd)将在其代工业务的先进逻辑工艺中采用Kilopass的一次性可编程(OTP)反熔丝存储器XPM™。有了这项授权协议,三星代工厂的客户如今可以获得Kilopass用于先进逻辑工艺的具有成本效益、可扩展的嵌入式NVM知识产权解决方案。 三星电子代工业务副总裁Jay Min表示:“随着我们这一行业向更先进的技术和更高的片上系统(SoC)集成水平发展,获得经过验证的知识产权对我们的代工厂客户而言是极为重要的。我们的战略是建立一个综合的合作伙
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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