微控制器正在成为工业和商业系统中基于传感器的系统的核心引擎。为传感器应用创建核心平台并仅实施低成本软件和基于固件的更改的能力推动了开发板的可用性和多样性的提高。虽然主要通过串行端口连接,但模拟和混合信号传感器会影响微控制器的性能、操作系统的选择以及整体设计的功率/性能。使用特定应用开发板可简化设计任务并有助于及时完成设计。
传感器控制和接口
嵌入式系统越来越多地使用多个传感器对其环境进行采样。大量这些传感器使用简单的串行接口,产生数字输出,可以直接由微控制器处理。其中一些系统使用在传感器之间多路复用的传统串行接口,为控制器提供一次仅处理一个输入的结构(GPIO、I²C、SPI、RS232、RS422 等)。其他串行传感器设备包含 USB 接口的完整协议管理以及该接口的多设备管理方法。
虽然与传感器的通信是数字的,但大多数传感器都是模拟的。模拟传感器包括光和红外探测器、热电偶、触摸控制器、声音和外部区域运动传感器、设备位置和运动传感器以及温度和压力传感器。模拟传感器的分辨率和精度水平不仅决定了数据存储的大小和字长,还决定了 MCU 的速度和数学处理能力。
由于有许多不同类型的传感器,系统开发的主要方法包括选择一个核心控制器,然后在软件中编程一个应用程序,该应用程序调用正在使用的特定传感器的接口软件例程。使用这种方法,设计人员可以创建一个通用设计平台和 GUI,同时将特定传感器和应用的最终优化步骤留到设计周期的最后阶段。大多数 MCU 软件开发套件 (SDK) 旨在支持此方法,并包含针对此方法优化的开发板。
优化的数据采集系统
由于目前使用的大多数传感器都是模拟标准产品数据采集系统,例如ADUC7060(参见图 1)来自 Analog Devices,它为标准化的 ARM7™ 内核 MCU 带来了高性能信号路径。这些单芯片解决方案具有多种功能,旨在解决高传感器数量的工业应用空间。
图 1:Analog Devices 的 ADUC7060 框图。(由模拟设备公司提供。)
Analog Devices 的 ADuC7060 是一款完全集成的 8 ksps 24 位数据采集系统,包含高性能多通道 Σ-Δ (Σ-Δ) 模数转换器 (ADC),以及片上振荡器和 PLL产生高达 10.24 MHz 的内部高频时钟。MCU 内核是 ARM7TDMI,16 位/32 位 RISC 机器,提供高达 10 MIPS 的峰值性能;4 kB 的 SRAM;和 32 kB 非易失性 Flash/EE 存储器,均在片内提供。ARM7TDMI 内核将所有内存和寄存器视为单个线性阵列。
数据采集和传感器接口子系统由一个 5 通道主 ADC 和一个最多 8 通道辅助 ADC 组成。ADC 在单端或差分输入模式下运行。片上提供单通道缓冲电压输出 DAC。DAC 输出范围可编程为两个电压范围之一。
由于该器件专为实时传感器接口和信号解释而设计,因此 ADuC7060 包含一个高级中断控制器。矢量中断控制器 (VIC) 允许为每个中断分配一个优先级。它还支持每个 IRQ 和 FIQ 最多 8 个嵌套中断。当 IRQ 和 FIQ 中断源组合在一起时,总共支持 16 个嵌套中断级别。片上工厂固件支持通过 UART 串行接口端口进行在线串行下载和通过 JTAG 接口进行非侵入式仿真。这些部件的工作电压为 2.375 至 2.625 V,工业温度范围为 -40°C 至 +125°C。
数字接口传感器和控制器开发选项
除了需要数据采集模块的模拟接口外,还有以SPI、RS232、USB格式出现的传统串行数据接口。德州仪器(TI) 的MSP-EXP430FG4618实验板等评估和开发系统专为通用数字输入和一到两个模拟传感器应用而设计。图 2 显示了带有嵌入式电容触摸板的评估板。图 3 显示了该设计的功能框图。
图 2:TI 带有触摸传感器的 MSP-EXP430FG4618 实验板(德州仪器提供)。
图 3:TI 的 MSP-EXP430FG4618 实验板功能框图(由 Texas Instruments 提供)。
该实验板针对外部数字接口进行了优化,具有大多数嵌入式控制应用所需的典型模块。这些模块包括一个 4-Mux LCD 显示屏、两个瞬时开启按钮开关、四个可用于显示状态的 LED,其中两个可跳线以用于低功率应用、一个从数字 I/ 运行的蜂鸣器O 端口,一个“4”形电容式触摸板,连接到用于单点触摸感应的数字 I/O 端口,一个带 UART 的 RS-232 端口;和一个 I²S/SPI 连接,用于通过两个 JTAG 端口进行处理器间通信。在模拟端,有一个麦克风输出到一组模拟滤波器、数据转换器以及驱动模拟输出的有源 LPF 和缓冲放大器。该模拟信号链如图 4 所示。最后,
图 4:TI 的 MSP-EXP430FG4618 实验板模拟信号路径(由 Texas Instruments 提供)。
该板设计有一个中央处理块,该块是软件编程用于管理嵌入式系统应用程序。直接数字输入直接到达处理器并利用中断控制器。在从模拟域转换后,同一内核对来自图 4 所示模拟路径的信号进行数字处理。该评估/开发板可用作多个项目的平台,因为打开系统功能的接口代码和开销独立于最终应用程序。这允许软件核心模块处理通用 GUI 和开发方法,以便媒体控制、工业控制、机器人和环境控制系统都可以使用相同的流程进行设计。
扩展无线开发
虽然 MSP430FG4618 以核心处理器路径中的多个传感器控制为目标,但 Texas Instruments 的eZ430-RF2500开发套件是一款基于 USB 的无线开发产品,使用相同的 MSP430 应用开发软件。该套件是一个完整的无线开发工具,提供用于评估 MSP430F2274 微控制器和 CC2500 2.4 GHz 无线收发器的所有硬件和软件。
eZ430-RF2500 使用 IAR Embedded Workbench® IDE 或 TI 的 Code Composer Essentials (CCE) 来编写、下载和调试应用程序。调试器不显眼,允许用户使用硬件断点全速运行应用程序,同时提供单步执行功能并且不消耗额外的硬件资源。
TI的eZ430-RF2500T目标板是一种开箱即用的无线系统,可与 PC 的 USB 调试接口一起使用,作为带或不带外部传感器的独立系统,或者可以合并到现有设计中。 新的 USB 调试接口使 eZ430-RF2500 能够使用 MSP430 应用 UART 从 PC 远程发送和接收数据。
eZ430-RF2500(参见图 5)具有 USB 调试和编程接口,具有无驱动安装和应用反向通道,共有 21 个用于外部连接的可用开发引脚,具有 16 MHz 性能的超低功耗 MSP430 MCU,两个通用数字 I/O 引脚连接到绿色和红色 LED,以及用于用户反馈的中断按钮。
图 5:TI 的 eZ430-RF2500 USB 无线开发套件。(德州仪器提供。)
这种无线优化的 MSP430 设计包含一个芯片天线和完整的无线系统,以及一个具有通用软件控制的模拟传感器子系统。模拟传感器子系统包括一个 200 ksps 10 位 SAR ADC、两个内置运算放大器、一个看门狗定时器、16 位 Timer_A3 和 Timer_B3、一个支持 UART/LIN、SPI、I²C 或 IrDA 接口的 USCI 模块以及软件低功耗模式的控制,导致待机模式下的电流消耗低至 700 nA。
eZ430-RF2500 开发套件随附一张 CD,其中包含两种不同的 MSP430 开发软件工具:IAR Embedded Workbench KickStart 和 Code Composer Essentials (CCE)。KickStart 版本是完整 CCE 工具的缩减内存子集。CCE 工具可用于购买任何 MSP430 系列 MC。
高速连接开发
遵循多传感器和多输入系统统一开发的趋势,Zilog已将其核心 Z80 处理器更新为连接优化 ASSP 中的单板计算机 (SBC) 系统。EZ80F917050SBCG(参见图 6)是用于 eZ80AcclaimPlus!™ 连接 ASSP 的 Zilog 的 Zdots® SBC 的实现。与传统的开发系统不同,该系统针对媒体和互联网/内联网控制和数据处理进行了优化。
用于连接 ASSP 的 SBC 具有带 RJ45 连接器的 10/100 Base-T 以太网 PHY、512 KB 快速 SRAM 以及 256 KB 片上闪存、1 MB 片外 NOR 闪存、电池供电实时时钟; 具有 32 个通用 5V 容限 I/O 引脚的输入/输出连接器和 Zilog 的 ZHX1810 IrDA 收发器。板载连接器为 I/O 总线提供外部外围连接(IRQ、CS、24 地址和 8 个数据),并通过两个 2x30 针接头和 3.3 V 电源提供与载板的低成本连接。
与 TI 器件一样,Zilog ASSP 具有内部闪存、多种低功耗模式、两个独立的 UART、I²C 和 SPI 接口以及独立的时钟发生器、符合 IrDA 标准的红外编码器/解码器、片上实时时钟振荡器、四个 16 位计数器/定时器、一个看门狗定时器、JTAG 和 ZDI 调试接口以及 32 位 GPIO。主要区别包括具有 8 KB 帧缓冲区的 10/100 Mbps 以太网 MAC 和单周期取指令流水线 eZ80 CPU 内核。图 7 显示了 ASSP 的框图。
图 :Zilog 的 eZ80AcclaimPlus!ASSP 功能框图。(由 Zilog 提供。)
eZ80 内核的架构和 SBC 的一般应用都需要包含快速缓冲器。快速缓冲器的存在是为了防止由于模块外部 Flash 的慢关断时间与 eZ80F91 的快速总线周转时间之间的时序差异而发生的总线争用。在 NATIVE eZ80 模式下使用 eZ80 系列微处理器时与总线争用相关的问题在 eZ80F91 的开发套件和产品规范中有详细记录。
当两个或更多设备驱动一个公共总线(例如多个 GPIO 通道、UART 或以太网控制器)时,就会发生总线争用。一些外部设备比 eZ80F91 的本机单周期执行时间要慢。这可能导致闪存关闭时间比总线周期时间长三到四倍,进而导致闪存输出驱动器进入高阻模式。这将导致 eZ80F91 对 Flash 的读取访问将 CPU 周期时间加上 Flash 关闭时间的总和作为 Flash 停止驱动数据总线之前的活动时间。此时,eZ80F91 器件已经进入下一个总线周期,导致数据争用。由于总线上混合了高速以太网流量和标准低速传感器信号,而且传感器流量是异步的,
本文中描述的通用平台开发方法需要统一的软件代码库以及可以处理多个外部传感器的应用开发板。这些传感器具有多种接口,包括模拟和数字接口。这些接口不仅在发送数据的大小和精度方面有所不同,而且在速度方面也有所不同。在保持通用 GUI、应用程序界面和存储在软件中的获取数据的同时控制和调整系统时序是从单个 MCU 基础开发多个产品的关键。
概括
随着基于传感器的系统功能的增加,嵌入式微控制器的结合正在成为一种主流趋势。这些设备具有对固件和软件进行现场编程的能力,是系统设计的基础。这些系统在系统核心使用基于 FPGA 的核心微控制器和低功耗独立微控制器的组合。然而,传感器和物联网 (IOT) 世界需要信号处理应用程序,因此,它们需要在适当的设计原型中进行实际测试,以检查它们的实时性和设计的信号完整性。大多数供应商和众多第三方合作伙伴都创建了基于微控制器的开发系统,这些系统与 SDK 一起作为核心处理器组件提供。
评论
查看更多