陋两砭死前斫丽丽矗硼 ARM开发与应用
文章编号:1008-0570(2008脚—0177—m2
基于$3C2510和Nucleus的网络接口与驱动设计
ADesig疗ofNetworkInterfaceandDriverbasedonS3C2510andNucleus
(I.广东科学技术职业学院;2.广州金鹏集团有限公司)李昌1黄亚民2
LJCHANGHUANGYAMIN
摘要:本文介绍嵌入式微处理器$3C2510的网络接口。并使用RTL8201芯片为之设计了硬件接口电路;设计实现了基于Nu-
cleus操作系统的驱动程序。完成以太网控制器的初始化设置、收/发中断例程和利用缓冲链表数据结构向TCP/IP
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
层交
换数据。运行实测表明接口工作性能稳定可靠,满足网络流媒体数据处理的要求。
关键i司:$3C2510;Nucleus操作系统;网络接口;驱动程序
中图分类号:TP393 文献标识码:B
Abstract:Thispaperintroducesthenetworkinterfaceof$3C2510embeddedmicroprocessor,andthehardwarecircuitwithRTL8201;
thedriverprogrambasedOilNucleusoperatingsystemisalsodesigned,whichincludesEthemetcontrollerinitializing,reeeiving/trans-
mitringinterruptserviceroutines,anddatatransferringtoTCP/IPlayerwithbufferchains.Actualrunningtestindicatesthedesignis
stableandreliable,andmeetstherequirementofnetworkstreamingmediadataprocessing.
Keywords:S3C2510,NucleusOS,networkinterface,driver
1引言
$3C2510是三星公司推出的一款面向网络通信的高性能
嵌人式处理器,内置ARM940T核和指令擞据Cache,集成了
Ethemet、PCI、UART、12C、USB、DMA等丰富的接口资源,系统
时钟可达133MHz,非常适合网络流媒体数据处理。在某型号嵌
入式网络视频服务器研发中。采用$3C2510和Philips公司的
多媒体DSP处理器TMl300组成主从式架构.TMl300主要负
责视音频数据的采集和压缩编码,并通过PCI总线与$3C2510
交换数据和控制命令:$3C2510作为主控制器,运行Nucleus实
时操作系统,负责整个系统设备功能的初始化设置和管理,并
通过服务器任务.将压缩编码后的视音频数据以IP包的形式
发送到网络上。由远程客户端Pc接收和解压播放,实现视音频
的远程实时监控。根据以上
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,需要为$3C2510设计以太网
接口和实现在Nucleus操作系统上的设备驱动。
2 S3C2510以太网控制器
$3C2510有2个以太网控制器,具有以下主要特点:
·与IEEES02.3完全兼容的10M/100Mbps的以太网接人,
支持MII接口和传统7线SNI接口:
宰带有缓冲的突发模式DMA引擎.收/发缓冲各256字节;
+MAC收/发FIFo。其中发送80字节。接收16字节;
oCAM寄存器可存储多达21个MAC地址;’
搴STA功能支持对多个PHY芯片的访问和控制;
·数据对齐逻辑;
·流量控制功能。
’
和其他一些嵌入式微处理器不同的是。$3C2510的以太网
控制器自带DMA引擎。并且具有收,发各256字节的缓冲,和
MAC收,发FIF0一起.组成了二级缓冲结构,能有效缓和CPU
李昌:硕士工程师
的迟滞。FIFO的8位宽度数据经过BDMA缓冲拼成32位宽
度.再进入系统AMBA总线,达到很高的数据吞吐能力。BDMA
通过BD(缓冲描述符)指向内存的数据帧缓冲区,当BDMA读,
写数据帧缓冲时,BD的ownership位=1,结束后清掉该位,同时
产生巾断,将帧缓冲转给CPU处理。在中断设计上,收,发中断
各自独立作为系统内部中断源,可充分发挥多任务操作系统的
优势.提高中断处理效率。
3硬件接口设计
$3C2510内部实际上已包含了以太网MAC控制,但并未
提供物理层接口,因此,需外接一片物理层芯片以提供以太网
的接入通道。本系统使用RTL8201作为以太网的物理层接口芯
片。它的主要功能包括物理编码子层、物理媒体附件、双绞线物
理媒体子层、IOBASE-TX编码/编解码器和双绞线媒体访问单
元等;同时,带有MII接口,可以简单方便地与$3C2510连接。
物理信号的发送和接收端通过网络隔离变压器16ST8515连接
到脚45上。$3C2510和RTL8201接口示意图见图l。
图1$3C2510以太网接口电路
[1控lq邮局订阅号:82-946360元,年一177—
万方数据
ARM开发与应用 中文核心期刊‘微计算机信息>(嵌入式与SOC)2008年第24卷第3—2期
$3C2510以太网控制器的STA功能可以呵通过MDC/⑧设置BDMARXCON的RxBD个数和允许接收、MACRX—
MDIO管理接El访问和控制31个RTL8201。当系统复位时,CON的允许接收,打开BMRXINTEN的帧接收结束巾断;-
RTL8201会锁存PHY地址引脚PAD0—3的初始状态作为与⑨重新打开INTMSK中的以太网收/发中断,准备响应中断
$3C2510管理接口通信的PHY地址.但该地址不能设为
00000B,否则RTL8201进入掉电模式。由于RTL8201的PHY
地址引脚也复用为LED引脚,因此不能直接接到电源或地,应
通过5.1K的电阻上拉或下拉,决定RrlL8201的PHY地址。在
图1所示的连接方法中,RTL8201的PHY地址设为00001B。
在正常工作时,LED显示RTL8201的工作状态.当不需要LED
状态显示时,LED和150欧的电阻可去掉。
4驱动程序设计
系统选用的运行环境是NucleusPLUS,是MentorGraphics
公司的嵌入式多任务实时操作系统,源代码开放,具有良好的
可移植性和易用性。能支持当前流行的大多数处理器。它提供
NET网络组件,支持TCP/IP、UDP、DHCP等协议。为此,在Nu-
cleus上设计了网络驱动程序。总体结构按功能分为设备初始化
和收发中断处理两大部分:
4.1设备初始化
通过系统创建一个网络初始化任务NeLInit_Task来实现.
主要完成NucleusNet协议栈和相关数据结构的初始化,向操
作系统注册用于处理收,发的低级中断例程.初始化以太网控制
器的硬件寄存器设置。主要代码如下:
VOIDNet_Init_Task(UNSIGNEDargc,void+argv)
{NU_IniLNet(&NETMemory_P001);,奉初始化协议栈+,
Ether_Devices【0】.dv_init=Ether_Init;/*向Net设备数据结
构注册设备初始化函数吖
NURegister_LISR(Tx_Vector,Tx—USR’&old_veet_routine
)少注册发送低级中断例程,’Ik.vector为发送中断号+,
NURegisteLLISR(RxVector,Rx_LISR,&old_vecLroutine
);严注册接收低级中断例程。Rx_Vector为接收中断号宰,
NU—Create_HISR(&Rx_HISR_Control,”Ether_Rx_HISR”,
Rx_HISR,1,pointer,2048);产注册接收高级中断,用于设置事
件‘/
NUInit_Devices(Ether_Devices,1);,幸初始化设备,里面会
调用Ether_Init+,
l
Ether__Init(DV_DEVICE_E/盯RY*device)负责对以太网控制
器初始化,具体步骤如下:
①关闭INTMSK中的以太网收/发中断,并操作BDMARX—
CON、BDMATXCON、MACCON进行软件复位:
②设置STADATA、STACON寄存器对PHY芯片的功能进
行管理(如果系统只有1个PHY芯片则可省略);
③设置CAMCON寄存器允许地址比对和接收广播帧;将
本机MAC地址写入CAM寄存器并使能CAMEN对应位;
④设置BDMARXLEN寄存器的BRxBS03D指向的缓冲块
大小)和BRxMFS(数据帧最大长度);
⑤设置MACCON寄存器的Full_Duplex位=l:
⑥设置BDMARXDPTR和BDMATXDPTR分另4指向收,发
BD起始地址,并初始化BD,指向内存的数据缓冲区;
⑦设置BDMATXCON的TxBD个数和发送域值、MACⅨ一
CON的填充和校验,打开BMTXINTEN的帧发送结束中断;
请求。 ’’i
,
。
一+
4.2收,发中断处理
因为$3C2510的以太网收/发中断是2个独立的内部中断
源,所以,采用2个低级巾断例程分别处理。在Tx_LISR中,检
查并清除BMTXSTAT寄存器状态(包括中断标志),检查当前
TxBD状态,如果上一帧发送是正常结束,且ownership位---0,则
重新为BD赋值,指向待发送帧缓冲,然后ownership位=1,将帧
缓冲的控制权交给BDMA控制器,使能发送,以太网控制器自
动为发送数据加上同步位、分割位、校验位以及填充字段并将
以太帧发送出去。在Rx-LISR中,检查并清除BMRXSTAT寄存
器状态。检查当前RxBD状态,如果是正常接收。从帧缓冲取出
数据,然后重新将帧缓冲控制权交给BDMA控制器,使能接收;
为简化操作,帧缓冲大小设为1552字节,并且在MACRXCON
中禁止接收超长帧(>1518字节),避免出现1帧分装在多个缓冲
的情况。 一
驱动程序利用Nucleus的内存管理特性。建立一个空闲缓
冲链表(MEM—Buffer_Freelis0,当准备从网络接收数据时,向空
闲缓冲链申请一个接收缓冲块,如果申请成功,将缓冲块加入
接收数据链表(MEMBuffer_Lis0中,并且据此设置RxBD,启动
BDMA将网络数据填入缓冲块中,之后在Rx.LISR中激活一个
高级中断例程(Rx_HISR)来设置一个Buffers_Available事件,通
知上层TCP/IP协议栈处理接收到的数据包:往外发送数据时。
先释放掉发送缓冲队列(device一>dev_transq)中已经发送过数据
缓冲,如果队列中还有数据等待发送,则设置TxBD,启动BD—
MA将数据发送出去。
整个网络驱动程序的模块结构如图2所示。
5结语
图2网络驱动程序的模块结构
$3C2510内部集成ARM940T核和2个以太网控制器,具
有非常强的网络数据处理能力。在实际测试运行中,对1路视
频和音频信号分别按H.264和G.729标准进行压缩编码,输出
CIF格式图像、码率在500Kbps时,可以支持多达64个网络客
户端连接.网络流量近40Mbps,视音频回放清晰、流畅、稳定。
这说明本设计是成功可靠的,能满足网络视频服务器传输流媒
体数据的需要。 (下转第185页)
一178—360元/年邮局订阅号:82-946
万方数据
愿西范西蓟丽丽丽五翮 ARM开发与应用
L-- A
是在跳线模式下丁.作。对该芯片的驱动主要包括以下几个步骤: 参考文献
复位、初始化、收发数据。R砌019的复位引脚RSTDRV是高电【l】王文杰,栾新.基于嵌入式调试器的网络通信方法设计与实
平有效.有效的保持时问宜大于800ns.且在由高到低切换后的现fJl.微计算机信息,2007,23(1—2):31—33.
100ms后才对芯片操作。在对芯片初始化之前需要预先分配好【2]SamsungElectronics.$3C2510Datasheet.2002
片内RAM巾的空间即接收和发送缓存的大小,在把所有的设置【3]MentorGraphicsCorporation.NucleusPLUSReferenceManual.
参数在初始化的时候一起写入RTL8019的寄存器完成初始化。2005
5结语
项目开发调试的过程中有许多软件和硬件方面的困雉,但
是问题最后都是在不断地鳃决,如系统的了串口,LCD,AD采
样,Hash操作的调试等丁作以及控制器所要具备的人机交互功
能的程序设计且需调试通过。把以太网模块加到T程中后,其
物理层芯片的驱动程序需进一步调试.把TCP/IP协议加入模
块.参照成功的案例,完成系统的调试任务。同时.本文具有以
下创新点:
(1)开发应用32位微处理ARMS3C4480x作为控制器的内
核.使控制器比用单片机作内核的处理器具有更全面的功能和
更好的使用性能。(2)在菜单的设计中,用一个结构体把一个菜
单的属性完整地封装好,其属性包括菜单名称、坐标、参数标
志、参数。(3)解决了该网卡芯片使RTL8019AS正常工作的问题,
在对芯片初始化之前需要预先分配好片内RAM中的空间即接
收和发送缓存的大小.在把所有的设置参数在初始化的时候一
起写入RTL8019的寄存器完成初始化。
参考文献
⋯田泽.嵌入式系统开发与应用实验教程【M】.北京:北京航空航
天大学出版社.2005.
f21贾志平,张瑞华.嵌入式原理与接口技术『M】.北京:清华大学出
版社.2005.
f3】王田苗.嵌入式系统设计与实例开发[M】.清华大学出版社,
2003.
【4】崔登志,戴学丰,刘树东,等.用ARM控制CAMD无线Modem
发送短信息【J】微计算机信息,2006,11-2:136—138.
【5】徐伟,谭树人,黄浩亮.基于ATglRM9200的图象采集系统设计
【J】微计算机信息,2006,11-2:120—122.
作者简介:黄勇亮(1964.10一)。广东省揭阳市人,广东交通职业技
术学院高级实验师,研究方向为航海技术与轮机工程。
Biography:HuangYongliang(1964一),Chinese,HeWagbornJie
YangCity,GuangDongProvinceandWorkingGuangdongCom—
muincationPoiytechnic,associateprofessor,andheworkinan-
tomobileandmechanicalengineering.researchareaarenaviga-
tiontechnologyandshipengineengineering.
(510800广东省广州市广东交通职业技术学院)黄勇亮
(GuangDongCommunicationPolytechnic,Guangdong
Guangzhou510800)HuangYongLiang
通讯地址:(510800广东省广州市花都区工业大道11号交通
学院港口与航运工程学院)黄勇亮
(收稿日期:2008.01.05)(修稿日期:2008.02.20)
(上接第178页)
本文作者创新点:为以$3C2510为核心的网络视频服务器设
计了以太网硬件接口。并设计实现了Nucleus操作系统上的
驱动程序。完成对以太网接口初始化和数据收发的中断处
理,通过建立缓冲链表数据结构。实现了协议层和硬件层的
数据传递。
[4]MentorGraphicsCorporation.NucleusNETReferenceManual.
嬲
作者简介:李吕(1972一)。男,东北大学T业自动化硕士。1:程
师,现T作于广东科学技术职业学院机电+r程系,主要从事T
业控制和嵌入式系统研究与开发。
Biography:LiChang(1972一),Male(Chinese),receivedhis
MEng.inindustrialautomationfromNortheasternUniversity.
HeisnowanengineerinDept.ofMechanicalandElectronic
Engineering,GuangdongInstituteofScienceandTechnology.
Hisresearchareaincludesindustrialautomationandembedded
system·
(519090广东珠海广东科学技术职业学院)李昌
(510663广东广州广州金鹏集团有限公司)黄亚民
通讯地址:(519090广东珠海珠海市金湾区广东科学技术职业
学院机电工程系办公室)李昌
(1J殳稿日期:2008.01.05)(修稿日期:2008.02.20)
(上接第187页)
本文创新点:本文采用现今比较新的一种无线通信技术ZigBee
技术。并结合在高性能和低功耗特性方面提供了最佳性能的
ARM9系列微处理器,组成了无线串口集线器。介绍了集线器
的硬件和软件的设计.并给出它在现实中的实际应用。
参考文献:
【1]ZigBeeAlliance.CatchthebuzzonZigBee[DB/OEl.http://www.
ZigBee.Org/en/resourees,2007-02-11.
【2】丁飞等.ZigBee技术的硬件实现模式分析[J】.单片机与嵌入式
系统应用。2006,9:51-57.
【3]KevinDankwardt.Real-TimeandLinux【J】.EmbeddedLinux
Journal,2002,issue7:29-32.
[41Bate.real-timeembeddedsystem[J].Computing&ControlEngi-
neeringJournal,2002,13f4):154-156.
【5】许先斌等.基于ARM9的嵌入式Linux开发流程的研究叨微
计算机信息。2006,22(4):87—89.
作者简介:孙芳(1979一),女,汉,河南新乡人,空军雷达学院研究
生管理大队在渎硕L生。计算机应用专业。研究方向:多媒体与
虚拟现实技术;李强(1969-),男,汉,湖南郴州人,教授,博士。主
要研究方向:分布式操作系统、多媒体应用技术;石晓字(1983一),
女,湖北宜昌人,硕士研究生,研究方向:军事网络工程;李加庆
(1983一),男,湖北黄石人,硕士研究生,研究方向:军事网络工程。
Biography:SunFang(1979一),female,Han,XinXiangHeNan,
GraduatestudentinDepartmentofGraduateManagementofAir
ForceRadarAcademy,major:computerapplication,research:
multimediaandvirtualrealitytechnology.
(430019湖北武汉空军雷达学院研究生管理大队)孙芳石晓字
李加庆
(430019湖北武汉空军雷达学院信息与指挥自动化系)李强
通讯地址:(430019湖北省武汉市空军雷达学院研究生管理
大队23队)孙芳
(II殳稿日期:2008.01.05)(修稿日期:2008.02.20)
mltt控Wl邮局订阅号:82-946360元,年一185—
万方数据
基于S3C2510和Nucleus的网络接口与驱动设计
作者: 李昌, 黄亚民, LI CHANG, HUANG YAMIN
作者单位: 李昌,LI CHANG(广东科学技术职业学院,广东珠海,519090), 黄亚民,HUANG YAMIN(广州金
鹏集团有限公司,广东广州,510663)
刊名: 微计算机信息
英文刊名: CONTROL & AUTOMATION
年,卷(期): 2008,24(8)
参考文献(4条)
1.王文杰;栾新 基于嵌入式调试器的网络通信方法设计与实现[期刊论文]-微计算机信息 2007(1-2)
2.Mentor Graphics Corporation Nucleus NET Reference Manual 2006
3.Mentor Graphics Corporation Nucleus PLUS Reference Manual 2005
4.Samsung Electronics S3C2510 Datasheet 2002
本文链接:http://d.g.wanfangdata.com.cn/Periodical_wjsjxx200808071.aspx