嵌入式以太网控制器设计

发布者:psi33最新更新时间:2013-10-26 来源: eefocus关键字:以太网控制器  uClinux  网络化控制系统 手机看文章 扫描二维码
随时随地手机看文章
  引言

  目前,随着计算机技术、通信技术得飞速发展,使得使得我们通过计算机进行网络互连的同时,许多领域的嵌入式设备如工业控制、数据采集、数控机床和智能仪表等也有接入网络的需求。伴随着信息家电出现,嵌入式设备的网络化必将拥有更广阔的发展前途。在这个过程里,首先要解决的问题使嵌入式设备如何实现网络互连。

  基于以太网技术的网络化控制系统NCS(NetworkedControl System)是继现场总线控制了当前通信技术中的以太网及网络技术,很好地统一了底层的控制网络协议,建立了良好的兼容接口,因此成为了当前及后工业控制领域应用和研究的热点。随着以高性能嵌入式微处理器和嵌入式操作系统为核心的嵌入式技术的发展与推广使用,网络节点在性能、成本、功耗和体积等方面都达到了令人满意的效果,并对NCS 结构和应用产生了很大的影响。

  本文主要基于S3C44B0X+uClinux 系统平台开发出嵌入式以太网控制器,该方案和其它设计比较具有高性能、低功耗、软硬件易扩展特点,是当前及今后工业以太网控制器的理想选择方案。

  1 嵌入式以太网控制器硬件设计

  本文主要基于S3C44B0X+RTL8019AS 系统硬件平台开发出嵌入式以太网控制器硬件平台。

图1 为嵌入式以太网控制器硬件设计原理图。嵌入式以太网控制器的硬件设计主要有S3C44B0X 微处理器、以太网模块、存储器模块、串口驱动模块、电源模块、复位和时钟和JTAG 接口7 部分。

 

  1.1 S3C44B0X 处理器

  S3C44B0X 处理器采用160 引脚的LQFP 封装;为了降低成本,S3C44B0X 提供了丰富的内置部件,包括:8 KB cache,内部SRAM,LCD 控制器,带自动握手的2 通道UART,4 通道DMA,外部存储器控制器(片选逻辑,FP/EDO/SDRAM 控制器),带有PWM 功能的5 通道定时器,通用I/O 端口,实时时钟RTC,8 通道10 位ADC,I2C 总线接口,I2S 总线接口,同步SIO 接口和PLL 倍频器。本嵌入式以太网控制器设计选用它,能够很好地满足小型化、低功耗和低成本的要求。

  1.2 以太网模块

  RTL8019AS 是高度集成以太网控制器,它能够简单的解答即插即用NE2000 兼容适配器,这种适配器具有二重和功率下降特性。

  RTL8019AS 以太网控制器共有32 个输入地址,对应地址偏移量为00h~1Fh,现分别说明如下:

  (1)00 h~0 Fh 的16 个地址,为寄存器地址。

  (2)10 h~17 h 的8 个地址,为数据读写端口地址。

  (3)18 h~1 Fh 的8 个地址,为复位端口。

  2 嵌入式以太网控制器软件设计

  系统软件平台设计主要使用C语言和ARM汇编语言。系统软件平台设计主要包括3个方面:启动引导程序Bootloader;建立μCLinux操作系统的开发环境;以太网模块驱动程序的实现。

  2.1 启动引导程序Bootloader

  引导程序Bootloader是在操作系统运行之前执行的一段程序。它主要实现的功能包括:初始化CPU 运行的时钟频率;初始化Flash 和内存的数据宽度,读写访问周期和刷新周期;初始化中断系统;初始化系统中各种片内、片外设备和I/O 端口;初始化系统各种运行模式下的寄存器和堆栈;加载和引导μCLinux 操作系统。

  2.2 建立μCLinux 操作系统的开发环境

  μCLinux 操作系统沿袭了传统Linux 操作系统的主要特性,包括稳定、强大的网络和文件系统支持。建立μCLinux操作系统的开发环境主要包括3 个步骤:建立μCLinux 操作系统的交叉编译环境、μCLinux 操作系统的编译和μCLinux 操作系统的加载。[page]

  2.3 RTL8019AS 驱动程序

  设备驱动程序是操作系统内核和硬件之间的接口,它作为应用设备之间的软件层, 为应用程序屏蔽了硬件的细节。

  以太网模块驱动程序属于网络驱动程序。嵌入式μCLinux网络驱动程序的体系结构可以划分为4层,即网络协议接口层、网络设备接口层、设备驱动功能层和网络媒介层。在设计网络驱动程序时,最主要的工作就是完成设备驱动功能层,使其满足嵌入式设备的目标功能。完成设备驱动功能层主要有2 个步骤,RTL8019AS 的初始化和网络数据包的发送和接收。

   2.3.1 RTL8019AS 的初始化

  为能够准确无误地接收和发送数据包,必须先对RTL8019AS进行初始化操作,其中包括数据配置寄存器OCR、发送配置寄存器PCR、接收配置寄存器RCR的、物理地址、数据包接收缓冲区和发送缓冲区的设置:当前页面寄存器CURR的设置。RTL8019AS的初始化由函数void InitRTL8019AS()来完成,此函数的设计流程如图2所示。

 

  2.3.2 RTL8019AS数据包的发送与接收

  RTL8019AS以太网控制器发送数据包分两步走,首先将数据从系统内存通过远程DMA传到RTL8019AS以太网控制器的发送缓冲区,然后本地DMA将数据传到FIFO并发送出去。

  RTL8019AS以太网控制器接收数据包时,RTL8019AS以太网控制器将网络上的数据包接收,通过其本地DMA通道将接收到的数据包缓存于接收缓冲区中,再通过远程DMA通道由主处理器将接收缓冲区的数据包经数据总线读入内存单元以被程序使用。

  2.3.3 编译和测试RTL8019AS驱动程序

  RTL8019AS驱动程序采用模块加载方式。模块加载方式具体步骤如下:

  (1)通过module_init宏修饰的函数会在模块加载时被调用。

  (2)网络设备被检测到以后,通过调用register_netdev()函数在μCLinux系统中把该RTL8019AS网络设备添加到系统的网络设备链表的末尾。

  (3)如果注册成功,则网络设备结构体中init成员函数被调用,对设备进行初始化。

  最后我们得到zImage 内核压缩文件。用引导程序Bootloader通过串口将zImage文件引导到S3C44B0X处理器上片外SDRAM上进行调试。

  3 结语

  嵌入式系统具有低功耗、可靠性高等突出优点。采用嵌入式系统来设计和实现带有以太网的工业控制系统,使得工业控制系统可靠性高、性能强、实时性好,将以太网接口集成与工业控制系统中,使得对工业控制系统的远程控制和监视变得简单易行。因此,研制一个带以太网接口的嵌入式工业控制系统具有重要的科学意义和价值。

