详解单总线及其应用
单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。图12-1所示是单总线多节点系统。
图12-1 单总线多节点系统示意图
单总线硬件结构
顾名思义,单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其他设备使用总线,其内部等效电路如图12-2所示。
图12-2 单总线硬件接口示意图
单总线要求外接一个约5k的上拉电阻:这样,单总线的闲置状态为高电平。不管什么原因,如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,则总线必须处于空闲状态。位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(高电平)。如果总线保持低电平超过480μs,总线上的所有器件将复位。另外,在寄生方式供电时,为了保证单总线器件在某些工作状态下(如温度转换期间、EEPROM写入等)具有足够的电源电流,必须在总线上提供强上拉(如图中所示的MOSFET(metal-oxide semiconductor field-effect transistor,金属氧化物半导体场效应晶体管))。
单总线通信原理
主机和从机之间的通信可通过3个步骤完成,分别为初始化1-wire器件、识别1-wire器件和交换数据。由于单总线是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循单总线命令序列,即初始化、ROM命令和功能命令。如果出现序列混乱,1-wire器件将不响应主机(搜索ROM命令、报警搜索命令除外)。
(1)初始化
基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机设备,且准备就绪。
(2)ROM命令
在主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设备的唯一64 位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。
这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警状态。从机设备一般支持5种ROM命令(实际情况与具体型号有关)每种命令长度为8位,如表12-1所示。主机在发出功能命令之前,必须送出合适的ROM命令。
表12-1 ROM命令说明
(3)功能命令
在主机发出ROM命令后,接着就可以发出某个功能命令。功能命令则根据具体1-wire器件所支持的功能来确定。
单总线的信号方式
所有的单总线器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。所有这些信号,除了应答脉冲以外,都由主机发出同步信号。并且发送所有的命令和数据都是字节的低位在前,这一点与多数串行通信格式不同(多数为字节的高位在前)。
(1)初始化序列——复位和应答脉冲
单总线上的所有通信都是以初始化序列开始,包括:主机发出的复位脉冲及从机的应答脉冲,如图12-3所示。当从机发出响应主机的应答脉冲时,即向主机表明它处于总线上,且工作准备就绪。在主机初始化过程,主机通过拉低单总线至少480μs,以产生(Tx)复位脉冲。接着主机释放总线,并进入接收模式(Rx)。当总线被释放后,5k上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时15~60μs,接着通过拉低总线60~240μs,以产生应答脉冲。
图12-3 复位和应答脉冲
提示
黑色实线代表系统主机拉低总线,黑色虚线代表上拉电阻将总线拉高。
(2)读/写时隙
在写时隙期间,主机向单总线器件写入数据;而在读时隙期间,主机读入来自从机的数据。在每一个时隙,总线只能传输一位数据。
① 写时隙
存在两种写时隙:“写1”和“写0”。主机采用写1时隙向从机写入1,而采用写0时隙向从机写入0。所有写时隙至少需要60μs,且在两次独立的写时隙之间至少需要1μs的恢复时间。两种写时隙均起始于主机拉低总线(如图12-4所示)。产生写1时隙的方式:主机在拉低总线后,接着必须在15μs之内释放总线,由5k上拉电阻将总线拉至高电平;而产生写0时隙的方式;在主机拉低总线后,只需在整个时隙期间保持低电平即可(至少60μs)。
在写时隙起始后15~60μs期间,单总线器件采样总线电平状态。如果在此期间采样为高电平,则逻辑1被写入该器件;如果为0,则写入逻辑0。
图12-4 单总线通信协议中写时隙时序图
② 读时隙
单总线器件仅在主机发出读时隙时,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时隙,以便从机能够传输数据。所有读时隙至少需要60μs,且在两次独立的读时隙之间至少需要1μs的恢复时间。每个读时隙都由主机发起,至少拉低总线1μs(如图12-5所示)。在主机发起读时隙之后,单总线器件才开始在总线上发送0或1。若从机发送1,则保持总线为高电平;若发送0,则拉低总线。当发送0时,从机在该时隙结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。从机发出的数据在起始时隙之后,保持有效时间15μs,因而,主机在读时隙期间必须释放总线,并且在时隙起始后的15μs之内采样总线状态。
图12-5 单总线通信协议中读时隙时序图
单总线器件
通常把挂在单总线上的器件称之为单总线器件,单总线器件内一般都具有控制、收发、存储等电路。为了区分不同的单总线器件,厂家生产单总线器件时都要烧录一个64位的二进制ROM代码,以标志其ID号。目前,单总线器件主要有数字温度传感器(如DS18B20)、A/D转换器(如DS2450)、门标、身份识别器(如DS1990A)、单总线控制器(如DS1WM)等。
12.1.2 单总线器件DS18B20
(一)DS18B20性能特点
图12-6 DS18B20引脚图
DS18B20是DALLAS公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读取。可分别在93.75 ms和750 ms内完成9位和12位的温度数字量转换,从DS18B20读出信息或写入信息仅需要一根数据线。读写温度、变换功率可来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。
DS18B20的引脚如图12-6所示。
(1)GND为电源端;
(2)DQ为数字信号输入输出端;
(3)V DD 为外接供电电源输入端(在寄生电源接线方式时接地)。
(二)DS18B20的内部结构及主要功能部件
DS18B20的总体结构如图12-7所示,由64位光刻ROM及串行接口、高低温度传感器、高低温触发器、配置寄存器、8位CRC发生器、电源检测和寄生电容等各部分组成。
(1)64位ROM
64位光刻ROM是出厂前被光刻好的,它由8位产品系列号,48位产品序号和8位CRC编码组成,DS18B20的产品系列号均为28H,每个器件的48位产品序号各不相同,利用产品序号可以识别一线上的挂载的不同DS18B20器件。
图12-7 DS18B20内部结构框图
(2)配置寄存器
配置寄存器用于设置DS18B20的转换精度,配置寄存器的各位如表12-2所示。
表12-2 DS18B20配置寄存器
低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在出厂时该位被设置为0,用户不要去改动;R1和R2决定温度转换的精度位数。
DS18B20的温度转换时间与温度转换的精度位数(即温度转换的分辨率)相关,当温度转换的分辨率越高,转换需要的时间越长,其关系如表12-3所示。
表12-3 温度分辨率和最大转换时间关系表
(3)高温触发器TH和低温触发器TL
高温触发器TH中存在最高温度报警下限,低温触发器TL中存在最低温度报警下限,用户可通过软件写入。
(4)温度传感器
DS18B20中的温度传感器可完成对温度的测量,温度值用16位符号扩展的二进制补码读数形式提供,以0.0625℃/B形式表达,其中S为符号位,在12位转化情况下温度高低字节存放形式如表12-4所示。
表12-4 DS18B20温度的高低字节存放
二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。
在12位分辨率下温度-数字量输出的关系表如表12-5所示。
表12-5 温度-数据关系表
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若值高于TH或低于TL,则将该器件的报警标志位置位,并对主机发出报警搜索命令作出响应。
(三)DSl8B20工作过程
DSl8B20工作过程中的协议如下:
1. 初始化
单总线上的所有处理均从初始化开始;
2. ROM操作命令
总线主机检测到DSl8B20的存在便可以发出ROM操作命令,ROM操作命令如表12-6所示。
表12-6 DS18B20的ROM操作命令
3. 存储器操作命令
在执行ROM操作命令后执行存储器操作命令,存储器操作命令如表12-7所示。
表12-7 DS18B20的存储器操作命令
应用实例:8051单片机与DS18B20构成的测温系统
由DS18B20开发的一线式温度传感器具有接口简单、测量精度高等优点,广泛的应用到工业、仪器仪表、医疗电器等各个领域。
这里我们模仿一线式温度计的工作原理,以8051单片机(假设系统外接的是12MHz的晶振,即机器周期为1us)作为控制芯片,来读取DS18B20的温度值,并通过2位数码管显示被测对象的温度值。系统的结构如图12-8所示。
图12-8 8051单片机与DS18B20测温系统框图
程序设计说明:
1. 定义存放读取温度的变量TEMPER_L、TEMPER_H以及转换后的温度值变量TEMPER_NUM;定义单片机的P3.7口作为与DS18B20的数据通信口。定义位变量flag为判断DS18B20是否存在的标志。
2. 主程序通过循环调用读取温度程序、温度转换程序和数码管显示程序实现温度读取、转换和显示等功能。
3. 获取温度程序uint ReadTemperature(void),通过调用INIT_1820判断是否与DS18B20联络上。若联络上,接下来按照一定的时序发送命令,通过READ_18200程序读取温度值的高八位和低八位分别存放到TEMPER_H和TEMPER_L单元中。
4. 温度转换程序为void TemperConvert(void),显示程序为Display(void)。
C51源程序如下:
复旦大学课题组发明单晶体管逻辑结构新原理,将带来集成电路革新性变化
随着晶体管不断缩小特征尺寸,集成电路的性能得以持续提升。然而在超小器件尺寸下,硅材料的物理极限导致了功耗的大幅提升,难以进一步持续减小晶体管的特征尺寸。
通过引入层状半导体,并依据其特性设计新型层状晶体管结构,发现可以通过单个晶体管实现逻辑门(与门、或门),而同样的逻辑门在传统结构中则需要两个晶体管。
这一新型晶体管结构极大的提高了晶体管的面积利用率,可以促进晶体管的特征尺寸持续缩小。
让一个人干两个人的活,所有的事在一个办公室里处理完成,这样是不是大大提升了效率,节省了成本?这种思路放在集成电路中也是一样的。
目前,集成电路已越来越紧密地和现代社会的生产生活联系在一起,但是,随着晶体管物理尺寸的不断微缩,短沟道效应等负面效应使得漏电流不可避免,功耗大、集成度提高困难、不确定性增加,限制了集成电路的发展。
针对这些问题,复旦大学微电子学院教授周鹏、张卫、曾晓洋携团队与计算机学院教授姜育刚展开合作,发现了新材料在集成电路中的更优应用方案,解决了如何用新材料、新原理和新架构继续延展摩尔定律的难题,实现了电路逻辑结构从无到有的原始创新。
5月27日正值复旦大学114周年校庆日,相关成果以《小尺寸晶体管架构在可光控逻辑和原位存储器中的应用》(“Small footprint transistor architecture for photo-switching logic and in-situ memory”)为题在线发表于《自然·纳米技术》(Nature Nanotechnology)。
单晶体管逻辑结构示意图
“一个人干两人活”,提供“光控开关”切换选项
“我们这项研究工作的核心内容是利用原子晶体硫化钼做出了新结构晶体管。在此基础上,团队发明了单晶体管逻辑结构的新原理。新原理、新结构对原子晶体材料具有普适性。”周鹏解释道。
据介绍,研究团队采用与硅工艺兼容的双栅作为逻辑输入端,通过对创新引入的双导电通道加以独立控制,在单晶体管上实现了逻辑运算的“与”和“或”。
“与”和“或”是构成计算系统的最基本逻辑单元。
相比需要通过两个独立晶体管才能实现逻辑功能的传统体材料体系,该研究工作在逻辑门水平上缩小了50%的面积,有效降低了成本。“原先需要两个独立的晶体管才能实现逻辑功能,现在只需要一个晶体管,相当于一个人干两个人的活,这是研究工作的变革性之一。”周鹏补充。
同时研究中还发现了可层数调控的晶体管逻辑特性,并提供光切换逻辑功能的选项。周鹏解释,“简单来说,可光控逻辑相当于我们给逻辑做了一个光控开关,比如说有光照射时可能是‘或’逻辑,那么我们撤掉光线的话它就会切换成‘与’逻辑。当然反过来也是可以的。”
研究证明,该逻辑结构对原子晶体材料具有通用性,不仅适用于研究中已经验证的硫化钼,其它具有原子晶体属性的材料均可利用此架构实现可调控的逻辑功能。
通过进一步研究,发现该层状晶体管不但可以实现单一的逻辑门,而且可以通过外界的光照条件和沟道材料的厚度调控逻辑门的种类。
现有的实验数据已经证明了,硫化钼沟道的厚度在大于4nm时,晶体管具备“或门”特性,而当沟道厚度减小到4nm以下时,可以通过光照条件在“与”门和“或”门之间自由切换。
这表明层状晶体管结构除了在面积利用率上有较大优势外,还具备更为丰富可控的特性。
“房间”合二为一,存算一体突破现有架构限制
新的逻辑架构可以通过器件级存算一体路径破解数据传输阻塞瓶颈问题,突破了现有逻辑系统中冯诺依曼架构的限制。
对存算一体、原位存储,周鹏打了个比方,“原先我们计算和存储数据需要两个房间跑,而现在所有数据的计算和存储都在同一个房间解决。”
在冯·诺依曼架构下,计算和存储是相互分离的。“就好比我们现在有两个房间,房间A专门用来计算数据,房间B用来存储数据,数据在经过计算之后要通过电子借由导线从房间A传输到房间B,这条导线就相当于连接两个房间的走廊。”周鹏解释道。随着技术的发展,数据的计算速度越来越快,与此同时存储速度和传输速度却未能得到同步提升。冯诺依曼架构的限制就主要体现在计算速度、存储速度和传输速度的不相匹配。
“我们假设,房间A已经打包了100份数据,却只有几十份数据能被即时传输出去;又或是房间A已经打包完100份,房间B才刚刚开始存储接收到的前几十份数据,这两种情况都会对数据的处理带来很大限制。”周鹏补充。
存算一体、原位存储的物理架构突破了冯诺依曼架构的限制。在这一架构中,只需要“一个房间”就可实现计算和存储的功能。“房间”内分层工作,第一层负责计算,第二层负责存储,两个表层在垂直空间上形成堆叠。周鹏打比方:“就像两张纸摞在一起,它们在空间上是堆叠着的,数据的计算和存储只是在原地被相对抬高了一些而已。”计算层的沟道电流可以影响到存储层,从而摆脱传输环节,实现原位存储。
充分利用新材料特性,独辟蹊径继续延展摩尔定律
使用钢铁制造轮船、使用硅晶体制造芯片,人类在漫长历史中使用材料的本征属性来改造自然界。但周鹏发现,迄今的原子晶体电子器件研究工作仍然是用新材料模仿旧架构,无法真正发挥其优异的物理本质特性。
为走出窠臼,在着手该项研究的过程中,从材料本质优势出发设计新器件成为了团队的重要出发点。最终,正是超薄、表面无悬挂键等硫化钼特性的充分发挥,帮助其另辟蹊径地实现了集成电路逻辑结构上的革新,开拓了二维材料集成电路应用的新世界。
据周鹏介绍,团队对该工作的研究兴趣源自于目前国家发展对集成电路的重大需求,以及学界业界对延展摩尔定律(英特尔联合创始人戈登·摩尔曾提出集成电路上可容纳的元器件的数量每隔18至24个月就会增加一倍,性能也将提升一倍)、降低集成电路成本的尝试。单晶体管逻辑结构如果得以继续推进、应用于规模化生产,将推动集成电路往更轻、更快、更小、功耗更低的方向发展,促进集成电路产业的发展。“到那时,人们使用的手机、电脑等设备可能将更轻便、待机时间更长。”周鹏十分看好这一研究成果的发展前景,他表示,团队未来将探讨如何进一步突破冯诺依曼架构的限制。
复旦大学专用集成电路与系统国家重点实验室是研究工作的唯一单位。复旦大学微电子学院博士生刘春森及指导教师周鹏教授为共同第一作者,复旦大学微电子学院教授张卫和周鹏为通讯作者。研究工作得到国家自然科学基金委优秀青年项目和“集成电路3-5纳米节点器件基础问题研究”应急管理项目资助。
作者:姜澎 肖暖暖
编辑:李晨琰
责任编辑:许琦敏
*文汇独家稿件,转载请注明出处。
相关问答
单电子 器件在工作中是如何利用量子隧穿效应和库仑堵塞的?单电子器件的基本物理原理是源于纳米隧道结中单个电子输运产生的库仑阻塞效应,其通过操纵单个或少数几个电子的运动来完成器件工作。它具有极低功耗、极小尺寸...
晶体管 , 单 极型晶体管,双极型晶体管什么关系?双极性晶体管(BJT,BipolarJunctionTransistor):又称晶体三极管、半导体三极管等,简称三极管。有两种不同极性的载流子(电子与空穴)同时参与导电,故称为双...
澳大利亚新南威尔士大学科研团队已研究出一种可工作的 单 原子...[最佳回答]考点:元素周期表的特点及其应用专题:化学用语和质量守恒定律分析:根据图中元素周期表可以获得的信息:左上角的数字表示原子序数;字母表示该元素...
纳米技术可以在未来用到哪些地方?从基础研究的角度来看,发现新的纳米结构,并以这些纳米结构为基本模型,建立新的理论体系,研究新的物化性能已经是一个相当成熟的研究领域;而从应用研究的角度...
2024.66二进制转八进制?答:2024.66二进制转八进制是2024.66(十进制)=3750.5217270243656050(八进制)。下面科普十进制的研究:历史上,因为单个原子过于微小,被认为不能够进行科学...
将 单 原子 晶体管 植入到硅表面上.下图是磷在元素周期表中的...[最佳回答]A、由题意可知,根据“原子序数=核电荷数”,知该元素原子的核电荷数为15,故A正确;B、该元素的相对原子质量为30.97,没有“克”,故B错误;C、根据“原...
数字集成电路安组成电路的 晶体管 的类型分为什么和什么?双极性半导体晶体管。单极性场效应管。简称可分为TTLCMOS.双极性半导体晶体管。单极性场效应管。简称可分为TTLCMOS.
单 端与推挽有什么不同呢?单端和推挽是两种不同的输出电路配置方式。在单端输出方式中,信号源与一个输出引脚相连,而另一个输出引脚则连接到地(通常是通过电阻)。这种配置方式下,输出...
2sc1741是什么管?2sc1741是双极性晶体管。双极性晶体管是电子学历史上具有革命意义的一项发明,其发明者威廉·肖克利、约翰·巴丁和沃尔特·豪泽·布喇顿被授予了1956年的诺贝...
量子芯片与现在的集成电路芯片什么区别?关于量子计算的话题,若往深处探讨下去,那的确会是相当的复杂。单就“量子芯片与现在的集成电路芯片有什么区别”这个问题,不妨这样来谈。数个月前,有位专家...