开关矩阵(SWM)和 AM824-Core的应用

电子说

1.3w人已加入

描述

周立功教授新书《面向AMetal框架与接口的编程(上)》,对AMetal框架进行了详细介绍,通过阅读这本书,你可以学到高度复用的软件设计原则和面向接口编程的开发思想,聚焦自己的“核心域”,改变自己的编程思维,实现企业和个人的共同进步。经周立功教授授权,即日起,致远电子公众号将对该书内容进行连载,愿共勉之。

第一章为AM824-Core 开发套件,本文为 1.3 开关矩阵(SWM)和1.4 AM824-Core

1.3 开关矩阵(SWM)

>>>   1.3.1 SWM 简介

如图1.4 所示的开关矩阵(Switch Matrix)是NXP 公司新推出的在MCU 中集成的一个非常有特色的外设功能,通过开关矩阵可以将芯片内部所有数字外设功能引脚分配到除电源、地之外的任意引脚,从而提高了设计的灵活性。

周立功

图1.4 SWM 功能示意图

由于开关矩阵的存在,因此可以将LPC824 的外设功能引脚信号分为固定功能信号和可分配数字信号,其对应的外设功能如下:

  • 固定功能信号

    GPIOx 、RESET、VDDCMP、ACMP_I1~ACMP_I4 、ADC_0~ADC_11、SWDIO、SWCLK、XTALIN、XTALOUT、CLKIN,以及标准I2C 开漏引脚I2C0_SDA 和I2C0_SCL,这些功能引脚都是固定在芯片外部某个管脚位置,不能通过 SWM 分配到其它外部管脚。

  • 可分配数字信号

    USART0、USART1、USART2、SPI0、SPI1、CTIN、CTOUT、I2C1、I2C2、I2C3、ACMP_O、CLKOUT,这些信号可以通过 SWM 分配到除电源/地以外的任意外部管脚。

>>> 1.3.2 SWM 应用

由于MCU 的部分数字外设可以根据需要分配到芯片其它引脚,因此将大大简化用户的设计。即:

(1)系统硬件设计时,以外围器件布局及PCB 布线为主导,不用考虑信号的管脚位置,帮助缓解PCB 走线拥挤,降低开发成本;

(2)更换系统外围器件或主控制器时,避免更改硬件设计,降低维护成本;

(3)分配多个功能到同一个引脚实现特殊功能(谨慎使用)。

下面我们以实际应用中几个小案例来实际体验一下SWM 的特点。

1. 解决硬件设计错误

用户电路设计过程中,经常会出现一些意外的错误,比如串口主机和设备的TXD 引脚对应连接(实际应交叉连接),导致PCB 需要重新设计,增加产品的设计成本,如果主控制器支持SWM 功能,即便PCB 设计错误,也可以在不修改硬件的前提下保证功能正常。

周立功

图1.5 解决硬件设计错误问题

如图1.5(a)所示是MCU 驱动SPI Flash 的应用电路,但是可以发现此电路设计错误,SPI Flash 的MOSI/MISO 引脚和MCU 对应引脚应该直接相连,而实际电路中采用交叉连接,因此该电路无法直接使用。如果图1.5(a)中的MCU 是LPC824,则可以灵活的通过SWM来实现SPI 外设引脚功能信号的重新分配,不用重新设计硬件而解决问题,详见图1.5(b)。

2. 简化外围设计

系统应用中不同电压信号的通信问题是经常遇到的,比较常见的是3.3V 系统和5V 系统兼容问题,例如3.3V 系统产品通过串口和5V 系统产品通信,就要求TXD 和RXD 引脚之间经过电平转换才能可靠通信。

