热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MSP430单片机在3V与5V混合系统中的逻辑接口技术

http:blog.21ic.comuser15877archives201071387.htmlMSP430超低功耗微处理器是TI公司推出的一种新型单片机。它具有16位精简指令

http://blog.21ic.com/user1/5877/archives/2010/71387.html

MSP430超低功耗微处理器是TI公司推出的一种新型单片机。它具有16位精简指令结构,内含12位快速ADC/Slope ADC,内含60K字节FLASH ROM,2K字节RAM,片内资源丰富,有ADC、PWM、若干TIME、串行口、WATCHDOG、比较器、模拟信号,有多种省电模式,功耗特别小,一颗电池可工作10年。开发简单,仿真器价格低廉,不需昂贵的编程器。

    MSP430其特点有:1.8V~3.6V低电压供电;高效16位RISC CPU可以确保任务的快速执行,缩短了工作时间,大多数指令可以在一个时钟周期里完成;6微秒的快速启动时间可以延长待机时间并使启动更加迅速,降低了电池的功耗。MSP430产品系列可以提供多种存储器选择,简化了各类应用中MSP430的设计;ESD保护,抗干扰力特强。与其它微控制器相比,带Flash的微控制器可以将功耗降低为原来1/5,既缩小了线路板空间又降低了系统成本。

MSP430具有如此多的优点,可以预测在今后会有广泛的应用。但是目前仍有许多5V电池的逻辑器件和数字器件在使用,因此在许多设计中3V(含3.3V)逻辑系统和5V逻辑系统共存,而且不同的电源电压在同一电路板中混用。随着更低电压标准的引进,不同电源电压逻辑器件间的接口问题会在很长一段时间内存在。本文讨论MSP430与单片机中最常用的LSTTL电路、CMOS电路及计算机HCMOS电路的3V和5V系统中逻辑器件间的接口方法。理解这些方法可避免不同电压的逻辑器件接口时出现问题,保证所设计的电路数据传输的可靠性。

1 逻辑电平不同,接口时出现的问题

在混合电压系统中,不同电源电压的逻辑器件相互接口时会存在三个主要问题:第一是加到输入和输出引脚上的最大允许电压的限制问题;第二是两个电源间电流的互串问题;第三是必须满足的输入转换门限电平问题。器件对加到输入脚或输出脚的电压通常是有限制的。这些引脚有二极管或分离元件接到Vcc。如果接入的电压过高,电流将会通过二极管或分离元件流向电源。例如3V器件的输入端接上5V信号,则5V电源将会向3V电源充电,持续的电流将会损坏二极管和电路元件。在等待或掉电方式时,3V电源降落到0V,大电流将流到地,这使总线上的高电平电压被下拉到地。这些情况将引起数据丢失和元件损坏。必须注意的:不管是在3V的工作状态或是0V的等状态都不允许电流直接流向Vcc。另外用5V的器件来驱动3V的器件有很多不同情况,各种电路间的转换电平也存在不同情况。驱动器必须满足接收器的输入转换电平,并要有足够的容限保证不损坏电路元件。

2 可用5V容限输入的3V逻辑器件

3V的逻辑器件可以有5V输入容限的器件有LVC、LVT、ALVT、LCX、LVX、LPT和FCT3等系列。此外,还有不带总线保持输入的飞利浦ALVC也是5V容限。

2.1 ESD保护电路

3V器件可以有5V的输入容限。一般数字电路的输入端都有一个静电放电(ESD)保护电路。如图1(a)所示,传统的CMOS电路通过接地的二极管D1、D2对负向高电压限幅实现保护,正向高是则由二极管D3箝位。这种电路为了防止电流流向Vcc电源,最大输入电压被限制在Vcc+0.5V。对Vcc为3V的器件来说,当输入端直接与大多数5V器件输出端接口时允许的输入电压太低大多数3V系统加到输入端的电压可达3.6V以上。有些3V系统可以使用两个MOS场效应管或晶体管T1、T2代替二极管D1、D2,如图1(b)所示。T1、T2的作用相当于快速剂纳二极管对高电压限幅。由于去掉了接到Vcc的二极管D3,因此最大输入电压不受Vcc的限制。典型情况下,这种电路的击穿电压在7~10V之间,因此可以适合任何5V系统的输入电压。

