最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

LAN8720A异步中断的热插拔网络设计原理与方法

IT圈 admin 23浏览 0评论

2024年5月28日发(作者:塔莹玉)

LAN8720A

异步中断的热插拔网络设计原理与方法

张伟

,

马亚辉

,

吴凡

,

邓浩然

,

李林

()

中电科蓉威电子技术有限责任公司

,

成都

610031

摘要

:

本文首先概述了一般的热插拔网络功能设计依据及方法

,

继而进一步阐述了基于

LAN8720A

采用异步中断方式

的热插拔网络设计原理

随后在移植

L

分别采用轮询方式和异步中断方式

,

从硬件及软件两方面详细介

wIP

的环境下

,

绍了热插拔网络功能

,

并对两种设计方法进行了全面的对比分析

关键词

:

热插拔

;

轮询

;

异步中断

;

状态机

;

LwIP

;

STM32F417

;

LAN8720A

中图分类号

:

TP311.1

文献标识码

:

A

AsnchronousInterrutHotSwaetworkDesinPrincileandMethodBasedonLAN8720A

ypp

N

gp

,,

chronousinterrutbasedonLAN8720Ahot-swaetworkdesin

p

LwIPtranslantenvironmentthehot-swaet-

pp

n

gppp

n

:,,

Abstract

Firstlthis

p

aeroverviewsthe

g

eneraldesinbasisandmethodofhot-swaetworkfunctionandfurtherdescribestheasn-

ypgp

n

y

(,,)

610031

,

China

ggy

C

g

,,,,

ZhaneiMaYahuiWuFanDenaoranLiLin

g

W

g

H

,

workfunctionisdesinedfromhardwareandsoftwareasectsin

p

ollinodeandasnchronousinterrutmodeandthetwodesin

gpg

m

ypg

:;;;

Kewords

hot-swaollasnchronousinterrutLwIP

;

FSM

;

STM32F417

;

LAN8720A

ppyp

y

methodsarecomaredandanalzedcomrehensivel.

pypy

0

其传输速度高

能耗低

兼容性好和便于安装等优势

,

在数

据信息系统中得到了广泛应用

而热插拔技术对于以太

网也非常重要

,

它使得以太网能够快速

准确地获取连接

状态

,

以确保网络通信的稳定可靠

,)

不断轮询物理接口收发器

ManaementInterfaceSMI

g

)

随着嵌入式技术的发展

,

以太网

