当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]LPC23xx的自适应以太网通信接口设计

以太网接口是嵌入式系统进行以太网通信的硬件基础。随着微电子技术的进步,许多嵌入式控制芯片集成了以太网控制器,这使得嵌入式系统中以太网接口的开发更为便利。LPC23xx是NXP半导体公司(由Philips公司创建)于2006年12月前后推出的基于ARM7TDMIS内核的微控制器,与LPC21xx和LPC22xx相比,最为突出的特点是片上集成了10 Mbps/100 Mbps以太网控制器。

1 LPC23xx以太网控制器的结构和配置

如图1所示,LPC23xx以太网接口主要部分的功能如下:

 

 

图1 LPC23xx以太网接口示意结构框图

① 控制寄存器,用于配置以太网控制器的工作方式、读取控制器的当前状态等;

② 总线接口,AHB总线与以太网控制器进行数据交换的接口;

③ 接收/发送DMA,实现接收/发送缓冲区到总线接口的批量数据传输;

④ 接收/发送缓冲区,与DMA协同工作,暂存接收/发送的数据;

⑤ 发送流量控制,在网络负载过大时插入以太网暂停帧以控制网络流量;

⑥ 接收过滤器,滤除以太网帧的控制部分,提取有效的数据;

⑦ MII(介质无关接口)/RMII(裁减的介质无关接口),与外部PHY设备按规定的时序进行实时数据通信的接口;

⑧ MMII(MII管理接口),配置PHY设备的工作方式,读取PHY设备的当前状态信息。

在使用LPC23xx的以太网控制器之前,用户须将正确的配置信息写入图1中的控制寄存器。其步骤如下:

① 清除LPC23xx以太网控制器的软件复位状态;

② 通过MMII对PHY设备进行正确的配置;

③ 选择与PHY设备的通信接口(RMII或MII),受芯片尺寸所限,NXP已推出的LPC 2364、LPC 2366、LPC2368和LPC2378只有RMII的引脚;

④ 配置DMA引擎和收发缓冲区的首地址及长度;

⑤ 配置以太网接口的MAC(介质存取控制)地址,选择以太网速率(10 Mbps或100 Mbps);

⑥ 使能接收/发送通道。

在以上6个步骤中,较为关键是对接收/发送缓冲区的配置(步骤④),以下为详细的配置过程。为不影响以太网接口数据传输的实时性,一般选取 LPC23xx以太网控制器专用的16 KB RAM作为收/发缓冲区的物理载体。按以太网帧的结构,可将收/发缓冲区分别划分为若干个相对独立的缓冲单元(也可以不划分),每个单元对应着一个或多个描述符和状态符。描述符用来设置对应部分的首地址和控制信息,状态符存储着对应单元最新的状态信息。这些描述符和状态符在逻辑上分别组成一个环形阵列:描述符环形阵列的首地址由RxDescriptor(接收描述符基址寄存器) /TxDescrip tor(发送描述符基址寄存器)指定,大小由RxDecriptorNumber(接收描述符寄存器数量) /TxDescriptorNumber(发送描述符寄存器数量)指定;状态符的阵列首地址由RxStatus(接收状态基址寄存器) / TxStatus(发送状态基址寄存器)指定,大小与描述符阵列相同。在描述符阵列和状态符阵列形成后,就可以通过RxProducerIndex(接收产生索引寄存器) /TxProducerIndex(发送产生索引寄存器)、RxConsumerIndex(接收消耗索引寄存器) /TxConsumerIndex(发送消耗索引寄存器)对描述状态符阵列进行操作而实现数据的收/发。

2 网络数据接收和发送的控制

NXP公司在LPC23xx的用户指南中对其以太网控制器中数据的接收和发送有较为详细的介绍;但没有涉及描述符和状态符的环形阵列的概念,接收和发送的控制过程较为机械,本文在实际工程应用的基础上对此做了改进。以发送为例,图2为一个连续发送过程,将发送缓冲区分为4个单元,0和4、1和5、2和6、3和7是与这4个单元对应的描述符。发送过程如下:

① 如果上次数据发送完毕,就得到图2(a)所示的状态,此时TxProducerIndex=TxConsumerIndex

② 将要发送的数据写入4个缓冲单元中,将TxProduceIndex更新为4TxProducerIndex,即为图2(b)所示的状态,此后数据开始发送;

③ 等待上次发送结束(用中断或查询均可以实现等待),得到图2(c)数据发送完毕的状态;

④ 若有后续的数据要发送,再将数据写入4个缓冲单元中,将TxProducerIndex更新为4TxProducerIndex,就得到图2(d)所示的状态,此后数据开始发送;

⑤ 重复以上过程,就得到了图2所示的连续发送过程。

 

 

图2 LPC23xx以太网控制器的连续发送过程

