h1_key

当前位置:首页 >新闻资讯 > 行业资讯>微控制器I/O不够用?外部I/O扩展器解决
微控制器I/O不够用?外部I/O扩展器解决
2023-04-10 527次

讨论典型的微控制器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 线,然后选择从设备。

 

  例如,如果开发人员使用STMicroelectronics的STM32L011D4P7,可供使用的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 Instruments的TCA9534PWR

  ●NXP Semiconductors的PCA8574

  ●Semtech Corporation的SX1520I087TRT

  ·

  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-Switch的PV6F240SSG RGB按钮。

  

 

3:E-Switch的 PV6F240SSG RGB 按钮

 

  Maxim Integrated的MAX7315便是一款适用于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 Semiconductor的CY8C9520A多端口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驱动程序可以处理此类问题。对于这些驱动程序来说,在收到意外响应时忽略错误并进入无限循环的情况并不罕见。

 

  • 一文读懂DRAM(动态随机存取存储器)工作原理、分类、主要厂商
  • DRAM是一种易失性半导体存储器,用于计算机和其他数字设备作为主内存。它的名字“动态”源于需要周期性刷新存储的数据。
    2025-06-19 248次
  • 一文读懂FPGA的工作原理、关键参数、品牌、运用
  • FPGA代表Field-Programmable Gate Array,中文译为现场可编程门阵列。它是一种非常特殊的半导体集成电路芯片。与 CPU、GPU 或专用集成电路芯片在出厂时功能就固定不同,FPGA的硬件逻辑功能在制造完成后,可以由用户在现场(Field)根据需要进行编程(Programmable)来定义。 它本质上是由大量可配置逻辑块、可编程互连资源和丰富的输入/输出单元组成的阵列(Array)。
    2025-06-05 185次
  • 一文读懂ADC(模数转换器)与DAC(数模转换器)类型、应用
  • ADC(模数转换器)与DAC(数模转换器)芯片是连接模拟世界与数字系统的核心元器件,广泛应用于通信、工业控制、医疗设备、消费电子等领域。以下是它们的核心技术原理、类型及市场应用解析:
    2025-05-21 145次
  • 一文读懂GNSS模组产品分类、品牌、运用
  • 全球导航卫星系统(GNSS,Global Navigation Satellite System)是一种通过卫星信号提供地理定位、导航和时间同步服务的技术。常见的GNSS包括美国的GPS、俄罗斯的GLONASS、欧盟的伽利略(Galileo)和中国的北斗(BDS)。以下从产品、品牌和应用领域三个方面进行介绍:
    2025-04-28 313次
  • 一文读懂什么是MEMS压力传感器?
  • MEMS压力传感器是一种基于微机电系统(Micro-Electro-Mechanical Systems, MEMS)技术制造的微型传感器,主要用于测量气体或液体的压力。凭借其小型化、高灵敏度和低成本等优势,MEMS压力传感器被广泛应用于汽车、医疗、工业、消费电子和航空航天等领域。
    2025-04-17 230次

    万联芯微信公众号

    元器件现货+BOM配单+PCBA制造平台
    关注公众号,优惠活动早知道!
    10s
    温馨提示:
    订单商品问题请移至我的售后服务提交售后申请,其他需投诉问题可移至我的投诉提交,我们将在第一时间给您答复
    返回顶部