(

技术凭借

Ethernet

因此最多可定义

3

每个寄存器共有

15

,

2

个寄存器

,

6

而在该标准中已定义了

0~15

16

个寄存器的功

内部的寄存器来实现的

PHY

寄存器的地址空间为

,

地址

16~31

的寄存器预留给芯片制造厂商自由定义

,,

其中寄存器

1

为状态寄存器

(

BasicStatusReisterBSR

)

g

该内容包含了全双工

/

半双工模式

自协商以及连接状态

等信息

,

通常的热插拔设计是通过不断轮询状态寄存器的

通常的网络热插拔设计是通过串行管理接口

(

Serial

)

连接状态

(

位来实现的

LinkStatus

(

来获取以太网的连接状态

,

从而通过媒体独立接

PHY

)

)

(

来控制

PMIIHY

芯片的断线重连及网络通信

而这

种设计方法既无法做到实时获取

处理网络连接状态

,

需要在嵌入式软件设计中不断轮询较为低速的

SMI

,

以致影响系统其他任务的处理

因此

,

使用异步中断

方式替代常用的轮询方式实现网络的热插拔设计是有实

用意义的

该芯片符合

I

支持通

LAN8720A

,

EEE802.32005

标准

,

RM

通信

II

接口与以太网媒体接入控制器

(

MAC

)

而在本网络嵌入式系统设计中

,

PHY

芯片选用

时该芯片还设计有中断功能

,

可对厂家自定义的寄存器

()、()

进行配置

,

29InterrutSourceFla30InterrutMask

pgp

/

从而使用

LAN8720A

通过

nINTREFCLKO

功能复用引

脚产生低有效的异步中断信号

,

实现网络热插拔功能

LAN8720A

SMI

寄存器地址如表

1

所列

1

设计原理

行为进行管理

控制的管理实体

(

SMI

接口对其状态

Sta-

2

热插拔功能详细设计

RM

在裸机环境下通过

II

接口与

PHY

芯片进行通信

,

移植网络协议栈

LwIP

来实现热插拔软件设计

主控芯片选用

S

其内部集成了

MA

TM32F417

,

C

,

I

PEEE802.3

标准中

,

HY

定义为一个可通过

),

而具体的操作是通过读写

PtionManaementEntitHY

gy

3 4

Microcontrollers&EmbeddedSstems

2021

年第

1

y

www

.

mesnet

.

com

.

cn

1 LAN8720A

SMI

寄存器地址

寄存器

#

0

1

2

3

4

5

6

BasicControlReister

g

述组

Basic

Basic

2.1.2

软件设计

]

片的

MO

复用引脚默认内部上拉

,

则每次上电或

DE

[

2

:

0

硬复位缺省值全为

1

,

即使能了自协商功能

在使能自协商功能而网络未连接情况下

,

PHY

芯片

PHYldentifier1

BasicStatusReister

g

PHYldentifier2

Extended

Auto-NeotiationLinkPartherAbil-

g

litReister

yg

Auto-NeotiationAdvertisementReister

gg

Extended

Extended

Extended

Extended

),

以根据双方的最大连接能力选择最好的连接方

Pulse

目前

,

通常的

PHY

芯片基本都已支持自协商功能

,

即便不支持自协商或是禁用了该功能

,

通过标准的并行检

将控制网络端口一直发送快速连接脉冲

(

FastLink

16

17

18

20

21

22

23

26

27

28

29

30

31

SiliconRevisionReister

g

Auto-NeotiationExansionReister

gpg

/

ModeControlStatusReister

g

测机制仍可建立通用的网络连接

,

且在完成时会将

BSR

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

)

的第

5

位自协商完成标志位

(

AutoNeotiateComlete

gp

置高

因此

,

为了获得最佳的网络连接能力且适应性更

,

在进行

MA

而调用

SC

初始化时使能自协商功能

,

T

)(),

司提供的标准网络库函数

(

stm32f4x7

_

_

Init

以控制

S

会等待

MI

接口对网络外设进行初始化配置时

,

因此在网络断开情况下

,

周期地查询

BSR

时采用自协商

()

函数时一直重复查询至超时的阻塞时间

Init

因此

,

根据

LwIP

结合

MAC

PHY

芯片的网络初始

化过程

,

出于

谁申请谁释放

的内存管理原则

,

采用逆向

释放的设计思路优化设计了热插拔网络状态机

在连接

断开和恢复的状态下

,

通过不断轮询

PHY

芯片

BSR

的方

式来周期性地感知网络连接状态

,

从而控制网络状态机切

换状态

,

动态地释放

申请内存及配置

E

实现断

TH

接口

,

线重连功能

采用轮询方式设计的热插拔网络状态机可

定时查询

网络重连

6

个状态

,

采用轮询方式的热

”、“、“、“、

划分为

动态

I

正常连接

内存释放

内存申请

P

插拔网络状态机设计如图

2

所示

自协商结束位有效后

,

根据自协商的结果来进行初始化

完成标志位判断更为准确

,

既可跳过

MAC

配置时的自协

商等待时间

,

又可避免在网络无连接情况下

,

调用

ETH

_

SecialModes

p

Reserved

Reserved

Reserved

Reserved

SmbolErrorCounterReister

yg

lnterutSourceReister

pg

Secialintemaltestabiliontrols

py

c

/

ControlStatuslndicationReister

g

lnterutMaskReister

pg

/

PHYSecialControlStatusReister

pg

2.1

采用轮询方式的设计方法

2.1.1

硬件设计

/

择引脚

LED2nINTSEL

通过下拉电阻设置为低

,

PHY

),

片工作于参考时钟输出模式

(

即在

REF

_

CLKOutMode

此时

P

因此可将模式选

HY

芯片无需输出中断信号

,

/

上电或外部复位过程中将

nINTREFCLKO

引脚配置为

参考时钟输出

(

功能引脚

此时

RMREFCLKO

)

II

的参考

时钟

(

可通过

XREF

_

CLK

)

TAL1

XTAL2

引脚连接一

个低成本的外部

2

P5MHz

晶体作为输入

,

HY

芯片内

2.2

采用异步中断的设计方法

2.2.1

硬件设计

/

需将模式选择引脚

LED2nINTSEL

悬空或上拉至

VDD2A

电压

,

PHY

芯片工作于参考时钟输入模式

(

REF

_

部自动将参考时钟倍频至

5

R0MHz

,

EFCLKO

引脚

此时

P

因此

HY

芯片需要输出中断信号至主控芯片

,

输出至

RM

用于时钟同步

在参考时钟

II

REF

_

CLK

,

输出工作模式下的信号流图如图

1

所示

同时

,

PHY

),/

即在上电或外部复位过程中

nCLKInModeINTREF-

功能引脚

CLKO

引脚配置为低有效中断输出

(

nINT

)

则需要由外部

5RMII

的参考时钟

(

REF

_

CLK

)

0MHz

振同步输出至主控及

P

而为了避免时钟信号分

HY

芯片

,

叉所带来的阻抗不连续等信号完整性的问题

,

选用了

用于时钟

CY2305SI

时钟缓冲器驱动两个参考时钟信号

,

,

同步

该芯片输出时钟之间的时钟偏移典型值为

85

p

s

满足

RMII

的参考时钟要求

同时由于

STM32

芯片外

部中断机制配置相当灵活

,

因此可将

nINT

信号就近接

1

在参考时钟输出工作模式下的信号流图

入任意空闲

G

用于接收

PPIO

,

HY

芯片产生的外部中断

敬请登录网站在线投稿

()

g

2021

年第

1

3 5

(

1

,

以将

PALTINT

)

HY

芯片配置为交替中断

模式

LAN8720A

的替代中断系统管理表如表

2

所列

在异步中断方式下网络断开等待重连时的中

断源同样地选择为中断屏蔽寄存器的第

2

位自协

在网络连接状态下使用中断屏蔽寄存器

YON

)

)

的第

4

位连接断开标志

