当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]嵌入式以太网控制器设计

 引言

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

  基于以太网技术的网络化控制系统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 操作系统。[!--empirenews.page--]

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

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

  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 结语

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

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

2023年6月29日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起备货安森美 (onsemi) NCN26010工业以太网控制器。这款...

关键字: 以太网控制器 传感器 电缆

许多有经验的设计人员都知道,通过简单地将补偿引脚连接在一起,使用峰值电流模式控制器通常更容易实现均流。我们可以通过这种方式获得合理的精度,因为电流模式控制器上的补偿电压与峰值电感电流成正比,后者与输出电流有关。将补偿引脚...

关键字: 电压 同步降压稳压器 控制器设计 DC

  DesignWare IP专为应对现代数据中心SoC吞吐量和服务质量需求而实现优化   美国加利福尼亚州山景城,2013年10月 – 为加速芯片和电子系统创新而提供软件、

关键字: 40g synopsys 以太网控制器

MicroBlaze是一款基于构造的的嵌入式微处理器,它的显著优势在于能满足复杂应用的需求,在除了运行简单的通用应用以外,还能运行操作系统。 设计人员能够在当前所有的赛灵思架构中实施Mi

关键字: 微控制器 MICROBLAZE 控制器设计 FPGA设计

(文章来源:显示网) 新型的“纳米芽”(NanoBud)碳材料结合了富勒烯(fullerene)与纳米管(CNT)的最佳特质,形成一种布满芽状键合的1nm直径碳纳米管。这种性能更优越的碳

关键字: 薄膜 感测器 NI 控制器设计

风力发电作为一种绿色能源,因其无污染、可再生、方便而受到人们的重视且得到了迅猛的发展。风力发电机作为风力放电场的关键设备,受恶劣的工作环境、复杂的受力情况等的影响,其故障诊断也越来越重要。

关键字: 风力发电机 以太网控制器 检测分析 DSP芯片

随着信息时代的到来,特别是互联网的迅速普及,人们开始越来越多地接触到一个新概念——嵌入式产品。将嵌入式系统接入Internet,不仅实现了设备的远程控制、维护和升级,而且可实现资源共享。

关键字: 以太网络 单片机 控制芯片 RTL8019AS

运动控制技术是制造自动化的关键基础,其水平高低是衡量一个国家工业现代化的重要标志,研究和开发具有开放式结构的运动控制器是当前运动控制领域的一个重要发展方向。随着集成电路技术、微电子技术.

关键字: DSP FPGA 以太网控制器 嵌入式处理器 运动控制器

针对一种复杂的、较难建立精确模型的空间桁架,研究了其建模、主动杆位置优化及振动控制的问题。文中首先建立了空间桁架的机理模型。然后设计了压电主动杆,选取一种不依赖于控制律的基于能量的优化准则,并基于所建立的模型对其在空间桁...

关键字: 自抗扰控制器 压电 控制器设计 节点

摘要:随着计算机技术、微处理器技术以及通讯技术的不断发展,传统仪表已经不能适应工控的要求。而CAN总线控制器的出现为工业控制系统向分散化、网络化发展等开辟了新的空间

关键字: 智能控制器 CAN总线 控制器设计 CAN控制器
关闭
关闭