虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

以太网协议栈

  • STM32Cube USB 主机库(中文手册)

    本文档详细描述了STM32Cube™ USB 主机库,即在STM32CubeF2 和STM32CubeF4 软 件包中所提供的USB主机协议栈。它使用STM32微控制器作为USB嵌入式主机,与各种USB类的USB外设进行通信(MSC、HID 、CDC、音频和MTP)。

    标签: stm32cube usb 主机库

    上传时间: 2022-05-05

    上传用户:d1997wayne

  • 基于EtherCAT与CANopen技术

    随着工业自动化水平的不断提高,工业控制网络所需负担的工作也日趋繁重,整个网络中传递信息的规模和复杂度也在不断增长,这给控制系统提出了更高的要求。伺服系统作为一种对控制精度、动态响应等性能指标要求很高的控制系统,也必须面对这些问题。本论文研究了将工业以太网技术应用于伺服系统的方法。通过将EtherCAT工业以太网协议与CANopen规范相结合,以TMS320F2812系列DSP为平台,设计并实现了伺服驱动器的工业以太网通信接口,组建了网络化的运动控制系统。通过分析EtherCAT与CANopen相关技术细节,阐述了将CANopen与EtherCAT相结合的关键点,给出了多种运动控制模式的设计方式,分析了软件设计和实现的具体方法和要点。本文按照分层和模块化的方式给出了通信接口的设计过程,按层次分为三个大的模块:EtherCAT通信模块、CoE通信模块与CANopen运动控制模块。对各个模块又根据功能分为多个子模块,其中EtherCAT 通信模块主要包括:EtherCAT状态机服务、邮箱服务和过程数据服务:CoE通信模块包括:服务数据对象(SDO)服务、过程数据对象(PDO)服务、对象字典服务;运动控制模块包括设备状态机服务和多种运动控制模式的实现模块。对每个模块本文都给出了具体的设计与实现过程。本文实现了四种运动控制模式下的实际控制结果,包括周期同步的位置与速度模式以及位置与速度轨迹规划模式。实验结果表明,系统能够满足高速度、高精度、高可靠性和同步协调的控制要求。最后对所做工作进行了总结与展望。

    标签: ethercat canopen

    上传时间: 2022-05-27

    上传用户:

  • 深入理解LTE

    本书详细介绍了LTE物理层相关协议及算法实现,包括LTE协议栈结构、LTE时域、频域和空间域资源、下行参考信号、下行L1、L2控制信道、PDSCH信道、传输模式、上行参考信号、PUCCH信道、PUSCH信道、CSI资源指示、上行HARQ、下行HARQ、SR、BSR、DRX、MAC复用与逻辑信道优先级、上行同步、小区搜索过程、系统信息、随机接入过程、寻呼、载波聚合、SPS、TTI bundling、RLC等相关协议和算法,所涉及的专题内容分析非常细致,非常详尽,能很好地帮助读者深入理解LTE物理层相关协议。

    标签: LTE 物理层

    上传时间: 2022-06-01

    上传用户:

  • Quectel_BC20-OpenCPU_硬件设计手册_V1.0_Preliminary

    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的底层结构

    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函数,下面具体看下这个函数的实现

    标签: lwip 底层结构

    上传时间: 2022-06-19

    上传用户:aben

  • c++的socket编程相关资料汇总

    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所示:

    标签: socket C++

    上传时间: 2022-06-19

    上传用户:得之我幸78

  • STM32库开发实战指南

    《单片机与嵌入式:STM32库开发实战指南》基于STM32F103芯片,紧紧围绕“库”的分析和使用展开。在大量实例的基础上,《单片机与嵌入式:STM32库开发实战指南》对于如何综合运用固件库开发项目给出了具体的范例;在固件库的使用和学习的基础上,又进一步讲解了结合嵌入式实时操作系统、TCP/IP协议栈进行嵌入式系统开发的方法,让读者循序渐进、系统地掌握基于STM32官方库进行开发的方法。

    标签: stm32

    上传时间: 2022-06-21

    上传用户:jason_vip1

  • FreeModbus学习笔记.

    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

    上传用户:

  • 由浅入深,蓝牙4.0BLE协议栈开发攻略大全 第四部分

    蓝牙应用技术资料,各种ble软件均可用到

    标签: 蓝牙协议 ble

    上传时间: 2022-06-26

    上传用户:kingwide

  • UCOSII在LPC1768基于固件库20下的移植

    前言:我从2011年年初开始玩LPC1768,在公司做过几个LPC1768的小项目,都是基于UCOS-112.86操作系统和LPC17Xx V2.0固件库(还有的基于ulP1.0以态网协议栈),产品运行稳定,芯片级操作也十分方便(毕竟是基于固件库操作,不用管那些复杂的寄存器),在官网看到不知何时出了UCOS-I1-V2.91,于是准备应用本版本编写今后的程序,移植时,有意留心写下这篇移植步骤,希望对初学者有帮助。一、移植前的准备工作下载所需文件:1、在LPCWARE官网下载LPC175x 6x CMSIS-Compliant Standard Peripheral Firmware Driver Library(LPC175X,LPC176x固件驱动库),下载地址链接:http://www.lpcware.com/content/nxpfile/lpc175x6x-cmsis-compliant-standard-perip heral-firmware-driver-library-keil-iar-gnu进入网址选择lpc175x6xcmsis-driver_library.zip下载pctis su amas aer baryp2i56tes(也可以在NXP官网下载,但本人去年下载的固件库编译时出现N多警告,看E不爽,自己改又不怕改出问题)2、在UCOS-1l官网下载UCOS-Il-V291源码(上面描述为2.89,但实际内核为2.91),下载地址链接http://micrium.com/page/downloads/source_code进入网址选择UC/os-11下载,如下

    标签: ucosii lpc1768

    上传时间: 2022-06-26

    上传用户:zhanglei193