twi接口和twi接口器件使用

twi接口和twi接口器件使用

ID:8809875

大小:150.00 KB

页数:9页

时间:2018-04-08

twi接口和twi接口器件使用_第1页
twi接口和twi接口器件使用_第2页
twi接口和twi接口器件使用_第3页
twi接口和twi接口器件使用_第4页
twi接口和twi接口器件使用_第5页
资源描述:

《twi接口和twi接口器件使用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、TWI接口和TWI接口器件使用AVR单片机的很多型号也具有两线制接口,即TWI接口。实际上TWI接口时序和常见的总线是兼容的。我们这本书结合讲的单片机Atmega16就有这种接口。这种接口的使用也十分广泛。比如本文会结合介绍的EEPROMAT24C64;MAXIM公司的温度传感器(查出型号);有的A/D转换器;菲利普还有专门的用这种总线的I/O扩展芯片。TWI电路接线简单,占用I/O,并且可以很多期间共享一个总线,使用比较方便,系统也很简洁。AVR单片机用硬件实现了这种总线的时序,省去了很多编程工作。同时支持

2、一条总线多个主设备的通讯。我们只需要控制相关寄存器就能实现通过TWI传输数据。很大程度上减少了我们的工作量,从而使代码更简洁,开发更容易。下面我们会介绍的基本知识,AVR的TWI接口的功能和使用,给出一个用TWI接口读写接口的EEPROM的例子,最后给出适用于AVR-GCC编译器的示例程序。一、总线的基本知识总线的信号线有两条,一条是时钟线SCL,另一条是数据线SDA。总线连接起来的时候,需要两个上拉电阻,器件内部这两个信号引脚是集电极开路(或者是漏极开路)的。这样总线上的器件只要有一个输出低电平总线就会被拉

3、低(实际上就是所谓线与的逻辑),这主要用于总线仲裁。1.在总线上,有几个状态表示特殊的总线信号。开始和停止信号时序如下图所示:图上可以看出,在SCL位高电平时SDA的变化将产生总线开始和停止信号。SDA从高电平跳变到低电平表示开始,从低电平跳变到高电平表示停止。数据的建立和有效:上图表示在传输数据时,SCL高电平的时候,SDA上的数据不能变化,因为前面已经说明,这是数据的变化将会认为是开始或者结束的信号。在SCL低电平时数据可以改变。2.主器件和从器件总线上可以有很多设备但是同时只能有一个主设备进行传输,从设

4、备都有设备地址,当总线上的地址和从设备设置的地址一致时,传输在主设备和被寻址的从设备之间进行,其他设备相当于和总线分离。主设备产生SCL信号。当总线上有多个主设备试图传输不同的数据的时候,就会产生总线仲裁问题。3.的寻址过程在总线上的数据传输,除了开始和停止之外,由于可以多个从设备共用总线还会有一个寻址过程。寻址过程通过主设备发送一定格式的寻址命令进行。寻址命令由起个位的从设备地址、一位读写标志和一位响应信号组成。七位的从设备地址可以由设计者任意设定,不过0000000是一个通用寻址地址。当主设备需要向所有的

5、从设备传输同样的信息的时候,可以使用通用寻址地址,这时,总线上的所有设备拉低SDA线,响应这个命令。此后,主设备往总线上写的数据会被所有的相应这个寻址命令的从设备接收到。但是,一个通用的都命令是没有意义的,因为有可能不同的从设备会向总线传送不同的数据(电平),从而引起总线冲突。从设备地址11111xxx需要留给将来的应用。有的从设备进一步规定了寻址的格式。比如ATMEL公司24CXX系列的EEPROM就规定寻址的开始四位必须是1010。这是根据相应器件的说明书设置相应的地址就行了。读写控制位是1的时候执行读操

6、作,是0的时候执行写操作。往总线传输时最高位(MSB)最先送出,最后是读写指令,当相应器件被寻址的时候,它会拉低SDA线,作为回应。如果没有器件被正确寻址,或者要寻址的器件忙,则SDA会保持高。这是主设备就会知道寻址没有成功,可以发送一个停止命令,或者重新开始命令。4.的数据发送过程寻址以后就是数据发送过程。这时主设备负责产生时钟,发送开始和停止指令,接收设备需要接收到数据要发出回应。时钟的第九个周期如果SDA被拉低,表示接收回应,如果还是保持高,则表示没有回应。数据有八位,高位先传输。二、AVR单片机的TW

7、I接口AVR单片机的提供了硬件实现总线时序的TWI接口,通过控制与此相关的特殊功能寄存器就能按照字节通过总线传输数据。接口功能的详细介绍可以参考相应型号单片机数据手册,下面我们就Atmega16做一下简要介绍。1.1.      SCL和SDA引脚两个管脚功能是和普通I/O复用的,当开始使用TWI接口传输数据的时候,硬件会覆盖原来对这两个和I/O的设置,自己控制输入输出的方向。由于总线是需要上拉电阻的,AVR单片机这时允许内部上拉电阻有效,从而可以省去两个外部电阻。同时引脚的输入部分有毛刺去除电路,输出有斜率

8、限制。2.2.      波特率设置当TWI工作在主模式下的时候,AVR单片机产生时钟信号驱动时钟线SCL。时钟的周期由TWI的状态寄存器TWSR的预分频位和TWI的波特率寄存器TWBR决定。当TWI工作于从模式下时,不需要对波特率进行设置,不过系统的时钟必须大于TWI时钟线SCL频率的16倍。下面是SCL频率和寄存器相应设置的关系的式子:其中,就是SCL的频率,是系统的时钟,TWBR为TWI接口波

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。