STM32F103的高速以太网接口设计※

2011-06-25 02:45于春雪
单片机与嵌入式系统应用 2011年9期
关键词:以太网端口嵌入式

于春雪

(哈尔滨理工大学 无线通信系统实验室,哈尔滨 150080)

引 言

随着信息技术的快速发展,网络技术的应用越来越广泛。以太网接口是以太网中各节点的通信基础,处于TCP/IP协议栈的数据链路层,是信息传递和管理的重要环节[1]。对于单片机来说,由于内部资源有限,既要完成主控任务,又要实现TCP/IP协议栈,难度较大,经综合考虑采用意法半导体公司生产的STM32F103作为控制核心[2]。韩国WIZnet公司生产的W5300芯片内部集成了以太网协议,可以简化软件设计,减少调试时间,从而缩短开发周期;同时,能够简化系统布局,有利于系统升级。

1 芯片介绍

1.1 STM32F103芯片

STM32F103是基于ARM Cortex-M3核的32位处理器芯片。其最高工作频率为72 MHz;内置高速存储器(512 KB Flash、64 KB RAM);丰富的增强I/O 端口和外设资源,包括5路 USART、2个12通道DMA控制器、3路 SPI以及 12位的 ADC、DAC、FSMC、SDIO、USB、CAN、I2C等;具有标准和先进的通信接口;提供可编程电压检测器(PVD),保证整个系统的稳定工作,提高抗干扰能力;温度传感器直接与内部ADC相连,能够对器件周围环境的温度进行监测;工作温度为-40~85℃[3],能够满足设计的要求。

1.2 W5300芯片

W5300是一款高性能以太网芯片,采用 0.18 μ m CMOS工艺,内部集成10/100M以太网控制器,MAC和TCP/IP协议栈。它支持固件 TCP/IP协议 TCP、UDP、ICMP、IPv4、ARP 、IGMP 、PPPoE、Ethernet;8 个独立端口同时工作;高速网络数据传输,速度可达到50 Mbps;支持混合网络TCP/IP协议栈(软件/硬件 TCP/IP协议栈);支持存储器到存储器的DMA功能(只有16位数据总线宽度才支持,从模式);内嵌10BaseT/100BaseTX的以太网物理层;自动握手功能(全双工,半双工);自动 MDI/MDIX(信号线极性交叉);LED网络指示;第三方物理(PHY)接口;支持8/16位数据总线;支持2种主机接口模式(直接访问模式和间接访问模式)等[4-5]。

2 系统硬件组成

系统硬件结构框图如图1所示。该系统包括以下几个模块:

①电源模块,为系统工作提供稳定的电源;

②晶振模块,为系统提供时钟;

③复位模块,复位MCU;

④RS232接口模块,输出调试信息及部分网络信息的设置;

⑤I2C存储模块,用于大量信息的存储;

⑥JTAG接口模块,下载程序;

⑦W5300模块,实现以太网功能;

⑧RJ45接口模块,以太网接口。

图1 系统硬件结构框图

STM32F103与W5300的接口电路如图2所示。W5300的数据线DATA0~DATA15与 STM32F103的D0~D15相连;W5300的地址线 ADDR0~ADDR15与STM32F103的A0~A15相连;STM32F103的片选信号/CS与W5300的FSMC_NE4相连,使W5300映射到主机的地址范围为0x6C000000~0x6C0003FF;STM32F103的读使能信号/RD与W5300的 FSMC_NOE相连;STM32F103的写使能信号/WR与W5300的FSMC_NWE相连;因为STM32F103需要供电电压3.0 V以上才能够正常工作,所以要求复位时间较长,采用软件对其进行硬件复位,以保证正确复位。系统采用内部PHY模式,相应的TEST_MODE[3:0]引脚均拉低;采用16位数据总线传输,相应的BIT16EN引脚要接高电平;采用直接访问模式。

图2 W5300与STM32F103的接口电路

3 系统软件实现

3.1 开发环境IAR和仿真器J-Link简介

IAR EWARM(IAR Embedded Workbench for ARM)是一个针对ARM处理器的集成开发环境,它包含项目管理器、编辑器、C/C++编译器和 ARM 汇编器、连接器XLINK和支持 RTOS的调试工具C-SPY。在 EWARM环境下,可以使用C/C++和汇编语言方便地开发嵌入式应用程序。较其他的ARM开发环境而言,IAR EWARM具有入门容易、使用方便和代码紧凑等特点[6-7]。

J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合 IAR EWARM、ADS、Keil、WinARM、RealView等集成开发环境,即可支持所有ARM7/ARM9内核芯片的仿真,仿真通过RDI接口和各集成开发环境进行无缝连接。它具有操作方便、连接方便、简单易学的特点,是ARM处理器最实用的开发工具。

3.2 主程序

W5300的 Socket就可以配置为TCP、UDP、IPRAW、MACRAW模式进行数据的发送或接收。基于一般工程的应用模式,下面只讨论TCP和UDP的通信流程。由于W5300固化了TCP/IP协议栈,只需创建Socket接口即可实现网络通信,大大简化了软件设计流程。其主程序如下:

以UDP为例介绍Socket接口的设计。UDP是一种不可靠的、无连接的数据传输方式。它不需要建立连接就可以进行数据传输[2]。UDP通信流程如图3所示[8]。

图3 UDP通信流程

4 实验与结论

UDP服务器的测试方法是:打开 SocketTool,创建UDP客户端模式,设置好对方IP、对方端口、本地端口后,在数据发送窗口中输入字符串“Please send data”,点击发送数据后,在数据接收与提示窗口中将显示接收到的字符串“Hello Harbin!” 。

UDP客户端的测试方法是:打开 SocketTool,创建UDP服务器模式,设置好本地端口后,在数据接收与提示窗口中将显示以一定的时间间隔接收到的字符串“Hello Harbin!”。

测试结果表明,该系统运行稳定,实现了以太网的接口功能;没有操作系统的支持实现单芯片与Internet的连接,可以为嵌入式网络的开发提供硬件平台[9]。

编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。

[1]王桂云,侯思祖.基于ARM7的以太网接口的设计与实现[J].微计算机信息,2009,25(2):124-204.

[2]桑淑丽.基于以太网的远程监控改造[J].电脑知识与技术,2011,7(4):924-925.

[3]意法半导体(中国)投资有限公司.STM32F10xxx参考手册[OL].[2011-05].http://www.st.com/mcu/.

[4]北京博控自动化技术有限公司.W5300用户数据手册[OL].(2009-09)[2011-05].http://www.bocon.com.cn.

[5]谭开洪.基于W5300的嵌入式以太网接口设计[J].中国西部科技,2010,9(9):31-49.

[6]万利电子有限公司.IAR EWA RM快速入门[OL].[2011-05].http://www.manley.com.cn.

[7]徐爱钧.IAR EWARM嵌入式系统编程与实践[M].北京:北京航空航天大学出版社,2006.

[8]王铁流,秦璐璐,李宗方,等.基于STM32嵌入式系统的智能控制网络终端设计[J].电子元器件应用,2009(6):13-17.

[9]莫全力,李国义,苗壮壮,等.基于ARM平台的嵌入式系统以太网接口的设计与实现[J].辽宁工业大学学报,2009,29(2):87-89.

猜你喜欢
以太网端口嵌入式
一种端口故障的解决方案
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
搭建基于Qt的嵌入式开发平台
端口阻塞与优先级
谈实时以太网EtherCAT技术在变电站自动化中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
8端口IO-Link参考设计套件加快开发速度
卫星三端口DC-DC变换器技术综述