
【协议】
文章平均质量分 79
protocol
EmbededCoder
C, Python, C++, Qt, MCU, RTOS, ARM Cortex-M, Linux
展开
-
Homebus(HBS)通信协议学习
hus转载 2022-10-26 13:32:21 · 5677 阅读 · 0 评论 -
从IIC实测波形入手,搞懂IIC通信
玩单片机的朋友都知道IIC通信这个工具,但好多人只是会用,内部的原理不求甚解,或是想要了解其原理,但却对抽象的时序描述一头雾水。本文将从实测的IIC波形入手,带你看到真实的IIC样子,进而去理解IIC的通信原理。...转载 2022-07-19 14:05:13 · 1343 阅读 · 0 评论 -
图解USB枚举
图解USB枚举转载 2022-05-23 21:38:42 · 303 阅读 · 0 评论 -
USB 传输方式(批量)
USB 批量/块传输方式批量传输数据包批量输出流程USB批量传输抓包分析USB批量读数据USB批量写数据批量传输一般用于批量的和非实时的数据传输,通俗的来说就是用于数据量大但对时间要求又不高的场合的一种传输方式,类似用于USB打印机和USB扫描仪等等。批量传输使用批量传输事务,一次批量传输事务分为三个阶段:令牌包阶段、数据包阶段、握手包阶段。批量传输分为批量读和批量写,批量读使用批量输入事务,批量写使用批量输出事务。注意:不论输入还是输出都是以主机为参考的。批量传输数据包只有全转载 2022-04-13 20:48:42 · 2373 阅读 · 0 评论 -
USB 传输方式(数据传输方式分类及带宽占用率对比)
USB 数据传输方式分类及带宽占用率对比控制传输同步传输中断传输批量传输USB传输有四种传输类型使用的事务类型各不相同。其中批量传输、同步传输每次传输需要一个或多个事务,中断传输每次传输只需要一个事务,控制传输包括三个过程(建立过程、数据过程、状态过程),建立过程和状态过程分别需要一个事务,数据过程则可能包含0个多个事务。控制传输突发性、非周期性、主机软件发起的请求/响应通信,通常用于命令/状态操作。控制传输包括控制读传输、控制写传输、无数据的控制传输,主机在枚举设备的时候,首先进行转载 2022-04-13 20:43:26 · 2985 阅读 · 0 评论 -
usb2.0 帧和微帧等概念
usb2.0 帧和微帧属于物理层时间基准的概念,每个帧长为1ms,usb高速模式,每个帧又分为8个微帧,即每个微帧长度为125us。usb主机和设备控制器同步后,每个微帧起始点开始传输数据,在一个微帧时间里,usb host轮训各个device一个微帧传输时间里,可以进行 控制传输,中断传输,批量传输,同步传输。通常微帧起始时间到来时,host 控制器发送中断给 主机系统cpu,usb host驱动中断处理函数处理微帧起始 ,把各种传输配置到host 控制器通道中,之后host开始工作,根据配置好的通转载 2022-04-12 20:59:11 · 2175 阅读 · 0 评论 -
USB字符串描述符获取过程概述
USB笔记 字符串描述符(String Descriptor)获取过程概述字符串描述符(String Descriptor)规定了所支持的语言或者存储文本字符串。部分描述符(设备描述符中的最后)含有字符串索引,用于描述相关信息。字符串描述符是可选的,如果不支持字符串描述符,需要将相关的描述符中的字符串索引(设备描述符中的最后)设置为0。本文将展示一下标准的字符串描述符获取过程,包括指定设备支持的语言String Descriptor 0,manufacturer string descriptor,p转载 2022-04-11 21:51:25 · 1651 阅读 · 0 评论 -
linux 安装protobuf
从github:https://github.com/protocolbuffers/protobuf下载源代码1、根据protobuf GitHub的README.md安装protoBuf(1)安装依赖工具sudo apt-get install autoconf automake libtool curl make g++ unzip(2)在protobuf github上获取版本信息及源码链接,用wget下载:wget https://github.com/protoco.转载 2021-08-27 19:05:13 · 2202 阅读 · 0 评论 -
理解FFT和信号加窗原理及意义
1. 理解时域、频域、FFT傅立叶变换有助于理解常见的信号,以及如何辨别信号中的错误。 尽管傅立叶变换是一个复杂的数学函数,但是通过一个测量信号来理解傅立叶变换的概念并不复杂。 从根本上说,傅立叶变换将一个信号分解为不同幅值和频率的正弦波。 我们继续来分析这句话的意义所在。所有信号都是若干正弦波的和我们通常把一个实际信号看作是根据时间变化的电压值。 这是从时域的角度来观察信号。 傅立叶定律指出,任意波形在时域中都可以由若干个正弦波和余弦波的加权和来表示。 例如,有两个正弦波,其中一个.转载 2021-07-15 19:21:18 · 14890 阅读 · 6 评论 -
G.711 音频编码
目录参考 概述 G.711原理 总结1. 参考[1] wikipedia/A-law_algorithm [2] github.com/quatanium/foscam-ios-sdk [3] charybdis/G711算法学习2. 概述本文目的:1、熟悉G711a/u两种格式的基本原理2、熟悉两种压缩算法的实现步骤及提供源码实现G.711是国际电信联盟ITU-T定制出来的一套语音压缩标准,它代表了对数PCM(logarithmic pulse-code modulation转载 2021-07-06 19:10:07 · 3132 阅读 · 5 评论 -
PCM音频数据
目录什么是PCM? PCM数据格式 FFmpeg支持的PCM数据格式 FFmpeg中Packed和Planar的PCM数据区别 字节序 PCM音频数据的处理 参考1. 什么是PCM?PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。描述PCM数据的6个参数:Sample Rate : 采样频率。8kHz(电话)、44.1kHz(CD)、48kHz(DVD)。 ..转载 2021-07-06 16:25:38 · 563 阅读 · 0 评论 -
蓝牙蓝牙蓝牙
1。 BR/EDR,也就是常说的经典蓝牙。蓝牙耳机和手机的连接,这种方式是点对点,PAN,personal area network。2。 Bluetooth Low Energy. 也就是我们现在经常用到的低功耗蓝牙应用,一个手机可以连接多个BLE设备,这种方式是点对多点。3。 Bluetooth mesh,这是一种多点对多点的应用方式。链接:https://www.zhihu.com/question/270717124/answer/357224273...转载 2021-06-16 14:09:40 · 2072 阅读 · 0 评论 -
X.509数字证书
数字证书的两个基本概念:1. 公钥加密,私钥解密;私钥签名,公钥验签。2.根证书应该被无条件信任,根证书通过可靠途径获得。1、什么叫数字签名数字签名:将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名2、什么叫数字证书数字证书:数字证书就是互联网通讯中标志.转载 2020-12-21 12:53:41 · 493 阅读 · 0 评论 -
Base64编码
根据RFC822规定,BASE64Encoder编码每76个字符,还需要加上一个回车换行。谷歌了一下,原来是RFC2045中有规定:The encoded output stream must be represented in lines of no more than 76 characters each.Base64一行不能超过76字符,超过则添加回车换行符。所谓Base64,就是说选出64个字符----小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫.转载 2020-12-18 17:03:33 · 1410 阅读 · 0 评论 -
对称加密和非对称加密(一)初步理解
一、面临的问题: 密钥分发在加密算法之外,面临一个问题,那就是:秘钥的分发。就是说,解密方如何获得加密方的秘钥呢? 从而出现了:对称加密和非对称加密。二、对称加密和非对称加密1. 对称加密对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。常见的对称加密算法:DES,AES,3DES等等。2. 非对称加密非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只.转载 2020-10-29 16:25:10 · 303 阅读 · 0 评论 -
XOR 加密简介
本文介绍一种简单高效、非常安全的加密方法:XOR 加密。 一、 XOR 运算逻辑运算之中,除了AND和OR,还有一种XOR运算,中文称为"异或运算"。它的定义是:两个值相同时,返回false,否则返回true。也就是说,XOR可以用来判断两个值是否不同。 true XOR true // false false XOR false // false true XOR false // true true XOR false // true...转载 2020-10-28 16:31:07 · 3600 阅读 · 0 评论 -
Python AES
ES加密方式有五种:ECB, CBC, CTR, CFB, OFB从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现python 在 Windows下使用AES时要安装的是pycryptodome 模块 pip install pycryptodomepython 在 Linux下使用AES时要安装的是pycrypto模块pip install pycryptoCBC加密需要一个十六位的key(密钥)和一个十六位iv(偏移量)ECB加密不...转载 2020-10-28 16:25:21 · 977 阅读 · 2 评论 -
YModem协议
YModem协议:YModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效的文件传输协议。Xmodem、Ymodem和Zmodem协议是最常用的三种通信协议。Xmodem协议是最早的,传输128字节信息块。Ymodem是Xmodem的改进版协议,具有传输快速稳定的优点。它可以一次传输1024字节的信息块,同时还支持传输多个文件。平常所说的Ymodem协议是指的Ymodem-1K,除此还有Ymodem-g(没有CRC校验,不常用)。YModem-1K转载 2020-08-24 17:43:40 · 2958 阅读 · 0 评论 -
CAN总线详解
SOF - Start of Frame, 帧起始,1bit。RTR -Remote Tranmission Request BIT, 全称为远程发送请求位。它在数据帧里必须为显性0 ,但在远程帧里为隐性1。IDE - Identifier Extension Bit,全称识别符扩展位 CAN 的报文格式有两种,不同之处其实就是识别符长度不同,具有11 位识别符的帧称为标准帧,而还有29 位识别符的帧为扩展帧。 当 CAN 总线上的一个节点(站)发送数据时...转载 2020-08-21 11:28:27 · 10004 阅读 · 0 评论 -
ST官方代码——YModem协议部分c代码分析
ST官方代码——YModem协议部分c代码分析1-实验结论:对比标准Ymodem协议,ST官方IAP代码中YModem协议少了以下部分:发送端(secureCRT)接收端(开发板)EOT---->NAK----<2-YModemYModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效...转载 2020-07-01 13:22:21 · 1487 阅读 · 0 评论 -
CRC stm32
CRC16常见的标准有以下几种,被用在各个规范中,其算法原理基本一致,就是在数据的输入和输出有所差异,下边把这些标准的差异列出,并给出C语言的算法实现。CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或CRC16_CCITT_FALSE:多项式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或CRC16_XMODEM:多项式x16+x12+x5+1(0x102转载 2020-05-14 15:18:14 · 1391 阅读 · 0 评论 -
IIC中的应答和非应答
应答是I2C非常重要的机制,是不一定要弄清。它在工作中涉及的范围包括总线仲裁(多主)、正常的数据通信。这个问题在常见总线里是比较特别的,应当深入详细地了解。让我们先整理一下这个问题。1 确认应答和非应答的定义和解释:·应答:是一个低电平信号。·非应答:是一个高电平信号,也许,叫做应答非更合适。· 两个信号的明显不同是来源不同。应答信号是当前从器件发出的,而非应答信号是由...转载 2020-04-22 13:22:41 · 6548 阅读 · 0 评论 -
MAVLink
MAVLink 是一种用于飞行器上的轻量级成熟通信协议,与很多自定的协议相比,它的开发难度非常小,有现成的配置工具,可直接生成MSG代码(简单来说,就是生成对应的函数接口供你直接调用即可),直接调用几个相应的函数接口即可,不需要自己封装、解析等;突出的优点在于配置和调用比较简单Pixhawk/APM都是采用MAVLINK协议实现的飞控的数据链路传输。先简单介绍下mavlink协议。...原创 2020-03-30 11:37:19 · 3247 阅读 · 0 评论 -
SBUS总线
SBUS是一个接收机串行总线输出,通过这根总线,可以获得遥控器上所有通道的数据。目前很多模型及无人机电子设备都支持SBUS总线的接入。使用SBUS总线获取通道数据,效率高的,而且节省硬件资源,只需要一根线即可获取所有通道的数据。扩展资料:SBUS总线使用的是TTL电平的反向电平,即标准TTL中的1取反为0,而0则取反为1,串口波特率为100000,数据位为8位,2个停止位,偶校验。SB...转载 2020-03-17 16:48:35 · 5984 阅读 · 0 评论 -
PI, Dual SPI, Quad SPI
1. 标准SPI标准SPI通常就称SPI,它是一种串行外设接口规范,有4根引脚信号:clk , cs, mosi, miso2. Dual SPI它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dua...转载 2019-12-10 15:50:54 · 470 阅读 · 0 评论 -
解析单总线协议(1-wire)
onewire(单总线)是DALLAS公司推出的外围串行扩展总线,传输时钟信号又传输数据,而且能够进行双向通信,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。常用到单总线的器件,一般是稳定传感器,如DS18B20、DS2431、DHT11。解析单总线协议(1-wire)一、单总线协议(1-wire)1.定义:主机和从机通过1根线进行通信,...转载 2019-12-09 11:01:19 · 5167 阅读 · 0 评论