当前位置: 首页 > news >正文

购买网站建站泰安网站建设优化案例报告

购买网站建站,泰安网站建设优化案例报告,电子商务系统分析报告,为什么需要响应式网站文章目录 一.概要二.W5500芯片介绍W5500通讯协议介绍 三.W5500模块介绍四.W5500模块原理图五.W5500以太网模通讯实验六.CubeMX工程源代码下载七.小结 一.概要 我们介绍过单片机的以太网系统一般是由#xff1a;单片机MACPHYRJ45。有些单片机比如STM32F407VET6芯片内部自带MAC… 文章目录 一.概要二.W5500芯片介绍W5500通讯协议介绍 三.W5500模块介绍四.W5500模块原理图五.W5500以太网模通讯实验六.CubeMX工程源代码下载七.小结 一.概要 我们介绍过单片机的以太网系统一般是由单片机MACPHYRJ45。有些单片机比如STM32F407VET6芯片内部自带MACSTM32F407VET6PHY(LAN8720)RJ45就能组成以太网系统但比如常见的STM32F103C8T6单片机是不带MAC控制器需要组成以太网系统就不能采用STM32F407的方式。 STM32F103C8T6W5500芯片(SPI转以太网)RJ45就能很好组成以太网系统。W5500 是一款全硬件 TCP/IP嵌入式以太网控制器集成PHY和MAC带硬件TCP/IP协议栈为嵌入式系统提供了更加简易的互联网连接方案 使用硬件逻辑门电路实现, TCP/IP 协议栈的传输层及网络层(如:TCP,UDP,ICMP,IPV4ARP, IGMP.PPPoE 等协议)并集成了数据链路层物理层以及 32K字节片上 RAM 作为数据收发缓存。使得单片机只需承担TCP/P 应用层控制信息的处理任务。从而大大节省了单片机对于数据复制、协议处理和中断处理等方面的工作量提升了系统利用率及可靠性。 W5500模块集成了个硬件 TCP/IP 协议栈芯片 W5500 以及1个含有网络变压器的 RJ45(HR911105A)。 本文介绍了 W5500芯片以及W5500模块并通过STM32F103C8T6单片机驱动W5500模块实现TCP/IP数据通讯。 二.W5500芯片介绍 W5500芯片是WIZnet公司出品的全硬件 TCP/IP 协议栈支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 协议。W5500 内嵌 32K 字节片上缓存以供以太网包处理。如果你使用 W5500 你只需要一些简单的 Socket 编程就能实现以太网应用。这将会比其他嵌入式以太网方案 更加快捷、简便。用户可以同时使用 8 个硬件 Socket 独立通讯。 W5500 提供了 SPI串行外部接口作为外设主机接口共有 SCSn, SCLK, MOSI, MISO 4 路信 号且作为 SPI 从机工作。 W5500 的使用了新的高效 SPI 协议支持 80MHz 速率从而能够更好的实现高速网络通讯。 为了减少系统能耗W5500 提供了网络唤醒模式WOL及掉电模式供客户选择使用。 W5500特点 支持硬件 TCP/IP 协议TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE 支持 8 个独立端口Socket同时通讯 支持掉电模式 支持网络唤醒 支持高速串行外设接口SPI 模式 03 内部 32K 字节收发缓存 内嵌 10BaseT/100BaseTX 以太网物理层PHY 支持自动协商10/100-Based 全双工/半双工 不支持 IP 分片 3.3V 工作电压I/O 信号口 5V 耐压 LED 状态显示全双工/半双工网络连接网络速度活动状态 48 引脚 LQFP 无铅封装7x7mm, 0.5mm 间距 基于W5500芯片组成的基本以太网设备 W5500通讯协议介绍 W5500与单片机采用SPI数据格式进行通讯 W5500的SPI帧分为 3 段地址段控制段数据段如下图所示。 SPI帧格式图 W5500的SPI 数据帧包括了 16 位地址段的偏移地址8 位控制段和 N 字节数据段。8 位控制段可以通过修改区域选择位 (BSB[4:0])读/写访问模式位(RWB)以及 SPI工作模式位(OM[1:0])来重新定义。 区域选择位选择了归属于偏移地址的区域。 地址段 地址段为 W5500 的寄存器或 TX/RX 缓存区指定了 16 位的偏移地址。 这 16 位偏移地址的值来自 于从最高标志位到最低标志位的顺序传输。 SPI 数据帧的数据段2/4/N 字节通过偏移地址自增每传输 1 字节偏移地址加 1 支持连续数据读/写。 控制段 控制段指定了地址段设定的偏移区域的归属读/写访问模式以及 SPI 工作模式。 在 VDM 模式下(可变数据长度模式 Variable Data Length Mode)SPI 数据帧的长度被外设主机控制的 SCSn 所定义。这就意味着数据 段长度根据 SCSn 的控制可以是一个随机值从 1 字节到 N 字节任何长度均可在 VDM 模式下OM[1:0]位必须为‘00’。 数据段 在 SPI 工作模式位 OM[1:0]设定了控制端之后数据段被设定为 2 种长度类型1 种为可变的 N 字 节长度可变数据长度模式另以一种为确定的 1/2/4 字节长度固定数 据长度模式。 此时1 字节数据从最大标志位到最小标志位通过 MOSI 或者 MISO 信号传输。 VDM 模式下SPI写时序 SPI 的MODE0和MODE3唯一不同的就是在非活动状态下 SCLK 信号的极性,我们一般都采用空闲下是低电平就是STM32 SPI协议中CPOL为0CPHA为0所以默认采用MODE0方式。 VDM 模式下SPI读时序 三.W5500模块介绍 W5500模块集成了个W5500芯片以及1个含有网络变压器的 RJ45(HR911105A)。 W5500模块可以使用杜邦线与STM32F103C8T6开发板连接其中W5500模块引脚丝印可在模块正面看到。 STM32单片机板子与W5500模块通过7根杜邦线相连 板子GND----模块GND 板子5V-------模块5V 板子PB12—模块SCS 板子PB13—模块SCLK 板子PB14—模块MISO 板子PB15—模块MOSI 板子PA8-----模块RST 四.W5500模块原理图 五.W5500以太网模通讯实验 硬件准备 STLINK接STM32F103C8T6开发板STLINK接电脑USB口开发板通过杜邦线接W5500模块W5500模块通过网线接电脑网口。 打开STM32CubeMX软件,新建工程 Part Number处输入STM32F103C8再双击就创建新的工程 配置下载口引脚 配置外部晶振引脚 配置系统主频 PA8,PB12配置成GPIO输出 SPI2引脚配置以及速度配置 配置工程文件名保存路径KEIL5工程输出方式 生成工程 用Keil5打开工程 添加代码 配置IP地址等信息确保板子的IP地址电脑IP地址在同一网关内 两个GPIO控制引脚进行相应配置 SPI读写函数调用换成HAL库 调用W5500初始化以及数据收发函数实现数据通讯 主要代码 uint8_t remote_ip[4]{192,168,1,15}; /*远端IP地址*///服务器IP地址电脑网口的IP地址 uint8_t Gateway_ip[4]{192,168,1,1}; /*网关地址*/ uint8_t Board_ip[4]{192,168,1,55}; /*板子IP地址*/ //上述三个IP地址需配置正确///uint16_t local_port8888; /*定义本地端口*///可以固定成8888实验时候不需要改 uint16_t remote_port8888; /*远端端口号*/ //服务器的端口号可以固定成8888实验时候不需要改#define W5500_NSS_Pin GPIO_PIN_12 #define W5500_NSS_GPIO_Port GPIOB #define W5500_RES_Pin GPIO_PIN_8 #define W5500_RES_GPIO_Port GPIOA #define W5500_RES_High() HAL_GPIO_WritePin(W5500_RES_GPIO_Port,W5500_RES_Pin,GPIO_PIN_SET) // /*W5500的RESET管脚*/ #define W5500_RES_Low() HAL_GPIO_WritePin(W5500_RES_GPIO_Port,W5500_RES_Pin,GPIO_PIN_RESET)// /*W5500的RESET管脚*/ #define W5500_NSS_High() HAL_GPIO_WritePin(W5500_NSS_GPIO_Port,W5500_NSS_Pin,GPIO_PIN_SET) ///*W5500的片选管脚*/ #define W5500_NSS_Low() HAL_GPIO_WritePin(W5500_NSS_GPIO_Port,W5500_NSS_Pin,GPIO_PIN_RESET) ///*W5500的片选管脚*// //W5500初始化 void W5500_ChipInit(void) {W5500_RESET();//复位芯片reg_wizchip_cris_cbfunc(SPI_CrisEnter, SPI_CrisExit); //注册临界函数reg_wizchip_cs_cbfunc(SPI_CS_Select, SPI_CS_Deselect); //注册SPI片选函数reg_wizchip_spi_cbfunc(SPI_ReadByte, SPI_WriteByte); //注册SPI读写函数ChipParametersConfiguration();//初始化芯片NetworkParameterConfiguration();//初始化网络参数配置 MAC 静态IP配置等 } //SPI发送1字节 void SPI_WriteByte(uint8_t TxData) { uint8_t data;HAL_SPI_TransmitReceive(hspi2,TxData,data,1,100); }//SPI接收1字节 uint8_t SPI_ReadByte(void) { uint8_t data[2]{0xFF,0xFF};HAL_SPI_TransmitReceive(hspi2,data,data1,1,100);return data[1]; }int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();//8M外部晶振72M系统主频/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();//复位管脚片选管脚初始化MX_SPI2_Init();//初始化SP2引脚PB13,PB14,PB15/* USER CODE BEGIN 2 */W5500_ChipInit(); //芯片初始化/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */Net_Status getSn_SR(SOCK_TCPC);switch(Net_Status) /*获取socket的状态*/{case SOCK_CLOSED: /*socket处于关闭状态*/socket(SOCK_TCPC,Sn_MR_TCP,local_port,Sn_MR_ND);break;case SOCK_INIT: /*socket处于初始化状态*/connect(SOCK_TCPC,remote_ip,remote_port);/*socket连接服务器*/break;case SOCK_ESTABLISHED: /*socket处于连接建立状态*/if(getSn_IR(SOCK_TCPC) Sn_IR_CON) {setSn_IR(SOCK_TCPC, Sn_IR_CON); /*清除接收中断标志位*/}LengetSn_RX_RSR(SOCK_TCPC); /*获取接收的数据长度*/if(Len0) //接收到数据{recv(SOCK_TCPC,RevBuf,Len); /*接收来自Server的数据*/ send(SOCK_TCPC,RevBuf,Len); //接收到的数据返回给服务器}else{send(SOCK_TCPC,TEST_buff,sLen); //发送默认的数组HAL_Delay(1000);//等待1000ms}break;case SOCK_CLOSE_WAIT: /*socket处于等待关闭状态*/close(SOCK_TCPC);break;}}/* USER CODE END 3 */ }实验效果 IP,端口都配置完成后网线连接上电脑后电脑TCP上位机打开服务器模式就能接收到数据 六.CubeMX工程源代码下载 通过网盘分享的文件W5500以太网模块通信实验HAL库.rar 链接: https://pan.baidu.com/s/150GohcZUoWHk0-gcq9HbkA 提取码: 5cqi 如果链接失效可以联系博主给最新链接 程序下载下来之后解压就行 七.小结 W5500模块只需要一些简单的 Socket 编程就能实现以太网通讯适合STM32F103单片机实现以太网相关应用。
http://www.pierceye.com/news/4584/

