基于VHDL的单总线从机读写控制器Word下载.doc
- 文档编号:13166483
- 上传时间:2022-10-07
- 格式:DOC
- 页数:22
- 大小:1.04MB
基于VHDL的单总线从机读写控制器Word下载.doc
《基于VHDL的单总线从机读写控制器Word下载.doc》由会员分享,可在线阅读,更多相关《基于VHDL的单总线从机读写控制器Word下载.doc(22页珍藏版)》请在冰豆网上搜索。
课堂感悟与致谢 20
20
前言
是美国达拉斯公司生产的一种单总线数字温度传感器,采用总线通信协议。
具有独特的单总线通信方式以及较高的测量精度,目前在实际生活中获得了广泛应用。
本文介绍了的基本原理和通信时序,并用软件模拟单总线时序,实现与的通信。
作为电子硬件设计的主流描述语言,采用层次化的设计方式,具有电路行为描述能力强、灵活、通用及运算仿真速度快等特点,能够较容易地实现时序逻辑控制。
本文以数字温度传感器为例,设计一个基于的单总线控制器,并对通信程序进行了仿真测试。
本文介绍的单总线控制器,有较强的可扩展性,可以连接多种单总线器件,且微处理器可以不用被迫关闭中断,满足各类对实时性具有严格要求的应用。
第1章单总线技术
第1.1节单总线技术简介
单总线技术是达拉斯半导体公司推出的一项特有技术。
它采用单根信号线,既可传输时钟,又能传输数据,而且数据可以双向传输。
由于这种单总线技术线路简单,硬件开销少,所以其具有成本低廉,便于总线扩展和易于维护等优点。
单总线适用于单主机系统,能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。
当只有一个从机设备时,系统可按单节点系统操作;
当有多个从机设备时,系统则按多节点系统操作。
第1.2节单总线技术的原理与硬件结构
单总线只有一根数据线,系统中的数据交换、控制都在这根线上完成。
设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,这样便可允许设备在不发送数据时释放总线,以便其他设备使用总线,其内部等效电路如图1.1所示。
图1.1单总线硬件接口示意图
单总线要外接一个约的上拉电阻,这样当总线闲置时,状态为高电平。
主机和从机之间的通信通过以下三个步骤完成:
初始化器件,识别器件,交换数据。
由于二者是主从结构,只有主机呼叫从机时,从机才能答应,因此主机访问器件必须严格遵循单总线命令序列:
初始化、命令、功能命令。
如果出现序列混乱,器件则不会响应主机(搜索命令,报警搜索命令除外)。
根据以上原理,可以画出单总线硬件接口原理图,如图1.2所示。
图1.2单总线硬件接口原理图
单总线端口为漏极开路,在本文中令单总线外接一个约的上拉电阻,这样,不管什么原因单总线的闲置状态为高电平。
如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,总线必须处于空闲状态。
位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(即高电平)即可。
如果总线保持低电平超过则将总线上的所有器件将复位。
此外,在使用寄生方式供电时,为了保证单总线器件在某些工作状态下(如温度转换期间、写入等)具有足够的电源电流,必须在总线上提供强上拉源,如图1.2中所示的。
第1.3节单总线技术的信号方式
所有单总线器件要求遵循严格的通信协议,以保证数据的完整性。
协议定义了几种信号类型:
复位脉冲、答应脉冲、写、写、读和读时序。
所有的单总线命令序列(初始化、命令、功能命令)都是由这些基本的信号类型组成。
这些信号,除了应答脉冲外都是由主机发出同步信号,并且发出的所有命令和数据都是字节的低位在前。
初始化时序包括主机发送的复位脉冲和从机发出的应答脉冲,主机通过拉低单总线以上,产生复位脉冲,然后主机释放总线,并进入接收模式。
当主机释放总线时,总线由低电平跳变为高电平时产生一上升沿,单总线器件检测到这上升沿后,延时,接着单总线器件通过拉低总线产生应答脉冲。
当主机接收到从机应答脉冲后,说明此时有单总线器件在线,然后主机就开始对从机进行命令和功能命令的操作。
在每一个写、写或读时序中,总线只能传输一位数据。
所有的读写时序至少需要,且每两个独立的时序之间至少需要的恢复时间。
读写时序均起始于主机拉低总线。
在写时序中,主机拉低总线后保持至少的低电平则向单总线器件写。
单总线器件在主机发出读时序时才向主机传送数据,所以当主机向单总线器件发出数据命令后,必须马上产生读时序,以便单总线能传输数据。
在主机发出读时序之后,单总线器件才开始在总线上发送或,若单总线器件发送,则保持总线高电平;
若发送,则拉低总线。
单总线器件发送数据之后,需保持有效的时间,因而,主机在读时序期间必须释放总线,并且必须在之内对总线状态进行采样,接收从机发送的数据。
第1.4节单总线技术的器件
为了区分不同的单总线器件,厂家在生产单总线器件时要刻录一个位的二进制代码,用于标明单总线器件的号。
目前,单总线器件的主要有数字温度传感器(如)、/转换器(如)门禁、身份识别器(如)、单总线控制器(如)等等。
其中数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式等。
其型号多种多样,有,等等,主要根据应用场合的不同而改变其外观。
封装后的可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
由于其耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域,目前有着广泛的应用,故我们选择芯片来进行下面的设计。
第2章DS18B20简介
第2.1节DS18B20的封装与管脚
芯片的常见封装为,如图2.1所示,也就是普通直插三极管的样子。
也有其他形式的封装,如图2.2所示的封装以及图2.3所示的封装。
各种封装的图示及引脚图如图2.12.3所示。
图2.1TO-92封装
图2.2SO封装
图2.3μSOP封装
第2.2节DS18B20内部结构
主要由部分组成:
光刻、温度敏感器件、高速暂存存储器和温度报警触发器、。
光刻中的序列号是出厂前被光刻好的,它可以看作是该的地址序列码。
光刻的排列是:
开始位是产品类型标号,接着的位是该自身的序列号,最后位是前面位的循环冗余校验码,可由下式得到:
。
光刻的作用是使每一个都各不相同,这样就可以实现一根总线上挂接多个的目的。
光刻保存芯片的唯一的编码。
高速暂存存储器高速暂存存储器由个字节组成。
高速暂存存储器包含个连续的字节,存放测得的温度的补码、和的拷贝数据、计数器余值和校验等数据,其结构如图2.4所示。
其中所有数据均以最低有效位在前的方式读写。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第和第个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后。
对应的温度计算规则为:
当符号位时,直接将二进制位转换为十进制;
当时,先将补码变为原码,再计算十进制值。
表2是对应的一部分温度值。
第九个字节是冗余检验字节。
图2.4存储器
由于芯片可以工作在寄生电源模式下工作,该模式允许工作在无外部电源的状态。
当总线为高电平时,寄生电源由单总线通过引脚,此时可以从总线得到能量,并将得到的能量储存到寄生电源储能电容中,当总线为低电平时释放能量供给器件工作使用。
简单的说就是在信号线为高电平的时间周期内,把能量储存在内部的电容器中;
在信号线为低电平期间,由存储在电容器内的电荷供电。
所以,当工作在寄生电源模式时,引脚必须接地。
工作时信号线须接的上拉电阻,以保证信号线有足够的驱动能力。
一个典型的硬件原理图如图2.5所示。
图2.5硬件原理图
如上图所示,芯片通过达拉斯公司的单总线协议依靠一个单线端口通讯,当全部器件经由一个三态端口或者漏极开路端口与总线连接时,控制线需要连接一个弱上拉电阻。
在多只连接时,每个都拥有一个全球唯一的位序列号,在这个总线系统中,微处理器依靠每个器件独有的位片序列号辨认总线上的器件并记录总线上的器件地址,从而允许多只同时连接在一条单线总线上。
因此,可以很轻松地利用一个微处理器去控制很多分布在不同区域的,这一特性在环境控制、探测建筑物、仪器等温度以及过程监测和控制等方面都非常有用。
对于的电路连接,除了上面所说的传统的外部电源供电时的电路连接图,也可以工作在上文所述的寄生电源模式中。
图2.6表示了工作在寄生电源模式下的硬件原理图。
这样可以使工作在寄生电源模式下,不用额外的电源就可以实时采集位于多个地点的温度信息。
图2.6寄生电源模式硬件原理图
第2.3节DS1820时序及工作方式
时序如图2.72.9所示,时序波形的电平分为种类型:
主机作用的高低电平、由输出的高低电平和由上拉电阻拉起的高电平(后种情况主机释放信号线)。
闲置时信号线保持高电平,对的任何操作(如读、写、复位等)都是由主机对信号线的电平由逻辑高电平拉至低电平开始。
图2.7复位时序
复位时序是工作的基础。
任何设备与间的通讯都需要以初始化序列开始。
一个复位脉冲跟着一个存在脉冲表明已经准备好发送和接收数据。
在初始化序列期间,总线控制器拉低总线并保持以发出一个复位脉冲,然后释放总线,进入接受状态。
单总线由上拉电阻拉倒高电平。
当探测到/引脚上的上升沿后,等待,然后发出一个由的低电平信号构成的存在脉冲。
初始化时序见图2.7。
图2.8写时序
的数据读写是通过时序处理位来确认信息交换的。
有两种写时序:
写时序和写时序。
总线控制器通过写时序写逻辑到,写时序写逻辑到。
所有写时序必须最少持续,包括两个写周期之间至少的恢复时间。
当总线控制器把数据线从逻辑高电平拉到低电平的时候,写时序开始。
总线控制器要生产一个写时序,必须把数据线拉到低电平然后释放,在写时序开始后的释放总线。
当总线被释放的时候,上拉电阻将拉高总线。
总控制器要生成一个写时序,必须把数据线拉到低电平并持续保持至少。
总线控制器初始化写时序后,在一个到的窗口内对/线采样。
如果线上是高电平,就是写;
如果线上是低电平,就是写。
写时序见图2.8。
图2.9读时序
当总线控制器发起读时序时,仅被用来传输数据给控制器。
因此,总线控制器在发出读暂存器指令或读电源模式指令后必须立刻开始读时序,可以提供请求信息。
除此之外,总线控制器在发出发送温度转换指令或召回指令之后读时序。
所有读时序必须最少,包括两个读周期间至少的恢复时间。
当总线控制器把数据线从高电平拉到低电平时,读时序开始,数据线必须至少保持,然后总线被释放。
在总线控制器发出读时序后,通过拉高或拉低总线上来传输或。
当传输逻辑结束后,总线将被释放,通过上拉电阻回到上升沿状态。
从输出的数据在读时序的下降沿出现后内有效。
因此,总线控制器在读时序开始后必须停止把/脚驱动为低电平,以读取/脚状态。
读时序见图2.9。
由时序图可知,单总线的通信协议由种信号类别组成:
复位脉冲、存在脉冲、写、写、读、读。
这些信号除了存在脉冲之外,均由总线主机产生。
主机通过单总线对的操作必须首先由操作命令其中之一开始。
现以单总线只挂接一个读取其中的温度数据为例,说明其工作过程如下:
(1)、主机产生复位脉冲,返回响应脉冲;
(2)、主机写入(,跳过)命令,该命令为种操作命令之一;
(3)、主机写入温度转换命令;
(4)、主机再次产生复位脉冲,返回响应脉冲;
(5)、主机写入(,跳过)命令;
(6)、主机写入读暂存存储器命令;
(7)、读暂存存储器的温度数据。
第3章控制器设计
第3.1节控制器结构
控制器结构如图3.1所示,控制器由部分组成,分别是逻辑控制部分、单总线时序控制部分、数据缓存部分以及计数器部分。
逻辑控制部分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VHDL 总线 读写 控制器