




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 串行通信协议串行通信协议 串行总线的组成及工作原理串行总线的组成及工作原理采用串行总线技术可以使系统的硬件设计大大采用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。统的更改和扩充极为容易。常用的串行扩展总线有:常用的串行扩展总线有:单总线单总线(1WIRE BUS) I2C (Inter IC BUS)总线)总线SPI(Serial Peripheral Interface)总线)总线 One-Wire总线(单总线)总线(单总线) One-Wire总线是DALLAS公司研制开发的协议。它由一个总
2、线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合 One-Wire协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家族代码和8位的CRC代码。主芯片对各个从芯片的寻址依据这64位的不同来进行。One-Wire总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括复位及应答时序、写一位时序、读一位时序。 在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。单总线的时序单总线的时序 One-Wire协议定义了复位脉冲、
3、应答脉冲、写0、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其他均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位低位在前。数字化温度传感器数字化温度传感器DS18B20DALLAS半导体公司的数字化温度传感半导体公司的数字化温度传感器器DS18B20是世界上第一片支持是世界上第一片支持“一线总一线总线线”接口的温度传感器。一线总线独特而接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念器网络,为
4、测量系统的构建引入全新概念。现在,新一代的。现在,新一代的DS18B20体积更小、更体积更小、更经济、更灵活。经济、更灵活。DS18B20测量温度范围为测量温度范围为 55+125。在。在 10+85范围内范围内,精度为,精度为 0.5。现场温度直接以。现场温度直接以“一线一线总线总线”的数字方式传输,大大提高了系统的数字方式传输,大大提高了系统的抗干扰性的抗干扰性。DS18B20的外形和内部结构的外形和内部结构DS18B20内部结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如图。DS18B20引脚定义如下:(1
5、)DQ为数字信号输入/输出端。(2)GND为电源地。(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20的的4个主要数据部件个主要数据部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看做是该DS18B20的地址序列码,这样就可以实现一根总线上挂接多个DS18B20的目的。 64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。8位检验CRC48位序列号8位工厂代码(10H) (2)DS18B20中的温度传感器可完成对温度的测量中的温度传感
6、器可完成对温度的测量,以,以12位转化为例:用位转化为例:用16位符号扩展的二进制补码位符号扩展的二进制补码读数形式提供,以读数形式提供,以0.0625/LSB形式表达,其中形式表达,其中S为符号位。为符号位。DS18B20温度值格式表如表所示。温度值格式表如表所示。其中其中“S”为标志位,对应的温度计算:当符号位为标志位,对应的温度计算:当符号位S=0时,表示测得温度值为正,直接将二进制位转换为时,表示测得温度值为正,直接将二进制位转换为十进制;当十进制;当S=1时,表示测得温度值为负时,表示测得温度值为负,先将补码先将补码变换为原码,再计算十进制值。变换为原码,再计算十进制值。SSSSS2
7、62524232221202-12-22-32-4DS18B20温度与二进制温度数据对应关系7418温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06
8、251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H I2C-BUS I2C总线是总线是PHLIPS公司推出的一种串行总线,是具备多公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。性能串行总线。 I2C总线只有两根双向信号线。一根是数据线总线只有两根双向信号线。一根是数据线SDA,另,另一根是时钟线一根是时钟线SCL。 I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任
9、一器件输出的低电平,都将使总为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的线的信号变低,即各器件的SDA及及SCL都是线都是线“与与”关系关系。 每个接到每个接到I2C总线上的器件都有唯一的地总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为为发送器。由总线上接收数据的器件则为接收器接收器。 在多主机系统中,可能同时有几个主机企图启在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,动总线传送数
10、据。为了避免混乱, I2C总线要通总线要通过总线仲裁,以决定由哪一台主机控制总线。过总线仲裁,以决定由哪一台主机控制总线。 数据位的有效性规定数据位的有效性规定 I2C总线进行数据传送时,总线进行数据传送时,时钟信号为高电平期间时钟信号为高电平期间,数据,数据线上的数据必须保持稳定,只有在线上的数据必须保持稳定,只有在时钟线上的信号为低电时钟线上的信号为低电平期间平期间,数据线上的高电平或低电平状态才允许变化。,数据线上的高电平或低电平状态才允许变化。 I2C总线的数据传送总线的数据传送起始和终止信号起始和终止信号 SCL线为高电平线为高电平期间,期间,SDA线线由由高电平向低电高电平向低电平
11、平的变化表示起始信号;的变化表示起始信号;SCL线为高电平期间,线为高电平期间,SDA线线由由低电平向高电平低电平向高电平的变化表示终止信号。的变化表示终止信号。 起始和终止信号都是由主机发出的,在起始信起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。号产生后,总线就处于空闲状态。 连接到连接到I2C总线上的器件,若具有总线上的器件,若具有I2C总线的硬件接口,则总线的硬件接口,则很容易检测到起始和终止信号。对于不具备很容易检测到起始和终止信号。对于不具备I2C总线硬件接总线硬件接口的有些
12、单片机来说,为了检测起始和终止信号,必须保证口的有些单片机来说,为了检测起始和终止信号,必须保证在每个时钟周期内对数据线在每个时钟周期内对数据线SDA采样两次采样两次。 接收器件收到一个完整的数据字节后,有可能需要完成接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将下一个字节,这时接收器件可以将SCL线拉成低电平,从而线拉成低电平,从而使主机处于等待状态。直到接收器件准备好接收下一个字节使主机处于等待状态。直到接收器件准备好接收下一个字节时,再释放时,再释放SC
13、L线使之为高电平,从而使数据传送可以继续线使之为高电平,从而使数据传送可以继续进行。进行。 数据传送格式数据传送格式字节传送与应答字节传送与应答 每一个字节必须保证是每一个字节必须保证是8位长度。数据传送时,先传位长度。数据传送时,先传送最高位(送最高位(MSB),每一个被传送的字节后面都必须跟),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有随一位应答位(即一帧共有9位)。位)。 IO口模拟子程序(1)起始信号)起始信号void Start_I2c(void) SDA = 1; /发送起始条件的数据信号发送起始条件的数据信号 DelayNus(2); SCL = 1 ; DelayN
14、us(6); /起始条件建立时间大于起始条件建立时间大于4.7us,延时延时 SDA = 0; /发送起始信号发送起始信号 DelayNus(6); /起始条件建立时间大于起始条件建立时间大于4.7us,延时延时 SCL = 0; /钳住钳住I2C总线,准备发送或接收数据总线,准备发送或接收数据 (2)终止信号)终止信号void Stop_I2c(void) SDA = 0; DelayNus(2); SCL = 1; DelayNus(6);/起始条件建立时间大于起始条件建立时间大于4.7us,延时延时 SDA = 1; DelayNus(6); 从机地址(Slave Address) I2
15、C 总线不需要额外的地址译码器和片选信号。多个具有 I2C 总线接口的器件都可以连接到同一条 I2C 总线上,它们之间通过器件地址来区分。主机是主控器件,它不需要器件地址,其它器件都属于从机,要有器件地址。必须保证同一条 I2C 总线上所有从机的地址都是唯一确定的,不能有重复,否则 I2C总线将不能正常工作。 D7D1位组成从机的地址。位组成从机的地址。D0位是数据传位是数据传送方向位,为送方向位,为“0”时表示主机向从机写数时表示主机向从机写数据,为据,为“1”时表示主机由从机读数据时表示主机由从机读数据例: AT24C系列系列E2PROM芯片地址的固定部分芯片地址的固定部分为为1010,A
16、2、A1、A0引脚接高、低电平后得引脚接高、低电平后得到确定的到确定的3位编码。形成的位编码。形成的7位编码即为该器件位编码即为该器件的地址码。的地址码。子地址 带有 I2C 总线的器件除了有从机地址(Slave Address)外,还可能有子地址。从机地址是指该器件在 I2C 总线上被主机寻址的地址, 而子地址是指该器件内部不同部件或存储单元的编址。例如,带 I2C 总线接口的 E2PROM 就是拥有子地址器件的典型代表。 应答 在 I2C 总线传输数据过程中,每传输一个字节,都要跟一个应答状态位。接收器接收数据的情况可以通过应答位来告知发送器。应答位的时钟脉冲仍由主机产生,而应答位的数据状
17、态则遵循“谁接收谁产生”的原则,即总是由接收器产生应答位。主机向从机发送数据时,应答位由从机产生;主机从从机接收数据时,应答位由主机产生。 I2C总线标准规定:应答位为 0 表示接收器应答(ACK) ,常常简记为 A;为 1 则表示非应答(NACK) ,常常简记为A。发送器发送完 LSB 之后,应当释放 SDA 线(拉高 SDA,输出晶体管截止) ,以等待接收器产生应答位基本的数据传输格式在图 4 和图 5 中,各种符号的意义为: S:起始位(START) SA:从机地址(Slave Address) ,7 位从机地址 W:写标志位(Write) ,1 位写标志 R:读标志位(Read) ,1
18、位读标志 A:应答位(Acknowledge) ,1 位应答 /A:非应答位(Not Acknowledge) ,1位非应答 D:数据(Data) ,每个数据都必须是 8 位 P:停止位(STOP) 阴影:主机产生的信号 无阴影:从机产生的信号 重复起始条件(Repeated START condition) 主机与从机进行通信时,有时需要切换数据的收发方向(例如,访问某一具有 I2C总线接口的 E2PROM 存储器时,主机先向存储器输入存储单元的地址信息(发送数据) ,然后再读取其中的存储内容(接收数据) ) 在切换数据的传输方向时,可以不必先产生停止条件再开始下次传输,而是直接再一次产生开
19、始条件。I2C 总线在已经处于忙的状态下,再一次直接产生起始条件的情况被称为重复起始条件。重复起始条件常常简记为 Sr。读/写一字节子程序void SendByte(unsigned char c) unsigned char i; for(i=0;i8;i+) if(ci) & 0 x80) SDA = 1; /判断发送位判断发送位 else SDA =0; DelayNus(2); SCL = 1; DelayNus(6); SCL = 0; DelayNus(6); unsigned char RcvByte(void) unsigned char i; unsigned cha
20、r c=0; SDA = 1; for(i=0;i8;i+) SCL = 0; /置时钟线为低,准备接收数据位置时钟线为低,准备接收数据位 DelayNus(6);/时钟低电平周期大于时钟低电平周期大于4.7s SCL = 1; DelayNus(2); c=1; if(SDA) c+=1; /读数据位,将接收的数据存读数据位,将接收的数据存c SCL = 0; return c;SPI-BUS 同步串行外设接口同步串行外设接口(SPI)是由摩托是由摩托罗拉公司开发的全双工同步串行总线,罗拉公司开发的全双工同步串行总线,该总线大量用在与该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设和显示驱动器之类的慢速外设器件通信器件通信通信方式通信方式单工通信: 信息只能单方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粮油、食品、饮料生产加工及饲料生产加工人员岗位实习报告
- 特种镗工基础技能培训手册
- 互联网营销师职业技能鉴定经典试题含答案
- 地毯设计师职业技能鉴定经典试题含答案
- 自来水生产工技能测试题库及答案
- 材料渗透探伤试验工技能测试题库及答案
- 硬质合金烧结工上岗证考试题库及答案
- 反应堆回路运行工岗位实习报告
- 社会服务和居民生活服务人员实操任务书
- 芯模装配工岗位实习报告
- 转让律所合伙人份额协议书范文
- 《骆驼祥子》名著阅读课件
- 2023医疗质量安全核心制度要点释义(第二版)对比版
- 商品房预售资金监管实施方案
- 居间服务合同范本复制版
- 游戏开发外包合同
- 2024-2030年中国公路养护行业市场深度调研及投资策略与投资前景研究报告
- 虚拟货币行业市场深度分析报告
- 施工现场的防汛应急预案
- 《学科教学与德育及心理健康教育有机融合的研究》课题结题报告
- 四年级数学下册计算题(每日一练33份)
评论
0/150
提交评论