Silicon Labs
在开发消费电子、工业控制、智能传感器和电信及数据通信设备等物联网(IoT)应用产品时,8位MCU是极为关键的半导体器件,因此芯科科技(Silicon Labs)近来持续扩展旗下高集成、高性能、低功耗的8位MCU系列──EFM8TM的产品阵容,近期更进一步推出经AEC-Q100认证的EFM8最新解决方案,达到了汽车电子要求的严格品质标准。
小型化,低功耗IoT设计理想之选
以EFM8LB Laser Bee系列为例,其将8位MCU的模拟性能和外设集成度推向业界最高峰,所带来的创新与妙用令人惊艳。EFM8LB1在仅为3mm × 3mm的QFN封装中集成了强大的模拟性能,包括高速模数转换器(ADC)、高精度温度传感器等多个元器件,非常适合空间受限、性能密集型应用,例如光模块、测试和测量仪器、工业控制设备和智能传感器等。
基于高度集成的设计,LaserBee与市面上其他竞争对手的8位MCU相比,各项性能都高出一截,例如最快时钟及更快的PWM,更多的传输量和MIPS,以及内置高分辨率ADC所实现的理想模拟功能。
另一款EFM8BB Busy Bee系列包括运行频率可达50MHz的通用MCU内核,并将先进的模拟和通信外围设备集成到小封装中来提供非凡价值,因而成为空间受限应用的理想之选。
对于空间要求更佳严格的物联网产品而言,EFM8UB Universal Bee系列是提供更小型的封装尺寸,其运行频率同样达到50MHz,包括带有低功率的USB外围设备接口、充电器检测电路、8 kV ESD保护和增强型高速通信接口的设备,可以帮助设计人员兼顾产品尺寸和性能。
EFM8SB Sleepy Bee MCU系列是Silicon Labs最节能的8位MCU,提供无与伦比的触摸性能、超低的休眠模式能耗(在内存内容保持和掉电检测使能条件下仅50nA)和快速的2μs唤醒时间,成为低功率和电池驱动系统的理想之选。其内核运转频率为25MHz,结合创新型低能耗技术和短暂的唤醒时间,提供最低能耗,还包括多达14个的高质量电容式感应通道。
高可靠度,高性能规格满足汽车级设计
近期,Silicon Labs再推出两个系列的汽车级EFM8 MCU产品,瞄准广泛的车内触摸界面和车身电子电机控制应用。经过AEC-Q100认证的、超低功耗的新型EFM8SB1 Sleepy Bee系列产品提供先进的片上电容式触摸技术,可以实现用触摸控制来轻松地替代物理按钮。EFM8BB1/BB2Busy Bee系列产品拥有高性能的模拟和数字外设,从而使这些器件可以作为一种通用的选择,来控制电动后视镜、车头灯和座椅等。
汽车级EFM8SB1器件支持-40℃~+85℃的环境温度范围,内核速度高达25MHz,闪存容量高达8KB。该系列MCU集成了12位模数转换器(ADC)、高性能定时器、温度传感器,以及增强型SPI、I2C和UART串行端口。片上高分辨率电容数字转换器(CDC)提供超低功耗的触摸唤醒能力(<1µA)和12路可靠的电容触摸感应通道,可以替换许多应用中的物理按键开关。该MCU非常适合用于基于触摸的控制装置,如顶灯和头顶按钮。电容式触摸控制为当今装载电子系统的车辆提供了更持久耐用且防潮的用户界面,以及更时尚的观感。
汽车级的EFM8BB1/BB2系列为成本敏感型应用提供了高性能、能效和价格等方面的良好平衡。除了高达50MHz的内核速率、2-64KB的闪存,该系列MCU还可在小至3mm x 3mm的封装内提供一系列高性能外设,包括高分辨率的12位ADC、高速的12位数模转换器(DAC)、低功耗比较器、内置基准电源、增强了吞吐量的通信外设和内部振荡器。这种非凡的单芯片集成设计消除了对分立模拟元器件的需求,同时缩减了系统成本和电路板占用空间。
更多Silicon Labs EFM8 MCU产品相关信息,欢迎访问中文官方网站相应网页: http://cn.silabs.com/products/mcu/8-bit
本文来源:Silicon Labs
在本系列的第一部分中,我们介绍了修订控制系统,以及它如何安全地保存您的设计文件,并帮助您找到设计文件之间的差异。在本节的第二部分教学中,您将了解如何构建自己的硬件。
这个系列文章有六个部分:
1. 使用版本控制系统
2. 在面包板上开始开发
3. 原型构建
4. 写好代码,一切都会更好
5. 像专业人士那样构建源代码
像天才一样调试问题
开始使用面包板进行开发
当在EFM32上开始一个新项目时,您可能已经参考了本书的一些例子,并认为您有了足够在定制印刷电路板(PCB)上开发自己的EFM32解决方案的能力。但不要让步子太大,可以遵循下列步骤以确保开发的成效:
1. 一步步进行测试
为了获得最佳效果,每个项目都应该从“面包板”开始,在此阶段,您可以为设计中的每个主要设备组装入门工具包和分线板。虽然您可以多次阅读设计中的设备规格,但在您尝试通过软件与设备进行交互之前,您无法真正学习如何使用设备。只是将设备连接到您的入门套件,并尝试通过电气接口与之通信,都将帮助你获得许多从阅读规范得不到的经验。虽然一些规范开始时有很大的意义,但你很快就会发现规范没有涵盖启动设备并开始使用它所需要的一切,或者至少它掩盖了一些重要的信息,如需要额外的信号线,额外的外部电路或许多其他重要的细节。
2. 为每个设备找到或制作自己的分线板
为了使用外部器件,您需要在设计中为每个器件找到一个分线板,评估或开发套件。如果你不能找到一个设备(或者如果它太贵),你通常可以按照本书第9章的说明自己构建一个。如果这是不可行的,例如你的设备有一些难以焊接的器件封装,如BGA,你有时可以找到芯片的备用封装,其具有相同的电气性能与更容易焊接的封装。
如果您的设备需要大量的支持电路来运行,例如特殊的电压调节器,那么开发您自己的评估板是完全值得的,因为开发这样的板,可以证明在你构建整个系统PCB前,你对你设备的引脚分布,footprint和支持电路是完全理解的。这些footprint文件可以在您的系统设计中重复使用,它们已经完全验证。
3. 仅针对基本功能
一旦将评估设备连接到入门套件进行测试后,重点应该是让部件基本上起作用。由于您通过跳线进行连接,因此在某些情况下,信号接口的电气要求将不能全速工作,因此要将速度保持为电气接口最低的速度,并保持EFM32 GPIO输出的最低驱动强度。在进入进一步的功能之前,编写代码来做一些简单的事情,比如读取设备ID寄存器或者做一个简单的写操作。由于可能在跳线上发生的复杂的信号完整性问题,某些频率可能是不可达到的,所以不要对面包板模型有太多期望。
该过程的要点是在设计定制PCB解决方案并将设备驱动程序集成到系统软件之前,尽可能多地了解设备的要求。这将问题隔离到单个子系统,并使您的最终开发就像是系统集成的练习。
面包板成功的关键:
对于设计的每个子系统,使用隔离面包板启动所有项目
为任何棘手的footprint或需要大量板载电路的部件开发评估板
专注于让部件“正常工作”,而不是寄希望于在面包板上实现全面性能
规划原型设计
一旦你的面包板实验完成,你已经确定了将组成您的EFM32解决方案的设备,是时候开发一个自定义PCB,以将所有这些组件一起作为一个单一的系统了。虽然此时定义外壳并且开发一个适合目标外壳的微型板也是很有诱惑力的,但是将第一个定制PCB开发为一个仅专注于测试和开发的大型测试系统是一个更好的主意。
1. 严肃地使用测试点
内置测试PCB是最终解决方案的一个版本,包括访问设计中的所有信号作为测试点。具有测试点的设计中的任何信号都可以通过万用表,示波器或逻辑分析仪进行探测。测试点可以是铜的暴露的“焊盘”,允许应用插头引脚和跳线的通孔结,或者甚至用于探针夹的金属环。将所有组件和测试点放在内置测试板的顶部也是一个好主意,这样调试更容易,因为您可以无需翻转板子。
要查看测试点的类型,只需查看您的入门套件的背面。电镀通孔测试点是我们焊接插头引脚的测试点。小金圆焊盘是表面贴装测试焊盘,适用于探测或焊接其中可以连接小探针夹的小导线。
2. 计划硬件设计spin
通过规划内置的测试版本的PCB,它将需要至少一个“spin”或重新设计生产解决方案的板。设计一个从第一次测试到生产的电路板是非常罕见的,几乎是不可能的。内置测试PCB允许您在启动期间询问系统,并轻松地研究设备之间的电气接口,而无需依靠特殊的焊接技术将探测点连接到电信号。应添加一个全功能通孔JTAG调试器连接器,以便与Simplicity Studio IDE完全交互,就像您的设计是入门套件一样。尽管可以仅使用UART编程开发生产板,但是在没有JTAG调试头的情况下将丢失调试功能,点击此处查看3M N2520-5002RB。http://eu.mouser.com/ProductDetail/3M/N2520-5002RB/?qs=QV10cN0MjFtnDIM27...
您可以通过在电源和每个器件之间放置1欧姆左右的精密电阻,然后测量(或选择范围)精密电阻上的电压差,来研究系统中每个器件的功耗。
3. 使用比您认为在生产中需要的更大,更好的EFM32零件版本
当您开发您的第一个定制PCB版本的设计时,使用一个比你认为最终解决方案需要更多的闪存和RAM的EFM32系列的部件。有时可以保持相同的引脚数和占用空间,但通过使用比最终生产解决方案更强大的部件构建您的设计,可以获得额外的闪存和RAM。与使用优化器减少内存占用的“发布”版本相比,Simplicity Studio中的“Debug”需要更多的闪存和RAM,因此通过在原型阶段升级到更高能力的部件,您将使调试成为可能。你也可以移动到更多功能强大的,有更多引脚的产品,如果它使得调试您的解决方案的工作更容易。只要小心不要依赖升级系列的功能,当您转移到您的生产解决方案时,这些功能将消失。此处提供了一个选择器指南,其中显示了每个系列中每个器件的功能,容量和引脚数。
4. 通过JTAG连接到您自己的PCB,就像它是入门套件一样
当您拿到内置测试PCB时,要使用PCB上的JTAG调试头,您可以将IDT电缆(如此处提供的Assmann H3CCH-2018G http://www.digikey.com/product-detail/en/assmann-wsw-components/H3CCH-20...)连接到入门套件上的JTAG连接器。然后,在Simplicity Studio中的Kit Manager下(将入门套件连接到计算机之后),选择Debug Mode:Out。
您可能必须返回Simplicity Studio的主页并选择“Target Part.”。这样做,右键单击检测到的入门套件,然后选择“Select Target Part...”
在打开的“Target Selectionfor EFM32 ...”窗口中,将目标接口更改为SWD,忽略其生成的任何警告(只要您连接到EFM32部件),然后单击Detect Target按钮。对于出现的任何弹出窗口,按Yes按钮,直到零件标签显示自定义PCB上的实际设备。这将证明从入门套件到自定义PCB上的EFM32部件的JTAG连接被计算机上的Simplicity Studio检测到。
完成所有这些步骤后,无论何时在Simplicity Studio IDE中启动项目,用于项目的部分必须与目标选择中找到的部分相匹配,以便开始闪存编程和调试。这允许您调试您的自定义PCB,就像它是一个入门套件。
原型设计成功的关键
不要跳过原型构建 - 您将不会在第一个PCB上“直接生产”。
添加一个JTAG连接到您的第一个版本,以及您可以找到的最大的,功能齐全的EFM32芯片。
为您的项目配置正确的设备,并将入门套件调试模式设置为输出以调试您自己的项目,就像它是入门套件。
在下一节中,我们将进一步介绍软件开发和调试的提示。
来源:Silicon Labs
作为有着20年经验的计算机工程师和超过两年经验的EFM32TM项目开发人员,我很有着丰富的,开发复杂计算机工程项目的经验。感谢诸如芯科科技(Silicon Labs)的Simplicity StudioTM软件,和如EFM32入门套件的硬件调试工具,类似项目对于经验的要求大大降低了。通过这些平台,任何人都可以快速,低成本地开始嵌入式开发,在拿到入门套件后很短的时间内,您可以直接完成自己的硬件支持的嵌入式解决方案。欢迎点击“阅读原文”至芯科科技(Silicon Labs)中文论坛观看完整的物联网创客指南文章。
展开EFM32的设计旅程
本系列文章的主旨,就是帮助你开始使用EFM32芯片内的所有外设。 然而,只给你一些类似让LED闪烁的例子,和让电子元件在某一个例子中开始工作,并不意味着你自己项目的成功。我多年的经验,能够指导我预先决定如何连接硬件,如何构建软件,如果出现错误,我的直觉会告诉我下一步的解决问题的调试过程。但是如果你没有多年的经验呢?你如何在缺乏经验的前提下找到成功的解决方案呢?我对这个问题的回答将会出现在这个系列的文章中,我将尝试提炼我通过无数弯路积累的经验。
您可能需要先阅读本指南几次,然后当您遇到问题时再次阅读。这可能是解决不断出现的问题的关键。其中一些提示涉及Simplicity Studio集成开发环境(IDE)的错误和细微差别,可能随着Simplicity Studio版本的升级而改进。但是本指南中的大部分提示都是通用的,应该适用于设计的所有方面。
这个系列文章有六个部分:
● 使用版本控制系统
● 在面包板上开始开发
● 原型构建
● 写好代码,一切都会更好
● 像专业人士那样构建源代码
● 像天才一样调试问题
第1部分:使用版本控制系统
在开始使用新设计之前,请为所有设计工作设置版本控制系统。这对于许多人来说可能是显而易见的,因为这些系统在软件开发中应用非常广泛。但对于嵌入式开发来说非常重要,其中源代码文件中的单个字符差异,可能导致成功的解决方案和完全失败的方案。
● 查找修订版本之间的差异
版本控制系统允许您的工作随着设计的进展保存在各种快照中,并允许您比较每个快照的文件差异。这些系统是免费提供的,可以安装在所有类型的操作系统(Windows,Mac和Linux)上。今天最流行的工具是SVN和Git。我两个系统都用,但我更喜欢Git,因为它保留完整的仓储,包括在您计算机上所有的可用的本地修订历史记录,您可以完全离线工作,然后上传到远程服务器以备以后的更改。
另一方面,SVN只保留本地计算机上的最新修订版本,并需要与服务器进行活动连接,以获取过去的修订版本和其他历史记录信息。本系列的代码示例存储在一个在线Git仓储,Github中,所以你应该开始 “克隆” 该仓储到本地硬盘驱动器并进行更改,然后尝试使用Git命令行或GUI工具以查找文件中的差异。设置和使用Git超出了本指南的范围,但有很多教程可供学习。
● (可选)在Simplicity Studio中设置Git
Simplicity Studio可以配置为在Simplicity Studio IDE中使用Git。这允许您提交更改并在IDE中查找文件间的差异。有关如何获得该设置的详细信息,请访问Silicon Labs社区。请注意,集成不需要使用版本控制,我不使用我的计算机上的集成。我只是在我的本地文件夹上运行Git的命令行版本或GUI工具,以进行提交和差异审查。
● 将所有文件存储在仓储中,而不只是源代码
每当您启动一个新项目时,设置一个新的版本控制仓储(简称为“repo”),以存储与该项目相关的所有文件。在该repo继续存储所有的规格和数据表,设计文档,电子表格,等等。你永远不知道您在线查看的文档何时可能不可用或由制造商更改。在一个安全的地方将备份与设计文件放在一起是一件好事。也不要停留在文件本身。在版本控制中也存储项目的原理图和布局文件。
● 在线保存repo的备份
最好使用在线服务,如Github,Atlassian,Google Drive,Microsoft OneDrive或任何其他在线备份服务,以保留额外的备份副本的repo。当你的硬盘驱动器崩溃或你的笔记本电脑丢失,克隆Git repo的最后一个服务器副本就会是非常快速和容易的选项,让您的设计文件回到您的计算机上。
● 尽早的,经常性的提交
一旦你的repo设置并跟踪你的文件,确保在你达到项目中的每一个重要的步骤时,“提交”你的设计文件。当你刚刚能够第一次与某些芯片通信时,提交代码,并在日志消息中指定项目的当前状态,即使源代码是一片混乱的。例如,“通过SPI读取加速度计设备ID”是一个很有用的消息,它可以让你知道提交到repo的代码的基本功能。
接下来通常发生的是,你清理代码,使其更好,更可读,以及有更好的性能,但有时该过程会破坏代码。有时,为什么代码出问题的原因是显而易见的,但有时,你做的解决问题的尝试都不起作用了,你得到了一个不再工作的解决方案。如果您在repo中有一个已提交版本的正常代码,您只需首先将新代码提交给repo,然后在本地驱动器上回到您的更改,看看原来的解决方案是否仍然有效,这让您知道至少你没有出现特别大的错误。然后,您可以使用版本控制系统的差异工具来显示从第一个版本到第二个版本的差异,并最终隔离和修复该问题。
使用版本控制隔离硬件问题
嵌入式开发和纯软件开发之间的一个关键区别是,硬件可以在嵌入式应用程序上随运行而改变。当您第一次运行解决方案时,一切正常,然后您进行一些更改,这时就可能不正常了。这可能是软件的问题,但也许是因为一根电线在某个地方松动了?通过提交对repo的更改,然后回到最后正常工作的版本,你可以确保问题不在软件上,然后找到并修复松动的电线,更新,回到最新版本的repo并继续开发。
版本控制成功的关键
将修订控制系统集成到设计的所有方面。
将仓储的副本保留在联机备份中以便保管。
提前并经常提交有关代码状态的描述性消息。
新型汽车级8位MCU瞄准车内触摸界面和电机控制应用
Silicon Labs(亦名“芯科科技”,NASDAQ:SLAB)宣布推出两个系列的汽车级EFM8 微控制器(MCU)产品,设计旨在满足广泛的车内触摸界面和车身电子电机控制应用。经过AEC-Q100认证的、超低功耗的新型EFM8SB1 Sleepy Bee系列产品提供先进的片上电容式触摸技术,可以实现用触摸控制来轻松地替代物理按钮。
EFM8BB1/BB2 Busy Bee系列产品拥有高性能的模拟和数字外设,从而使这些器件可以作为一种通用的选择,来控制电动后视镜、车头灯和座椅等。
此次发布的所有EFM8 MCU都基于8051内核并实现了不同功能和性能的组合,这些功能包括高速流水线8051内核、超低功耗、精度模拟、增强的通信外设、片上振荡器、小尺寸封装,以及拥有专利的Crossbar架构,该架构可提供灵活的数字和模拟外设管脚复用,从而简化印制电路板(PCB)设计和I/O引脚路由。
EFM8SB Sleepy Bee MCU系列是Silicon Labs最节能的8位MCU,提供无与伦比的触摸性能、超低的休眠模式能耗(在内存内容保持和掉电检测使能条件下仅50nA)和快速的2μs唤醒时间。汽车级EFM8SB1器件支持-40℃~+85℃的环境温度范围,内核速度高达25MHz,闪存容量高达8KB。该系列MCU集成了12位模数转换器(ADC)、高性能定时器、温度传感器,以及增强型SPI、I2C和UART串行端口。片上高分辨率电容数字转换器(CDC)提供超低功耗的触摸唤醒能力(<1µA)和12路可靠的电容触摸感应通道,可以替换许多应用中的物理按键开关。该MCU非常适合用于基于触摸的控制装置,如顶灯和头顶按钮。电容式触摸控制为当今装载电子系统的车辆提供了更持久耐用且防潮的用户界面,以及更时尚的观感。
Silicon Labs利用集成在SimplicityStudio™开发工具套件中的Capacitive Sense Library(电容感应功能库)来支持触摸感应界面设计,提供了在汽车应用中添加电容感应按键所需的所有逻辑算法。SimplicityStudio为设计人员提供了可即刻用于量产的固件,包括从扫描按键到噪声滤波等。通过使用Capacitive Sense Profiler工具能够将实时数据和电容触摸按键的噪声等级可视化,开发人员可以轻松地自定义触摸和非触摸门限及噪声过滤配置,极大地简化了在车载用户界面中添加电容触摸功能的难度。
EFM8BB1/BB2 Busy Bee MCU系列为成本敏感型应用提供了高性能、能效和价格等方面的良好平衡。除了高达50MHz的内核速率、2-64KB的闪存,该系列MCU还可在小至3mm x 3mm的封装内提供一系列高性能外设,包括高分辨率的12位ADC、高速的12位数模转换器(DAC)、低功耗比较器、内置基准电源、增强了吞吐量的通信外设和内部振荡器。这种非凡的单芯片集成设计消除了对分立模拟元器件的需求,同时缩减了系统成本和电路板占用空间。
由于支持-40℃~+125℃的宽温度范围,EFM8BB1/BB2器件适合于那些必须满足严格的汽车资格认证,可在宽温度范围内工作,同时在所有温度下都可提供高性能的应用。EFM8BB1器件可为成本敏感型设计提供最优的性价比,而EFM8BB2产品可提供增强的模拟和数字外设性能。对于模拟密集型的汽车车身控制应用,诸如座椅调整、风扇控制、车窗升降和燃料箱传感器,EFM8BB1/BB2 MCU是一种良好的选择。
Simplicity Studio中的配置工具(Configurator)和能耗分析工具(Energy Profiler)等都可帮助开发人员加速设计进程,并优化能源效率。EFM8客户可以从Silicon Labs官方网站 www.silabs.com/simplicity-studio 免费下载Simplicity Studio工具。
价格和供货
现已可提供多种采用空间紧凑型QFN封装的汽车级EFM8SB1和EFM8BB1/BB2 MCU的样片,并可批量供货。在一万片采购量时,EFM8SB1 MCU单价为每片0.59美元起,EFM8BB1 MCU的单价为每片0.47美元起,EFM8BB2 MCU的单价为每片0.71美元起。这些汽车级MCU的入门级开发套件定价为每套29美元(厂商建议零售价)。关于经AEC-Q100认证的新型EFM8 MCU的更多信息,或者订购产品样片和入门套件,请浏览网站: www.silabs.com/efm8 。