【经验】物联网创客指南:MCU设计的最佳实践和除错技巧(二)
在本系列的第一部分中,SILICON LABS介绍了修订控制系统,以及它如何安全地保存您的设计文件,并帮助您找到设计文件之间的差异。在本节的第二部分教学中,您将了解如何构建自己的硬件。
开始使用面包板进行开发
当在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调试头的情况下将丢失调试功能。
您可以通过在电源和每个器件之间放置1欧姆左右的精密电阻,然后测量(或选择范围)精密电阻上的电压差,来研究系统中每个器件的功耗。
3)使用比您认为在生产中需要的更大,更好的EFM32零件版本
当您开发您的第一个定制PCB版本的设计时,使用一个比你认为最终解决方案需要更多的闪存和RAM的EFM32系列的部件。有时可以保持相同的引脚数和占用空间,但通过使用比最终生产解决方案更强大的部件构建您的设计,可以获得额外的闪存和RAM。与使用优化器减少内存占用的“发布”版本相比,Simplicity Studio中的“Debug”需要更多的闪存和RAM,因此通过在原型阶段升级到更高能力的部件,您将使调试成为可能。你也可以移动到更多功能强大的,有更多引脚的产品,如果它使得调试您的解决方案的工作更容易。只要小心不要依赖升级系列的功能,当您转移到您的生产解决方案时,这些功能将消失。此处提供了一个选择器指南,其中显示了每个系列中每个器件的功能,容量和引脚数。
4)通过JTAG连接到您自己的PCB,就像它是入门套件一样
当您拿到内置测试PCB时,要使用PCB上的JTAG调试头,您可以将IDT电缆连接到入门套件上的JTAG连接器。然后,在Simplicity Studio中的Kit Manager下(将入门套件连接到计算机之后),选择Debug Mode:Out。
图1:Debug Mode
您可能必须返回Simplicity Studio的主页并选择“Target Part.”。这样做,右键单击检测到的入门套件,然后选择“Select Target Part...”
图2:Select Target Part
在打开的“Target Selectionfor EFM32 ...”窗口中,将目标接口更改为SWD,忽略其生成的任何警告(只要您连接到EFM32部件),然后单击Detect Target按钮。对于出现的任何弹出窗口,按Yes按钮,直到零件标签显示自定义PCB上的实际设备。这将证明从入门套件到自定义PCB上的EFM32部件的JTAG连接被计算机上的Simplicity Studio检测到。
图3:最终成果
完成所有这些步骤后,无论何时在Simplicity Studio IDE中启动项目,用于项目的部分必须与目标选择中找到的部分相匹配,以便开始闪存编程和调试。这允许您调试您的自定义PCB,就像它是一个入门套件。
原型设计成功的关键
1)不要跳过原型构建 - 您将不会在第一个PCB上“直接生产”。
2)添加一个JTAG连接到您的第一个版本,以及您可以找到的最大的,功能齐全的EFM32芯片。
3)为您的项目配置正确的设备,并将入门套件调试模式设置为输出以调试您自己的项目,就像它是入门套件。
在下一节中,我们将进一步介绍软件开发和调试的提示。
看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。
- |
- +1 赞 0
- 收藏
- 评论 2
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】EFM32系列低功耗32位MCU芯片加密详解
本文主要介绍以Silicon Labs EFM32系列低功耗32位MCU为核心的方案打造加密系统。
【经验】如何使用32位超低功耗MCU外设反射系统功能?
外设反射系统(PRS)是 Silicon Labs EFM32系列MCU专有的外设互联总线,它允许不同的外设无需CPU干预即可直接相互通信。
【经验】32位MCU LEUART位周期抖动大,该如何解决?
Silicon Labs 32位MCU EFM32,当基于32.768kHz时钟使用LEUART(@9600bps)进行通讯的时候,发现存约1%误码,原因是什么?如何解决?
世界上最节能的微控制器EFM32之十大低功耗奥秘
Silicon Labs EFM32 32 位微控制器系列是世界上最为节能的微控制器,特别适用于低功耗和能源敏感型应用,包括能源、水表和燃气表、楼宇自动化、警报及安防和便携式医疗/健身器材。本文着重强调10个Silicon Labs32位MCU功耗低的因素。
SILICON LABS 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,频率24MHz~80MHz,Flash存储4kB~2048kB,RAM存储2kB~512kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
Dig I/O Pins
|
ADC 1
|
DAC
|
USB
|
Cap Sense
|
LCD
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
EFM32GG290F512-BGA112
|
32位MCU
|
EFM32 Giant Gecko
|
48
|
512
|
128
|
1.98
|
3.8
|
BGA112
|
10x10
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
90
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
-
|
Cap Sense
|
-
|
Temp Sensor
|
4
|
7
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
选型表 - SILICON LABS 立即选型
SILICON LABS EFM32 Zero Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于24MHz Frequency,4kB~32kB Flash,2kB或4kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
AES-128
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
EFM32ZG222F8-QFP48
|
Microcontroller
|
24
|
8
|
2
|
37
|
12-bit, 4-ch., 1 Msps
|
—
|
Cap Sense
|
Temp Sensor
|
2
|
AES-128
|
2
|
1
|
1
|
1
|
1
|
0
|
RTC
|
1
|
1.98
|
3.8
|
QFP48
|
7x7
|
±2%
|
SW
|
选型表 - SILICON LABS 立即选型
【应用】1MByte Flash空间 32位MCU助力无线中继器数据传输
Silicon Labs EFM32JG系列MCU,采用功能强大的 32 位 ARM® Cortex®-M3 内核,EM4H 休眠模式(128 字节 RAM 保留)功耗只有0.39uA,集成AES、ECC 和 SHA 的硬件加密引擎和真随机数发生器(TRNG)
Silicon Labs 32位低功耗MCU EFM32JG1P在故障指示器的应用中,GPIO拉低后,电平为0.8V,而不是0V,根本原因是什么?
Silicon Labs 32位低功耗MCU EFM32JG1P GPIO拉低后,电平为0.8V,主要是因为底下大焊盘PIN0没有连接到GND或者与GND接触不良造成。
全球超低功耗MCU的关键:灵活的能源管理单元
Silicon Labs EFM32小壁虎系列MCU,作为当今全球功耗最低功耗的MCU,EFM32成为电池供电等对低功耗要求较高场合的不二之选!
如何为Silicon Labs 32位低功耗MCU EFM32GG230F512实现基于RTC的软件无滴答日历?
在Silicon Labs 32位低功耗MCU EFM32GG230F512上实现软件方式的无滴答日历,可以通过使用日历标准C库 time.h, 在time.h中实现的timer()函数基于RTC计数值来计 算日历时间。
Silicon Labs 32位低功耗MCU EFM32GG990芯片使用中,将OPAMP(运算放大器)组合成三运放差分放大器时可选的放大倍数为多少?
当将三个OPAMP组合成差分放大器时,差分放大器的增益是由OPA0和OPA1的组合增益所决定的,由于三运放差分电路的电阻网络对应的桥臂要对应成比例,所以只三种有 效的差分增益可供使用,它们分别为1/3、1和3,此时OPA0 RESSEL和OPA2 RESSEL的组合分别为0和4、1和1、4和0。
【产品】帅到飞起,有60种选择的256 KB闪存低功耗MCU
为使MCU在运行模式和睡眠状态下获得最低功耗,EFM32 WG系列还融入了eLL技术。
如何读取EFM32系列32位MCU的多通道AD扫描采样数据?
EFM32系列单片机ADC的数据保存寄存器有两个,一个是单通道模式的采样数据保存寄存器,一个是扫描模式的采样数据保存寄存器。如果使用多通道扫描采样,那么每个通道采样完成后会产生一个ADC扫描模式中断,用户需要在中断里面读取该通道的扫描采样数据以便存储下一个通道的采样数据。建议使用DMA读取方式,将DMA的触发源设置为ADC的扫描模式事件,这样就可以实现不用进入ADC中断以及MCU的参与即可完成ADC扫描采样数据的保存和读取。
32位低功耗MCU EFM32G232F64,其ADC的Single模式和SCAN模式有什么区别?
32位低功耗MCU EFM32G232F64的ADC,使用Single模式一次只能转换一个通道,其转换结果保存在ADCn_SiNGLEDATA寄存器中;使用SCAN模式一次可以转换多个通道,其转换结果保存在ADCn_SCANDATA寄存器。
【应用】EFM32TG11低功耗32位MCU在超声波水表上的应用
Silicon Labs的32位MCU EFM32TG11,最高主频48MHz,37uA/MHz的全速运行功耗,1.3uA休眠EM2模式功耗,集成低功耗LCD驱动,最大128KB大容量Flash,32PIN到80PIN多种可选封装,将助力于超声波水表超低功耗,多功能,低成本设计。
电子商城
现货市场
登录 | 立即注册
提交评论