随着工业控制对可靠性与实时性要求不断提高,传统总线因无法突破实时性,通信效率及总线供电等技术瓶颈而逐渐被一些新的技术所替代。在国内外,一种将以太网应用于工业控制的新兴工业以太网技术引起了越来越多的关注。EtherCAT是一种基于改进的以太网帧结构的工业以太网协议,是目前可靠性和实时性最高的工业以太网协议之一。 本文提出一种基于STM32处理器的EtherCAT从站协议栈的实现方法。首先从物理层、数据链路层及应用层研究分析了 EtherCAT协议。其次,重点设计开发基于STM32处理器的EtherCAT从站设备的协议软件,设计并实现了从站状态机、周期性过程数据及邮箱数据三大通信任务的软件代码。在已搭建的 EtherCAT主从站运行平台验证了系统的可靠与实时性。EtherCAT报文的一次发送和接收共需2ms,该时间随着从站个数的增加变化不大。最后,本文创新点是设计一种基于 EtherCAT实时通信协议栈的智能家居网络控制系统,比以往采用单片机作为终端控制器的控制系统在扩展能力,数据处理能力,实时性方面都有显著优势,实现了智能家居中智能开关与人脸识别门禁两部分应用控制任务,该系统提高了家居控制的安全性及实时性,是目前最有发展前景的工业以太网应用技术之一。 从站协议栈实现EtherCAT的从站功能,并且运行于STM32处理器上,提高了从站运行速度,保证整个EtherCAT系统的实时性。
上传时间: 2022-05-27
上传用户:得之我幸78
本书详细介绍了LTE物理层相关协议及算法实现,包括LTE协议栈结构、LTE时域、频域和空间域资源、下行参考信号、下行L1、L2控制信道、PDSCH信道、传输模式、上行参考信号、PUCCH信道、PUSCH信道、CSI资源指示、上行HARQ、下行HARQ、SR、BSR、DRX、MAC复用与逻辑信道优先级、上行同步、小区搜索过程、系统信息、随机接入过程、寻呼、载波聚合、SPS、TTI bundling、RLC等相关协议和算法,所涉及的专题内容分析非常细致,非常详尽,能很好地帮助读者深入理解LTE物理层相关协议。
上传时间: 2022-06-01
上传用户:
网络是怎样连接的_户根勤---解压密码:666666目录浏览器生成消息 1——探索浏览器内部1.1 生成HTTP 请求消息51.1.1 探索之旅从输入网址开始 51.1.2 浏览器先要解析URL 71.1.3 省略文件名的情况 91.1.4 HTTP 的基本思路 101.1.5 生成HTTP 请求消息 141.1.6 发送请求后会收到响应 201.2 向DNS 服务器查询Web服务器的IP 地址241.2.1 IP 地址的基本知识 241.2.2 域名和IP 地址并用的理由 281.2.3 Socket库提供查询IP 地址的功能 301.2.4 通过解析器向DNS 服务器发出查询 311.2.5 解析器的内部原理 321.3 全世界DNS 服务器的大接力351.3.1 DNS 服务器的基本工作 351.3.2 域名的层次结构 381.3.3 寻找相应的DNS 服务器并获取IP 地址 401.3.4 通过缓存加快DNS 服务器的响应 441.4 委托协议栈发送消息451.4.1 数据收发操作概览 451.4.2 创建套接字阶段 481.4.3 连接阶段:把管道接上去 501.4.4 通信阶段:传递消息 521.4.5 断开阶段:收发数据结束 53COLUMN 网络术语其实很简单怪杰Resolver 55第章11920用电信号传输TCP/IP 数据 57——探索协议栈和网卡2.1创建套接字 612.1.1 协议栈的内部结构 612.1.2 套接字的实体就是通信控制信息 632.1.3 调用socket 时的操作 662.2 连接服务器682.2.1 连接是什么意思 682.2.2 负责保存控制信息的头部 702.2.3 连接操作的实际过程 732.3 收发数据752.3.1 将HTTP 请求消息交给协议栈 752.3.2 对较大的数据进行拆分 782.3.3 使用ACK 号确认网络包已收到 792.3.4 根据网络包平均往返时间调整ACK 号等待时间 832.3.5 使用窗口有效管理ACK 号 842.3.6 ACK 与窗口的合并 872.3.7 接收HTTP 响应消息 892.4 从服务器断开并删除套接字902.4.1 数据发送完毕后断开连接 902.4.2 删除套接字 922.4.3 数据收发操作小结 932.5 IP 与以太网的包收发操作952.5.1 包的基本知识 952.5.2 包收发操作概览 992.5.3 生成包含接收方IP 地址的IP 头部 1022.5.4 生成以太网用的MAC 头部 1062.5.5 通过ARP 查询目标路由器的MAC 地址 1082.5.6 以太网的基本知识 1112.5.7 将IP 包转换成电或光信号发送出去 1142.5.8 给网络包再加3 个控制数据 1162.5.9 向集线器发送网络包 1202.5.10 接收返回包 1232.5.11 将服务器的响应包从IP 传递给TCP 1252.6 UDP 协议的收发操作1282.6.1 不需要重发的数据用UDP 发送更高效 128第章22.6.2 控制用的短数据 1292.6.3 音频和视频数据 130COLUMN 网络术语其实很简单插进Socket 里的是灯泡还是程序 132从网线到网络设备 135——探索集线器、交换机和路由器3.1 信号在网线和集线器中传输1393.1.1 每个包都是独立传输的 1393.1.2 防止网线中的信号衰减很重要 1403.1.3 “双绞”是为了抑制噪声 1413.1.4 集线器将信号发往所有线路 1463.2 交换机的包转发操作1493.2.1 交换机根据地址表进行转发 1493.2.2 MAC 地址表的维护 1533.2.3 特殊操作 1543.2.4 全双工模式可以同时进行发送和接收 1553.2.5 自动协商:确定最优的传输速率 1563.2.6 交换机可同时执行多个转发操作 1593.3 路由器的包转发操作1593.3.1 路由器的基本知识 1593.3.2 路由表中的信息 1623.3.3 路由器的包接收操作 1663.3.4 查询路由表确定输出端口 1663.3.5 找不到匹配路由时选择默认路由 1683.3.6 包的有效期 1693.3.7 通过分片功能拆分大网络包 1703.3.8 路由器的发送操作和计算机相同 1723.3.9 路由器与交换机的关系 1733.4 路由器的附加功能1763.4.1 通过地址转换有效利用IP 地址 1763.4.2 地址转换的基本原理 1783.4.3 改写端口号的原因 1803.4.4 从互联网访问公司内网 1813.4.5 路由器的包过滤功能 182第章32122COLUMN 网络术语其实很简单集线器和路由器,换个名字身价翻倍? 184通过接入网进入互联网内部 187——探索接入网和网络运营商4.1 ADSL 接入网的结构和工作方式1914.1.1 互联网的基本结构和家庭、公司网络是相同的 1914.1.2 连接用户与互联网的接入网 1924.1.3 ADSL Modem 将包拆分成信元 1934.1.4 ADSL 将信元“调制”成信号 1974.1.5 ADSL 通过使用多个波来提高速率 2004.1.6 分离器的作用 2014.1.7 从用户到电话局 2034.1.8 噪声的干扰 2044.1.9 通过DSLAM 到达BAS 2054.2 光纤接入网(FTTH)2064.2.1 光纤的基本知识 2064.2.2 单模与多模 2084.2.3 通过光纤分路来降低成本 2134.3 接入网中使用的PPP 和隧道2174.3.1 用户认证和配置下发 2174.3.2 在以太网上传输PPP 消息 2194.3.3 通过隧道将网络包发送给运营商 2234.3.4 接入网的整体工作过程 2254.3.5 不分配IP 地址的无编号端口 2284.3.6 互联网接入路由器将私有地址转换成公有地址 2284.3.7 除PPPoE 之外的其他方式 2304.4 网络运营商的内部2334.4.1 POP 和NOC 2334.4.2 室外通信线路的连接 2364.5 跨越运营商的网络包2384.5.1 运营商之间的连接 2384.5.2 运营商之间的路由信息交换 2394.5.3 与公司网络中自动更新路由表机制的区别 2414.5.4 IX 的必要性 2424.5.5 运营商如何通过IX 互相连接 243第章4COLUMN 网络术语其实很简单名字叫服务器,其实是路由器 246服务器端的局域网中有什么玄机 2495.1 Web 服务器的部署地点2535.1.1 在公司里部署Web 服务器 2535.1.2 将Web 服务器部署在数据中心 2555.2 防火墙的结构和原理2565.2.1 主流的包过滤方式 2565.2.2 如何设置包过滤的规则 2565.2.3 通过端口号限定应用程序 2605.2.4 通过控制位判断连接方向 2605.2.5 从公司内网访问公开区域的规则 2625.2.6 从外部无法访问公司内网 2625.2.7 通过防火墙 2635.2.8 防火墙无法抵御的攻击 2645.3 通过将请求平均分配给多台服务器来平衡负载2655.3.1 性能不足时需要负载均衡 2655.3.2 使用负载均衡器分配访问 2665.4 使用缓存服务器分担负载2705.4.1 如何使用缓存服务器 2705.4.2 缓存服务器通过更新时间管理内容 2715.4.3 最原始的代理——正向代理 2765.4.4 正向代理的改良版——反向代理 2785.4.5 透明代理 2795.5 内容分发服务2805.5.1 利用内容分发服务分担负载 2805.5.2 如何找到最近的缓存服务器 2825.5.3 通过重定向服务器分配访问目标 2855.5.4 缓存的更新方法会影响性能 287COLUMN 网络术语其实很简单当通信线路变成局域网 291第章52324请求到达Web 服务器,响应返回浏览器 293——短短几秒的“漫长旅程”迎来终点6.1 服务器概览2976.1.1 客户端与服务器的区别 2976.1.2 服务器程序的结构 2976.1.3 服务器端的套接字和端口号 2996.2 服务器的接收操作3056.2.1 网卡将接收到的信号转换成数字信息 3056.2.2 IP 模块的接收操作 3086.2.3 TCP 模块如何处理连接包 3096.2.4 TCP 模块如何处理数据包 3116.2.5 TCP 模块的断开操作 3126.3 Web 服务器程序解释请求消息并作出响应3136.3.1 将请求的URI 转换为实际的文件名 3136.3.2 运行CGI 程序 3166.3.3 Web 服务器的访问控制 3196.3.4 返回响应消息 3236.4 浏览器接收响应消息并显示内容3236.4.1 通过响应的数据类型判断其中的内容 3236.4.2 浏览器显示网页内容!访问完成! 326COLUMN 网络术语其实很简单Gateway 是通往异世界的入口 328附录 330后记 334致谢 334作者简介 335
标签: 网络
上传时间: 2022-06-02
上传用户:fliang
Quectel BC20 尺寸紧凑、功耗超低 NB-IoT/GNSS 无线通信模块 BC20 是一款高性能、低功耗、双频段、支持 GNSS 定位功能的 NB-IoT 无线通信模块。其尺寸仅为 18.7mm × 16.0mm × 2.1mm,能最大限度地满足终端设备对小尺寸模块产品的需求,同时有效帮助客户减小产品尺寸并优化产品成本。 BC20 在设计上兼容移远通信 GSM/GPRS/GNSS 系列 MC20 模块,方便客户快速、灵活的进行产品设计和升级。BC20 提供丰富的外部接口和协议栈,同时支持中国移动 OneNET、中国电信 IoT、华为 OceanConnect 以及阿里云等物联网 云平台,为客户的应用提供极大的便利。 基于先进的 GNSS 技术,BC20 可支持 BeiDou 和 GPS 双卫星导航系统解调算法,使其定位更加精准、抗多路径干扰能 力更强,比传统的单 GPS 定位模块具有更多优势。另外,BC20 模块内置 LNA 和低功耗算法:前者保证更高的灵敏 度,后者保证低功耗模式下更低的耗流。 相较传统的 NB-IoT+GNSS 方案,BC20 的一体化设计使其体积减少 40%。凭借其紧凑尺寸、超低功耗和超宽工作温度 范围,BC20 在各种应用中占具更大优势;其主要应用领域为:自行车和摩托车防盗、宠物追踪、金融财产追踪及行 车记录仪等等。
标签: quectel bc20 opencpu
上传时间: 2022-06-09
上传用户:
Lwip协议栈的实现目的,无非是要上层用来实现app的socket编程。好,我们就从socket开始。为了兼容性,lwip的socket应该也是提供标准的socket接口函数,恩,没错,在src\inc lude\lwip\socket.h文件中可以看到下面的宏定义:#if LWIP COMPAT SOCKETS#define accept(a,b,c)Iwip accept(a,b,c)#define bind(a,b,c)Iwip bind(a,b,c)#define shutdown(a,b)Iwip shutdown(a,b)#define closesocket(s)Iwip close(s)好,这个结构先不管它,接着看下get socket函数的实现【也是在src\api\socket.c文件中】,在这里我们看到这样一条语句sock =&sockets[s];很明显,返回值也是这个sock它是根据传进来的序列号在sockets数组中找到对应的元素并返回该元素的地址。好了,那么这个sockets数组是在哪里被赋值了这些元素的呢?进行到这里似乎应该从标准的socket编程的开始,也就是socket函数讲起,那我们就顺便看一下。它对应的实际实现是下面这个函数Int Iwip socket(int domain,int type,int protocol)【src\api\socket.c】这个函数根据不同的协议类型,也就是函数中的type参数,创建了一个netconn结构体的指针,接着就是用这个指针作为参数调用了alloc socket函数,下面具体看下这个函数的实现
上传时间: 2022-06-19
上传用户:aben
1、原始套接字透析之前言大多数程序员所接触到的套接字(Socket)为两类服务应用:(1)流式套接字(SOCK-STREAM):一种面向连接的Socket,针对于面向连接的TCP(2)数据报式套接字(SOCK-DGRAM):一种无连接的Socket,对应于无连接的UDP服务应用.从用户的角度来看,SOCK-STREAM,SOCK-DGRAM这两类套接字似乎的确涵盖了TCP/IP应用的全部,因为基于TCPIP的应用,从协议栈的层次上讲,在传输层的确只可能建立于TCP或UDP协议之上(图1),而SOCK STREAM,SOCK DGRAM又分别对应于TCP和UDP,所以几乎所有的应用都可以用这两类套接字实现。但是,当我们面对如下问题时,SOCK_STREAM,SOCK DGRAM将显得这样无助:(1).怎样发送一个自定义的IP包?(2)怎样发送一个ICMP协议包?(3)怎样使本机进入杂糅模式,从而能够进行网络sniffer?(4)怎样分析所有经过网络的包,而不管这样包是否是发给自己的?(5)怎样伪装本地的IP地址?这使得我们必须面对另外一个深刻的主题--原始套字(Raw Socket),Raw Socket广泛应用于高级网络编程,也是一种广泛的黑客手段。著名的网络sniffer、拒绝服务攻击(DOS),IP欺骗等都可以以Raw Socket实现。Raw Socket与标准套接字(SOCK STREAM,SOCK DGRAM)的区别在于前者直接置"根"于操作系统网络核心(Network Core),而SOCK STREAM.SOCK DGRAM则"悬浮“于TCP和UDP协议的外围,如图2所示:
上传时间: 2022-06-19
上传用户:得之我幸78
《单片机与嵌入式:STM32库开发实战指南》基于STM32F103芯片,紧紧围绕“库”的分析和使用展开。在大量实例的基础上,《单片机与嵌入式:STM32库开发实战指南》对于如何综合运用固件库开发项目给出了具体的范例;在固件库的使用和学习的基础上,又进一步讲解了结合嵌入式实时操作系统、TCP/IP协议栈进行嵌入式系统开发的方法,让读者循序渐进、系统地掌握基于STM32官方库进行开发的方法。
标签: stm32
上传时间: 2022-06-21
上传用户:jason_vip1
W5500W5500是一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。W5500集成了TCP/IP协议栈,10/100M以太网数据链路层(MAC)及物理层(PHY),使得用户使用单芯片就能够在他们的应用中拓展网络连接。久经市场考验的WIZnet全硬件TCP/IP协议栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP以及PPPOE协议。W5500内嵌32K字节片上缓存以供以太网包处理。如果你使用W5500,你只需要一些简单的Socket编程就能实现以太网应用。这将会比其他嵌入式以太网方案更加快捷、简便。用户可以同时使用8个硬件Socket独立通讯。W5500提供了SPI(外设串行接口)从而能够更加容易与外设MCU整合。而且,W5500的使用了新的高效SPI协议支持80MHz速率,从而能够更好的实现高速网络通讯。为了减少系统能耗,w5500提供了网络唤醒模式(WOL)及掉电模式供客户选择使用。
标签: w5500
上传时间: 2022-06-23
上传用户:得之我幸78
FreeModbus学习笔记一、FreeModbus简介FreeMODBUS一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。FreeMODBUS提供了RTU/ASCII传输模式及TCP协议支持。FreeModbus遵循BSD许可证,这意味着用户可以将FreeModbus应用于商业环境中。目前版本FreeModbus-V1.5提供如下的功能支持:二、FreeModbus对硬件的需求FreeModbus 协议对硬件的需求非常少——基本上任何具有串行接口,并且有一些能够容纳modbus数据帧的RAM的微控制器都足够了。◆一个异步串行接口,能够支持接收缓冲区满和发送缓存区空中断。一个能够产生RTU传输所需要的t3.5字符超时定时器的时钟。对于软件部分,仅仅需要一个简单的事件队列。在使用操作系统的处理器上,可通过单独定义一个任务完成Modbus时间的查询。小点的微控制器往往不允许使用操作系统,在那种情况下,可以使用一个全局变量来实现该事件队列(AtmelAVR移植使用这种方式实现)。实际的存储器需求决定于所使用的Modbus模块的多少。下表列出了所支持的功能编译后所需要的存储器。ARM是使用GNUARM编译器3.4.4使用-01选项得到的。AVR项数值是使用WinAVR编译器3.4.5使用-Os选项编译得到的。
标签: freemodbus
上传时间: 2022-06-24
上传用户:
蓝牙应用技术资料,各种ble软件均可用到
上传时间: 2022-06-26
上传用户:kingwide