积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 首页 >> 行业应用 >> 无线通信 >> 应用笔记
  相关分类:
基于MPC8260和VxWorks实现快速以太网通信
 
作者:总参第63研究所 顾永红 杨巧丽   来源:《电子工程师》    点击数:170   更新时间:2008-4-24
您可以添加到网摘 让更多人关注此文章:

     引言

       摩托罗拉MPC8260微处理器芯片因其强大的通信处理能力和多种协议的支持而被广泛应用于通信和网络领域。本文以MPC8260为例,探讨在嵌入式系统中实现基于VxWorks操作系统的快速以太网通信的方法。

       1 快速以太网通信接口的硬件实现

        MPC8260 的3个FCC(快速通信控制器)均可通过MII(媒体独立接口)支持快速以太网,实现以太网中的MAC(媒体访问控制)层功能。在设计中选用FCCl接口作为以太网接口。以太网PHY(物理层)收发器选用Intel公司的LXT971A,变压器选用中山汉仁公司的HR601680,采用RJ45标准物理接口。以太网口硬件设计如图l所示。

       LXT971 A支持10BASE-TX、100BASE-TX/FX等物理连接方式,拥有半双工、全双工、自适应等多种工作模式,拥有内嵌的LED(发光二极管)驱动显示网口的工作状态,采用通用的3.3 V供电。在本设计中,IXT971A通过MII与MPC8260的FCC1连接,MPC8260通过LXT971A的串行控制管理(MDIO(管理数据输入输出)和MDC(管理数据时钟))接口对IXT971A内部寄存器进行配置,实现工作模式的选择。但由于LXT971A是完全自适应的,因此,在实际的工作中不需要对LXT971A进行任何配置。需要注意的是,MPC8260的引脚存在复用的问题,因此,软件必须将所涉及的引脚设为对应的FCCl通信口的功能。

       2 快速以太网驱动的设计与实现

       2.1 VxWorks网络系统结构

       VxWorks 支持两种形式的网络驱动:一种是BSD(Berkeley Software Distribution)驱动;另一种是END(增强型网络驱动)是VxWorks所独有的,其主要特点是增加了一个MUX模块来管理END设备。目前比较通用的是采用END网络驱动程序。在本系统的网络驱动中选用END驱动作为以太网驱动方式,其网络系统结构如图2所示。

       收发数据时,网络协议层通过套接字(Socket)获取应用层提供的数据信息,经由MUX(多路选择)层选择END设备。Mux层将网络协议与网络设备的驱动区隔开来,使得网络协议不依赖于具体的硬件接口,而与硬件有关的代码都封装在BSP中,底层由END提供驱动。因此,在基于VxWorks的以太网通信实现的设计中,主要的工作是进行底层网络设备(硬件)设计和END驱动程序的开发。

       2.2 END驱动的实现

      以太网在VxWorks下作为END设备,由通信处理器模块通过FCC接口进行管理。END驱动的工作过程一般分为3个步骤完成,即初始化END设备、装载 END设备以及启动END设备。风河公司提供了基于大多数嵌入式微处理器的评估板的BSP参考源程序,根据实际方案修改其中与网络通信相关的部分程序,即可实现END驱动在实际设计中的应用。

        2.2.1 END设备的初始化步骤

       为了便于理解网络设备程序的装载过程,首先分析图3所示的在VxWorks映像启动时的网络初始化顺序。

       系统启动后,VxWorks首先执行usrRoot()函数,安装库程序和创建设备。接着usrRoot()调用usr-NetInit()函数完成网络的初始化,包括通过muxDev-Load()调用SysMotFccEndLoad()装载设备表end-DevTbl[]中描述的设备以及调用 ipAttach()完成网络协议的安装等。通过这些过程完成网络装载并使其处于准备接收或发送数据状态。设备装载完成后,muxDevLoad()调用 muxDevStart()启动函数,该函数通过intConnect()和intEnable()实现中断服务的注册并打开中断宏。当有数据交换时,打开中断服务程序,调用排列网络任务处理函数netJobAdd(),指派网络系统任务tNetTask,由tNetTask处理数据接收和发送任务。

        2.2.2相关BSP的配置

        在VxWorks中,网络设备驱动程序装载时,首先要通过对所处BSP中文件进行相应的配置才能实现。

        1)接口引脚的定义和使能

        以太网是由MPC8260的以太网控制器通过连接一个外部PHY芯片实现的,通过对MPC8260的可编程并行口进行寄存器设置,定义这些引脚为以太网接口信号。这部分功能在sysLib.c中实现。

        另外,需要同时配置读写以太网PHY芯片内部寄存器的信号,这可以通过修改sysFccEnetAddrGet、sysF-ccMiiWr、 sysFccMiiRd等子过程来实现,详细的配置数据可以参照MPC8260并行口寄存器的配置表,这里不一一赘述。

         2)以太网物理端口的定义

        针对以太网接口,定义使用的FCC号、TBD和RBD数目、PHY物理地址和使用的通信速率操作模式以及用户标识等。这部分功能在sysMotFccEnd.c中实现。

       3)添加驱动的调用人口

        在configNet.h中定义END设备驱动程序入口表END_TBL_ENTRY结构的数组endDevTbl[],将驱动装载函数SysMotFccEndLoad的人口点及相关参数添加到endDevTbl[]。

       3 结束语

        本文介绍了在MPC8260为核心的嵌入式系统中,基于VxWorks操作系统的快速以太网通信的硬件设计方法和驱动开发过程,该设计已在实际工作中顺利实现。



相关文章
· VxWorks下MPC860的中断处理机制及其应用[14]
· VxWorks下实时多任务程序的实现[24]
· 基于TMS320F2812的快速以太网通信系统平台[21]
· VxWorks下的USB驱动程序原理与分析[120]
· 利用VxWorks作Internet电话网关设计[94]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
亚洲行业盛事频繁IR节能创新再成瞩目
IPTV未获得奥运金牌
英特尔将于本月中期推出首款六核处理器
英飞凌在功率电子市场表现抢眼,以高于
LED奥运会大放光芒 功率
三星同意将Symbian股份出售给诺
英特尔收购Opened H
广东省省长黄华华视察研祥集团
EDI/WEDC/WHITE怀特存储
WHITE/WEDC/EDI代理商-
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
verilog设计的一点经验...
Altera FPGA、CPL...
如何开始DSP的开发...
[转帖]如果让我重做一次研究生...
[分享]逆变器常见故障排除4例...
[分享]高级设计中的高密度AC...
[分享]本科毕业后如何是好:读...
做跨国公司中的“小巨人”——A...
转速测量有些什么好方法...
如何让你的手机电池更强更耐用?...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网