LPC824 的电源供电范围是1.8 V~3.6 V,通常工作在3.3V 电源环境中,如果使用LPC824 为核心的产品需要支持5V 串口通信,则LPC824 的串口通信接口TXD 和RXD 均需要经过处理才能与外部5V 系统相连接,这部分电路可以通过多个分立器件或者电平转换芯片完成电平转换,这样既增加了设计复杂性又增加设计成本。但是LPC824 的第8、第9 引脚是标准开漏结构的引脚(默认I2C0 的I2C0_SDA 和I2C0_SCL 引脚分配在该引脚),实际应用中可以通过SWM 将UART 的TXD 和RXD 分配到这两个引脚位置上,通过外接上拉电阻到5V 电源直接实现5V 电平的兼容,可以很好地简化外围设计实现相应功能,详见图1.6。

周立功

图1.6 SWM 的灵活应用

1.4 AM824-Core

AM824 开发套件包括AM824-Core 和MiniCK100 仿真器,如图1.7 所示为AM824-Core的示意图,MCU 为NXP 半导体的LPC824M201JHI33,包括2 个MiniPort 接口、1 个MicroPort接口和1 个2×10 扩展接口。这些接口不仅将MCU 的所有I/O 资源引出,还可以借助MiniPort 接口和icroPort 接口外扩多种模块。片上资源包括2 个LED 发光二极管、1 个无源蜂鸣器、1 个加热电阻、1个LM75B 测温芯片、1 个热敏电阻、1 个TL431 基准源、1个多功能独立按键和1 个复位按键,可以完成多种基础实验。

图1.7 AM824-Core 开发板接口分布

AM824-Core 的出现简化了用户的硬件设计,使得学习LPC824 系列MCU 的难度大大降低,可以帮助初学者快速掌握基于32 位Cortex™-M0+内核微控制器的应用开发。

>>>   1.4.1 电源电路

1. 系统电源

AM824 通过5V 的USB 供电,需要将电压转为3.3V 给LPC824 使用。为了实现5V 到3.3V 的转换,AM824 选用了美国EXAR 半导体公司的SPX1117M3-L-3.3V 电源管理器件。其输入电压为4.7V~10V,最大输入电流可达800mA,且负载为800mA 时典型压差为1.1V。

SOT223 封装的SPX1117M3-L-3.3V 的典型应用电路详见图1.8,芯片的输入和输出端分别接了两个滤波电容,通过滤波电容保障电压的稳定减少毛刺干扰。

周立功

图1.8 LDO 典型应用电路图

AM824-Core 留有一个标准的Micro-USB 接口,大家平时可以在手机、移动充电宝等设备上看到该接口。因为LPC824 不支持USB 通信功能,所以该接口主要用于供电,可通过手机充电器或者电脑等设备提供5V 电源。

Micro-USB 是一种USB2.0 标准接口,是Mini-USB 的下一个版本。其特点如下:

  • Micro-USB 连接器比标准USB 和Mini-USB 连接器更小,节省空间;

  • 具有高达10000 次的插拔寿命和强度;

  • 盲插结构设计;

  • 兼容USB1.1 (低速:1.5Mb/s,全速:12Mb/s) 和USB 2.0(高速:480Mb/s);

  • 同时提供数据传输和充电。

2. 基准源电路

AM824-Core 开发板板载的基准源芯片是TL431,是一种常用的可控精密稳压源。其主要特点如下:

  • 可编程输出电压:2.5V~36V;

  • 电压参考源误差:典型+/-0.4%@25℃;

  • 低动态输出阻抗,典型为0.22Ω;

  • 1.0mA 到100mA 的灌电流能力。

TL431 输出2.5V 基准电压的电路详见图1.9,其中的R13 为限流电阻,可以保证输入到TL431 的灌电流在1~100mA 以内。

周立功

图1.9 基准源电路

>>>   1.4.2 最小系统

LPC824 微控制器的最小系统电路主要包括复位电路和时钟电路两部分,详见图1.10。由于LPC824 芯片内部集成了一个IRC 时钟,因此外部的时钟电路可以省略。

周立功

图1.10 最小系统电路

当系统要求提供更精准的时钟信号时,则可以使用外部时钟电路,推荐的时钟电路采用12MHz 外部晶振与电容C9 和C11 一起构成振荡回路。

