为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于AM微处理器的嵌入 式以太网接 口

2011-11-20 3页 pdf 125KB 21阅读

用户头像

is_460290

暂无简介

举报
基于AM微处理器的嵌入 式以太网接 口 第3l卷第 1期 2005年 1月 电 孑 工 蠢 晡 ELECTR0NIC ENGINEER Vo1.3l No.1 Jan.2005 基于 ARM微处理器的嵌入式以太网接口 何 轩。,夏应清。,李 祥 (1.华中师范大学,湖北省武汉市430079;2.湖北经济学院,湖北省武汉市430065) 【摘 要】 介绍了一种具有较高性价比和发展前景的基于ARM微处理器的嵌入式以太网的设 计方案。首先介绍了ARM 内核的微处理器S3C44BOX的功能和特点,接着分析了以太网控制器芯片 RTL8019A...
基于AM微处理器的嵌入 式以太网接 口
第3l卷第 1期 2005年 1月 电 孑 工 蠢 晡 ELECTR0NIC ENGINEER Vo1.3l No.1 Jan.2005 基于 ARM微处理器的嵌入式以太网接口 何 轩。,夏应清。,李 祥 (1.华中师范大学,湖北省武汉市430079;2.湖北经济学院,湖北省武汉市430065) 【摘 要】 介绍了一种具有较高性价比和发展前景的基于ARM微处理器的嵌入式以太网的设 计。首先介绍了ARM 内核的微处理器S3C44BOX的功能和特点,接着分析了以太网控制器芯片 RTL8019AS的性能,给 出了以 ARM为基础的嵌入式 系统与 10 Mbit/s常用以太网控制器芯片 RTL8019AS的硬件接口电路。在软件设计上,首先介绍了~C/OS lI实时操作系统在 S3C44BOX的移 植,并在此基础上给出了以太网控制器芯片RTL8019AS的初始化程序,最终实现了嵌入式以太网的数 据传输。 关键词:嵌入式系统,以太网,接口,ARM,微处理器 中图分类号:TP334.7 O 引 言 在电子设备日趋网络化的背景下,作为目前广泛 使用的以太网以及 TCP/IP已经成为事实上最常用的 网络之一,它的高速、可靠、分层以及可扩充性使 其在各个领域的应用越来越灵活,很多情况下运用以 太网和TCP/IP,能够简化结构和降低成本。但是,目 前关于嵌人式以太网的设计方案不是很多,而且大多 是基于单片机或DSP的,两者都存在要外扩很多外设 的问题,并且前者速度太慢,后者成本太高,这在一些 对设备尺寸要求很高的场合是不适用的。 本设计 中,采用 了基于 ARM 内核的微处理器 $3C44BOX的嵌人式系统,与 10 Mbit/s以太网控制芯 片RTL8019AS的接口电路和实现。 1 S3C44BOX芯片介绍 $3C44BOX是基于 ARM7TDMI内核的 16/32位 RISC处理器,功能强大,目前已广泛应用于手持设备、 因特网设备、网络、调制解调设备等领域。其主要特点 如下: a)拓展存储控制器(带 FP/ED0/SDRAM控制 器,片选逻辑); b)8 kB高速缓存(cache)/SRAM; C)液晶显示器(LCD)控制器(可直接控制DSTN/ STN的各种灰度/256彩色LCD屏,最大支持分辨率为 1 600×1 6oo); d)2通道 UART,波特率可高达 115.2 kbi~s,并 内置16字节FIFO,同时兼容Irda1.0规范; 收稿 日期:2004—10-28 · 72· e)12C接口、12S接口(音频数据接口); f)71个通用 I/O端口和8个外部中断; g)5路脉宽调制(PWM)定时器和 1路内部定时 器; h)8通道 10位A/D转换器(采样速率为 100× 10 采样/s); i)2路 GDMA和2路外围DMA; j)具有电源控制器、看门狗、实时时钟。 2 硬件电路组成 本方案硬件电路使用的芯片主要有微处理器 s3C44BOX、R砌 019AS、74LV138、FB2022(网卡变压 器),其硬件框图如图1所示。 UU~Ul, SD0~SDI 5 _— — A9~A13 SA0~SA4 IPIN+ 4 7 3 EXINT3 1NT0 IPIN — 6 9 6 nOE IORB LD 3 10 2 nWE IoWB HD 1 12 I nRESET RSTRV FB2022 R3—4 A20 AEN A19 -tK0 I A18 -t s3 l nGCS1 $3C44BOX 74LV38 图1 S3C44BOX与以太网接口电路 $3C44BOX与 RTL8019AS的接 口采用 UTP RJ一 45。RTL8019AS与主机有3种接口工作模式:跳线方 式,网卡的I/O和中断由跳线决定;即插即用方式,由 软件进行 自动配置即插即用;免跳线方式,网卡的 I/O 和中断由外界的93CA6中的决定。 维普资讯 http://www.cqvip.com 第31卷第1期 何 轩,等:基于ARM微处理器的嵌入式以太网接口 ·计算机与自动化技术 · 在嵌入式应用场合,如果不使用 93C46 EEPROM, 可以降低成本,同时又减少连线,因此,本文采用第 1 种方式,即跳线方式通过设置 RTL8019AS的65引脚 jP为高电平(接到 VCC或通过一个 10 kQ的电阻上 拉)来实现。 RTL8019AS是性价比高且带有即插即用功能的 全双工以太网控制器,它的主要特点包括:符合Ether— net lI与IEEE802.3标准;全双工,收发可同时达到 10 Mbit/s的速率,内置 16 kB的SRAM,用于收发缓 冲,减低对主处理器的要求;支持UTP、AUI、BNC自动 检测,还支持对 10BaseT拓扑结构的自动极性修正;允 许4个诊断LED引脚编程输出。RTL8019AS内部有 2块 RAM区,1块 16 kB,地址为0x4000一Ox7珊;1块 32字节,地址为OxO(~ 一0x001f。RA M按页存储,每 256字节为一页。 本方案 中将 RTL8019AS的 RAM 的前 12页 (0x4000一Ox4Bflt)作为发送缓冲区,后52页(Ox4eO0 — 0x7t~ff)作为接收缓冲区,第 0页只有 32个字节,用 来存储以太网的物理地址。 RTL8019AS具有 32个输出/输出地址,地址偏移 量为00H一1FH。其中00H一0FH具有 16个地址,为 寄存器的地址,寄存器分为 pageO、page1、page2、page3, 由RTL8019AS中的命令寄存器 CR中的PSI和 PSO 位来决定要访问的页。复位端口包括 18H一1FH共 8 个地址,用于RTL8019AS的复位。 3 软件设计 编写控制以太网接口程序的如下。 3.1 .1CI/os 1I实时操作系统的移植 p.e/osⅡ是一种开放源码的实时嵌入式操作系统, 是一个可移植、可裁减、可固化的占先式多任务操作系 统,已被应用到多种微处理器上,其大部分源码是由 ANSI C语言编写的。 移植工作包括以下几个内容:设置 OS—CPU.H中 与处理器和编译器相关的代码;用 c语言改写 OS— COU — C.C中6个与操作系统相关的简单函数;用汇编 语言改写OS—CPU—A.ASM中的4个与处理器相关的 函数。 a)OS—CPU.H文件:OS—CPU.H包括#define、ty— pedef定义与CPU相关信息。由于进行不同处理的处 理器有不同的字长,所以 IzC/OS lI的移植包括一系列 的类型定义,以确保可移植性。如 INT16U数据类型 总是代表 16位无符号整数,将 IzC/OS lI移植到 32位 处理器上,也就意味着 INT16U实际被声明为无符号 短整型数而不是无符号整形数。 b)OS—COU—C.C文件:OSTaskCreatHook()、OS— TaskDelHook()、OSTaskSwhook()、OSTaskStatHook ()、OSTaskCreakHook()这些函数为用户定义,实际 需要修改的只有OSTaskStkIinit()函数。OSTaskStkI— init()用来初始化任务堆栈,初始状态的堆栈模拟发 生一次中断后的堆栈结构。由于在 ARM中堆栈是按 32位数据类型进行操作,所以堆栈数据类型 OS—STK 声明为32位无符号整数。 e)OS—CPU—A.ASM文件:这里要实现4个汇编 函数改写,即多任务启动函数中调用 OSSTartHightRdy ()、任务切换函数 OSCtxSw()、中断任务切换 OS— IntCtxSw()、时钟节拍服务函数 OSTickISR()。任务 切换函数 OSCtxSw(),由任务切换函数 OSJ'ASK_SW ()进入。如果任务执行了某个函数,其结果改变了当 前 任务 的状 态 (如 OSTaskSuspend()、OSTimeDly ()),或者改变了其他任务的状态(OSTaskResum()、 OSTimeDlyResume()),都要引起新的任务调度函数 (OSSched())执行 OSJ'ASK_SW()。OSIntCtxSw() 是在 ISR中被调用的,其代码与OSCtxSw()类似。 OSStartHightRdy()由OSStart()函数调用,功能是运 行优先级最高的任务。 OSTickISR()是时钟节拍中断,用户应该在 OS— Start()运行后,p,C/OS1I启动运行的第 1个任务中初 始化节拍中断。 3.2 初始化RTL8019AS 初始化部分完成 RTL8019AS在使用之前的初始 化工作:设置相关工作模式的寄存器,分配和初始化接 收及发送缓冲区,初始化网卡接收地址。 RTL8019AS的初始化代码如下: regO0=Ox21; //CR =Ox21; //STOPI NO — DMA regOe=0xc9; //DCR数据配制寄存器 16位远端数据 dma Temp=Reset _ Reg; Delay(1) Reset — reg=temp; //复位8019 Delay(1OO) //关闭对于配置存储器的支持 res00=0xel; //选中第 3页 regO1=0xe0: /9346CR EEM1=EEM1=1 reg04=0xel; //eonfigl set IRQ bit regO1=0xel: //9346CR EEM1=EEM1=0 //木木木木木木木偶}止 8019木木木木木木木 regO0=Ox21; //CR =Ox21; //STOPINO — DMA regOb=0; //清除远程 DMA计数器的MSB regOa=0;//清除远程DMA计数器的LSB //读取ISR,等待ISR,等待ISR&ISR_RESET,1.6ms · 73· 维普资讯 http://www.cqvip.com · 计算机与自动化技术 · 电 子 工 蠢 师 2005年 1月 for(I=0;I<0xfff;I++){ temp=reg07; if(temp&RTL8019一ISR—RST){ reg07=temp; break; } Delay(200); } //如果超时没有收到8019的复位信号,表示 8019芯片有 硬件问题 if(I==Ox甜){ Uart _ Prinfff”Reset RT1名0l9 Fail. Please check your hardware.\n’; return ; } regOd=0xe2; //TCR=0x02;开启回环模式 resoo=0x22: //CR=0x22;//STARTINO — DMA Delay(20000); //延时 //宰木木木宰木宰配置8019//宰木木木枣木宰 reg0o=0x21;//选择页0的寄存器,网卡停止运行,因为 还没有初始化 temp=resoo; //测试8019的寄存器能否工作 if((temp&0x21)!:0x21){ Uart — Prinff(”Write RTL8019 Fail\n0; return ; } reg0e=0x49;//DCR数据配置寄存器16位数据dma res0b=0; //清除远程DMA计数器的MSB resOa=0;//清除远程DMA计数器的LSB resOe=0x04; //RCR resoa=0x02; //TCR=0x02回环模式 redo3=0x4c; //BNRY redoI=0x4C;//寄存器Pstart re~o2=0x80; //Pstop reg07=0xff; //ISP resof= 0xO1: //IMR open rx interrupt interrupt 1 = = IRQ2/9 reso4=0x45; //TPSR resoo=0x61: //CR—STOP I CR— NO— DMA I CR— PAGE1// 选择 1的寄存器 //初始化物理地址 GetMae(mac); GetMae(1llae); //初始化组播地址EtherlnitMar(); reg07=0x4d; //CURR resoo=0x21; //move back to page 0 · 74· resO0=0x22; //选择页0寄存器,网卡执行命令 regOd=0xO0; //TCR — NO _ LOOPBACK reg07=0xff; //ISR //配置结束 EtherNetOpenlnterrupt(); //设置中断 EtherSetRegPage(0): //选择页面0 3.3 传输数据包 发送部分只要把数据写入缓冲区,启动执行命令, RTL8019AS自动发送。一般在 RAM内开辟两个以太 网数据包的空间作为发送缓冲区。作为一个集成的以 太网芯片,数据的发送校验、总线数据包的碰撞检测与 避免是由芯片自己完成的,只需要配置发送数据的物 理层地址、源地址、目的地址、数据包类型以及发送的 数据就可以了。 3.4 接收数据包 接收部分完成数据接收任务。RTL8019AS接收 到以太网数据包后自动存在接收缓冲区并发出中断信 号,S3C44BOX在中断程序中通过 DMA即可接收到数 据,亦即通过远端 DMA把数据从 RTL8019AS的 RAM 空间读回ARM中处理。这里主要是对一些相关的寄 存器进行操作就可以了。 4 结束语 RTL8019AS芯片具有性价比高、连接方便等特 点,是进行嵌入式以太网设计时的首选的控制芯片。 本 文 介 绍 了 以 $3C44BOX 处 理 器 为 核 心、用 RTL8019AS作为网络接口芯片的嵌入式以太网接口 的具体软硬件方法。产品的性能高,价格适中,不仅可 用于工业现场实现现场节点的自动上网功能,而且可 以用于信息家电的以太网接口,可以实现远程控制,在 网上就可以控制家中的电器,具有很好的发展前景。 参 考 文 献 [1]S3CA510B Datasheet.Samsung.http://www.Samsung.tom [2]RTL8019AS Datasheet.http://www.reahek.eom.taiwan [3]Jean J Labrosse.嵌入式实时操作系统~e/osII.北京:北京 航空航天大学出版社,2003 [4]马忠梅,马广云,徐慧英,等.ARM嵌入式处理器结构与应 用基础 北京:北京航空航天大学出版社,2002 [5]邓龙军,梁志坤,王泽芳.单片机在以太网通信中的应用. 广东工业大学学报,2001,18(4):20~24 [6]田 泽,嵌入式系统开发与应用实验教程.北京:北京航空 航天大学出版社,2004 . 维普资讯 http://www.cqvip.com
/
本文档为【基于AM微处理器的嵌入 式以太网接 口】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索