接收与发送过程类似。如果已经对LPC23xx控制器的接收通道进行了正确的配置,当4个缓冲单元(假定接收缓冲区也被划分为4个单元)满时,会产生中断。在中断服务程序中读取这4个缓冲单元,然后将RxConsumerIndex更新为4RxConsumerIndex,就完成了一次接收过程。需要指出的是,LPC23xx以太网控制器的接收和发送通道均需要先“产生”后“消耗”。对接收通道而言,以太网控制器是“产生者”,主机是“消耗者”;发送通道则恰好相反。

3 PHY设备的配置

LPC23xx控制器提供了RMII和MMII与PHY设备进行数据通信。其中RMII负责网络数据的收发,MMII负责PHY设备的配置和当前状态的读取。本设计选取国家半导体公司DP83848I芯片作为以太网接口的PHY设备,其应用电路如图3所示。DP83848I可由硬件来配置,也可由软件来配置。本设计选择由硬件来配置,而通过MMII来读取DP83848I最新的状态。

以太网接口的自适应能力由DP83848I的自动协商功能体现出来。自动协商功能提供了一种在网络连接的两端之间交换配置信息的机制,在该机制下,这两端将自动选择最优的配置。

DP83848I支持4种不同的以太网工作方式(10 Mbps半双工、10 Mbps全双工、100 Mbps半双工和100 Mbps全双工),自动协商功能在芯片配置的基础上自动选择性能最高的工作方式。DP83848I的AN_EN、AN1 和AN0 引脚的电平控制着自动协商功能。在RESET_N引脚输入低脉冲(复位信号)期间,会采样AN_EN、AN1 和AN0的电平来决定芯片的工作方式,当AN_EN、AN1 和AN0全为“1”的时候,即图3中接入R1、R2和R3,4种工作方式均在协商的范围之内。

LPC23xx对DP83848I的配置过程如下:

① 发送脉宽大于1 μs的复位信号,等待自动协商过程完成;

② 查询基本模式状态寄存器(BMSR)的第5位,当该位变高时,表明自动协商过程完成,结束等待;

③ 查询BMSR的15、14、13、12和11位,获取以太网接口的工作方式;

④ 配置LPC23xx以太网控制器的工作方式。

 

 

图3以太网接口的PHY设备的硬件电路

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

Micro热插拔技术作为现代电子设备中常见的一种接口设计,其便捷性和灵活性得到了广泛应用。然而,关于Micro热插拔是否需要断电的问题,一直存在争议。本文将详细探讨Micro热插拔的原理、优缺点,以及在不同情况下是否需要...

关键字: Micro热插拔技术 现代电子设备 接口设计

通信接口是指不同设备或系统之间进行通信时使用的物理连接和电气特性的规范。它定义了数据的传输方式、信号的传输速率、传输距离和电气标准等。通信接口允许设备之间交换信息和进行数据传输。

关键字: 通信接口 通信协议

常用的通信接口有以下几种:PCI接口,这种接口的显卡已经不多见了,只有较老的PC上才有,厂商也很少推出此类接口的产品。PCIE接口,这是最新的总线和接口标准,它原来的名称为“3GIO”,是由英特尔提出的。它代表着下一代I...

关键字: 通信接口 PCI接口

通信接口是指中央处理器和标准通信子系统之间的接口,是计算机与其他设备或计算机之间进行数据传输和通信的重要通道。通信接口是一种规范,用于定义通信设备之间的连接方式、电气特性、协议等细节。它决定了不同种类通信设备之间能否互连...

关键字: 通信接口 RS232接口

其一,是把系统所需的外设和单片机连接起来,使单片机系统能与外界进行信息交换。如通过键盘、A/D 转换器等外部设备向单片机送入数据、命令等有关信息,去控制单片机运行;通过显示器、发光二极管、打印机等设备把单片机处理的结果送...

关键字: 单片机 外部总线 接口设计

今天,小编将在这篇文章中为大家带来智能传感器的有关报道,通过阅读这篇文章,大家可以对智能传感器具备清晰的认识,主要内容如下。

关键字: 智能传感器 物联网 通信接口

智能传感器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 智能传感器 通信接口 传感器

摘 要 :视频监控系统是计算机应用中的重要领域之一。数字化摄像头网络化之后,监控系统正在不断引入新的功能,为使现有监控系统能更好地应对复杂环境,满足不同监控要求,就需要追加新功能,在系统架构与设计上进行调整。因此,如何将...

关键字: 智能监控 系统架构 模块化设计 接口设计 数据传输 深度相机

为增进大家对以太网的认识,本文将对以太网、以太网现状以及以太网通信的应用予以介绍。

关键字: 以太网 指数 以太网通信

通信接口(communication interface )是指中央处理器和标准通信子系统之间的接口。 如:RS232接口。RS232接口就是串口,电脑机箱后方的9芯插座,旁边一般有 "|O|O|" 样标识。

关键字: 通信接口 标准通信
关闭
关闭