基本信息
文件名称:NXP 系列:LPC15xx 系列 (基于 ARM Cortex-M3)_(20).LPC15xx系列以太网接口.docx
文件大小:28.09 KB
总页数:26 页
更新时间:2025-06-23
总字数:约1.93万字
文档摘要

PAGE1

PAGE1

LPC15xx系列以太网接口

1.以太网接口概述

LPC15xx系列微控制器集成了一个高性能的10/100Mbps以太网控制器,支持全双工和半双工模式。该以太网控制器通过MAC(MediaAccessControl)和PHY(PhysicalLayer)接口与外部以太网物理层设备进行通信。以太网接口的主要功能包括数据包的发送和接收、帧过滤、流量控制等。

1.1以太网控制器架构

LPC15xx系列的以太网控制器采用标准的EthernetMAC架构,符合IEEE802.3标准。该控制器包括以下几个主要部分:

MAC(媒体访问控制):负责处理以太网数据包的发送和接收,包括帧的生成和解析。

DMA(直接内存访问):用于高效地在内存和以太网控制器之间传输数据,减轻CPU的负担。

MDIO(管理数据输入输出):用于配置和读取外部PHY设备的状态。

MII(媒体独立接口):连接MAC和PHY设备,支持10/100Mbps的数据传输速率。

1.2以太网接口的主要功能

数据包发送和接收:以太网控制器可以通过DMA将数据包从内存发送到网络,或者从网络接收数据包并存储到内存中。

帧过滤:支持多种帧过滤机制,如单播、广播、多播地址过滤,以及帧类型的过滤。

流量控制:支持全双工和半双工模式下的流量控制,确保网络通信的稳定性和可靠性。

中断管理:提供多种中断类型,如包发送完成、包接收完成、错误检测等。

2.以太网接口初始化

2.1硬件初始化

在使用以太网接口之前,需要进行硬件初始化,包括配置GPIO引脚、初始化MAC和PHY设备等。

2.1.1配置GPIO引脚

LPC15xx系列微控制器的以太网接口使用特定的GPIO引脚。这些引脚包括MII接口引脚和MDIO接口引脚。以下是一个配置GPIO引脚的示例代码:

#includeLPC15xx.h

#includeethernet.h

voidconfigure_ethernet_gpio(void){

//配置MII接口引脚

LPC_GPIO_PORT-DIR[0]|=(10);//MDC引脚

LPC_GPIO_PORT-DIR[0]|=(11);//MDIO引脚

LPC_GPIO_PORT-DIR[0]|=(12);//TXCLK引脚

LPC_GPIO_PORT-DIR[0]|=(13);//TXD0引脚

LPC_GPIO_PORT-DIR[0]|=(14);//TXD1引脚

LPC_GPIO_PORT-DIR[0]|=(15);//TXEN引脚

LPC_GPIO_PORT-DIR[0]|=(16);//TXER引脚

LPC_GPIO_PORT-DIR[0]|=(17);//RXCLK引脚

LPC_GPIO_PORT-DIR[0]|=(18);//RXD0引脚

LPC_GPIO_PORT-DIR[0]|=(19);//RXD1引脚

LPC_GPIO_PORT-DIR[0]|=(110);//RXDV引脚

LPC_GPIO_PORT-DIR[0]|=(111);//CRSDV引脚

LPC_GPIO_PORT-DIR[0]|=(112);//COL引脚

//配置MDIO接口引脚

LPC_GPIO_PORT-DIR[0]=~(10);//MDC引脚

LPC_GPIO_PORT-DIR[0]=~(11);//MDIO引脚

//设置引脚为以太网功能

LPC_PINCON-PINSEL0=(LPC_PINCON-PINSEL0~(0xF0))|(0x20);//MDC

LPC_PINCON-PINSEL0=(LPC_PINCON-PINSEL0~(0xF4))|(0x24);//MDIO

LPC_PINCON-PINSEL0=(LPC_PINCON-PINSEL0~(0xF8))|(0x28);//TXCLK

LPC_PINCON-PINSEL0=(LPC_PINCON-PINSEL0~(0xF12))|(0x212);//TXD0

LPC_PINCON-PINSEL0=(LPC_PINCON-PINSEL0~(