相关文章:

  • 上海策朋网站设计公司工信部网站备案修改
  • 上海网站建设品凡科互动游戏修改器
  • 橙光音乐一家做音乐的网站推广互联网推广
  • 北京通信管理局网站备案做古玩生意哪些网站好
  • 网站不备案 能打开吗深圳网站定制开发
  • 西宁建设公司网站网站建设好如何开通
  • 工业电商做网站怎么样微信官网网站
  • .net 网站开发项目结构做网站怎么实现鼠标经过图像
  • 室内设计师经常用的网站qq网页版在线登录入口
  • 做网站制作网站管理登录
  • 如何介绍设计的网站模板哈尔滨网站建设流程
  • 中国建设银行青岛分行网站WordPress上传图片提示无效
  • 温州哪里可以做企业网站wordpress媒体库素材打不开
  • 做企业网站需要自己有公司吗wordpress 双会员系统
  • 宁夏建设厅招标网站seo网站推广全程实例
  • 网站备案查询网址正规电商培训学校排名
  • 苏州小程序开发公司长春做网站优化哪家好
  • 沈阳网站制作网页天元建设集团有限公司本科生待遇
  • 山西电商网站开发最新型建筑模板有哪些
  • 安徽网站建设外贸新浪网网站的建设费用预算
  • 用百度云做网站微信小程序开发难吗
  • 网站制作和网页制作是不是一样专门做外贸的的网站有哪些
  • 企业网站建设方案应该怎么做网站关键词多少个好
  • 手机网站设计需要学什么牛商网网站建设
  • 宝安网站建设阿里指数查询官网入口
  • 做爰网站下载地址百度导航下载安装手机导航
  • 设计师服务平台网站西安网吧
  • 上海网站策划网站根目录文件 seo
  • 基本信息型网站有哪些flask做网站工具
  • 国内做彩票网站违法么国家示范校建设专题网站