嵌入式系统通讯协议

#######I2C#######

I2C is a two wire protocol used to connect one or more "masters" with one or more "slaves".  salve devices包括了温度,湿度,运动感应器,以及EEPROMs.

和SPI相比,在软件编写方面,I2C要更复杂,因为I2C需要处理很多错误情况,SPI不需要。而且SPI比I2C快很多,(1-3Mbit/sec vs 100-400kbit/sec). I2C最大的优点就是

不论有多少设备,两条线就够了(因为设备并联),而SPI需要为每个设备一条线。而且和SPI的选择线不同,每个I2C设备都有internal addresses and are selected by a master through the transmission of this address over the bus. 所以当有大量设备时,I2C是个很好的选择。

I2C总线是由数据总线SDA和时钟SCL构成的串行总线,各种被控制器件均并列在这条总线上,每个器件都有一个唯一的地址识别,可以作为总线上的一个发送或接收器件。

I2C总线的几种信号状态:1. 空闲状态:SDA和SCL都为高电平。2.开始条件(S):SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

3. 结束条件(P):SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。4. 数据有效:在SCL的高电平期间,SDA保持稳定,数据有效,SDA的改变只能发生在SCL低电平期间。

5. ACK信号:数据传输的过程中,接收器件每接收一个字节数据,要产生一个ACK信号,向发送器件发出特定的低电平脉冲,表示已经接收到数据。

总体来说就是:刚开始的时候SCL和SDA都是高电平,想要传输数据时,SDA拉低,并在SCL低电平期间,传输数据,一直保持到SCL高电平结束,在SCL低电平时,再次改变数据,进行传输。当结束传输时,在SCL低电平时,将SDA拉高。

write Transcation: S + Slave Address + R/W(-)=0  + A + Data + A + Data + A/A(-) + P

Read Transaction: S + Slave Address + R/W(-) =1 + A + Data + A + Data + A(-) + P

时间: 2024-10-10 14:32:12

嵌入式系统通讯协议的相关文章

嵌入式中通讯协议的设计(转)

源:嵌入式中通讯协议的设计 说得太精彩了! 公司里做项目,嵌入式系统大大小小,到处都是.因为都是一个系统里的,所以都需要通讯,既然通讯就涉及到协议问题. 谈及协议,很多工程师觉得协议的设计相对简单,主要是报文的设计.大多数时候,协议的应用场景简单,没有复杂的交互.这么做的确也是没什么太大的问题.然而,就是这么简单的场景,仍有一些协议会在实际中发生意想不到的问题.归根结蒂,还是没有把握协议涉及的规律.下面我们简单的聊聊协议设计的规律. 协议设计中面临的问题: 1.设计者大多数情况下,从应用出发,仅

【通讯协议】动手解剖《中华人民共和国环境保护行业标准(HJ/T 212-2005):污染源在线自动监控(监测)系统数据传输标准》

记得几年前,看到<中华人民共和国环境保护行业标准(HJ/T 212-2005):污染源在线自动监控(监测)系统数据传输标准> 这个协议,当时看的头都大了,最终没有下手去设计支持他.直到最近,客户说:你们VOC仪器不错啊,要是能支持HJ212传输协议就好了... 头脑出现当年阅读那个协议时的纠结,如今居然真的有客户想要我支持这个麻烦的协议,没办法,必须的做啊,也许做出来还是独家呢?哈哈 令我惊喜的是这次读这篇传输协议标准,我居然很容易就懂了,觉得其实这个协议挺简单的,而且写的还不错,面面俱到.

信息安全系统设计基础实验五:通讯协议设计

北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:52.53 姓名:王思亓 赵阳林 学号:20135205 20135334 成绩: 指导教师:娄嘉鹏 实验日期:2015.11.24 实验密级: 预习程度: 实验时间:15:30—18:00 仪器组次: 必修/选修:必修 实验序号: 实验名称:通讯协议设计 实验目的与要求:1.掌握在ARM开发板实现一个简单的WEB服务器的过程.2.学习在ARM开发板上的SOCKET网络编程.3.学习Linux下的signal()函

