首页 百科知识 基于总线传输的数字温度计

基于总线传输的数字温度计

时间:2024-10-10 百科知识 版权反馈
【摘要】:I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。发送到SDA线上的每个字节必须为8位,每次传输可以发送的字节数量不受限制,每个字节后必须跟一个响应位。

实验17 基于I2C总线传输的数字温度计

【实验目的】

(1)熟练掌握VHDL语言和QuartusⅡ软件的使用;

(2)理解状态机的工作原理和设计方法;

(3)掌握利用EDA工具进行自顶向下的电子系统设计方法。

【实验所用仪器及元器件】

(1)计算机;

(2)示波器;

(3)直流稳压电源;

(4)万用表;

(5)EDA开发板及相应元器件。

【实验原理】

1.I2C(Inter-Integrated Circuit)总线协议

I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于20世纪80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(Multi-Mastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址。在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。

SDA线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变,如图8-13。

img454

图8-13 I2 C总线的位传输

在I2C总线中,起始条件(S)是在SCL线是高电平时,SDA线从高电平向低电平跳变;停止条件(P)是在SCL是高电平时SDA线由低电平向高电平跳变,如图8-14所示。

img455

图8-14 总线开始/停止

发送到SDA线上的每个字节必须为8位,每次传输可以发送的字节数量不受限制,每个字节后必须跟一个响应位。首先传输的是数据的最高位,如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL保持低电平,迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线SCL后,数据传输继续。

2.DS1775数字温度计和恒温器

DS1775数字温度计和恒温器采用小巧的5引脚SOT23封装,在-10~+85℃范围内具有±2℃精度。温度计数据采用2进制补码格式,具有9至12位分辨率(用户可编程),通过2线串行总线读出。DS1775具有8个不同的硬件连线地址,允许多达8个DS1775器件工作在同一条总线上。

DS1775提供温控器功能,具有用户可编程的过温(TOS)和欠温(THYST)门限,保存在片内SRAM中。两个门限提供可编程的温控器滞回:当测量温度超过TOS时,温控器输出有效,并保持有效直到测量温度降至THYST以下。

【实验内容】

1.基本内容

设计一个基于I2C总线传输的数字温度计。

(1)温度传感器芯片为DS1775;

(2)根据I2C总线传输协议读取温度传感器的数据,将读取的数据译码后在数码管上显示温度值。

2.提高要求

(1)可设置上下限报警温度,超出正常温度范围报警;

(2)自拟其他功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