>>>   1.4.3 复位与调试电路

1. 复位电路

  • 内部复位电路

    如果要求不高,比如,直接驱动LED 数码管和键盘扫描电路,则可以选用内部复位电路。或者干扰并不严重的场合,也可以选用内部复位电路。

  • RC 复位电路

    计算机系统都有逻辑电路,而在电源上电时,一些逻辑电路的状态是不可预测的。所以若要使数字设备或计算机正常工作,在上电时必须要使系统中所有逻辑电路的输出处于指定的高或低状态,这就是复位电路的作用。复位电路能使设备在刚上电时,且电源电压稳定后,自动产生一个具有一定宽度的高或低电平的脉冲信号。

利用电容的充放电延时原理可产生上电时MCU 所需的复位脉冲信号,如图1.11 所示为产生低电平复位信号的电路原理图。在图1.11 中,MCU 上电时,由于电容C 两端的电压VC 不能突变,因此VC 保持低电平。但随着电容C 的充电,VC 不断上升,上升曲线详见图1.11。只要选择合适的R 和C,VC 就可以在MCU 复位电压以下持续足够的时间使MCU 复位。复位之后,VC 上升至电源电压,MCU开始正常工作。相当于在MCU 上电时,自动产生了一个一定宽度的低电平脉冲信号,使MCU 复位。

周立功

图1.11 RC 复位电路图

如图1.12 所示为AM824-Core 的RC 复位电路,其中,D2 的作用是在电源电压消失时为电容C1 提供一个迅速放电的回路,使复位端的电压迅速回零,以便下次上电时能可靠地复位。短接J8 之后,也可以通过复位按键实现人工复位。

周立功

图1.12 复位电路

2. 调试电路

AM824-Core 将SWD 调试接口引出。相对于JTAG 调试模式来说,SWD 调试模式速度更快且使用的I/O 口更少,因此AM824-Core 开发板引出SWD 调试接口,其参考电路详见图1.13,具体引脚功能介绍详见表1.5。

周立功

图1.13 调试电路

表1.5 调试管脚说明

周立功

>>> 1.4.4 板载外设电路

1. LED 电路

AM824-Core 开发板板载了两路LED 发光二极管,可以完成简单的显示任务,电路详见图1.14,引脚标号GPIO_LED0、GPIO_LED1 对应PIO0_8、PIO0_9,LED 为低电平有效(低电平有效)。LED 电路的控制引脚与微控制器的I/O 引脚通过J9 和J10 相连。电路中的R3 和R4 为LED 的限流电阻,选择1.5kΩ这个值可以避免LED 点亮时过亮。

周立功

图1.14 板载LED 电路

2. 蜂鸣器电路

为了便于调试,AM824-Core 设计了蜂鸣器驱动电路,详见图1.15,引脚标号PIO_BEEP对应PIO0_2。AM824-Core 开发板使用的是无源蜂鸣器,D1 起保护三极管的作用,当突然截止时无源蜂鸣器两端产生瞬感应电动势可以通过D1 迅速释放掉,避免叠加到三极管集电极上从而击穿。若使用有源蜂鸣器则D1 不用焊接。当不使用蜂鸣器的时候也可以用J7 断开蜂鸣器电路与I/O 口的连接。

周立功

图1.15 板载蜂鸣器电路

3. 加热电阻与按键电路

AM824-Core 开发板创新性的设计了一套测温实验电路。包含加热电路和数字/模拟测温电路。其中加热电路采用了一个阻值为20~50Ω的功率电阻(2W),通过按键来控制,详见图1.16,引脚标号GPIO_KEY 对应PIO0_1。电阻越小通过其电流越大,产生的热量越大,因此R32若焊接小电阻时,不宜加热时间过长。按键的功能需要用J14 上的跳线帽来选择为加热按键。当按键按下时电路导通,电阻上产生的热量会导致电阻周围的温度上升,这时可以通过测温电路观察温度上升情况。

