当前位置:首页 > 单片机 > 单片机
[导读] 一.系统硬件概述1.1.ARM LPC2210芯片简介LPC2210是Philips公司推出的微处理器,带有16 KBRAM,76个通用I/O口,12个独立外部中断引脚,集成有8通道的10位A/D,能够基于芯片设计复杂的系统。1.2.RTL80

一.系统硬件概述

1.1.ARM LPC2210芯片简介

LPC2210是Philips公司推出的微处理器,带有16 KBRAM,76个通用I/O口,12个独立外部中断引脚,集成有8通道的10位A/D,能够基于芯片设计复杂的系统。

1.2.RTL8019AS芯片简介

?RTL8019AS是台湾Realtek半导体公司生产的以太网控制器,其性能包括:支持EthernetII和IEEE802.3标准;支持8/16位数据总线;内置16 KWord的SRAM;全双工,收发同时达到10 Mb/s;支持BNC,AUI,UTP介质。RTLS019AS可提供100脚的TQFP封装,减少了PCB面积,更适合于嵌入式系统。

1.3.HR901170A芯片简介

HR901170A是汉仁电子有限公司生产的RJ45接口连接器(带网络变压器/滤波器),该连接器满足IEEES02.3和IEEE902.3ab标准,能够较好地抑制电磁干扰。通过HR901170A系统就可以连接到以太网上。

注:RTL8019AS与网络介质之间的连接由Rj45接头HR901170A完成。

二RTL8019AS芯片工作原理

2.1RTL8019AS寄存器及其映射方式

?RTL8019AS寄存器采用内存映射的方式。映射地址根据具体的硬件连接方式不同而不同。在LPC2210开发板中RTL8019AS在CPU的存储空间上映射的基地址为0X83400000。

?LPC2210通过16位DMA方式实现对RTL8019AS双口RAM的访问,另外使用P0.8控制RTL8019AS芯片复位,使用以太网接口时必须将P0.8设置为输出模式,并且将跳线器JP8_NET_RST短接。RTL8019AS芯片中的中断输出与P0.9(EINT3)相连,当需要使用RTL8019AS中断时必须将P0.9设置为EINT3功能,并且将跳线器JP8_NET_INT短接。

2.2RTL8019AS内部结构及工作原理

1>RTL8019AS芯片内部具有一个16Kbytes的双口RAM作为数据FIFO,它从逻辑上可划分为64个256字节的页,每一个页面包括16个寄存器,每个寄存器均是8位。在不同的页面下,同一个端口对应不同的寄存器。

2>一般将RAM的前12页(即0X4000~0X4bff)存储区作为发送缓冲区;后52页(即0x4c00~0x7fff)存储区作为接收缓冲区;页的地址就是地址的高8位(即0x40~0x4b;0x4c~0x7f);第0页叫Prom页,只有32字节,地址为0x000~0x001f,用于存储以太网物理地址。

说明:

2寄存器和内置RAM是网卡功能实现的载体,驱动程序也是通过对它们的操作完成CPU所指令的任务。驱动程序所涉及的寄存器主要在Page0和Page1。

2至于内置RAM,在Jumper模式下我们只需要关心其收发缓存部分。偏移地址从0x4000开始至0x7FFF的16KB RAM区域构成8019的收发缓存,它以256字节为单位划分为64页(Page),页地址为0x40 ~ 0x7F,发送和接收缓存所分配的页数可以由驱动程序设定。一种比较常见的分配方式为[0x40,0x4C)用作发送,[0x4C,0x80)用作接收,这也是本例所采用的配置。

3>接收和发送数据包是通过DMA读写RTL8019AS内部的16K B RAM,它是双端口的RAM,即有两套总线连接到该RAM。

如图2:

?一套总线是RTL8019AS读或写该RAM,即本地DMA;

?另一套总线是LPC2210读或写该RAM,即远程DMA。

4>本地DMA大部分工作由RTL8019AS自动完成,驱动程序只需要在初始化RTL8019AS时设置缓冲环的大小(最大不超过64KB),即寄存器PSTRT和PSTOP的值,同时使PSTART=BNRY(边界寄存器)=CURR+1(当前页面指针寄存器)。

5>远程DMA操作由外部微处理器完成,RTL8019AS有远程读(Remote Read),远程写(Remote Write)和包发送(Send Packet)三种工作模式,由命令寄存器(CR)中的RD0,RD1和RD2位控制。其中远程读和远程写的工作相似,都是先赋值远程DMA的起始地址寄存器(RSAR0,RSAR1)和远程DMA字节计数器(RBCR0,RBCR1),然后在RTL8019AS的远程DMA端口读写即可。包发送操作用于数据发送,只需要发送一个包发送命令,就可以在RTL8019AS的远程DMA端口读取RAM中接收的数据。当执行这个指令时,RTL8019AS就自动设置了起始地址寄存器和字节计数器,边界寄存器(BNRY)指向下一个数据帧。

------------------------------------------------------------------------------------

关于具体的寄存器功能请大家查看RTL8019AS的数据手册。

三以太网驱动系统设计说明

3.1以太网驱动系统概述

