当前位置:首页 > 公众号精选 > OFweek维科网
[导读]设计人员经常面临两个微控制器I/O问题。第一个问题是,最适合应用的微控制器不具备合适的I/O能力组合。第二个问题是,已推出的产品线需要增加I/O。 出现第一个问题时,开发人员经常不得不购买更昂贵且功能更强的微控制器。而面对第二个问题时,切换到新的微控制器以及随之而来的软件移植所需...

设计人员经常面临两个微控制器I/O问题。第一个问题是,最适合应用的微控制器不具备合适的I/O能力组合。第二个问题是,已推出的产品线需要增加I/O。



出现第一个问题时,开发人员经常不得不购买更昂贵且功能更强的微控制器。而面对第二个问题时,切换到新的微控制器以及随之而来的软件移植所需的成本及时间可能会多得令人难以承受。



要同时解决这两个问题,一种潜在的解决方案是使用外部I/O扩展器件,这种器件通常可连接到微控制器的SPI或I2C总线。这样就能避免在引脚数以及可能的性能和封装方面,对微控制器做出过多的规定。同时,这种方法还能让产品设计具有前瞻性,以应对功能蠕变、目标市场扩张、客户功能请求和微控制器选择不当(这种情况时有发生)等问题。



本文将讨论典型的微控制器I/O要求,并介绍一些合适的外部扩展器件,然后说明如何使用这些片外资源来增加通用输入和输出、存储器存储、脉冲宽度调制 (PWM) 甚至看门狗定时器功能。






选择扩展接口



微控制器配有多个不同的片载外设接口,可用于与外部设备通信。根据微控制器的不同,这些接口可能包括(仅列举几例):


  • 串行外设接口 (SPI)


  • 内部集成电路 (I2C) 总线


  • 通用串行总线 (USB)


  • 通用异步接收器/发送器(UART)


  • 控制器区域网络 (CAN)


  • Wi-Fi



其中最适合与外部扩展设备通信的接口是I2C和SPI。



I2C是一种两线总线,传统的运行速率为100千位/秒 (kb/s) 或400kb/s,但也有一些可支持1Mb/s或更快速度的高速设备。其中一条线是专用的时钟引脚,而另一条线则用于主设备和从设备之间的双向通信。通常情况下,微控制器充当主设备,外部设备充当从设备。从设备可使用7位或10位寻址方案进行寻址。



SPI是一种三线总线接口,运行速率介于1Mb/s和12Mb/s之间。SPI总线配有专用的主设备输出数据线、从设备输出数据线和时钟。微控制器同样配置为主设备,使用“从设备选择”线与从设备通信。每个与微控制器连接的从设备都需要一个专用输出引脚,用于选择它进行通信。不难想象,如果开发人员有很多想要连接的外部设备,他们可能很快就会用尽 I/O 线,然后选择从设备。



例如,如果开发人员使用STMicroelectronicsSTM32L011D4P7,可供使用的I/O线共有11条(图1)。仅SPI数据和时钟就需要三条I/O线,剩下的八条线除了与从设备通信,还需要执行系统所需的所有其他功能。虽然这完全可以满足许多应用的要求,但某些时候,设计人员仍可能需要对I/O进行扩展。




图1:STM32L011D4P7是一款Arm® Cortex®-M0 处理器,其I/O引脚数限制为11个(图片来源:STMicroelectronics)



一般情况下,经验法则非常简单:添加以下功能时使用I2C总线:


  • I/O


  • PWM


  • EEPROM


  • 看门狗定时器



SPI 总线应该用于增加诸如为SD卡提供高速存储器访问等功能。



扩展通用I/O




有相当多的集成电路可支持通过I2C接口来扩展输入和输出。以下是一些有趣的示例:


  • Texas InstrumentsTCA9534PWR


  • NXP SemiconductorsPCA8574


  • Semtech CorporationSX1520I087TRT



PCA8574是一款特别有趣的器件,因为它只包含一个用于执行输入和输出的寄存器。单个寄存器极大地精简了配置器件以及读写引脚所需的软件数量(图2)。微控制器通过I2C与PCA8574通信,并根据A0至A2引脚的配置方式对此器件进行寻址。这一特性增加了设计的灵活性,因此开发人员可以为PCA8574选择从设备地址,并且可在一个设计中使用多个从设备地址。



图2:NXP的PCA8574是一款准双向8位I/O I2C扩展器。该扩展器只有一个I2C寄存器可供读写,从而在其引脚上执行I/O功能,因此是一款非常简单、精巧的器件。(图片来源:NXP Semiconductors)



默认情况下,P0至P7在上电时配置为输入。读取单个内部寄存器时将为器件上的各个引脚指定状态,无论该引脚配置为输入还是输出。PCA8574允许引脚同时用作输入和输出,因此对寄存器的写入也会设置相应的位输出。



输出驱动由微弱的内部电阻器上拉,该电阻器很容易因输入值而过载。如果任何一个输入状态发生变化,INT引脚将切换为低电平,让微控制器知道输入状态发生了变化。然后,微控制器可以调用I2C来读取新值。



拓展PWM



PWM扩展器是一款非常有用的扩展器件。该器件在驱动LED时特别有用。当微控制器未执行任何操作时,可将其设为休眠模式,此时PWM扩展器可负责驱动LED状态。



关于如何使用PWM扩展器的完美范例经常出现在RGB按钮电路中,该电路可使E-SwitchPV6F240SSG RGB按钮


