首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Skemaloop

    协议驱动开发漫谈(一)

    协议驱动开发漫谈(一) 在前面的文章中,我们都把注意力关注在了具体的工具使用上,没有从方法论和必要性上讨论过协议驱动开发(Schema Driven Development)这种开发模式。 更严重的问题是由于接口定义不是强类型的,我们无法添加协议校验,也就无从得知一个接口的修改会不会导致服务不可用,为服务的快速上线增加了难度和风险。 Restful无法提供RPC接口。 我们的方案 我们通过引入SDD(即协议驱动开发)来解决以上提到的问题。

    84860编辑于 2022-04-04
  • 来自专栏韦东山嵌入式

    Linux系统驱动之SMBus协议

    必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 SMBus是基于I2C协议的,SMBus要求更严格,SMBus是I2C协议的子集。 SMBus有哪些更严格的要求?跟一般的I2C协议有哪些差别? I2C协议:没有强制要求必须发出回应信号 SMBus:强制要求必须发出回应信号,这样对方才知道该设备的状态:busy,failed,或是被移除了 SMBus协议明确了数据的传输格式 I2C协议:它只定义了怎么传输数据 SMBus协议分析 对于I2C协议,它只定义了怎么传输数据,但是并没有定义数据的格式,这完全由设备来定义。 对于SMBus协议,它定义了几种数据格式。 注意: 下面文档中的Functionality flag是Linux的某个I2C控制器驱动所支持的功能。

    3.2K20编辑于 2021-12-08
  • 来自专栏程序员

    IPv4协议

    IP地址(IPv4) 这里所说的IP地址是IPv4地址,IP地址由32位正整数来表示。他在计算机内部被以二进制方式处理,因此最多有2^32个IP地址,即:43亿个总IPv4地址。 IPv4数据报格式 ? 版本号:在IPv4数据报中,版本号就是4。不同的IP版本使用的数据报格式不同,IPv6的数据报不是这样的。 协议:该字段指示传输层所使用的协议类型。通过该字段指示了IP数据报应该交给哪个传输层协议。典型的有值为6的时候,表示应该交由TCP协议,值为17的时候,表示交由UDP协议。 在上层协议是UDP协议的情形下,首先在发送端主机发送IP包的时候设置分片禁止标志。途中的路由器即使遇到了包的大小超过了数据链路的MTU,也不去分片,直接将包丢弃。 在上层协议是TCP协议的情形下。由于TCP协议是面向有连接的(两台主机之间要维护这个连接)。TCP协议会根据路径MTU的大小来计算出最大段长度MSS。

    1.9K20发布于 2019-05-25
  • 来自专栏嵌入式项目开发

    Linux驱动开发-编写NEC红外线协议解码驱动

    NEC协议是众多红外线协议中的一种,以前广泛用在电视机,投影仪设备里,很早之前经常说的万能电视遥控器就是NEC协议的。 当前文章就介绍如何在Linux下通过红外线接收模块,编写一个NEC协议的红外线解码驱动,解析遥控器传输过来的各种控制指令,完成对应的动作响应;驱动里用到了外部中断接收数据,通过定时器计算间隔时间完成解码 驱动安装后,解码的效果: 3. 案例代码 驱动代码思路: 采用外部中断接收NEC的数据,在工作队列里完成协议解析,最终通过printk打印出来。 include <linux/delay.h> #include <linux/workqueue.h> static int irq; #define NEC_INFRARED_GPIO EXYNOS4_ 接收32位数据*/ int i,j; for(i=0;i<4;i++) { for(j=0;j<8;j++) { time_us=GetTimeL(); if(time_us>

    1.9K30编辑于 2022-04-08
  • 来自专栏Java架构师必看

    usb协议开发_基于事件驱动的架构

    今天说一说usb协议开发_基于事件驱动的架构,希望能够帮助大家进步!!! 1. : 1) 设备描述符 2) 配置描述符 3) 接口描述符 4) 端点描述符 其关系如下图所示: 1.6.1 设备描述符 每个USB设备都有一个唯一的设备描述符 B设备开始总线复位并具有总线控制权,主机交换协议完成。 2.2 SRP(会话请求)协议 对于主机,要求能响应会话请求;对于设备,仅要求能够发起SRP协议。 3.3 OTG驱动 OS_FS: 文件系统 USBD: USB核心 HCD: 主机控制器驱动 UDC: 设备端控制器驱动 OTG设备支持HNP和SRP协议。 4. USB 传输流程 4.1 USB初始化过程 USB驱动作为一个系统,集成了众多的驱动模块,注册过程非常复杂。

    3K30编辑于 2022-06-15
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:UART协议驱动设计

    UART协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 为了解决上述的问题,我们规定了通信协议。 在UART通信协议中,我们规定: 1. 在不通信时,发送高电平。 2. 发送信息时,应该首先发送起始位(1bit、低电平)。 发送数据位,由于是串行通信,规定从低位开始发,最后到高位(协议规定信息位可以为4、5、6、7、8)。 4. 校验位(1bit)。可以采用奇校验、偶校验、直接发1、直接发0、不发等5种情况。 5. 安装驱动 将开发板与电脑相连接,打开设备管理器。 在我们的开发板上,使用的USB <->UART的芯片就是CP2102,所以在此需要安装驱动。 打开04_串口驱动,安装CP210x_windows_drivers。 文件中有两个安装程序。

    1.2K30发布于 2020-12-30
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:IIC协议驱动设计

    FPGA零基础学习:IIC协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会 IIC协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 SDA和SCL为IIC协议中的时钟线和数据线。 WP为写保护端,当连接高电平时,该芯片只能够被读,不能够写入;当连接低电平或者空置时,该芯片可以被读写。 在有些兼容IIC协议接口的器件中,寻址范围较少,8bit足够表示,所以在设计时,设计出适合两种寻址方式的驱动。 SCL的实现采用计数器控制,根据规定好的频率,在合适的地方进行拉高或者拉低。 SDA根据协议和对应的脉冲进行发送对应的协议段。 架构设计和信号说明 本模块命名为iic_drive。 暂不连接的端口,在后续测试时,会有其他模块来控制或者读取。

    1.8K50发布于 2021-03-23
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:IIC协议驱动设计

    IIC协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 SDA和SCL为IIC协议中的时钟线和数据线。 WP为写保护端,当连接高电平时,该芯片只能够被读,不能够写入;当连接低电平或者空置时,该芯片可以被读写。 所以IIC协议只能实现半双工通信。 在硬件电路中,一般是通过三态门来进行控制双向IO。 ? 此电路在FPGA的IO中也是存在的。下面来分析具体的工作原理。 在有些兼容IIC协议接口的器件中,寻址范围较少,8bit足够表示,所以在设计时,设计出适合两种寻址方式的驱动。 SCL的实现采用计数器控制,根据规定好的频率,在合适的地方进行拉高或者拉低。 SDA根据协议和对应的脉冲进行发送对应的协议段。 架构设计和信号说明 本模块命名为iic_drive。 ? ? 暂不连接的端口,在后续测试时,会有其他模块来控制或者读取。

    81010发布于 2020-12-30
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:UART协议驱动设计

    FPGA零基础学习:UART协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会 UART协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 发送数据位,由于是串行通信,规定从低位开始发,最后到高位(协议规定信息位可以为4、5、6、7、8)。 校验位(1bit)。可以采用奇校验、偶校验、直接发1、直接发0、不发等5种情况。 安装驱动 将开发板与电脑相连接,打开设备管理器。 在我们的开发板上,使用的USB <->UART的芯片就是CP2102,所以在此需要安装驱动。 打开04_串口驱动,安装CP210x_windows_drivers。 文件中有两个安装程序。

    1.4K30发布于 2021-03-23
  • 来自专栏韦东山嵌入式

    Linux系统驱动之I2C协议

    I2C协议 参考资料: i2c_spec.pdf 1. 协议细节 如何在SDA上实现双向传输? 想让SDA输出高电平,双方都不驱动三极管(SDA通过上拉电阻变为高电平) 想让SDA输出低电平,就驱动三极管 从下面的例子可以看看数据是怎么传的(实现双向传输)。 举例:主设备发送(8bit)给从设备 前8个clk 从设备不要影响SDA,从设备不驱动三极管 主设备决定数据,主设备要发送1时不驱动三极管,要发送0时驱动三极管 第9个clk,由从设备决定数据 当它就绪后,就可以不再驱动三极管,这是上拉电阻把SCL变为高电平,其他设备就可以继续使用I2C总线了。 对于IIC协议它只能规定怎么传输数据,数据是什么含义由从设备决定。

    3.8K20编辑于 2021-12-08
  • 来自专栏EMQ 物联网

    新增 ABB COMLI 等 5 个工业协议驱动

    同时新增南向驱动 ABB COMLI,此驱动可通过串口连接 ABB 某些型号的 PLC。 新增驱动插件南向驱动 IEC61850此驱动在电力系统自动化中应用广泛,它由国际电工委员会 IEC 制定,定义了用于通信的数据模型、数据服务、通信协议等。 南向驱动 AB DF1由罗克韦尔自动化公司开发的串行通信协议,主要用于 PLC 和其他设备之间进行通信。 南向驱动环保 HJ-212中国环境监测网络中使用的一种通信协议,主要用于在环境监测设备之间进行数据交换,如环境中各种污染物的浓度等。 此协议在中国环境监测领域有着广泛的应用,包括大气监测、水监测、土壤监测等各个方面。南向驱动 ABB COMLI由 ABB 公司开发的一种串行通信协议,主要用于在其 PLC 和其他设备之间进行通信。

    54820编辑于 2023-04-07
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:VGA协议驱动设计

    FPGA零基础学习:VGA协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会 VGA协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 但是VGA协议中,要求进行传输像素点的同时,还需要去传输一部分的同步信号。 定义一个列坐标计数器(cnt_hs),每个驱动时钟周期加1,当一行结束后,计数器也同时清零。一行为800个像素值,所以计数器将会在0到799无限循环。 pll_vga为锁相环,利用外部输入的50MHz的时钟,产生VGA协议所需要的25MHz的时钟。 vga_ctrl为VGA协议的驱动模块。

    1.9K30发布于 2021-03-23
  • 来自专栏FPGA技术江湖

    FPGA零基础学习:SPI 协议驱动设计

    SPI 协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 flash采用spi的通信协议,flash当做从机。 设计中,各个命令单独写出控制器,通过多路选择器选择出对应的命令,然后控制spi_8bit_drive将数据按照spi的协议发送出去。 spi_8bit_drive设计实现 本模块负责将8bit的并行数据按照spi协议发送出去,以及负责按照spi协议接收数据,将接收的数据(8bit)并行传输给各个模块。 所有的信号采用上升沿驱动。发送一个8bit的随机数值,接收一个8bit的随机数值。 spi_miso信号为从机下降沿驱动信号。 通过RTL仿真,可以看出发送和接收全部正常。

    2.2K53发布于 2020-12-30
  • 来自专栏Opensoure翻译

    4步让你驱动Kubernetes【Containers】

    在本系列的第三篇文章中,我介绍了Kubernetes的基础知识:首先学习如何驱动,我强调您应该学会驱动Kubernetes,而不是构建它。 在第四篇文章中,我将分享一些工具,这些工具将帮助您学习快速驱动Kubernetes。 1. Katacoda Katacoda是最简单的手动测试Kubernetes集群的方法。 4. Visual Studio代码 我最后保存了我的最爱之一。 我的大部分工作都使用vi,但我从未为Kubernetes找到一个好的语法突出显示和代码完成插件(如果有,请告诉我)。 当您第一次学习驱动Kubernetes时,这是非常好的。 您可以构建Pod,服务,复制控制器,部署等。 结论 这四个工具(如果算上这两个插件,则为六个)将帮助您学习驱动Kubernetes,而不是构建或装备它。

    2.4K00发布于 2019-11-12
  • 来自专栏嵌入式、安防、流媒体、AI分析

    海康ehome协议分析(4):GPS上传

    海康带有GPS的设备,是通过报警(Alarm)服务进行GPS上传的,具体通信通道是根据配置文件,可选择UDP,UDP&TCP,MQTT方式分别对应的配置是:

    50340编辑于 2023-01-04
  • 来自专栏嵌入式、安防、流媒体、AI分析

    海康ehome协议分析(4):GPS上传

    海康带有GPS的设备,是通过报警(Alarm)服务进行GPS上传的,具体通信通道是根据配置文件,可选择UDP,UDP&TCP,MQTT方式分别对应的配置是:

    89340编辑于 2022-11-03
  • 来自专栏开源FPGA

    基于FPGA的4x4矩阵键盘驱动调试

    FPGA驱动4x4矩阵键盘。这个其实原理是十分简单,但是由于博主做的时候遇到了一些有意思的情况,所以我个人觉得值得记录分享一下。        首先找了本书看了下矩阵键盘的驱动原理,一般来说4x4矩阵键盘的原理图如下,有四根行线和四根列线,行选通和列选通可以确定键盘上的一个位置。 其他按键类似,就是利用这个原理来驱动矩阵键盘。 ?        ,而这个地方加不加其实和驱动开发板的构造有关,据我了解,有些单片机的I/O引脚会内置上拉电阻,默认情况下是高电平,所以用这些单片机驱动是不需要加上拉电阻的。        在引脚约束在电平为3.3v时加上pull up,可以等下出相当于10.8k欧姆的电阻这和矩阵键盘的驱动原理是完全相符。 ?       

    1.6K20发布于 2018-08-20
  • 来自专栏网络安全防护

    浅谈IPv4协议与IPv6协议的区别!

    在讲IPv4协议与IPv6协议的区别前,我们必须了解什么叫IPv4协议和IPv6协议? u=274633623,1386372214&fm=15&gp=0.jpg IPv4,是互联网协议(Internet Protocol,IP)的第四版,应属第一个被广泛应用,构成现阶段互联网技术的基础的协议 现如今的全世界英特网所选用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。当前IP协议的版本号是4(简称为IPv4,v,version版本) 。 但是,现在绝大部分人使用的还是IPv4协议。 逐渐将会取代之前被广泛应用的IPv4协议。但因为IPv6比较复杂。不具备兼容性,操作现阶段的IPv4迁移到IPv6是比较困难的。

    1.7K20发布于 2019-05-22
  • 来自专栏云深之无迹

    低速协议系列:SPI.4(历史)

    居然都第 4 篇了(第三篇是 FPGA 串并这个,为了观看体验换了位置),先回忆一下我们的工作有哪些? 第二篇里面的 QSPI, 是 NXP(买了摩托罗拉的 MCU 业务),推出来的 ColdFire: 上面搭载的 另外这个 SPI 协议虽然大家都用,但是 SPI 协议并非由国际标准组织(如 IEEE 或 仲裁出现的前提是: 多个设备可能同时驱动同一条物理总线。 例如 I²C:多主机,所有设备共用 SDA/SCL开漏结构,可能两个 Master 同时发送。 的物理结构决定不需要仲裁 SPI 是: 1 Master N Slave 结构特点:只有 Master 产生 SCK,Slave 不能产生时钟,每个 Slave 有独立 SS,只有被选中的 Slave 驱动 因此: 不存在两个驱动源同时竞争 没有竞争,就不需要仲裁。

    32110编辑于 2026-03-03
  • 来自专栏用户1692782的专栏

    手撕RTSP协议系列(4)——OPTION

    上一篇,我们介绍了sdp相关信息,接下来开始我们介绍RTSP相关的选项,本篇我们首先来看一下OTPION选项。

    3.5K22发布于 2020-10-30
领券