(

来快速准确

LinkDown

硬复位后对模式控制

/

状态寄存器

17

的第

6

商结束标志

,

而非第

1

位网线插入标志

(

ENERG-

捕捉网络断开信息

通过将连接

nINT

中断信号

G

即可快速

PIO

配置为下降沿触发中断模式

,

准确地获取网络状态变化信息

,

采用异步中断方

式的热插拔网络状态机设计如图

4

所示

与采用轮询方式设计的热插拔网络状态机对

比可知

,

虽然采用异步中断方式设计的状态机仍

2

采用轮询的热插拔网络的状态机设计

6

个状态

,

但将原来需要不断查询

B

较为占

SR

用系统处理时间的等待连接状态和正常连接状态

改为空操作

,

通过

nINT

的异步中断触发

同时可将

以快速响应网络状

nINT

中断优先级设置为最高

,

态变化

,

并在中断处理函数中仅根据当前网络状态

控制状态跳转并清除中断标志位

,

以作最简短的中

断处理

,

避免影响其他中断的响应

,

即图

4

中方框

标识所示

在参考时钟输入工作模式下的信号流图如图

3

所示

3

轮询及异步中断方式的对比分析

硬件设计相对简单

,

只通过价格相对低廉的外部晶

3

在参考时钟输入工作模式下的信号流图

基于

LAN8720A

采用轮询方式的热插拔网络

振即可产生同步参考时钟信号

,

但一般晶振在宽温

不佳

,

且信号质量相对较差

,

可能会导致网络通信不稳定

的情况发生

同时由于

PHY

芯片无异步中断输入至主

控芯片

,

因此主控芯片无法直接准确地获取当前

PHY

片工作状态

,

只有不断地轮询

B

使得热插拔状态机软

SR

,

2.2.2

软件设计

需要通过配置其中断屏蔽寄存器使

IEEE802.3

规范

,

nINT

引脚输出异步低有效中断信号

LAN8720A

支持

工作条件

(

下频率稳定性通常表现

-55~+85℃

)

LAN8720A

所支持的中断管理配置功能并不涵盖

两种中断模式

:

一种为基础中断模式

(

Primarnterrut

y

I

p

),

另一种为交替中断模式

(

ModeAlternativeInterrut

p

件设计相对复杂

,

需调用定时器资源

,

且轮询处理相对较

为占用系统处理时间

2

替代中断系统管理表

)。

两种中断模式均在对应屏蔽位置时使

nModeINT

中断信号输出的方式

:

在基础中断模式下需要中断源无效

或是读中断源标志寄存器

;

而交替中断模式下则需要在中

断源无效后将对应中断源标志位置

1

或是直接清除对应

的中断屏蔽位

由于在网络动态地断线重连过程中

,

需要

根据不同的连接状态多次更改中断屏蔽位的配置以产生

中断信号

,

因此采用交替中断模式设计

而基础中断模式

为上电或硬件复位后的默认缺省状态

,

则需在每次上电或

出低有效中断信号

,

而两者的主要不同为它们解除

nINT

3 6

Microcontrollers&EmbeddedSstems

2021

年第

1

y

www

.

mesnet

.

com

.

cn

大允许传输单元

(

Maximum

)

限制

,

模拟

TransmissionUnit

大数据量

快速收发的应用

场景

在测试过程中

,

任意时刻断

开网络连接再恢复

,

断线重连测

5

采用轮询方式和异步

0

,

中断方式的热插拔设计均能够

快速地恢复收发计数累加

,

且恢

复后的收发计数始终保持相等

,

不存在数据掉包现象

通过断

点调试发现

,

每次读

BSR

大约需

,

耗时

2

因此采用轮询方式

0

μ

s

进行断线重连操作时

,

在网络连

,

而轮询周期即为定时查询

20

μ

s

接后等待时间约为轮询周期加

状态下既考虑轮询

BSR

处理对

系统整体的影响

,

又结合上位机

软件对网络连接后通信响应时

4

采用异步中断的热插拔网络的状态机设计

件设计相对复杂

,

需在外部使用成本相对较高的晶振

,

经过时钟缓冲器产生同步参考时钟

,

以确保信号完整性

,

而晶振及时钟缓冲器工作温度适应性较强

,

适合于宽温工

作应用场景

,

PHY

芯片可产生异步中断信号至主控芯

,

主控芯片即可快速准确地获取当前

PHY

芯片的工作

状态

,

无需轮询操作

,

使得热插拔状态机软件设计相对简

,

不占用系统处理时间

两种方式下的热插拔网络设计

对比汇总如表

3

所列

3

两种方式下的热插拔网络设计对比

通用性

通用

定制

硬件

设计

简单

复杂

软件

设计

复杂

简单

工作

温度

商用

宽温

系统

占用

较多

较高

基于

LAN8720A

采用异步中断方式的热插拔网络硬

间的要求

,

统筹考虑设计

由此可知

,

采用轮询方式设计的断线重连等待时间相

对采用异步中断方式设计的较长

,

且可能存在

UDP

分包

发送过程中网络断开而无法感知的情况

采用异步中断

方式设计的测试验证情况如图

5

所示

采用方式

轮询方式

异步中断方式

5

采用异步中断方式设计的测试验证情况

可以看出

,

采用轮询方式的热插拔网络设计具有通用

,

适用于成本受限且工作条件良好的一般应用场景

;

采用异步中

,

断方式的热插拔网络设计具有芯片定制性

,

适用于对网络通信稳定性及工作条件要求较高

,

且对于成

本不敏感的特殊应用场景

5

本文对采用轮询方式和异步中断方式设计的网络热

插拔功能进行了详细的原理论述及全面地对比分析

,

对相

关的网络嵌入式系统设计具有一定的指导意义

参考文献

[]

ndImlementationoftheLwIP

gp

4

测试验证

PC

机端使用网络调试助手对

UDP

协议通信进行

对发对收测试验证

:

PC

机端以网络调试助手所支持的最

,

小发送间隔为

1m

嵌入

s6KB

包长进行数据流循环发送

;

[]

马亚辉

,

吴凡

,

李林

,

.

基于

L2wIP

的热插拔网络嵌入式设计方

,

erScience2001.

/[

TCPIPStackM

]

.Stockholm

:

SwedishInstituteofComut-

p

],():,

[

单片机与嵌入式系统应用

,

J.2.

式软件在接收到

U

依次将数据切割为定长数

DP

数据后

,

据包和不足定长的尾包数据

,

分多包返回发送

,

以突破最

[]

张超

,

王志超

,

林岩

,

.

基于

L3wIP

协议栈的嵌入式网络控制系

]():

统设计

[

单片机与嵌入式系统应用

,

0

J.201923440.

6

敬请登录网站在线投稿

()

g

2021

年第

1

3 7

7

新一代外置蓝牙断路器软件组成框图

信号和反馈信号均为

2

存在用电安全隐

20V

交流电压

,

6

新一代外置断路器控制模块电机位置检测电路

;

控制信号和反馈信号均为简单的电平信号

,

容易人为

,

模拟操作

,

存在断路器被非法控制的隐患

配合国家电网

进行新一代电能表

(

带蓝牙功能

)

的推广

,

现场安装接线更

便捷

,

提高了安装效率

,

同时通过加密传输和控制

,

保证了

用电的安全和可靠

,

降低了电网公司运营成本

,

居民用电

也更方便快捷

,

该模组的研制成功对于国网公司具有重要

的社会和经济效益

参考文献

[]

电工基本术语

G

/

1BT2900.1

,

2008.

能表接收的蓝牙广播特征码对比一致时

,

随机生成特征码

,

通过蓝牙发送给蓝牙断路器模组编码生成电流指纹

,

通过电力线发送给电能表

,

电能表接收电流指纹继续解析

出特征码二

,

如果同自己发送的特征码二一致

,

就确认此

蓝牙断路器为该电能表下的蓝牙断路器

,

自动配对完成

,

业务流程上就实现了电能表蓝牙主控模块外置断路

/

器的数据通信

,

蓝牙主控模块接收电能表

DLT698

协议

加密指令

,

经过协议转换后控制断路器开合闸

,

另外蓝牙

模组也可以接收断路器的状态上报

,

经过协议转换并加密

后上传给电能表

同时

,

蓝牙断路器支持通过手机

A

pp

对蓝牙断路器模组和蓝牙模块进行

OTA

远程升级

[]

电气附件家用及类似场所用过电流保护断路器第

1

部分

:

2

[]

低压开关设备和控制设备第

2

部分

:

,

断路器

G3B14048.22008.

用于交流的断路器

GB10963.1

,

2005.

3

件组成框图如图

7

所示

[]

设备用断路器

G4B17701

,

2008.

[]

电能表外置断路器技术规范

Q

/

5GDW11421

,

2015.

本文通过对电能表外置蓝牙断路器模组的需求分析

,

,:

黄波

唐玉建

(

初级工程师

)

李明

秦晓敏

(

中级工程师

)

主要研究

方向为嵌入式系统

智能用电应用

()

责任编辑

:

薛士然

收稿日期

:

2020-07-08

研制了新一代外置蓝牙断路器模组

,

解决了有线连接断路

器存在的诸多问题

:

安装接线复杂

现场施工难度大

;

控制

/

江来

,

代鑫

.

嵌入式

T

37

[

4

]

孙乐鸣

,

CPIP

协议栈

LwIP

[]

徐天纬

,

郁汉琪

,

顾思远

.

两种网络之间的热备冗余实时通信接

5

7982.

:

内部结构探索与研究

[

电子元器件应用

,

J

]

.2008

(

3

)

[]

韩兴会

.

基于

S9TM32

LwIP

的无线传感器网络网关研究

[]

索朝举

,

沈沛雨

,

刘静波

,

.10STM32

的调频无线发射与接

与应用

[

西安

:

西安工程大学

,

D

]

.2018.

[]

吴云龙

,

程武山

.

基于

S6TM32

的语音识别机械手智能系统设

],():,

口设计

[

单片机与嵌入式系统应用

,

J.2.

]():

[

单片机与嵌入式系统应用

,

J.2020

,

2013741.

]():

信技术

[

电子技术与软件工程

,

J.2019192728.

8183.

]:

收系统设计

[

单片机与嵌入式系统应用

,

J.2019

,

19

(

12

)

[]

李晨

,

蒋林

,

刘思平

.

基于

S7TM32

LwIP

协议栈的高效通

,

马亚辉

吴凡

邓浩然

李林

(

工程师

)

主要研究方向为高速可靠存

储系统研发

()

责任编辑

:

薛士然

收稿日期

:

2020-06-28

[]

周航慈

.

基于嵌入式实时操作系统的程序设计技术

[

8M

]

.2

.

北京

:

北京航空航天大学出版社

,

2011.

6 0

Microcontrollers&EmbeddedSstems

2021

年第

1

y

www

.

mesnet

.

com

.

cn

2024年5月28日发(作者:塔莹玉)

LAN8720A

异步中断的热插拔网络设计原理与方法

张伟

,

马亚辉

,

吴凡

,

邓浩然

,

李林

()

中电科蓉威电子技术有限责任公司

,

成都

610031

摘要

:

本文首先概述了一般的热插拔网络功能设计依据及方法

,

继而进一步阐述了基于

LAN8720A

采用异步中断方式

的热插拔网络设计原理

随后在移植

L

分别采用轮询方式和异步中断方式

,

从硬件及软件两方面详细介

wIP

的环境下

,

绍了热插拔网络功能

,

并对两种设计方法进行了全面的对比分析

关键词

:

热插拔

;

轮询

;

异步中断

;

状态机

;

LwIP

;

STM32F417

;

LAN8720A

中图分类号

:

TP311.1

文献标识码

:

A

AsnchronousInterrutHotSwaetworkDesinPrincileandMethodBasedonLAN8720A

ypp

N

gp

,,

chronousinterrutbasedonLAN8720Ahot-swaetworkdesin

p

LwIPtranslantenvironmentthehot-swaet-

pp

n

gppp

n

:,,

Abstract

Firstlthis

p

aeroverviewsthe

g

eneraldesinbasisandmethodofhot-swaetworkfunctionandfurtherdescribestheasn-

ypgp

n

y

(,,)

610031

,

China

ggy

C

g

,,,,

ZhaneiMaYahuiWuFanDenaoranLiLin

g

W

g

H

,

workfunctionisdesinedfromhardwareandsoftwareasectsin

p

ollinodeandasnchronousinterrutmodeandthetwodesin

gpg

m

ypg

:;;;

Kewords

hot-swaollasnchronousinterrutLwIP

;

FSM

;

STM32F417

;

LAN8720A

ppyp

y

methodsarecomaredandanalzedcomrehensivel.

pypy

0

其传输速度高

能耗低

兼容性好和便于安装等优势

,

在数

据信息系统中得到了广泛应用

而热插拔技术对于以太

网也非常重要

,

它使得以太网能够快速

准确地获取连接

状态

,

以确保网络通信的稳定可靠

,)

不断轮询物理接口收发器

ManaementInterfaceSMI

g

)

