STM32以太网电路设计
STM32F107 以太网PHY选择和电路设计
Technorati 标签: STM32F107,STM32F105,以太网,PHY
/bbs/show.asp?ID=422[2010/3/13 9:45:29]
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机 地球元:0 状态: 注册: 2010-02-05 [广告推荐] 微芯力科现货供应ST芯片 每页10条,共1页,合计2条记录 1 转到 1 ×
GO
快速回复【高级回复】
回复说明: 论坛是我家,维护靠大家,请遵 守国家法规,不乱发水帖!
回复帖子
重写
快捷键 Ctrl+Enter
Powered By:YxBBs V3.0.0 Processed in:0.046875s,14 queries.
/bbs/show.asp?ID=422[2010/3/13 9:45:29]
�
单片机之家?下载区?stm32?stm32f107以太网phy选择和电路设计转您是本帖的第125个阅读者贴子主题
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
? WelCome [minxdche - 隐身] ┆ 菜单 ┆ 风格 ┆ 设施 ┆ 帮助 ┆ 退出 ┆ 您的位置:单片机之家 -> 下载区 -> STM32 -> STM32F107 以太网PHY选择和电路设计【转】 您是本帖的第 125 个阅读者 贴子主题:STM32F107 以太网PHY选择和电路设计【转】 miaoqiongb 收藏 举报 1 F 精华帖子 STM32F107 以太网PHY选择和电路设计【转】 STM32F105/107系列以太网PHY设计资料.图说的很详细,废话就不说了,自己看图吧.
STM32的W5500以太网通信模块快速实现方法
接口外扩 W5500以太网控制器来搭建模块硬件,然后利用 STM32CubeMX 快速完成 STM32F407初 始 化 配 置 程 序 的 设
计,再利用 W5500官方库函数快速完成以太网通信 程 序 的 开 发,同 时 为 提 升 以 太 网 通 信 速 率,对 W5500 官 方 库 函 数 实
施了优化。最后为了验证设计方案的有效性及测试通信速率,设计 了 基 于 LabVIEW 的 测 试 软 件。 实 验 结 果 表 明,利 用
本 文 提 出 的 方 案 可 较 快 实 现 以 太 网 通 信 模 块 的 开 发 ,且 通 信 速 率 比 优 化 前 提 高 接 近 两 倍 。
关 键 词 :STM32CubeMX;W5500;LabVIEW;网 络 速 率 测 试 ;SPI
STM32的 W5500以太网通信模块快速实现方法
杨 红 波 ,朱 磊 ,张 博 ,鲁 露
(西 安 工 程 大 学 电 子 信 息 学 院 ,西 安 710048)
摘要:提出了一种基于 STM32CubeMX 的 W5500以太网通信模块快速实现方案。该方案先 以 STM32F407 处 理 器 SPI
近 年 来 开 发 STM32 比 较 流 行 的 一 个 工 具 STM32CubeMX,它是意 法 半 导 体 的 主 动 原 创 工 具,可 以 缩短开发的工作时 间,降 低 费 用,它 也 是 一 个 图 形 化 的 工 具,配置和完 成 开 发 初 期 关 于 芯 片 相 关 的 一 些 初 始 化 代 码 。 [8] 同 时 也 集 成 了 一 个 全 面 的 软 件 平 台 ,支 持 STM32 每一个系列的 MCU 开发。快速 完 成 初 始 化 代 码 的 配 置, 提高了代 码 编 写 速 度。 W5500 是 WIZnet公 司 推 出 的 一
STM32以太网硬件设计——PHY
STM32以太网硬件设计——PHYOSI 的7 层基准模型中PHY 属于第一层——物理层。
PHY是数据链路层的媒体访问控制部分和媒体的接口。
PHY 对所有传输的数据只是进行编码转化,没有对有效数据信号进行任何分析或改变,但是MAC 所有的数据传输都必须经过PHY 发送和接收才能传输到目标MAC。
PHY 还可以完成连接判断,自动协商以及冲突检测。
MAC 可以通过修改PHY 的寄存器完成对自动协商的监控,当然也可以读取PHY 的寄存器来判断PHY 的状态。
一. PHY寄存器IEEE802.3标准中定义了PHY的基本寄存器,寄存器偏移 00h ~ 0fh。
其中最重要的就是 BCR(BasicControl Register, offset: 00h),BSR(Basic Status Register, offset: 01h)。
MAC通过SMI接口访问BCR来控制PHY的工作模式,也可以通过访问BSR来得知PHY的工作状态。
需要注意的是,有时PHY的工作速率和工作模式不一定是通过访问BSR来得到的,因此在使用STM32 MAC外设与不同的PHY通讯时,可能需要修改寄存器定义。
以下是ST所提供的驱动中关于PHY寄存器的定义(节选自stm32f4xx_hal_conf.h)。
/* Section 3: Common PHY Registers *//*!< Transceiver Basic Control Register *//*!< Transceiver Basic Status Register *//*!< PHY Reset *//*!< Select loop-back mode *//*!< Restart auto-negotiation function *//*!< Select the power down mode *//*!< Auto-Negotiation processcompleted *//*!< PHY status register Offset *//*!< PHY Link mask *//*!< PHY Speed mask *//*!< PHY Duplex mask */二.PHY AutoStrapping现在的多数PHY都具有AutoStrapping功能,即可以在硬件设计时,通过上下拉电阻设定某些引脚的电平,PHY复位后自动将引脚电平读入指定的寄存器标志位,以相应的方式工作。
13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网
13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网STM32单片机现已火遍大江南北,各种教程资料也是遍布各大网站论坛,可谓一抓一大把,但大部分都差不多。
今天总结了几篇电路城上关于STM32 的制作,不能说每篇都是经典,但都是在其他地方找不到的,很有学习参考意义的设计实例。
尤其对于新手,是一个学习stm32单片机的“活生生”的范例。
1.开源硬件-基于STM32的自动刹车灯设计自动刹车灯由电池供电并内置加速度传感器,因此无需额外连接其他线缆。
使用两节5号电池时,设计待机时间为一年以上(待机功耗66微安),基本可以实现永不关机,即装即忘。
2.基于STM32F407的openmv项目设计资料本项目是一个openmv,通过摄像头可以把图像实时传输给显示屏显示。
MCU选择的是STM32F407(STM 32F407数据手册),ARM Cortex-M4内核,最高频率可达180Mhz,包含一个单精度浮点DSP,一个DCMI(数字相机接口)。
3.STM32无线抢答器无线抢答器采用STM32F302芯片主控,同时用蓝牙,语音模块,数码管,七彩灯等部件构成,当主持人按下抢答键时,数码管进入倒记时,选手做好准备,当数码管从9变为0时,多名选手通过手机上虚拟按键进行抢答,同时语音播报抢答结果,显示屏上显示选手的抢答时间。
4.基于ARM-STM32的两轮自平衡小车小车直立和方向控制任务都是直接通过控制小车两个电机完成的。
假设小车电机可以虚拟地拆解成两个不同功能的驱动电机,它们同轴相连,分别控制小车的直立平衡、左右方向。
5.基于STM32F4高速频谱分析仪完整版(原创)本系统是以STM32F407进行加Blackman预处理,再做1024个点FFT进行频谱分析,最后将数据显示在LCD12864上,以便进行人机交互!该系统可实现任意波形信号的频谱显示,以及可以自动寻找各谐波分量的幅值,频率以及相位并进行8位有效数据显示。
STM32F103VET6和ENC28J60的嵌入式以太网接口设计
STM32F103VET6和ENC28J60的嵌入式以太网接口设计张庆辉;马延立【摘要】介绍了一种基于STM32F103VET6微处理器和以太网控制芯片ENC28J60的嵌入式以太网接口的设计方案.分析了基于Cortex-M3内核的微处理器STM32F103VET6的功能和特点,以及以太网控制芯片ENC28J60的主要性能和结构特性,并给出了接口的硬件和软件设计方案.本接口尺寸小、性能高,适合于便携式仪器仪表中的应用.%An embedded Ethernet interface is designed based on STM32F103VET6 microprocessor and Ethernet controller chip ENC28J60. The functions and features of microprocessor STM32F103VET6 based on Cortex-M3 core are analyzed,and main performances and structural properties of Ethernet controller chip ENC28J60 are described. Hardware and software design of the interface are given. The interface has small size and high performance, and it is used for portable instruments.【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2012(012)009【总页数】4页(P23-25,32)【关键词】STM32F103VET6;ENC28J60;嵌入式以太网【作者】张庆辉;马延立【作者单位】河南工业大学信息科学与工程学院,郑州450001【正文语种】中文【中图分类】TP393.11引言随着以太网技术的普及和发展,基于以太网的应用接口设备也迅速普及到医疗设备、工厂电力系统等领域。
STM32F107 以太网PHY选择和电路设计
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
/bbs/show.asp?ID=422[2010/3/13 9:45:29]
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
/bbs/show.asp?ID=422[2010/3/13 9:45:29]
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
/bbs/show.asp?ID=422[2010/3/13 9:45:29]
等级: 下士 头衔:未定义 金钱: 756 发帖: 101 地球元:42 状态: 注册: 2009-09-17
/bbs/show.asp?ID=422[2010/3/13 9:45:29]
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
STM32F107 以太网PHY选择和电路设计【转】 --- 单片机之家|讨论STM32,STM8等单片机
? WelCome [minxdche - 隐身] ┆ 菜单 ┆ 风格 ┆ 设施 ┆ 帮助 ┆ 退出 ┆ 您的位置:单片机之家 -> 下载区 -> STM32 -> STM32F107 以太网PHY选择和电路设计【转】 您是本帖的第 125 个阅读者 贴子主题:STM32F107 以太网PHY选择和电路设计【转】 miaoqiongb 收藏 举报 1 F 精华帖子 STM32F107 以太网PHY选择和电路设计【转】 STM32F105/107系列以太网PHY设计资料.图说的很详细,废话就不说了,自己看图吧.
奋斗STM32开发板uIP1.0 以太网例程讲解
奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程uIP1.0 ENC28J60 以太网例程实验平台:奋斗版STM32开发板V2、V2.1、V3 实验内容:本例程演示了在奋斗STM32开发板上完成ARP,ICMP,TCP服务器、WEB 服务器以及UDP服务器,该实验学习了基于uIP1.0网络协议栈的程序编制。
预先需要掌握的知识1.ENC28J60ENC28J60是MICROCHIP公司的带SPI 接口的独立以太网控制器, 以太网控制器特性 • IEEE 802.3 兼容的以太网控制器 • 集成MAC 和10 BASE-T PHY • 接收器和冲突抑制电路 • 支持一个带自动极性检测和校正的10BASE-T 端口 • 支持全双工和半双工模式 • 可编程在发生冲突时自动重发 • 可编程填充和CRC 生成 • 可编程自动拒绝错误数据包 • 最高速度可达10 Mb/s 的SPI 接口 缓冲器 • 8 KB 发送/ 接收数据包双端口SRAM • 可配置发送/ 接收缓冲器大小 • 硬件管理的循环接收FIFO • 字节宽度的随机访问和顺序访问(地址自动递增) • 用于快速数据传送的内部DMA • 硬件支持的IP 校验和计算 介质访问控制器(MAC)特性 • 支持单播、组播和广播数据包 • 可编程数据包过滤,并在以下事件的逻辑“与” 和“或”结果为真时唤醒主机: - 单播目标地址 - 组播地址 广播地址 - Magic Packet - 由64 位哈希表定义的组目标地址 - 多达64 字节的可编程模式匹配(偏移量可由用户定义)淘宝店铺:1奋斗版 STM32 开发板例程文档———uIP1.0 ENC28J60 以太网例程• 环回模式 物理层(PHY)特性 • 整形输出滤波器 • 环回模式 工作特性 • 两个用来表示连接、发送、接收、冲突和全/ 半双工状态的可编程LED 输出 • 使用两个中断引脚的七个中断源 • 25 MHz 时钟 • 带可编程预分频器的时钟输出引脚 • 工作电压范围是3.14V 到3.45V • TTL 电平输入 • 温度范围:-40°C 到+85°C (工业级), 0°C 到 +70°C (商业级)(仅SSOP 封装) • 28 引脚SPDIP、SSOP、SOIC 和QFN 封装概述ENC28J60 是带有行业标准串行外设接口(SerialPeripheral Interface,SPI)的独立以太网控制器。
基于STM32的CAN与以太网的通信控制器设计
一一一一
订 一一一一
图2 C A N 总 线与 以太 网通信 的 网络模 型
豁 上似 机 监 上侮机
} I 心
三、实现方案
以 人 剐
通
系
l
通信控 制器
3 . 1 硬 件设计 。通 信控 制器 连接 了 毛丝检 测终 端C A N总
线 网络和数 据监 控 中心上位 机 的以太 网网络 ,实现 了终 端和
厂 — —— —— -— —— —— —— —— -— —— —— —— _— - I I — —— —— -— —— —— —— _— _ I
—
议[ 2 】 ,以 太 网采 用 T C P / I P 协议 ,而 通 信 控 制 器 则需 要 连 接 这 两种 结 构 和 协 议 完 全不 同 的 网络 。 因此 通 信 控 制 器 的核
图3通信控 制器 硬件 框 图
C AN/ 以 太 网协 议 转 换 的核 心 部 件 S T M3 2 微 控 制 器 采
太 网控 制 模 块 从T C P / I P  ̄ 文 中解 析 出数 据 放入 缓 存 区 中 , C A N控 制模 块 从 缓存 区 中读取 数 据并 封 装 成 C A N帧发 送 到
心 工作 就 是 对 C AN总 线数 据 帧 和 以太 网数 据 帧行 重 新 封装
让 } 』 奉潮I * …J 】 _ ' J 】 l S T M 3 2
C
l l I I
以使 它 们能 被 以太 网或 C A N总线 所读 取 。 网络模 型 如 冈2 所
示 。通 信 控 制 器 的CA N控 制模 块 从 C AN总线 发 送 来 的数 据
可靠双向通信 ,解决 了工业尼龙丝原丝检测 系统的检测终端和远程监控 中心的通信问题 。
STM32单片机原理及硬件电路设计
STM32单片机原理及硬件电路设计一、本文概述Overview of this article本文旨在全面解析STM32单片机的原理及其硬件电路设计。
STM32单片机作为现代电子系统中不可或缺的核心组件,广泛应用于嵌入式系统、智能设备、工业自动化等多个领域。
本文将首先简要介绍STM32单片机的基本概念、特点和应用领域,然后从硬件设计的角度出发,详细阐述STM32单片机的核心电路设计、外围电路设计以及电源电路设计等方面的原理和实践。
通过本文的学习,读者将能够深入了解STM32单片机的内部架构和工作原理,掌握其硬件电路设计的要点和技巧,为实际应用中的STM32单片机选型、设计和开发提供有力的理论支持和实践指导。
This article aims to comprehensively analyze the principle and hardware circuit design of the STM32 microcontroller. The STM32 microcontroller, as an indispensable core component in modern electronic systems, is widely used in multiple fields such as embedded systems, intelligent devices, and industrial automation. This article will first briefly introduce the basicconcept, characteristics, and application areas of the STM32 microcontroller. Then, from the perspective of hardware design, it will elaborate in detail on the principles and practices of the core circuit design, peripheral circuit design, and power circuit design of the STM32 microcontroller. Through the study of this article, readers will be able to gain a deeper understanding of the internal architecture and working principle of the STM32 microcontroller, master the key points and skills of its hardware circuit design, and provide strong theoretical support and practical guidance for the selection, design, and development of STM32 microcontrollers in practical applications.二、STM32单片机基础原理Basic Principles of STM32 MicrocontrollerSTM32单片机,作为STMicroelectronics(意法半导体)公司推出的一款基于ARM Cortex-M系列内核的32位Flash微控制器,自推出以来就因其高性能、低功耗、易于编程和广泛的外部设备集成而备受工程师们的青睐。
基于STM32的以太网通信模块设计
基于STM32的以太网通信模块设计引言以太网通信是当今许多嵌入式系统中不可或缺的一部分。
它提供了快速、安全和可靠的数据传输方式,使得设备能够与其他设备或云服务进行通信。
STM32是常用的嵌入式系统开发板,具有强大的处理能力和丰富的外设接口,非常适合用于以太网通信模块的设计。
本文将介绍如何基于STM32设计一个简单的以太网通信模块。
1.系统架构设计在设计以太网通信模块之前,首先需要了解整个系统的架构。
一般来说,以太网通信模块由硬件和软件两部分组成。
硬件部分主要包括STM32开发板和以太网PHY芯片。
以太网PHY芯片负责将数字信号转换为模拟信号,并通过以太网接口与外部网络连接。
STM32开发板通过接口与PHY芯片进行通信,并负责处理网络数据的收发。
软件部分主要包括驱动程序和网络协议栈。
驱动程序负责与PHY芯片进行通信,控制数据的收发。
网络协议栈实现了TCP/IP协议栈,包括IP、TCP和UDP等协议。
它负责处理数据包的组装和解析,以及网络连接的建立和断开。
2.硬件设计硬件设计主要涉及PHY芯片与STM32开发板之间的连接和接口配置。
PHY芯片通常使用RMII(Reduced Media Independent Interface)接口与STM32开发板连接。
在STM32上配置相应的引脚和寄存器,使其与PHY芯片进行通信。
为了方便调试和监测网络状态,可以在硬件设计中添加LED指示灯,显示网络连接状态。
3.软件设计软件设计主要涉及驱动程序和网络协议栈的开发。
驱动程序可以使用STM32的标准外设库进行开发。
根据PHY芯片的型号和通信接口,编写相应的驱动程序,实现数据的发送和接收。
网络协议栈可以使用第三方库,如lwIP(Lightweight IP)等。
lwIP是一个开源的TCP/IP协议栈,提供了各种网络协议的实现,支持多种硬件平台。
在软件设计时,需要根据具体需求配置网络协议栈的参数,如IP地址、子网掩码、默认网关等。
基于单片机的串口转以太网设计
基于单片机的串口转以太网设计摘要:随着计算机通信技术和网络技术的发展,在嵌入式系统中集成以太网口实现与其它计算机设备之间的高速数据传输就显得尤为重要。
本文结合以太网接口芯片W5500的主要特点、芯片引脚定义、内部寄存器使用说明,设计了一款基于STM32芯片与W5500高速以太网控制芯片的嵌入式以太网系统,充分发挥了STM32 芯片的Cortex-M3 内核低成本低功耗的特性,同时该设计直接使用W5500固化的TCP/IP协议站,提高了系统的性能。
关键词:以太网以太网接口W5500芯片随着嵌入式系统与网络的密切关系和TCP-IP网络的迅速普及,TCP-IP网络在工业领域具有良好的应用前景。
与过去工业领域广泛使用的串行传输相比,TCP/IP连接器网络具有更宽的带宽、更快的传输速度、更远的传输距离和更广泛的通信服务等特点[1]。
由于TCP和IP通信环境的多样性,很难根据其基本IP环境自动纠正数据传输错误。
由于串行通信的传输方式容易受到普通模式的干扰,因此抗干扰能力差,传输容易出错。
在实际应用中,如果不超过最大传输长度,串行端口的最大传输速度为115200比特/秒[2]。
本文设计的以太网系统允许设备使用串口进行数据传输访问网络,包括串口通信、内置微控制器驱动程序、协议移植和服务器构建。
1系统硬件设计本系统设计采用STM32F103C8T6微控制器和W5500芯片搭建的网络系统,串口转网络硬件系统主要包括微处理器模块、以太网控模块、电源模块、电平转换、网口设计等。
其中,以太网芯片W5500与微控制器芯片STM32F103C8T6之间采用SPI接口,电源电路包含了微控制器芯片STM32F103C8T6所引出的两个串口。
2系统软件设计系统软件设计包含串口相关配置、TCP通信的实现、UDP通信的实现等。
由于W5500强化了协议,所以需要设计与套接字的接口。
这不仅简化了设计过程,还降低了微控制器的处理能力和系统资源的使用。
stm32最小电路设计
stm32最小电路设计
设想我们要设计一个最小的STM32电路,方便使用STM32微控制器进行开发。
这个最小电路设计应该包括以下几个部分:
1. STM32微控制器- 我们可以选择一个适合的STM32微控制器,例如STM32F103C8T6,它是很常用的型号之一。
2. 时钟电路- STM32微控制器需要一个稳定的时钟信号来驱动其内部工作。
我们可以使用一个晶体振荡器或者使用外部的时钟信号。
3. 供电电路- STM32微控制器需要正常的供电电压,一般可以使用5V直流电源。
在电路中需要提供稳压器进行降压和滤波,确保电压稳定。
4. 外部复位电路- 使用一个复位电路来对STM32微控制器进行复位,确保其正常启动。
5. 串口通信电路- 如果需要与计算机或其他外部设备进行通信,可以在电路中添加一个串口电路。
6. 输入输出引脚- 将STM32微控制器的输入输出引脚连接到外部电路,以实现各种功能。
需要特别注意的是,设计最小电路时需要根据具体的应用需求进行定制。
例如,如果需要使用ADC或PWM功能,还需要添加相应电路。
同时,为了方便编程和调试,还需要添加一个编程接口,如SWD或JTAG接口。
总之,设计STM32最小电路时需要根据具体的应用需求和开发目标进行定制,以上列举的是基本组成部分。
网络通信实验(1)STM32F4以太网简介
⽹络通信实验(1)STM32F4以太⽹简介STM32F4 以太⽹简介STM32F407 芯⽚⾃带以太⽹模块,该模块包括带专⽤ DMA 控制器的 MAC 802.3(介质访问控制)控制器,⽀持介质独⽴接⼝ (MII) 和简化介质独⽴接⼝ (RMII),并⾃带了⼀个⽤于外部 PHY 通信的 SMI 接⼝,通过⼀组配置寄存器,⽤户可以为 MAC 控制器和 DMA 控制器选择所需模式和功能。
STM32F4 ⾃带以太⽹模块特点包括:⽀持外部 PHY 接⼝,实现 10M/100Mbit/s 的数据传输速率通过符合 IEEE802.3 的 MII/RMII 接⼝与外部以太⽹ PHY 进⾏通信⽀持全双⼯和半双⼯操作可编程帧长度,⽀持⾼达 16KB 巨型帧可编程帧间隔(40~96 位时间,以 8 为步长)⽀持多种灵活的地址过滤模式通过 SMI(MDIO)接⼝配置和管理 PHY 设备⽀持以太⽹时间戳(参见 IEEE1588-2008),提供 64 位时间戳提供接收和发送两组 FIFO。
⽀持 DMASTM32F4 以太⽹功能框图如图从上图可以看出, STM32F4 是必须外接 PHY 芯⽚,才可以完成以太⽹通信的,外部 PHY芯⽚可以通过 MII/RMII 接⼝与 STM32F4 内部 MAC 连接,并且⽀持 SMI(MDIO&MDC)接⼝配置外部以太⽹ PHY 芯⽚SMI 接⼝,即站管理接⼝,该接⼝允许应⽤程序通过 2 条线:时钟(MDC)和数据线(MDIO)访问任意 PHY 寄存器。
该接⼝⽀持访问多达 32 个 PHY,应⽤程序可以从 32 个 PHY 中选择⼀个 PHY,然后从任意 PHY 包含的 32 个寄存器中选择⼀个寄存器,发送控制数据或接收状态信息。
任意给定时间内只能对⼀个 PHY 中的⼀个寄存器进⾏寻址。
MII 接⼝,即介质独⽴接⼝,⽤于 MAC 层与 PHY 层进⾏数据传输。
STM32F407 通过 MII与 PHY 层芯⽚的连接如图MII_TX_CLK:连续时钟信号。
STM32F4+LAN8720A...
STM32F4+LAN8720A...一、目标实现通过网络通信的方式,当上位机发出对应指令给STM32,STM32根据收到的指令来执行对应的操作(例如:亮灯、灭灯、闪灯等)。
还有可以将STM32连上路由器,当电脑连上路由器后,也可以通过上位机给STM32发送命令。
二、实现步骤1、首先使用STM32CubeMX按照对应的开发板生成对应的程序模版。
本人使用的正点原子的STM32F407ZGT6探索者开发板,对应的以太网接口是LAN8720A。
在STM32CubeMX中选上ETH、Lwip(不带操作系统)、对应需要点灯的管脚。
•ETH配制中:按照开发板LAN8720A对应的手册,将特殊标志位地址与芯片的信息一一配对选上(其实Cube生成的默认参数和LAN8720A是对应的上的,如果是其他PHY芯片,则需要查看手册来配制)•Lwip配制中:不使用DHCP,使用手动配制的IP。
在这一步中,其实以及把要做的工作完成了90%了!只剩下在应用层面使用LwIP的raw api接口进行开发了。
注意:PHY Address Value 需要设置成0!相应配制如图所示:2、当生成模版后,给ethernetif.c中的HAL_ETH_MspInit(ETH_HandleTypeDef* ethHandle) 中添加LAN8720A的使能代码,然后在主函数的死循环中添加MX_LWIP_Process()函数就可以实现在电脑上ping通STM32了3、阅读LwIP官方给的RAW API 资料,实现在应用层上建立tcp/ip的应用这里的流程与其他平台上tcp/ip或者upd通讯有很多的相似性•首先先创建struct tcp_pcb*tcp_new(void)创建pcb块(类似创建socket)•其次绑定IP err_t tcp_bind(structtcp_pcb *pcb, ip_addr_t *ipaddr, u16_tport)//PCB绑定指定的ip 与端口号•然后看作为客户端还是服务器•若是作为服务器则使用进行监听structtcp_pcb *tcp_listen(struct tcp_pcb *pcb)//返回新的pcb块然后当有连接进来后则使用建立连接:void tcp_accept(struct tcp_pcb *pcb,err_t (* accept)(void *arg, struct tcp_pcb*newpcb, err_t err)) //在回调函数中来执行建立连接后要执行的事情连接建立后则可以开始进行读写操作:err_t tcp_write(struct tcp_pcb *pcb,const void *dataptr, u16_t len, u8_tapiflags)//直接往PCB块中国写入len长度的dataptr指向内容void tcp_sent(struct tcp_pcb *pcb,err_t (* sent)(void *arg, struct tcp_pcb*tpcb, u16_t len)) //在回调函数中来执行接受到消息后要执行的事情void tcp_recv(struct tcp_pcb *pcb,err_t (* recv)(void *arg, struct tcp_pcb*tpcb, struct pbuf *p, err_t err))//在回调函数中来执行接受到消息后要执行的事情void tcp_recved(struct tcp_pcb *pcb,u16_t len) //从PCB块中接受len长度的数据三、有关LwIP的一些理解与生成模版代码的注释1.//lwip.c2.void MX_LWIP_Init(void)3.{4./* IP addresses initialization */5.//ip地址、子网掩码、网关6.IP_ADDRESS[0] = 192;7.IP_ADDRESS[1] = 168;8.IP_ADDRESS[2] = 1;9.IP_ADDRESS[3] = 100;MASK_ADDRESS[0] = 255;MASK_ADDRESS[1] = 255;MASK_ADDRESS[2] = 255;MASK_ADDRESS[3] = 0;14.GATEWAY_ADDRESS[0] = 192;15.GATEWAY_ADDRESS[1] = 168;16.GATEWAY_ADDRESS[2] = 1;17.GATEWAY_ADDRESS[3] = 1;18.19./* Initilialize the LwIP stack without RTOS */20.//初始化lwip,初始化了mem、pbuf、netif、ip、tcp与udp,检查延迟时间的舒适化等等21.lwip_init();22.23./* IP addresses initialization without DHCP (IPv4) */24.//将IP等信息转化成为大端序添加到IPV4信息中、ipaddr、netmask、gw25.IP4_ADDR(&ipaddr, IP_ADDRESS[0], IP_ADDRESS[1], IP_ADDRESS[2], IP_ADDRESS[3]);26.IP4_ADDR(&netmask, NETMASK_ADDRESS[0], NETMASK_ADDRESS[1] , NETMASK_ADDRESS[2], NETMASK_ADDRESS[3]);27.IP4_ADDR(&gw, GATEWAY_ADDRESS[0], GATEWAY_ADDRESS[1], GATEWAY_ADDRESS[2], GATEWAY_ADDRESS[3]);28.29./* add the network interface (IPv4/IPv6) without RTOS */30.//添加网络接口到lwip netifs 列表中,调用回调函数来初始化以太网,在netif 网络接口结构体中放置input31.//其中 ethernetif_init 中包括了 low_level_init(用于初始化以太网管脚接口、MAC信息、使能DMA与MAC的数据交互)32.//其中 ethernet_input 用于接收以太网接口的数据帧if_add(&gnetif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, ðernet_input);34.35./* Registers the default network interface */36.//将网络接口设置为默认的网络接口if_set_default(&gnetif);38.39.if (netif_is_link_up(&gnetif))//查看是否有链接40.{41./* When the netif is fully configured this function must be called */42.//建立一个可以处理的网络接口if_set_up(&gnetif);44.}45.else46.{47./* When the netif link is down this function must be called */48.//关闭网络接口if_set_down(&gnetif);50.}51.52./* USER CODE BEGIN 3 */53.54./* USER CODE END 3 */55.}。
STM32F103ZET6电路设计
STM32F103ZET6 电路设计题目:STM32F103ZET6 电路设计学院:电子信息与电气工程学院专业: ____________________________班级: _______________________________ 姓名: ______________________________ 学号: _______________________________一、设计背景随着信息时代的到来,电子技术正在突飞猛进的发展,电子产品已涉及到国防,航天等高技术领域,甚至生活的各个方面都要依靠电子技术,从使用环境来说,它的应用领域广泛,应用异彩纷呈,所以电子产品的设计也就变得格外重要,不管是最基础的电子产品还是高端的电子产品的设计,都需要设计者的精心设计。
科技水平的发展,ARM的应用越来越广泛,人与机器的交流也显得越来越重要,本次课程设计主要是以STM32F103RCT6为主芯片,其他辅助模块有JTAG 调试接口,RESET复位,系统时钟晶振,用户操作按键,LED状态显示,OLED液晶接口,ISP下载串口TTL,NRF2401无线通信接口,通用10 接口,FLASH-存储数据,USB供电-STM32 的USB_SLAVE接口等若干模块和其他辅助芯片为主要器件。
二、STM32F103最小系统的设计(1)原理图的绘制1) 创建工程在E盘建一个文件夹:STM32F103电路板设计选择[文件][新建][工程][PCB工程]STM32F103最小系统工程,保存到命名为STM32F103ZET6电路板设计文件夹中,在此工程下建一个原理图,命名为发STM32F103 ZET62) 放置元器件调用软件自带的库,寻找自己所需元器件。
Altium designer(Protel)中常用库:Ean ^a^rLar^r,■尸|>・rBurvii Lcvt-zth**!Miscella neous Devices .In tLib Dallas Microprocessor.ddb In tel Databooks.ddbProtel DOS Schematic Libraries.ddb PCB 元件常用库: Advpcb.ddb Gen eral IC.ddb Miscella neous.ddb3) 绘制原理图绘制原理图时,有些元器件软件自身并没有,这就需要自己来绘制 ,封装了在此模块中需要绘制 最终原理图为:Z ,hT 和KiwiriiKi wi : I***re 吨编译原理图,保证无错误,无警告把原理图绘制完之后可查看其网络报表及元件清单(2) PCB 的制作椁■■血 - ffiTS . ■砰和崗屮.・ JP i^:> Vi I Fi r hM-lftH. 1•ZtE*旧厂 ■ rffp HH>・■■ « ; I .^TMiX aiJEHiE■: i wa^r Qw♦J 口 沪S«e Mt £.1 nvicg 工・富 tt ・P>D XHTiO ■各 R fl! if* ® ・i»H 宜I«二辽■*■ _ 亠 _ -z ■*■—JM * I ~n~r:Ean ^a^rLar^r ,■尸 |>・ rBurvii Lcvt-zth**! (3) A .准备工作:保证原理图无错误, 对工程原理图编辑,有错误进行改正 可查看其分装管理Footprint Maragir- IFSTM32F103ZET 氐PIU 代f]91 呱 * &J W! TE*T 豈舸EW nr-C5C7 C1C C11 CIS C11 C14ID*Cap伽 KH C QP -10* 1D+他 W104- 1LUW ID* 1WW<1W- ID*血 ID*W-ID! 1D4 WGp 3 倔1{M 1D€L EM LEDCLEDQ LieC®5Cm&c:MCSC: o«w fffiC03C5C W5C QK5C 乂 J 亠M05C WCX NffiC «05C wra> MfiEC施垃M^C WBCMC5C :<l®>W5C03C3C*<90^0 '^SDCfl£50 O^DCI”抽於孰 ■.厲唤电晁名甘I -〜r —「叶 1 SwolScHDw 1鼻3鱼fg 1 5-Cffl "汨 g 1 乍 zmSzHfec1 5*i»1 ScHfe ;1 Scrta1 j -se:' Scrttoc 1 zrSdg11 AeeT gg I - Teel/ icrDoc1 电 k 1瓦停T_ 1 J&MsT&rg 11⑺灯-S-W 1 5^n _ WRw 1 g 「站g 1 ■i'W^crfe 1 S^SzHSoc 1 SMffl^SCfClOC 1 Star sg I '- -Kf^ ' ScMDoc1 5*«M I W&K 1 SU1 n -S L I-U JU 1 StrikeI :柚“幻叶1『j ■廿g I s™_ S C TD MJ 1 SteHSd^K i ySCT D K1 SnBfli ^cH)wIrac a 匸 KJI -I hsatKf *2 aojp Ir TiJl ConpcnertB fl. :el«7«dFoc>fEpiHit Manager - [STMSJFiO^ZET 氐PfUPCB]LEQM6DARMJLRG J1; I0■加 HD^25CKi H3.»c? HO^OO UR J4 UIA J4H 十T* HDf?x )US_CDWHDF1K3 IW42FUKHI2HMdCT H»2;C HndvrW第却TOM B L <«T5C Rul MIAL43 R M I 和 JtL^O * Hui AXKL-D.3A M I ZNSRail AKKL-Ql Hui OH 用站皿 些直山』 QR wMij REA>:RnJMlAUJ RW 护财J DR DR AXKLOiJ /灿」 DH AX»U>3Huin«iWtWL-0) Fl* 廂审朗 冃宀 叫L 帖 NEAXKL411 A»l 林相3禺*<|l MT I SchEc n Shrtll Stihtai 毋y 帥匚啦 %w(l 汩W G ^«dl ^chDnc I — " : >■> Sl?-wi I 吕机 a 労1rfH ■苗M Sheri I ~chP*g ShedlScrihDw Swll MOW 环gi SthC^fi-Mvc 环Xl jchEvc 钿—I 5<rhp«ir SWil SehUc Sfrwt i xh [粧 Stall 叶 兽i*l Sc hL«it ggM ^ttSl Seh&iC Sbwf • rchtnic ^>#dl jch&iE 种福1諭血 功g 汁皓i xh 血 Shflfll $G HP BE Siedl SdhOM 捕特i fchhcSwUSehDuI !chtwc Sh*J I 5cftEvc Sh 福i刊H W B•""!■悔 RJP 0 円* Efck^各元器封装正确就可生成PCB 了;2) 生成PCB选择[文件][新建][PCB ]命名为工程板,保存在之前建好的工程下面,最后选择[设计] Update PCB Document 工程板PcbDoc ,将其导入成功将数据导入,接下来接下来 PCB 的工程正式开PCB 的排版需要考虑多个因素,原理图的布局,布线,元器件的特性,板子的实用性,排版美观等等都需要我们考虑。
stm32硬件电路设计
本节将向大家介绍ALIENTEK MiniSTM32开发板的各部分硬件,让大家对该开发板的各部分硬件原理有个理解。
1.2.1 MCUALIENTEK MiniSTM32选择的是STM32F103RBT6作为MCU,STM32F103的型号众多,我们选择这款的原因是看重其性价比,作为一款低端开发板,选择STM32F103RBT6是最佳的选择。
128K FLASH、20K SRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚…,这样的配置无论放到哪里都是很不错的了,更重要的是其价格,18元左右的零售价,足以秒杀很多其他芯片了,所以我们选择了它作为我们的主芯片。
MCU部分原理图如下:图1.2.1.1 MCU部分原理图上图中中上部的BOOT1用于设置STM32的启动方式,其对应启动模式如下表所示:表1.2.1.1 BOOT0、BOOT1启动模式表我们用串口下载代码,则配置BOOT0为1,BOOT1为0即可,如果想让STM32一按复位键就开始跑代码,则需要配置BOOT0为0,BOOT1随便设置都可以。
P3和P1分别用于PORTA和PORTB的IO口引出,其中P2还有部分用于PORTC口的引出。
PORTA和PORTB都是按顺序排列的,这样设计的目的是为了让大家更方便地与外部设备连接。
P2连接了DS18B20的数据口以及红外传感器的数据线,它们分别对应着PA0和PA1,只需要通过跳线帽将P2和P3连接起来就可以使用了。
这里不直接连在一起的原因有二:1,防止红外传感器和DS18B20对这两个IO口作为其他功能使用的时候的影响;2,DS18B20和红外传感器还可以用来给其他板子提供输入,等于我们的板子为别的板子提供了红外接口和温度传感器,在调试的时候,还是蛮有用的。
P4口连接了PL2303的串口输出,对应着STM32的串口1(PA9/PA10),在使用的时候,也是通过跳线帽将这两处连接起来。
STM32F103的高速以太网接口设计
准备知识
STM32F103单片机是一款由STMicroelectronics公司生产的32位Flash存储 器单片机。它采用了ARM Cortex-M3内核,具有高性能、低功耗、易于开发等优 点。以太网接口是单片机的一个重要外设,它遵循IEEE 802.3标准,通过双绞线 进行数据传输,传输速率可达100Mbps或1Gbps。
(3)设置网络中断处理函数和数据接收/发送缓冲区。
2、电路设计
以太网接口电路主要包括RJ45连接器、滤波器、去耦电容等元件。电路设计 时应考虑以下因素:
(1)选择合适的PHY芯片,如LAN8720A、RTL8201等;
(2)根据电路板材质和尺寸,合理布置元件;
(3)确保电源稳定,采用去耦电容降低电源噪声;
2、电路设计及PCB布线在电路设计阶段,需要选择合适的PHY芯片和网络芯 片,并根据电路板材质和尺寸合理布置元件。在PCB布线阶段,需要遵循本次演 示所述的原则,对网线、电源线和信号线进行合理分层和处理。特别地,对于关 键信号线应进行屏蔽处理以降低干扰。此外,还需合理设计电源和地线以提供稳 定的电源环境。
常用芯片
1、以太网PHY芯片
以太网PHY芯片负责将MAC控制器输出的信号转换为可以在双绞线上传输的信 号,同时将来自双绞线的信号转换为MAC控制器可以处理的信号。常用的PHY芯片 包括LAN8720A、RTL8201等。
2、网络芯片
网络芯片通常包括MAC控制器和PHY接口,以及一些辅助功能,如MII(Media Independent Interface)或RMII(Reduced Media Independent Interface) 接口、中断控制器等。常用的网络芯片包括LAN9118等。
感谢观看