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

    协议驱动开发漫谈(一)

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

    74560编辑于 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控制器驱动所支持的功能。

    3K20编辑于 2021-12-08
  • 来自专栏嵌入式项目开发

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

    NEC协议是众多红外线协议中的一种,以前广泛用在电视机,投影仪设备里,很早之前经常说的万能电视遥控器就是NEC协议的。 当前文章就介绍如何在Linux下通过红外线接收模块,编写一个NEC协议的红外线解码驱动,解析遥控器传输过来的各种控制指令,完成对应的动作响应;驱动里用到了外部中断接收数据,通过定时器计算间隔时间完成解码 NEC协议的特点如下: 单个码一共分为5各部分(没有算重复码): 引导码+用户码+用户反码+按键码+按键反码 对于接收方_引导码: 9ms的低电平+4.5ms的高电平。 驱动安装后,解码的效果: 3. 案例代码 驱动代码思路: 采用外部中断接收NEC的数据,在工作队列里完成协议解析,最终通过printk打印出来。 ,NULL); printk("驱动测试: 驱动卸载成功\n"); } module_init(tiny4412_hello_module_init); /*驱动入口--安装驱动的时候执行

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

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

    今天说一说usb协议开发_基于事件驱动的架构,希望能够帮助大家进步!!! 1. A设备和B设备无需交换电缆接口,即可通过主机交换协议(HNP)实现A、B设备之间的角色互换。同时,为了节省电源,OTG允许总线空闲时A设备判断电源。 此时,若B设备希望使用总线,可以通过会话请求协议(SRP)请求A设备提供电源。 B设备开始总线复位并具有总线控制权,主机交换协议完成。 2.2 SRP(会话请求)协议 对于主机,要求能响应会话请求;对于设备,仅要求能够发起SRP协议。 3.3 OTG驱动 OS_FS: 文件系统 USBD: USB核心 HCD: 主机控制器驱动 UDC: 设备端控制器驱动 OTG设备支持HNP和SRP协议

    2.6K30编辑于 2022-06-15
  • 来自专栏全栈程序员必看

    STM32驱动1602A 8086协议

    //1602的外设文件 #include “lcd1602.h” #include “sys.h” #include “delay.h” #include “stdio.h”

    78020编辑于 2022-11-08
  • 来自专栏FPGA技术江湖

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

    UART协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 为了解决上述的问题,我们规定了通信协议。 在UART通信协议中,我们规定: 1. 在不通信时,发送高电平。 2. 发送信息时,应该首先发送起始位(1bit、低电平)。 负责将tx_fifo中的数据按照UART的协议规定发送出去。 rx_ctrl模块:接收逻辑控制部分。负责将外部数据线上的数据按照UART协议规定解析出来,存储到tx_fifo中。 安装驱动 将开发板与电脑相连接,打开设备管理器。 在我们的开发板上,使用的USB <->UART的芯片就是CP2102,所以在此需要安装驱动。 打开04_串口驱动,安装CP210x_windows_drivers。 文件中有两个安装程序。

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

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

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

    1.2K30发布于 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.5K20编辑于 2021-12-08
  • 来自专栏FPGA技术江湖

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

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

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

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

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

    1.6K50发布于 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仿真,可以看出发送和接收全部正常。

    2K53发布于 2020-12-30
  • 来自专栏EMQ 物联网

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

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

    43320编辑于 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.6K30发布于 2021-03-23
  • 来自专栏云云众生s

    深入人工智能驱动协议管理平台Docusign

    通过这些经验,我们意识到客户需要的不仅仅是签署协议。” IAM 于今年早些时候推出,处理上述所有内容,并添加AI 驱动的见解和无代码工作流程,业务线用户可以使用这些工作流程来简化业务流程。 DocuSign IAM 促进协议生态系统 DocuSign IAM 平台将静态文档转化为可操作的文档,以开放和可扩展的方式驱动业务工作流程。 通过 Workday、SAP 和 Salesforce 集成,需要添加到协议中的数据(例如录取通知书、采购合同或销售协议)会自动从这些系统流入每个协议,确保准确性并消除耗时的手动数据输入。 Bonterms 使用开源、标准化的模板为企业业务(包括保密协议 (NDA)、服务级别协议和云条款)简化协议——由专家法律专业人员制定,以减少谈判时间。 DocuSign通过AI驱动的合同分析、自动化合同审查、预测分析和简化的合同创建来帮助企业降低合同责任。这提高了准确性和一致性,识别潜在风险,自动化任务并提供见解,最终降低了责任并提高了合同管理效率。

    1.7K10编辑于 2025-01-08
  • 来自专栏北溟有鱼QAQ

    TCPIP 协议底层驱动原理 (含网卡芯片读写) 说明

    TCP/IP 协议族【TCP/IP 族或叫模型也行,我们用的是 OSI 模型的浓缩版本就是修改过的版本也就 4 层】分为四层【有的分七层】 1、数据链路层 【核心该层最重要,上层的协议都基于该层提供的驱动程序来工作的 ,所以废话会特别多】 2、网络层 3、传输层 4、应用层 数据链路层重要协议是 ARP 协议,其实 ARP 就是个 C 语言写的驱动程序,数据链路层重要的东西就是网卡芯片的驱动程序,网卡芯片内部含有大量的工作寄存器 【具体芯片图可联系本人获取哦】 该芯片用于嵌入式系统的以太网控制器,编写驱动程序即可实现数据收发功能【tcp,udp 仅仅只是一种协议,低层还得依赖芯片的驱动程序,写过驱动程序的同学应该比较清楚,上层应用都是用下层提供的功能来做的 SOCK_STREAM 和数据报服务如 SOCK_DGRAM【UDP 协议就是】 当大家对 TCP/IP 协议了解清楚以后,应用层的协议 HTTP,FTP,TELNET 等协议就简单了 【驱动工程师才不管这些协议 ,操作网卡芯片驱动就能完成局域网的传输了】 通过以上简单的分析大家应该了解 TCP/IP 协议的一个通信过程了,包括低层驱动也做了简单的说明。

    2.2K30发布于 2020-06-04
  • FPGA零基础学习精选 | IIC协议驱动设计

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

    11210编辑于 2026-03-23
  • 来自专栏FPGA技术江湖

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

    该模块负责将外部写fifo中的数据写入到flash中。wr_fifo_rd为写fifo的读使能信号,wrdata为从写fifo中读出的数据,wr_len为需要写入flash中数据的长度,wr_addr为写入地址。

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

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

    FPGA零基础学习:SPI 协议驱动设计 本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会 SPI 协议驱动设计 作者:郝旭帅 校对:陆辉 本篇实现基于叁芯智能科技的SANXIN -B01 FPGA开发板,以下为配套的教程,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频。 flash采用spi的通信协议,flash当做从机。 spi_8bit_drive设计实现 本模块负责将8bit的并行数据按照spi协议发送出去,以及负责按照spi协议接收数据,将接收的数据(8bit)并行传输给各个模块。 所有的信号采用上升沿驱动。发送一个8bit的随机数值,接收一个8bit的随机数值。 spi_miso信号为从机下降沿驱动信号。 通过RTL仿真,可以看出发送和接收全部正常。

    1.4K21发布于 2021-03-23
  • 来自专栏ATYUN订阅号

    Atomwise:与Lilly就AI驱动的药物研发项目达成多年协议

    Atomwise宣布与美国公司Eli Lilly达成一项多年协议,将应用Atomwise的人工智能专利技术,支持Lilly公司的临床前药物研发工作。 作为协议的一部分,Atomwise将有权从Lilly选择不进行临床试验的合作中开发化合物。 Atomwise目前在19个国家的各个主要治疗领域支持探索项目。 End

    63620发布于 2019-07-17
  • SD NAND之SD 协议(33)1.8V供电的驱动强度

    驱动强度选择cmd6功能组3用于选择驱动强度。从函数0到3定义了4个级别。命令功能0为默认的硬盘强度。选择方法遵循CMD6定义。如果更改驱动强度失败,则仍然选择当前驱动强度。 支持的驱动器强度如下表所示,主机可以更改为支持的驱动强度卡。如何选择最佳驱动强度主机应模拟其特定系统,以验证在所需工作频率下的最佳驱动强度。主机应选择满足系统工作频率上升/下降时间要求的最弱驱动强度。 或者简单地说,只要需要比B型强的驱动,就可以选择A型驱动;只要需要比B型弱的驱动,就可以选择C型驱动。 但是,由于UHS50卡的驱动强度除了B类型是可选的,所以当不支持其他驱动类型时,主机需要使用B类型。当系统设计目标为低噪声系统时,采用A类型的主机应降低时钟频率。 下表给出了每种驱动强度所能支持的总电容的近似值:1:D型支持总C约22pF或更高,比100MHz SDRl工作时上升/下降时间更慢。当选择D型驱动器时,最大频率由主机系统决定。

    34810编辑于 2024-08-18
领券