周立功

图1.16 加热电路

4. 数字测温电路

AM824-Core 选择LM75B 作为数字测温电路的主芯片,LM75B 与LM75A 完全兼容,只是静态功耗会稍低一些,电路详见图1.17,引脚标号PIO_SDA、IO_SCL 对应PIO0_11、PIO0_10。LM75B 是一款内置带隙温度传感器和Σ-Δ模数转换功能的温度数字转换器,它也是温度检测器,并且可提供过热输出功能。

周立功

图1.17 LM75B 电路

LM75B 的主要特性如下:

  • 温度精度可达0.125℃的精度;

  • 较宽电源电压范围:2.8V~5.5V;

  • 环境温度范围:Tamb=-55℃~+125℃;

  • 较低的功耗,关断模式下消耗的电流仅为1μA;

  • I2C 总线接口,同一总线上可连接多达8 个器件。

在电路设计上,R5 和R6 是I2C 总线的上拉电阻。由于板载只有一片LM75B,不用考虑芯片的地址问题,因此芯片的A0~A2 引脚可以直接接地。OS 为芯片的过热输出,可以外接继电器等器件实现一个独立温控器的功能,这里由于温控是通过单片机控制的,因此这个引脚可以不使用。

5. 模拟测温电路

模拟测温电路是利用热敏元件的电特定随温度变化的特点进行测量,AM824-Core 开发套件选择了热敏电阻作为测温元件,热敏电阻选用的是MF52E-103F3435FB-A,当测温范围在0~85℃,电阻变化范围为27.6~1.45KΩ。测温电路详见图1.18,引脚标号PIO_ADC 对应PIO_14,其采用的是简单的电阻分压电路,其中C8 是为了电路输出更加稳定。单片机通过ADC 采集分压电阻上的电压值,当温度变化时,热敏电阻的阻值发生变化,单片机采集到的ADC值也会发生变化。通过计算得到热敏电阻的阻值,再对比热敏电阻阻值与温度的对照表,就可以得到当前的温度值。

周立功

图1.18 热敏电阻电路

>>>   1.4.5 跳线帽使用

板载外设接口设计在MCU 引脚和板载外设电路之间,可以通过跳线帽进行短接,详见图1.19。这样设计是为了外设电路在不使用的时候可以断开与MCU 引脚的连接,而不会影响到这些引脚当作其它功能使用,详见表1.6。

周立功

图1.19 板载外设接口引脚图

表1.6 板载外设接口管脚说明

周立功

>>>   1.4.6 MiniPort 接口

MiniPort(2×10)接口是一个通用板载标准硬件接口,通过该接口可以与配套的标准模块相连,便于进一步简化硬件设计和扩展。其特点如下:

  • 采用标准的接口定义,采用2×10 间距2.54mm 的90°弯针;

  • 可同时连接多个扩展接口模块;

  • 具有16 个通用I/O 端口;

  • 支持1 路SPI 接口;

  • 支持1 路I2C 接口;

  • 支持1 路UART 接口;

  • 支持一路3.3V 和一路5V 电源接口。

标准MiniPort(2×10)接口功能说明详见图1.20,MiniPort(2×10)接口使用的连接器为2.54mm 间距的2×10 排针/排母(90°),其封装样式详见图1.21。主控制器底板选用90°排针,功能模块选用90°排母与主机相连,同时采用90°排针将所有引脚引出,实现模块的横向堆叠。

周立功

图1.20 MiniPort(2×10)接口功能说明

周立功

图1.21 MiniPort(2×10)接口连接器

MiniPort 的90°排针与90°排母之间连接关系,A1 - B20、A2 - B19……A19 – B2、A20 - B1(A 代表排针,B 代表排母)。MiniPort(2×10)目前支持的模块为MiniPort-Key、MiniPort-LED、MiniPort-View 和MiniPort-595,这些模块不仅可以直接插入MiniPort,而且还可以通过杜邦线与其它各种开发板相连。

