TI
这是一份介绍性指南,指导你如何用超低功耗MSP微控制器 (MCU) 开始一个与I2C通信有关的项目:
简介
I2C(或称为I2C,集成电路总线)是一种两线制通信形式,主要用来在短距离、电路板间的应用中,实现微控制器与外设IC之间的低速通信。由于其采用范围很广,所以学习使用I2C与MSP MCU之间的通信已经在帮助工程师开发应用方面变得十分必要。通过使用一个超低功耗MSP MCU来访问和控制IC器件,这份指南提供了理解I2C协议并执行这一协议所需的工具与资源。
器件术语
驱动SCL时钟线路的器件被称为主器件,而对其进行响应的器件被称为从器件。在大多数应用中,MSP MCU为主器件,而外设IC为从器件,虽然有时候MSP器件是其它MCU或处理器的从器件。
物理总线
I2C总线由两条线路组成,SCL和SDA。SCL是用来将所有数据传输同步的时钟线路,而SDA是实际的数据线路。还需要第三条线路,即普通接地,不过通常不被提及。由于两条线路都是“开漏”驱动器,它们都需要到电源线路的上拉电阻,这样的话,输出在无运行期间保持在高电平。对于MSP MCU应用来说,电源电压应该与MSP MCU的Vcc相匹配。传统上,上拉电阻器的值为4.7kΩ,不过这个值的范围可以在少于1kΩ到10kΩ之间,取决于所使用的从器件。要获得正确的上拉电阻值,请参考器件数据表。多个从器件可以共用一条I2C总线,单个上拉电阻器
I2C软件协议
不论何种应用,每个支持I2C器件都需要遵守针对全部I2C器件所定义的共同软件协议,其一般结构始终保持不变。通信从启动序列开始,并在一个停止序列中结束,两个序列之间有一个8位数据传输序列。启动位之后是从地址,通常为7位(虽然很少情况下也使用10位寻址)。这7个数据位被放置在一个字节的上7位,而LSB(最低有效位)被用来存储读/写 (R/W) 位。这个位让从器件知道是对其进行写入操作(位值为0),还是读取操作(位值为1)。对一个写入操作,操作序列如下:
发送启动序列
发送从地址,其中R/W位为低电平
发送寄存器数
发送数据字节
发送停止序列
读取操作序列与写入操作十分相似,除了它不发送数据字节,而是重新发送启动序列(被称为一个重复启动)和从地址(不过此时,对于读取操作来说,R/W位为高电平),这样的话,它可以接收数据,而不是发送数据。这个操作在主器件发出典型停止序列后结束。下面是读取操作序列:
发送启动序列
发送从地址,其中R/W位为低电平
发送寄存器数
再次发出启动序列(重复启动)
发出从地址,其中R/W位为高电平
读取数据字节
发出停止序列
MSP MCU通信外设
为了实现串行通信,MSP器件上有可能提供4种不同的外设。其中只有一个外设会因器件的不同而不同。根据在MSP MCU上实现I2C通信的难易程度(从最难到最容易),将这些使用的外设列出如下:
UART:通用同步/异步接收器/发射器。这是最早出现的通信形式,并且存在于大多数MSP430F1xx MCU上。它不支持I2C,因此必须使用一个基于软件的位响应 (bit-bang) 解决方案来与I2C器件实现通信。
USI:通用串行接口。另外一个更加简单的通信形式,用于MSP430G2xx系列内的某些组件等成本有效或空间受限器件。器件上没有I2C状态机,必须在软件中实现。通常情况下,通过使用单独的函数来实现。
USCI:通用串行接口。一个针对ISR和标志用法进行优化的标准通信外设。这个外设常见于MSP430F5xx/F6xx系列中,其中包括一个基于硬件的I2C状态机,因此运行所需要的代码更少。
eUSCI:增强型通用串行通信接口。MSP器件上提供的最先进通信外设,它改进了现有USCI功能,并且包含于所有MSP430FRxx (FRAM) MCU中。
当考虑使用一个具有I2C应用的MSP器件时,用户应该明白,代码结构会随着特定MSP系列器件上存在的外设而变化。每个变量包括必须考虑在内的不同寄存器、ISR和函数。还需要澄清的一点是,并不是所有的器件系列都使用同样的外设(USCI和eUSCI存在于MSP430F5xx/6xx中,USI和USCI存在于MSP430G2xx系列中,等等),这一点在用户参考系列用户指南时会感到很困惑。因此,需要注意的一点是,在开始应用开发时,要根据实际情况来查看正确的材料,并选择合适的示例代码。德州仪器 (TI) 提供针对USI、USCI和eUSCI通信的基本I2C代码示例;这些代码示例可以在工具&软件->软件->示例 (Tools & software -> Software -> Examples) 下的MSP系列器件产品页面内找到(提供ZIP格式的文件,需要注意的是,这些软件包只包含与特定器件上存在的外设相关的代码示例)。对于那些使用USART,或者不包含一个通信外设的器件,我们在社区技术支持内提供在线I2C位响应解决方案。不论是否使用外设,始终需要上拉电阻器来实现I2C通信。某些MSP器件具有内部上拉电阻器,不过不建议使用这些电阻器,因为几个从器件需要特定的、无法在内部满足的电阻值。
用MSP实现I2C的窍门
当试图用I2C在外设IC与MSP之间进行通信时,为了帮助避免常见的执行错误,以下的一些建议值得我们仔细地看一看:
从专门为你的MSP系列器件提供的示例I2C代码入手(产品页面-> Tools & software -> Software -> Examples)。查看根据系列用户指南对I2C寄存器的更改(一定要确保你查看的是正确的外设章节),这样的话,你就可以牢牢掌握实现通信所必须的更改。
使用从器件数据表中指定的上拉电阻和地址(有时会随着输入变量的不同而变化)。需牢记的一点是,从地址的7位被存储在这个字节的上7位,之后是由通信外设设定的一个R/W位,因此,在设置从地址寄存器时,这个值也许需要向左移动一位。
从写入一个寄存器开始,并且监视MSP器件中的ACK。利用故障标志和实验室设备来警告通信故障。使用CCS或IAR提供的调试工具来了解代码的运行方式,哪些寄存器被访问,何时访问函数/ISR,以及它们的访问方式。在完成了这些操作后,在添加寄存器读取功能性方面会变得更加容易。
USCI/eUSCI状态图表示,在接收到最后一个字节前,需要设定UCTXSTP位。在只接收到一个字节的应用中,UCTXSTP位与UCTXSTT位一同设置。如果接收到多个字节,那么应该在接收到第N-1字节后设定UCTXSTP。这样就确保了在接收到最后一个字节后,立即发送停止序列。
调试建议
在放弃那些看起来似乎无法正确运行的代码前,以下是调试这个系统时需要考虑的某些关键点:
确认上拉电阻值&从地址值,用从器件数据表对它们进行验证。
再次检查通信外设初始化,其中包括:寄存器设置、正确的引脚分配、已使能中断、针对运行的外设接通/释放等。
使用任何提供的工具(IDE调试器、逻辑分析器、示波器等)来确认MSP430和从器件严格遵循I2C软件协议。
查看针对已知I2C问题的勘误表,并且查看勘误表说明是否与应用的故障症状相匹配。
研究E2E论坛内的问题,看一看有没有相似的情况已经被解决。尝试不同的I2C相关关键字组合,并且充分利用搜索过滤器。
E2E支持
如果适当的调试和研究方法没有成功,TI E2E社区论坛可以成为与器件专家进行直接沟通的极佳资源。无论遇到何种问题,一定要掌握与之相关的详细信息,以帮助社区成员和TI工程师更好地为请求提供技术支持,其中包括:
MSP430系列器件
使用的LaunchPad或TI目标板,或者定制电路板的电路原理图
从器件
所发现情况或问题的准确描述
使用调试器的同时,所观察到的运行方式(CCS或IAR)
I2C初始化和函数/ISR代码片段(并不是全部代码)
包含合适标签的逻辑分析器和示波器图像
资源
从USCI模块迁移至eUSCI模块 (SLAA522): http://www.ti.com/lit/an/slaa522a/slaa522a.pdf
使用USCI I2C主器件 (SLAA382): http://www.ti.com/lit/an/slaa382a/slaa382a.pdf
使用USCI I2C从器件 (SLAA383): http://www.ti.com/lit/an/slaa383/slaa383.pdf
使用I2C总线(博客): http://www.robot-electronics.co.uk/i2c-tutorial
祝大家编码快乐!
原文链接:
https://e2e.ti.com/blogs_/b/msp430blog/archive/2016/05/03/msp-i2c-gettin...
Bluetooth 5标准已经推出半年有余,但您还在苦苦寻觅相关的解决方案吗?
看过来“TI 日前宣布推出其可扩展SimpleLink™Bluetooth低功耗无线微控制器(MCU)系列下的两款全新器件,以提供更多的可用内存、支持Bluetooth® 5的硬件、汽车级资质认证以及全新的超小型晶圆级芯片封装(WCSP)选项。”
新的器件保持了该系列特有的高级集成特性,拥有一个完整的单芯片硬件和统一的软件解决方案,同时包含了一个基于ARM® Cortex®-M3的MCU、自动电源管理、高度灵活的全功能Bluetooth兼容无线电以及一个低功耗传感器控制器。
全新的TI Bluetooth低功耗解决方案
全新SimpleLink CC2640R2F无线MCU能够为更丰富、更高响应度和更高性能的应用提供更多的可用内存,非常适用于提升物联网(IoT)应用的性能。该器件采用微型2.7x2.7mm晶圆级芯片封装,虽然其尺寸仅有TI 4x4mmQFN封装的二分之一,但仍然能够以最低的功耗提供最广阔的范围。
全新的CC2640R2F符合Bluetooth 5的核心技术规格,可在楼宇自动化、医疗、商用和工业自动化领域中为增强型无连接应用提供更广的范围、更快的速度和更丰富的数据。
SimpleLink CC2640R2F-Q1无线MCU可实现利用智能手机互联进行汽车访问,包括无钥匙进入和启动系统(PEPS)与遥控车门开关(RKE),以及符合AEC-Q100资质认证和2级额定温度的新兴汽车使用案例。此外,CC2640R2F-Q1是业界首款采用可润侧翼QFN封装的解决方案,能够帮助降低生产线成本并通过焊点光学检测提高可靠性。
类似于更强的处理能力、更高的安全性,甚至更大的内存等即将在2017年推出的附加特性能够帮助开发人员快速且轻松地按照应用需求的增长和变化,将引脚和代码兼容的超低功耗CC264x无线MCU重新应用于他们的项目中。可扩展的SimpleLink CC264x无线MCU系列将基于尺寸、系统成本和应用需求来实现产品优化,而非通过单一尺寸来应对所有解决方案。
此外,CC264x系列由统一的软件和应用开发环境、无版税BLE-Stack软件、Code Composer Studio™ 集成开发环境(IDE)、系统软件和交互式培训材料提供支持。
为Bluetooth 5做好准备
Bluetooth 5范围更广、速度更快且传播能力更强,这使得它成为了针对低功耗、移动个人网络和遥控,以及更长范围楼宇和IoT网络的强大无线RF协议。SimpleLink CC2640R2F无线MCU的高度灵活无线电能够完全支持全新的Bluetooth 5技术规格,而随附的软件栈也将于2017年上半年面世,从而使这款器件成为支持Bluetooth 5功能的首款批量产化产品之一。
汽车连通性
由于CC2640R2F无线MCU可在最低功耗下提供最广的范围,CC2640R2F-Q1无线MCU为汽车市场提供了业内最佳的RF。针对辅助泊车、汽车共享和车内线缆替换等汽车访问和新兴应用,全新的AEC-Q100认证器件将在2017年下半年支持Bluetooth 5。CC2640-R2F器件的样片将于2月中旬进行预发售,如需了解更多信息,敬请与bleauto@list.ti.com联系。
供货和定价
开发人员可通过TI Store和授权的分销商销售处获取SimpleLink Bluetooth低功耗CC2640R2F和基于CC2640R2F-Q1无线MCU的开发套件。CC2640R2F无线MCU LaunchPad™开发套件(LAUNCHXL-CC2640R2)现已正式发售。
目前批量生产的器件包括:
采用2.7x2.7mm WCSP和4x4,5x5和7x7mm QFN封装的CC2640R2F无线MCU。
二月中旬推出的预发布样片包括:
采用7x7mmQFN封装的CC2640R2F-Q1无线MCU。
来源:德州仪器在线支持社区
几年前,腕带尺寸的健康监测器在现场爆炸时,健身产品市场受到了冲击。然后,智能手表出现了,智能手表能够收集更高级的健康相关数据。现在,远程医疗变得日益流行。事实上,有人说很大程度上依靠远程健康监测设备的远程医疗,在未来降低医疗成本方面具有巨大的潜力。
因此,随着健康监测器市场逐渐升温,需要具有功能和资源特殊结合的微控制器(MCU)来简化产品开发,提供这些设备所需的质量。开发人员“必备”列表首先肯定是高度集成,因为大多数健康监测器是非常小的设备,这意味着MCU和相关电路必须具有非常小的形状。
包括TI的新MSP430FR2311 MCU在内的新MCU集成比过去典型MCU更多的功能。新集成功能包括具有几个标准运算放大器的模拟前端,能够将非常低的电流转换为电压信号的极低功率跨阻放大器(TIA),一个铁电随机存取存储器(FRAM)的同质块,而不是典型的RAM /闪存架构,以及片上振荡器。对于很小的3.5毫米x 4毫米封装而言,这已经是很多功能了。
数字温度计等小外形健康监测设备需要这样的MCU。整个系统不仅能够满足应用苛刻的空间要求,而且非常敏感的TIA使设备极其准确,避免错误读数,这在卫生行业是必要的。MSP430FR2311 MCU的TIA具有仅为50皮安(pA)的输入漏电流,比业界任何其他电流检测解决方案低20倍。较低的输入漏电流使TIA可以感测较低的电流,使得该设备对测量的参数更加敏感。低功率TIA还延长了设备的电池寿命。
统一的FRAM存储器架构意味着开发人员不必在闪存中占用代码存储空间与在RAM中占用数据记录存储。一大块的FRAM允许系统设计者决定最适合应用的代码到数据存储比例。
当然,下一代健康监测设备可能演变成多功能设备。例如,一些监测器现在测量紫外线(UV)强度,警告用户可能导致晒伤的情况。传感器可用于测量温度和湿度。将这些功能结合在一起,可以使安装在腕带上的设备警告佩戴者需要防晒和危险的高温情况。下一步可能是监测皮肤温度和心率,这可以向建筑工人提供热衰竭的早期警告。
当然,得益于MSP430FR2311 MCU等高性能MCU,我们将来几乎可以看到无限种类的低成本、高精度、多功能健康监测设备。
关注我们其他与MSP430FR2311 MCU相关的博客文章:
● 用MSP430FR2311 微控制器使基于传感器的设计创造新的低功率水平
● 物联网、可穿戴设备和其他新型应用为超级敏感传感器创造需求
● 空气质量检测器和烟雾探测器的新技术
● 使用超低功耗MCU让智能建筑更加智能化
● 当绿色遇到物联网
原文链接:
http://e2e.ti.com/blogs_/b/msp430blog/archive/2016/09/29/health-monitori...