由上述分析可知,改进后具有ESD保护电路的3V系统的输入端可以与5V系统的输出端接口。

2.2 总线保护电路

总线保护电路就是有一个MOS场效应管用作上拉或下拉器件,在输入端浮空(高阻)的情况下保护输入端处于最后有效的逻辑电平。图2(a)中的电路为一LVC器件总线保护电路,采取改进措施而使其输入端具有5V的容限。其基本原理如下:P沟道MOS场效应管具有一个内在的寄生二极管,它连接在漏极和衬底之间,通常源极与衬底是连在一起的,这就限制了输入电压不能高于Vcc+0.5V。现在的措施是用常闭接点S1将源极与衬底相连,当输入端电压比Vcc高0.5V时,比较器使S2闭合,S1断开,输入端电流不会通过二极管流向Vcc而使输入具有5V的容限。图2(b)是LVT和LAVT器件总线保持电路的例子。这种电路用了一个串联的肖特基二极管D,消除了从输入到Vcc的电流通路,从而可以承受5V输入电压。对于3V的总体保持LVC、LVT和ALVT系列器件可以承受5V的输入电压。但对于3V的ALVC、VCX等系列器件则不能,它们的输入电压被限制在Vcc+0.5V。

    图3是用于3V CMOS器件输出电路的简化形式。当输出端电压高于Vcc+0.5V(二极管压降)时,P沟道MOS场效应管的内部二极管会形成一条从输出端到Vcc的电流通路。这种电路在与5V器件相接时需要加保护电路。

图4是一种带保护电路的CMOS器件输出电路。当输出端电压高于Vcc时,比较器使S1开路,S2闭合,电流通路消失。这样在三态方式时就能与5V器件相接。

2.3 biCMOS输出电路

LVT和ALVT器件的biCMOS输出电路如图5所示。它用双极NPN晶体管和CMOS场效应管来获得输出电压摆幅达到电源电压的要求。电流不会通过NPN双极晶体管回流到Vcc,但在P沟道MOS场效应管中的内在二极管仍然会形成一条从输出端到Vcc的电流通路(为了简化,图5中没有画出该二极管)。因此这种电路不能接高于Vcc的电压。

    对图5电路所加的保护电路如图6所示。增加了反向偏置的肖特基二极管,用以防止电流从输出端流到Vcc。图6中的输出端与5V驱动器共用一条总线。在三态方式时,电路可以得到保护。当出现总线争夺即两个驱动器都以高电平驱动总线时,比较器将P沟道MOS场效应管断开。当3V器件处于等待方式而3V电源为0时,比较器和肖特基二极管可以起保护作用。

3 接口电路的有关参数

了解了3V器件为什么具有5V容限后,在MSP430与LSTTL、HCMOS、CMOS电路实现相互联接之间,要先了解各种电路和器件的参数,如表1所示。

表1 各种电路和器件参数

        参数
 电路
电源电压范围输入电平输出电平
V(V)VIH(V)VIL(V)VOH(V)VOL(V)
LSTTL4.5~5.520.82.70.4
CMOS3~18(取Vcc=5)3.51.54.50.5
HCMOS2~63.515.20.4
MSP4301.83.60.8Vcc0.2VccVcc-0.60.6
ALVT系列3.3或2.51.70.82.00.2~0.55
LVC系列1.65~5.50.7Vcc0.3Vcc2.7~5.50.1~0.55

4 接口实现

不同电源电压的逻辑器件相互接口时存在的主要问题是逻辑信号电平的配合问题,就是前级电路输出的电平要满足后级电路对输入电平的要求。此外还有负载电流的配合问题,即前级电路的输出电流应大于后级电路对输入电流的要求,同时不应造成器件损坏。还有就是在高速或有严重干扰的场合,必须考虑接口对系统和抗干扰性能带来的不良影响。这里主要讨论逻辑信号电平的配合问题。因为对于负载电流配合问题只是一个带负载能力。而抗干扰问题则用本文中提到的方法都可以忽略。