AM824-Core 开发板搭载了2 路MiniPort,接口标号为J3 和J4。J3 与J4 接口引脚完全相同,用户可根据习惯选择使用,其具体的引脚分配详见表1.7。

表1.7 MiniPort 引脚分配

周立功

>>>   1.4.7 2×10 扩展接口说明

LPC824M201JHI33 有33 个引脚,I/O 管脚29 个。由于MiniPort 仅定义了16 个I/O,因此还有部分I/O 未引出。

为了便于扩充外围接口,因此需要将剩余的引脚全部引出,基于此,还为M824-Core 设计了一个2×10 扩展接口,不仅将MiniPort 未使用的I/O 引出,还包含了一组电源接口和一个参考源引脚(VREF),详见图1.22。

周立功

图1.22 2×10 扩展接口引脚图

>>> 1.4.8 MicroPort 接口

为了便于扩展开发板功能,ZLG 制定了MicroPort 接口标准,MicroPort 是一种专门用于扩展功能模块的硬件接口,其有效地解决了器件与MCU 之间的连接和扩展。其主要特点如下:

  • 具有标准的接口定义;

  • 接口包括丰富的外设资源,支持UART、I2C、SPI、PWM、ADC 和DAC 功能;

  • 配套功能模块将会越来越丰富;

  • 支持上下堆叠扩展。

MicroPort 分为标准接口和扩展接口,扩展接口可实现更丰富的外设应用,不同的应用环境下可以选择不同的接口类型。MicroPort 接口使用的连接器为2.54 间距的1×9 圆孔排针,高度为7.5mm,实现上下堆叠连接。MicroPort分为标准接口和扩展接口。MicroPort 标准接口采用U 型设计,三边各9 个引脚,共27 个引脚,其引脚功能定义详见图1.23。MicroPort 标准接口包含22 个I/O 引脚,最多可实现1 路UART、1 路I2C、1 路SPI、2 路ADC、1 路DAC 和4 路PWM 功能,也可以全部当做普通I/O 使用。MicroPort 标准接口还包含3.3V、5V 电压引脚和VREF(参考基准源)引脚,以及MCU 的复位引脚。

周立功

图1.23 MicroPort 标准接口引脚定义

MicroPort 扩展接口是在MicroPort 标准接口的基础上,在U 型底部增加一排1×9 的引脚,这9 个引脚可以引出SDIO 和USB 扩展接口,也可以当做普通的I/O 使用。对于部分MCU 来说,由于其引脚资源较为丰富,因此可以借助MicroPort 扩展接口支持更多的模块实现更多的扩展功能,MicroPort 扩展接口增加的引脚定义详见图1.24。MicroPort 扩展接口的SDIO 接口为四线式,USB 接口可以支持OTG 模式。

周立功

图1.24 MicroPort 扩展接口增加的引脚定义

AM824-Core 板载1 路带扩展的MicroPort接口,用户可以依据需求,选择或开发功能多样的MicroPort 模块,快速灵活地搭建原型机。由于LPC824 片上资源有限,还有极少部分MicroPort 接口定义的引脚功能不支持,其相应的引脚可以当做普通I/O 使用,AM824-Core 的MicroPort 接口引脚分配详见表1.8。

表1.8 AM824-Core MicroPort 引脚分配表

周立功


在公众号后台回复关键字【编程】,即可在线阅读《面向AMetal框架与接口的编程(上)》和《程序设计与数据结构》两本书。

书籍的淘宝购买链接如下,可复制到浏览器打开:

【广州致远电子官方企业店】,复制这条信息¥Ebic03xkccD¥后打开手机淘宝

延伸阅读

周立功:认识 LPC824 和 LPC84x 微控制器

新书速递 | 周立功教授心血新力作《面向AMetal框架与接口的编程(上)》

新书目录 | 周立功教授心血新力作《面向AMetal框架与接口的编程(上)》

独家发售 | 周立功自编《面向AMetal框架与接口的编程(上)》新书(纸质版)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分