以太网RTL8019AS驱动系统的内容是完成对芯片初始化,接收数据包和发送数据包模块的编写。发送数据包时,驱动程序把要发送的数据按指定格式写入芯片并启动发送命令,RTL8019AS会自动把数据转换成物理帧格式在物理信道上传输。反之,当接收数据报时,RTL8019AS收到物理信号后将其还原成数据,按指定格式存放在RAM中,以便主机程序取用。驱动程序通过控制RTL8019AS内部寄存器以及DMA端口,来实现芯片初始化,接收数据报和发送数据报的任务。

3.2 RTL8019AS以太网驱动系统的组成

?芯片初始化模块:初始化模块是针对以太网RT8019AS进行的初始化设置,使其能正常芯片复位,设置芯片寄存器及启动芯片。

?发送数据报模块:所有的数据发送都要通过该模块发送

?接收数据报模块:查询是否有新数据包并接收进缓冲区

?写数据子模块:把数据写入RTL8019AS芯片中

?读数据子模块:从RTL8019AS中把数据读出

?设置芯片物理地址子模块:将物理地址写入RTL8019AS(PAR0~PAR5)寄存器中。

?页面切换模块:页面切换功能,可选择0,1,2三页,第四页作为芯片保留。

四.芯片初始化模块

4.1芯片初始化模块的功能

初始化LPC2210与设备相关的控制管脚和初始化RTL8019AS相关控制寄存器

4.2芯片初始化模块的组成

1>选择引脚:使用P0.8引脚控制RTL8019AS芯片复位时,要将P0.8设置为输出模式2>复位芯片

?设置P0.8为输出高电平,控制RTL8019AS硬件复位

?向RTL8019AS的0x1f号寄存器写入00使RTL8019AS软件复位。

3>使RTL8019AS芯片停止配置命令寄存器(CR):配置CR寄存中的RD2,RD1,RD0三位为100使DMA为停止模式,配置STA,STP位为01。使8019芯片停止,为进行寄存器设置做准备。4>设置RTL8019寄存器设置RTL8019AS芯片寄存器,主要完成对以下几个寄存器的初始化:?RBCR0,RBCR1:配置远程DMA字节计数寄存器?PSTART:配置接收缓冲区的起始页地址?PSTOP:配置接收缓冲区的结束页的地址?TPSR:配置发送缓冲区的起始地址?BNRY:配置边界寄存器(读指针)?CURR:配置当前的接收结束页地址(写指针)1)设置远程DMA字节计数寄存器(RBCR0,RBCR1):初始化远程DMA字节计数器为02)设置接收配置寄存器(RCR)和传输配置寄存器(TCR)

在配置寄存器时,要与外部网络断开(因此设置接收配置寄存器的MON位,和传输配置寄存器的LOOPBACK,与外网断开)。

3)设置数据配置寄存器(DCR):设置FT1,FT0位为10进行FIFO的选择;设置ARM位为0,使其不发送命令包;设置LS位为1,使其为正常模式;LAS位必须为0;设置BOS位为1,使其为大端格式(即高字节在低地址中);设置WTS位为1,使其为字长度的DMA传送(16字节DMA传送)

4)初始化接收缓冲区容量为:0x4c~0x7f(PSTART=0X4C,PSTOP=0x80)共52个页。

?设置页面起始寄存器(PSTART):初始化页面接收缓冲环的起始地址为0x4c。

?设置页面终止寄存器(PSTOP):初始化页面接收缓冲环的结束地址为0X80。

5)初始化发送缓冲区容量为:0x40~0x4b(TPSR=0X40,BNRY=0X4C)共12页,可存储两个最大以太网数据包。(每一页256字节,256*12=3072,而一个以太网最大数据包为1518)。

?设置页面边界寄存器(BNRY读指针):初始化页面最后一次页面接收缓冲环的地址为0X4C。

?设置页面传输起始寄存器(TPSR):初始化传输包的页面开始地址为0x40。

6)初始化中断状态寄存器和中断屏蔽寄存器。

?设置中断状态寄存器(ISR):清除所有中断标志位。

?设置中断允许寄存器(IMR):初始化使能OVW(溢出中断)和PRX(接收包无错误中断).

7)设置当前页面寄存器(CURR):设置当前页面地址为0x4d

注:该寄存器指出首先接收缓冲器页面地址。这个寄存器用来对数据包的接收(为写页指针)。

8)设置组播地址寄存器(MR0~MR7):初始化组播地址为0。

说明:组播地址寄存器用于提供为CRC逻辑提供,组播地址的过滤位。

9)设置芯片物理地址:

调用写数据子模块将实际地址写入MAC地址寄存器(PAR0~PAR05)中。

这些寄存器用于记录本以太网节点的MAC地址,并用于对比接收包的目标地址是否一致而决定接收还是放弃。

10)设置传输配置寄存器(TCR)和接收配置寄存器(RCR)为正常模式,与外部网络连接

5>设置芯片启动

6>配置中断状态寄存器(ISR)清除所有中断标志位

4.3芯片初始化模块的接口

芯片初始化模块调用了写数据子模块,页面切换子模块和设置芯片物理地址子模块

?设置芯片物理地址子模块:将物理地址写入RTL8019AS芯片中。

?写数据子模块:将数据写入RTL8019AS芯片中

? 页面切换子模块:可选择Page0,Page1,Page3三

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