信息安全系统设计基础实验五:通讯协议设计 20135211李行之 20135216刘蔚然

北京电子科技学院(BESTI) 实 验 报 告 封面 课程:信息安全系统设计基础 班级:1352 姓名:(按贡献大小排名)李行之 刘蔚然 学号:(按贡献大小排名)20135211 20135216 成绩: 指导教师:娄嘉鹏 实验日期:2015.12.1 实验密级: 预习程度: 实验时间:15:30—17:30 仪器组次:11 必修/选修:必修 实验序号:5 实验名称: 通讯协议设计 实验目的与要求:  1.学习使用 socket 进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计,阅读H

C#高性能大容量SOCKET并发(八):通讯协议

协议种类 开发Socket程序有两种协议类型,一种是用文本描述的,类似HTTP协议,定义字符集,好处是兼容性和调试方便,缺点是解析文本会损耗一些性能:一种是用Code加结构体,定义字节顺序,好处是性能高,缺点是兼容性和调试不方便.这个可以根据应用场景灵活选择,如果您的应用相对稳定,需求变化少,性能要求高,则可以使用Code加结构体的方式.如果您的应用需要不停的扩充功能,但是对性能要求不苛刻,则可以使用文本解析的方式.这两种协议有两个比较典型的应用场景,Code加结构体更多应用在中间件上,因为协议

搭建属于你的在线实时采集系统 ——HTML5 在嵌入式系统中的应用

※已刊登在<无线电>04月刊上   搭建属于你的在线实时采集系统--HTML5 在嵌入式系统中的应用   作者:刘琛,徐洋   摘要: 本应用摆脱了以往嵌入式系统的数据采集方式,借助于最新的HTML5的Canvas API及WebSocket API两大特性,实现了数据的在线实时采集功能.提升了嵌入式采集系统的性能及体验.为嵌入式开发工作者提供参考.   关键字:HTML5:HTTP Server:Canvas:WebSocket:W5500:实时:采集系统:      当今信息社会,信息就是

xmpp即时通讯协议的特性---长处和缺点!

xmpp协议的定义? XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性. 因此.基于XMPP的应用具有超强的可扩展性.经过扩展以后的XMPP能够通过发送扩展的信息来处理用户的需求.以及在XMPP的顶端建立如内容公布系统和基于地址的服务等应用程 序. 并且,XMPP包括了针对server端的软件协议,使之能与还有一个进行通话,这使得开发人员更easy建立客户应用程序或给一个配好系统加入功能. 在此我概括一下xmpp协议的优缺点: 长处: XMPP协议是自由.

如何在裸机下设计一个嵌入式系统架构?

如何在裸机下设计一个嵌入式系统架构? 如何不使用操作系统的情况下设计一个嵌入式系统的架构呢?比如串口数据如何接受,串口数据协议在什么地方解析,SPI总线的数据如何有效的接收?等等问题.如何设计,才能尽量保证各个模块的效率呢?自己有一些设计,想一起讨论下.比如串口的数据先在中断程序中放入一个大数组中,然后在主程序中解析接收到的数据,等等--还有哪些技巧呢? 关注者 157 被浏览 7,457 关注问题写回答 ?添加评论 ?分享 ?邀请回答?举报 ? 收起 8 个回答 默认排序? Tony Ho 嵌

【swupdate文档 三】SWUpdate: 嵌入式系统的软件升级

SWUpdate: 嵌入式系统的软件升级 概述 本项目被认为有助于从存储媒体或网络更新嵌入式系统.但是,它应该主要作为一个框架来考虑,在这个框架中可以方便地向应用程序添加更多的协议或安装程序(在SWUpdate中称为处理程序). 一个用例是从外部本地媒体(如USB-Pen或sd卡)进行更新.在这种情况下,更新是在没有操作员干预的情况下完成的:它被认为是"一键更新",软件在复位时启动,只需按下一个键(或者以任何目标可以识别的方式),自动进行所有检查.最后,更新过程只向操作员报告状态(成功