4.1 LSTTL-MSP430

如表1所示,LSTTL电路的高电平输出电压VOH约为2.7V,MSP430的高电平输入约为0.8VCC,LSTTL电路的低电平输出电压VOL约为0.4V,MSP430的低电平输入电压VIL的0.2VCC。如果0.8Vcc小于2.7V且0.2Vcc大于0.4V时,不存在逻辑信号电平的配合问题,可以直接连接。如果0.8Vcc大于2.7V或0.2Vcc小于0.4V时,就出现了逻辑信号电平的配合问题。为了增大LSTTL电路的输出高电平,利用TI公司的LVC系列。从表1中可以看到LVC系列产品的高电平输出电压和低电平输出电压都符合要求。

4.2 CMOS-MSP430

在接口时使CMOS和MSP430使用同一电源,例如3V电源可以直接驱动。如果实际情况不允许,则根据1表,通过ALVT系列的器件就可以实现CMOS驱动MSP430。

4.3 HCMOS-MSP430

同上述CMOS分析一样,同样选用ALVT来驱动MSP430。

4.4 MSP430驱动LSTTL、CMOS和HCMOS

MSP430的输出引脚(P0.x、P1.x、P2.x、P3.x、P4.x、Oy)都有规定的外接电阻。外接电阻的大小取决于电源电压Vcc的大小。如果输出电流比规定的要大,就需要输出驱动器。图7所示为限制MSP430输出电流的电阻最小值。设计以Vcc=3V,通过这些器件可以驱动需要大电流的LSTTL、HCMOS和CMOS电路接口。

5 两种电平移位器件

5.1 双电源电平移位器74LVC4245

74LC4245是一种双电源的电平移位器,如图8所示。5V端用5V电源作为Vcc(A),而3V端则用3V作为Vcc(B)。它的功能类似于常用的收发器74LVC245,所不同的是用两个电源而不是一个电源。74LVS4245的电平移位在其内部进行。双电源能保证两边端口的输出摆幅都能达到满电源幅值,并且有很好的噪声抑制性能。因此该器件用来驱动5V CMOS器件是很理想的。缺点是增加了功耗。

    5.2 74LVC07

较为简单的一种电平移位器件是74LVC07。它使用一个漏极开路缓冲器去驱动5V CMOS器件,如图9所示。它的输出端出一个上拉电阻R接到5V电源。

低功耗MSP430与LSTTL、HCMOS和CMOS器件共存于一个系统中,这种情况将在相当长的时间。在设计这种系统时要分析其中逻辑器件的接口问题,保证所设计的电路在不同电压器件间数据传输的可靠性。


推荐阅读
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 在软件企业中,开源节流是管理层共同关注的重点。作为技术总监,我在产品和技术运营层面深入探讨了这一问题,旨在通过技术创新和优化流程来实现成本控制和效益提升。本文将详细分析CTO在开源节流中的核心作用及其具体策略。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 为了提升单位内部沟通效率,我们开发了一套飞秋软件与OA系统的消息接口服务系统。该系统能够将OA系统中的审批、通知等信息自动同步至飞秋平台,确保员工在使用飞秋进行日常沟通的同时,也能及时获取OA系统的各类重要信息,从而实现无缝对接,提高工作效率。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • R语言中向量(Vector)数据类型的元素索引与访问:利用中括号[]和赋值操作符在向量末尾追加数据以扩展其长度
    在R语言中,向量(Vector)数据类型的元素可以通过中括号 `[]` 进行索引和访问。此外,利用中括号和赋值操作符,可以在向量的末尾追加新数据,从而动态地扩展向量的长度。这种方法不仅简洁高效,还能灵活地管理向量中的数据。 ... [详细]
author-avatar
PengJin05
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有