关键字:以太网控制器  uClinux  网络化控制系统 引用地址:嵌入式以太网控制器设计

上一篇:记录仪实时多任务调度策略的研究
下一篇:一种嵌入式系统升级的设计和实现

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

基于S3C44B0X和uClinux的Socket通信实现
嵌入式系统是指将应用程序、操作系统与计算机硬件集成在一起的系统。它以应用为中心、以计算机技术为基础,而且软硬件可以裁剪,因而是能满足应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统。 本文给出一种适合于中/低端应用的通信平台设计方案,它可支持Ethernet网络之间的数据传输,并且具有RS232、RS485、 USB等接口。 文中围绕嵌入式uClinux环境设计了基于嵌入式通信微处理器S3C44B0X的硬件通信平台,从而实现了嵌入式Socket通信。 1 嵌入式网络通信系统结构 作为一类特殊的计算机系统, 嵌入式系统通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。嵌入式
[单片机]
基于S3C44B0X和<font color='red'>uClinux</font>的Socket通信实现
新型以太网控制器ENC28J60及其接口技术
引言 ENC28J60是Microchip Technology(美国微芯科技公司)近期推出的28引脚独立以太网控制器。 在此之前,嵌入式系统开发可选的独立以太网控制器都是为个人计算机系统设计的,如RTL8019、AX88796L、DM9008、 CS8900A、LAN91C111等。这些器件不仅结构复杂,体积庞大,且比较昂贵。目前市场上大部分以太网控制器的封装均超过80引脚,而符合 IEEE 802.3协议的ENC28J60只有28引脚,既能提供相应的功能,又可以大大简化相关设计,减小空间。             图1  ENC28J60的硬件连接 1 结构和功能 采用业界标准串行外设接口(SPI)的以太网控制器
[网络通信]
基于uClinux的GPSOne/GPS双定位信息接收
摘要 阐述uClinux串口编程的基本方法;简要介绍操作系统的几种I/O模型,特别对基于select的I/O复用模型在监听多个设备时的适用性进行较详细的分析;比较多个串口下使用轮询方法和使用select机制处理的差别;结合GPSOne与GPS双定位导航系统的实例,给出双串口定位信息接收的软件实现方法。 关键词 GPSGPSOneselectI/O复用串口   GPS是当前在导航系统中应用最广泛的定位技术之一,但GPS也有其自身的不足。例如,当GPS终端在建筑密集的地方或在高架桥底下等恶劣的地理位置时,定位信号比较容易丢失,往往难以获取有效的定位信息。由美国高通公司开发的GPSOne定位模块,提供的定位信号是基于网络与蜂窝的定位技术
[嵌入式]
嵌入式操作系统uCLinux
作者Email: cuiwj181@sohu.com 摘要: 本文将分析嵌入式操作系统uClinux的内核结构、、内存管理、多进程处理、针对实时性的解决方案和开发环境,先对uCLinux有一个深刻的认识,将有利于今后进一步研究开发。 关键词: uCLinux,内存管理,多进程处理,RTLinux,开发环境 1 引言 嵌入式操作系统是嵌入式系统的灵魂,而且在同一个硬件平台上可以嵌入不同的嵌入式操作系统。比如ARM7TDMI内核,可以嵌入Nucleus、VxWorks、uClinux等操作系统。在此主要对uClinux的进行介绍,嵌入式uClinux操作系统主要有三个基本部分组成:引导程序、uClinux内核(由内存管理、进程管理和中断
[嵌入式]
移植librt库到uclinux
最近一个ARM7+uClinux项目需用到定时器,但定时精度要求不是很高。所以想到了LibRT库。Librt库实现的POSIX 100b.3标准的定时器和消息队列接口,在Linux 2.6内核中已普遍支持,部分后期2.4内核版本也已补丁形式提供了librt库。 uClinux 2.4.x 并未提供现成的Librt库,虽然uClibc0.9.7提供了Librt库,但由于2.4内核的不支持,也无法直接使用。网上查阅了很多资料也没有找到针对uclinux的POSIX timer补丁。考虑到uClinux源于Linux,利用Linux 的posix timer patch给uclinux打上,使uclinux 2.4内核也支持posi
[单片机]
stm32f429的u-boot、uclinux内核烧写说明
最近比较忙,针对前面的留言说有怎么download u-boot、uclinux到stm32,我翻了翻以前记录下的笔记,特意贴上来,其实有些步骤我都已经忘记了。。。 一、搭建嵌入式linux开发环境 1. 准备一台Linux系统(Fedora,CentOS,Ubuntu等)的电脑,将BSP压缩包(linux-cortexm-2.0.0.tar.gz)拷贝到一个目录; 2. 解压BSP包: tar -xzvf linux-cortexm-2.0.0.tar.gz 3. 解压arm工具链: cd linux-cortexm-2.0.0/tools tar xvfj arm-2010q1-189-arm-uc
[单片机]
stm32f429的u-boot、<font color='red'>uclinux</font>内核烧写说明
利用ColdFire uClinux实现数据采集和传输
摘要:介绍了利用ColdFire uClinux实现数据采集和传输。这项技术被用在大型集装箱检测系统中,取得了很好的效果。 关键词:ColdFire uClinux 数据采集 在ColdFire上嵌入uClinux操作系统是一项比较成熟的技术,般应用在手持设备、家庭网关、工业控制中。但在数据采集应用中使用这项技术却不是很常见,原因是uClinux不是实时操作系统,而数据采集应用对数据采集的实时性要求很高。本文介绍如何利用在ColdFire上嵌入uClinux操作系统的方法来实现数据的采集和传输。 1 硬件平台 任何嵌入式应用系统都离不开具体的硬件平台,这里先介绍一下系统采用的硬件平台。图1所示即为硬件结构的示意图。其中,S
[嵌入式]
基于ARM的嵌入式设备中uCLinux系统开发
1 引言 信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。因为Linux源代码开放、免费,任何将其定制于PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以Linux在嵌入式开发领域得到稳步发展。uCLinux 即是目前嵌入式linux 中最流行的一种,它是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存管理单元模块),适合嵌入式系统小型化应用。   uCLinux支持多任务,支持多种文件系统,提供了对网络的强大支持,具有完整的TCP/IP协议栈,以及标准丰富的API。由于它的很多
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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