随着嵌入式技术的发展

,

以太网

(

技术凭借

Ethernet

因此最多可定义

3

每个寄存器共有

15

,

2

个寄存器

,

6

而在该标准中已定义了

0~15

16

个寄存器的功

内部的寄存器来实现的

PHY

寄存器的地址空间为

,

地址

16~31

的寄存器预留给芯片制造厂商自由定义

,,

其中寄存器

1

为状态寄存器

(

BasicStatusReisterBSR

)

g

该内容包含了全双工

/

半双工模式

自协商以及连接状态

等信息

,

通常的热插拔设计是通过不断轮询状态寄存器的

通常的网络热插拔设计是通过串行管理接口

(

Serial

)

连接状态

(

位来实现的

LinkStatus

(

来获取以太网的连接状态

,

从而通过媒体独立接

PHY

)

)

(

来控制

PMIIHY

芯片的断线重连及网络通信

而这

种设计方法既无法做到实时获取

处理网络连接状态

,

需要在嵌入式软件设计中不断轮询较为低速的

SMI

,

以致影响系统其他任务的处理

因此

,

使用异步中断

方式替代常用的轮询方式实现网络的热插拔设计是有实

用意义的

该芯片符合

I

支持通

LAN8720A

,

EEE802.32005

标准

,

RM

通信

II

接口与以太网媒体接入控制器

(

MAC

)

而在本网络嵌入式系统设计中

,

PHY

芯片选用

时该芯片还设计有中断功能

,

可对厂家自定义的寄存器

()、()

进行配置

,

29InterrutSourceFla30InterrutMask

pgp

/

从而使用

LAN8720A

通过

nINTREFCLKO

功能复用引

脚产生低有效的异步中断信号

,

实现网络热插拔功能

LAN8720A

SMI

寄存器地址如表

1

所列

1

设计原理

行为进行管理

控制的管理实体

(

SMI

接口对其状态

Sta-

2

热插拔功能详细设计

RM

在裸机环境下通过

II

接口与

PHY

芯片进行通信

,

移植网络协议栈

LwIP

来实现热插拔软件设计

主控芯片选用

S

其内部集成了

MA

TM32F417

,

C

,

I

PEEE802.3

标准中

,

HY

定义为一个可通过

),

而具体的操作是通过读写

PtionManaementEntitHY

gy

3 4

Microcontrollers&EmbeddedSstems

2021

年第

1

y

www

.

mesnet

.

com

.

cn

1 LAN8720A

SMI

寄存器地址

寄存器

#

0

1

2

3

4

5

6

BasicControlReister

g

述组

Basic

Basic

2.1.2

软件设计

]

片的

MO

复用引脚默认内部上拉

,

则每次上电或

DE

[

2

:

0

硬复位缺省值全为

1

,

即使能了自协商功能

在使能自协商功能而网络未连接情况下

,

PHY

芯片

PHYldentifier1

BasicStatusReister

g

PHYldentifier2

Extended

Auto-NeotiationLinkPartherAbil-

g

litReister

yg

Auto-NeotiationAdvertisementReister

gg

Extended

Extended

Extended

Extended

),

以根据双方的最大连接能力选择最好的连接方

Pulse

目前

,

通常的

PHY

芯片基本都已支持自协商功能

,

即便不支持自协商或是禁用了该功能

,

通过标准的并行检

将控制网络端口一直发送快速连接脉冲

(

FastLink

16

17

18

20

21

22

23

26

27

28

29

30

31

SiliconRevisionReister

g

Auto-NeotiationExansionReister

gpg

/

ModeControlStatusReister

g

测机制仍可建立通用的网络连接

,

且在完成时会将

BSR

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

Vendor-secific

p

)

的第

5

位自协商完成标志位

(

AutoNeotiateComlete

gp

置高

因此

,

为了获得最佳的网络连接能力且适应性更

,

在进行

MA

而调用

SC

初始化时使能自协商功能

,

T

)(),

司提供的标准网络库函数

(

stm32f4x7

_

_

Init

以控制

S

会等待

MI

接口对网络外设进行初始化配置时

,

因此在网络断开情况下

,

周期地查询

BSR

时采用自协商

()

函数时一直重复查询至超时的阻塞时间

Init

因此

,

根据

LwIP

结合

MAC

PHY

芯片的网络初始

化过程

,

出于

谁申请谁释放

的内存管理原则

,

采用逆向

释放的设计思路优化设计了热插拔网络状态机

在连接

断开和恢复的状态下

,

通过不断轮询

PHY

芯片

BSR

的方

式来周期性地感知网络连接状态

,

从而控制网络状态机切

换状态

,

动态地释放

申请内存及配置

E

实现断

TH

接口

,

线重连功能

采用轮询方式设计的热插拔网络状态机可

定时查询

网络重连

6

个状态

,

采用轮询方式的热

”、“、“、“、

划分为

动态

I

正常连接

内存释放

内存申请

P

插拔网络状态机设计如图

2

所示

自协商结束位有效后

,

根据自协商的结果来进行初始化

完成标志位判断更为准确

,

既可跳过

MAC

配置时的自协

商等待时间

,

又可避免在网络无连接情况下

,

调用

ETH

_

SecialModes

p

Reserved

Reserved

Reserved

Reserved

SmbolErrorCounterReister

yg

lnterutSourceReister

pg

Secialintemaltestabiliontrols

py

c

/

ControlStatuslndicationReister

g

lnterutMaskReister

pg

/

PHYSecialControlStatusReister

pg

2.1

采用轮询方式的设计方法

2.1.1

硬件设计

/

择引脚

LED2nINTSEL

通过下拉电阻设置为低

,

PHY

),

片工作于参考时钟输出模式

(

即在

REF

_

CLKOutMode

此时

P

因此可将模式选

HY

芯片无需输出中断信号

,

/

上电或外部复位过程中将

nINTREFCLKO

引脚配置为

参考时钟输出

(

功能引脚

此时

RMREFCLKO

)

II

的参考

时钟

(

可通过

XREF

_

CLK

)

TAL1

XTAL2

引脚连接一

个低成本的外部

2

P5MHz

晶体作为输入

,

HY

芯片内

2.2

采用异步中断的设计方法

2.2.1

硬件设计

/

需将模式选择引脚

LED2nINTSEL

悬空或上拉至

VDD2A

电压

,

PHY

芯片工作于参考时钟输入模式

(

REF

_

部自动将参考时钟倍频至

5

R0MHz

,

EFCLKO

引脚

此时

P

因此

HY

芯片需要输出中断信号至主控芯片

,

输出至

RM

用于时钟同步

在参考时钟

II

REF

_

CLK

,

输出工作模式下的信号流图如图

1

所示

同时

,

PHY

),/

即在上电或外部复位过程中

nCLKInModeINTREF-

功能引脚

CLKO

引脚配置为低有效中断输出

(

nINT

)

则需要由外部

5RMII

的参考时钟

(

REF

_

CLK

)

0MHz

振同步输出至主控及

P

而为了避免时钟信号分

HY

芯片

,

叉所带来的阻抗不连续等信号完整性的问题

,

选用了

用于时钟

CY2305SI

时钟缓冲器驱动两个参考时钟信号

,

,

同步

该芯片输出时钟之间的时钟偏移典型值为

85

p

s

满足

RMII

的参考时钟要求

同时由于

STM32

芯片外

部中断机制配置相当灵活

,

因此可将

nINT

信号就近接

1

在参考时钟输出工作模式下的信号流图

入任意空闲

G

用于接收

PPIO

,

HY

芯片产生的外部中断

敬请登录网站在线投稿

()

g

2021

年第

1

3 5

(

1

,

以将

PALTINT

)

HY

芯片配置为交替中断

模式

LAN8720A

的替代中断系统管理表如表

2

所列

在异步中断方式下网络断开等待重连时的中

断源同样地选择为中断屏蔽寄存器的第

2

位自协

在网络连接状态下使用中断屏蔽寄存器

YON

)

)