图 3E-Switch的 PV6F240SSG RGB 按钮


Maxim IntegratedMAX7315便是一款适用于I2C接口的PWM扩展芯片。MAX7315配有8个PWM端口,并具有LED强度控制功能,这样可以轻松涵盖驱动RGB开关所需的3个通道,使得单个器件能够驱动若干开关和一些独立的LED。此外,MAX7315还有第9个端口,可以用作转换检测中断或通用输出。



MAX7315 I2C接口比NXP的PCA8574稍微复杂一些,因为它包含多个寄存器。因此,开发人员必须寻址从设备,提供其有兴趣读取或写入的存储器地址,然后执行写入或读取。MAX7315的存储器映射如图4所示。



图4:MAX7315 PWM控制器配有8个输出端口,其中包括LED强度功能。该器件的寄存器映射非常简单,允许轻松访问高级PWM功能。(图片来源:Maxim Integrated)



MAX7315 的寄存器映射非常简单,允许轻松访问高级 PWM 功能。



配有WDT、EEPROM和PWM的组合型扩展器



如图所示,I2C总线I/O扩展器在用作独立器件时可能非常强大。也就是说,这种扩展器只包含诸如I/O或PWM等特定功能。例如Cypress SemiconductorCY8C9520A多端口I/O扩展器,这类扩展器在一个IC封装中包含了多个外设扩展。CY8C9520A共有三种扩展形式:20位、40位或60位扩展。然后可将这些引脚配置为输入、输出或PWM(图5)。


图5:Cypress Semiconductor的CY8C9520是一款配有EEPROM的20位、40位或60位I/O扩展器。该扩展器允许将扩展引脚配置为输入、输出或PWM。(图片来源:Cypress Semiconductor)



除I/O扩展外,CY8C9520还配有EEPROM,可用于存储重要的应用设置(如序列号)以及其他重要的配置参数。



仔细查看图5,您会看到GPort 2上的WD6引脚。该引脚是一个看门狗定时器输出引脚,可在微控制器无法通信时用于复位微控制器,以及操控CY8C9529看门狗。看门狗设置是完全可配置的,并且可用于为应用程序代码增加额外的稳健性。



扩展微控制器功能的技巧和诀窍



目前有许多技术可帮助扩展微控制器的功能。以下是一些有帮助的技巧和诀窍:


  • 使用I2C连接外部设备。该接口只需两个引脚,并且支持多个从设备。


  • 在将某个零件设计成硬件之前,先购买一个开发板,或将芯片焊接到扩展板上,测试其能否满足您的系统需求。


  • 使用I2C总线工具与扩展器件连接,并了解其工作情况,这样可大幅提升软件的开发速度。


  • 在软件开发过程中,使用总线分析器监视与外部设备的通信,最大限度缩短调试时间。


  • 如果可能,选择配有外部看门狗定时器的器件,这可以作为一种工具,为系统设计增加稳健性。


  • 在连接片外存储器获取数据(非配置数据)时,请使用SPI等高速接口。


  • 如果设备返回否定应答 (NAK) 信号,或者总线受到拖累,请确保微控制器的I2C驱动程序可以处理此类问题。对于这些驱动程序来说,在收到意外响应时忽略错误并进入无限循环的情况并不罕见。



本文小结



当设计进展到微控制器无法继续提供更多I/O时,开发人员无需将现有的设计推倒重来。相反,他们可以使用外设芯片,以便为系统增加额外的功能。






留言10字或以上


审查后1周内可获加25分!





DK会员中


福利多


你,加入了没?


积分可兑换各种好礼


快到「会员权益」页面看看!
如有任何问题, 欢迎联系得捷电子


Digi-Key的客服团队



中国(人民币)客服


400-920-1199 service.sh@digikey.com QQ在线实时咨询 | QQ号:4009201199
中国(美金)/香港客服
400-882-4440 8523104-0500 china.support@digikey.com





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

全新Balletto™系列无线MCU基于Alif Semiconductor先进的MCU架构,该架构具有DSP加速和专用NPU,可快速且低功耗地执行AI/ML工作负载

关键字: 处理器 微控制器 AI

2024年4月10日 –提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售NXP Semiconductors的MCX工业和物联网微控制器...

关键字: 微控制器 电机控制 机器学习

中国上海–2024年4月9日–在追求创新的道路上,英飞凌(Infineon)再次领导行业,推出突破性的PSoC™ 4000T 微控制器。全球知名的电子元器件授权代理商富昌电子(Future Electronics)现为各...

关键字: 微控制器 电容式传感板

开放计算项目(OCP)是一个非营利组织,专注于推动各企业在数据中心产品设计及最佳实践方面加强交流。近日,该组织发布了开放机架第三版(ORV3)规范。规范中比较显著的变化在于设计架构从12 V迁移到了48 V。本系列文章重...

关键字: 微控制器 电池 开放计算

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

2024年3月26日,中国-- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了一项基于 18 纳米全耗尽绝缘体上硅(FD-SO...

关键字: 处理器 微控制器 存储器

新竹,台湾,2024年3月20日 - 随着工业5.0、人工智能和物联网应用的不断扩展,市场对多样化MCU产品的需求日益增加。新唐科技致力于强化MCU多元应用战略布局,在各类垂直领域中进行了规格的优化。从入门级到高性能产品...

关键字: 微控制器 工业控制 人工智能
关闭
关闭