的第

4

位连接断开标志

(

来快速准确

LinkDown

硬复位后对模式控制

/

状态寄存器

17

的第

6

商结束标志

,

而非第

1

位网线插入标志

(

ENERG-

捕捉网络断开信息

通过将连接

nINT

中断信号

G

即可快速

PIO

配置为下降沿触发中断模式

,

准确地获取网络状态变化信息

,

采用异步中断方

式的热插拔网络状态机设计如图

4

所示

与采用轮询方式设计的热插拔网络状态机对

比可知

,

虽然采用异步中断方式设计的状态机仍

2

采用轮询的热插拔网络的状态机设计

6

个状态

,

但将原来需要不断查询

B

较为占

SR

用系统处理时间的等待连接状态和正常连接状态

改为空操作

,

通过

nINT

的异步中断触发

同时可将

以快速响应网络状

nINT

中断优先级设置为最高

,

态变化

,

并在中断处理函数中仅根据当前网络状态

控制状态跳转并清除中断标志位

,

以作最简短的中

断处理

,

避免影响其他中断的响应

,

即图

4

中方框

标识所示

在参考时钟输入工作模式下的信号流图如图

3

所示

3

轮询及异步中断方式的对比分析

硬件设计相对简单

,

只通过价格相对低廉的外部晶

3

在参考时钟输入工作模式下的信号流图

基于

LAN8720A

采用轮询方式的热插拔网络

振即可产生同步参考时钟信号

,

但一般晶振在宽温

不佳

,

且信号质量相对较差

,

可能会导致网络通信不稳定

的情况发生

同时由于

PHY

芯片无异步中断输入至主

控芯片

,

因此主控芯片无法直接准确地获取当前

PHY

片工作状态

,

只有不断地轮询

B

使得热插拔状态机软

SR

,

2.2.2

软件设计

需要通过配置其中断屏蔽寄存器使

IEEE802.3

规范

,

nINT

引脚输出异步低有效中断信号

LAN8720A

支持

工作条件

(

下频率稳定性通常表现

-55~+85℃

)

LAN8720A

所支持的中断管理配置功能并不涵盖

两种中断模式

:

一种为基础中断模式

(

Primarnterrut

y

I

p

),

另一种为交替中断模式

(

ModeAlternativeInterrut

p

件设计相对复杂

,

需调用定时器资源

,

且轮询处理相对较

为占用系统处理时间

2

替代中断系统管理表

)。

两种中断模式均在对应屏蔽位置时使

nModeINT

中断信号输出的方式

:

在基础中断模式下需要中断源无效

或是读中断源标志寄存器

;

而交替中断模式下则需要在中

断源无效后将对应中断源标志位置

1

或是直接清除对应

的中断屏蔽位

由于在网络动态地断线重连过程中

,

需要

根据不同的连接状态多次更改中断屏蔽位的配置以产生

中断信号

,

因此采用交替中断模式设计

而基础中断模式

为上电或硬件复位后的默认缺省状态

,

则需在每次上电或

出低有效中断信号

,

而两者的主要不同为它们解除

nINT

3 6

Microcontrollers&EmbeddedSstems

2021

年第

1

y

www

.

mesnet

.

com

.

cn

大允许传输单元

(

Maximum

)

限制

,

模拟

TransmissionUnit

大数据量

快速收发的应用

场景

在测试过程中

,

任意时刻断

开网络连接再恢复

,

断线重连测

5

采用轮询方式和异步

0

,

中断方式的热插拔设计均能够

快速地恢复收发计数累加

,

且恢

复后的收发计数始终保持相等

,

不存在数据掉包现象

通过断

点调试发现

,

每次读

BSR

大约需

,

耗时

2

因此采用轮询方式

0

μ

s

进行断线重连操作时

,

在网络连

,

而轮询周期即为定时查询

20

μ

s

接后等待时间约为轮询周期加

状态下既考虑轮询

BSR

处理对

系统整体的影响

,

又结合上位机

软件对网络连接后通信响应时

4

采用异步中断的热插拔网络的状态机设计

件设计相对复杂

,

需在外部使用成本相对较高的晶振

,

经过时钟缓冲器产生同步参考时钟

,

以确保信号完整性

,

而晶振及时钟缓冲器工作温度适应性较强

,

适合于宽温工

作应用场景

,

PHY

芯片可产生异步中断信号至主控芯

,

主控芯片即可快速准确地获取当前

PHY

芯片的工作

状态

,

无需轮询操作

,

使得热插拔状态机软件设计相对简

,

不占用系统处理时间

两种方式下的热插拔网络设计

对比汇总如表

3

所列

3

两种方式下的热插拔网络设计对比

通用性

通用

定制

硬件

设计

简单

复杂

软件

设计

复杂

简单

工作

温度

商用

宽温

系统

占用

较多

较高

基于

LAN8720A

采用异步中断方式的热插拔网络硬

间的要求

,

统筹考虑设计

由此可知

,

采用轮询方式设计的断线重连等待时间相

对采用异步中断方式设计的较长

,

且可能存在

UDP

分包

发送过程中网络断开而无法感知的情况

采用异步中断

方式设计的测试验证情况如图

5

所示

采用方式

轮询方式

异步中断方式

5

采用异步中断方式设计的测试验证情况

可以看出

,

采用轮询方式的热插拔网络设计具有通用

,

适用于成本受限且工作条件良好的一般应用场景

;

采用异步中

,

断方式的热插拔网络设计具有芯片定制性

,

适用于对网络通信稳定性及工作条件要求较高

,

且对于成

本不敏感的特殊应用场景

5

本文对采用轮询方式和异步中断方式设计的网络热

插拔功能进行了详细的原理论述及全面地对比分析

,

对相

关的网络嵌入式系统设计具有一定的指导意义

参考文献

[]

ndImlementationoftheLwIP

gp

4

测试验证

PC

机端使用网络调试助手对

UDP

协议通信进行

对发对收测试验证

:

PC

机端以网络调试助手所支持的最

,

小发送间隔为

1m

嵌入

s6KB

包长进行数据流循环发送

;

[]

马亚辉

,

吴凡

,

李林

,

.

基于

L2wIP

的热插拔网络嵌入式设计方

,

erScience2001.

/[

TCPIPStackM

]

.Stockholm

:

SwedishInstituteofComut-

p

],():,

[

单片机与嵌入式系统应用

,

J.2.

式软件在接收到

U

依次将数据切割为定长数

DP

数据后

,

据包和不足定长的尾包数据

,

分多包返回发送

,

以突破最

[]

张超

,

王志超

,

林岩

,

.

基于

L3wIP

协议栈的嵌入式网络控制系

]():

统设计

[

单片机与嵌入式系统应用

,

0

J.201923440.

6

敬请登录网站在线投稿

()

g

2021

年第

1

3 7

7

新一代外置蓝牙断路器软件组成框图

信号和反馈信号均为

2

存在用电安全隐

20V

交流电压

,

6

新一代外置断路器控制模块电机位置检测电路

;

控制信号和反馈信号均为简单的电平信号

,

容易人为

,

模拟操作

,

存在断路器被非法控制的隐患

配合国家电网

进行新一代电能表

(

带蓝牙功能

)

的推广

,

现场安装接线更

便捷

,

提高了安装效率

,

同时通过加密传输和控制

,

保证了

用电的安全和可靠

,

降低了电网公司运营成本

,

居民用电

也更方便快捷

,

该模组的研制成功对于国网公司具有重要

的社会和经济效益

参考文献

[]

电工基本术语

G

/

1BT2900.1

,

2008.

能表接收的蓝牙广播特征码对比一致时

,

随机生成特征码

,

通过蓝牙发送给蓝牙断路器模组编码生成电流指纹

,

通过电力线发送给电能表

,

电能表接收电流指纹继续解析

出特征码二

,

如果同自己发送的特征码二一致

,

就确认此

蓝牙断路器为该电能表下的蓝牙断路器

,

自动配对完成

,

业务流程上就实现了电能表蓝牙主控模块外置断路

/

器的数据通信

,

蓝牙主控模块接收电能表

DLT698

协议

加密指令

,

经过协议转换后控制断路器开合闸

,

另外蓝牙

模组也可以接收断路器的状态上报

,

经过协议转换并加密

后上传给电能表

同时

,

蓝牙断路器支持通过手机

A

pp

对蓝牙断路器模组和蓝牙模块进行

OTA

远程升级

[]

电气附件家用及类似场所用过电流保护断路器第

1

部分

:

2

[]

低压开关设备和控制设备第

2

部分

:

,

断路器

G3B14048.22008.

用于交流的断路器

GB10963.1

,

2005.

3

件组成框图如图

7

所示

[]

设备用断路器

G4B17701

,

2008.

[]

电能表外置断路器技术规范

Q

/

5GDW11421

,

2015.

本文通过对电能表外置蓝牙断路器模组的需求分析

,

,:

黄波

唐玉建

(

初级工程师

)

李明

秦晓敏

(

中级工程师

)

主要研究

方向为嵌入式系统

智能用电应用

()

责任编辑

:

薛士然

收稿日期

:

2020-07-08

研制了新一代外置蓝牙断路器模组

,

解决了有线连接断路

器存在的诸多问题

:

安装接线复杂

现场施工难度大

;

控制

/

江来

,

代鑫

.

嵌入式

T

37

[

4

]

孙乐鸣

,

CPIP

协议栈

LwIP

[]

徐天纬

,

郁汉琪

,

顾思远

.

两种网络之间的热备冗余实时通信接

5

7982.

:

内部结构探索与研究

[

电子元器件应用

,

J

]

.2008

(

3

)

[]

韩兴会

.

基于

S9TM32

LwIP

的无线传感器网络网关研究

[]

索朝举

,

沈沛雨

,

刘静波

,

.10STM32

的调频无线发射与接

与应用

[

西安

:

西安工程大学

,

D

]

.2018.

[]

吴云龙

,

程武山

.

基于

S6TM32

的语音识别机械手智能系统设

],():,

口设计

[

单片机与嵌入式系统应用

,

J.2.

]():

[

单片机与嵌入式系统应用

,

J.2020

,

2013741.

]():

信技术

[

电子技术与软件工程

,

J.2019192728.

8183.

]:

收系统设计

[

单片机与嵌入式系统应用

,

J.2019

,

19

(

12

)

[]

李晨

,

蒋林

,

刘思平

.

基于

S7TM32

LwIP

协议栈的高效通

,

马亚辉

吴凡

邓浩然

李林

(

工程师

)

主要研究方向为高速可靠存

储系统研发

()

责任编辑

:

薛士然

收稿日期

:

2020-06-28

[]

周航慈

.

基于嵌入式实时操作系统的程序设计技术

[

8M

]

.2

.

北京

:

北京航空航天大学出版社

,

2011.

6 0

Microcontrollers&EmbeddedSstems

2021

年第

1

y

www

.

mesnet

.

com

.

cn

发布评论

评论列表 (0)

  1. 暂无评论