随着工业应用中对检测的需求不断增长,业界需要一个能够适应多样化终点设备和连接要求的有效 IO 控制器平台。 虽然开发人员可以通过 IO 机架满足这些要求,但有一种更有效的方法可以最大限度减少功率耗散、基底面以及成本。
本文将讨论工业传感和控制的要求,以及目前为止的处理方法。 接着会介绍 Maxim Integrated Pocket IO 开发平台,并说明其如何满足工业 检测和高 IO 计数应用中开发人员的需求。 之后,文中会展示实现技术。
灵活性和效率推动工业 IO
过去,由于在早期工厂应用中部署的传感器相对较少,工程师可以依靠与可编程逻辑控制器 (PLC) 的硬接线连接。 行业标准接口(如 IO-Link)的出现提供了一种更有效的连接选项,能够在单个连接上链接多个传感器和外围设备。 同时,对更灵活的接口选择的需求继续推动对更广范围的模拟和数字 IO 能力的需求。
在这种环境下,工程师会发现自己面临包括现场总线通信和电机控制以及支持更多专用模拟和数字 IO 设备的组合需求。 同时,工程师需要将这种更强大的功能嵌入更紧凑、低功耗、能够在散热风扇和通风口易出问题的工厂车间操作的设计中。 Maxim Integrated 的 Pocket IO 旨在帮助工程师快速满足这些要求。
多外设控制器平台
Maxim 的 Pocket IO 既可用作开发平台,又可用作参考设计(图 1)。 特别值得一提的是,参考设计展现了如何使用高度集成的 IC 来支持多样化 IO,包括:
- 四个模拟输入,具有高度集成的 MAX11254 24 位模数转换器 (ADC)
- 一个模拟输出,使用 MAX5216 16 位数模转换器 (DAC)
- 八个数字输入,基于八路开关/驱动器 MAX31913
- 八个数字输出,基于八路数字输入设备 MAX14913
- 两个支持 Profibus 的 RS-485 接口,使用半双工 RS-485/422 收发器 MAX14783E
- 四个 IO-Link 主通道,每个基于一个单独的 MAX14824 IO-Link 主收发器 IC
- 三个电机编码器/控制通道,每个由一个 MAX14890 编码器接收器 IC 和一个 MAX14870 电机驱动器 IC 组成
图 1: Maxim Integrated Pocket IO 平台利用 Maxim IO 设备的高集成度来提供广泛的 IO 功能。 (图片: Maxim Integrated)
Pocket IO 平台提供隔离式低噪声 15 V 和 3.6 V 电源轨,以及一个用于 DAC 的 3.0 V 基准电压源和一个用于 ADC 的 1.5 V 基准电压源。 该设计还包括一套复杂的处理器,包括 Intel Edison 和一对 STMicroelectronics STM32 MCU。 一个 Intel Edison 模块托管控制软件,对全都支持 SPI 接口的 Pocket IO 设备进行全面控制。 专用的 STM32F103RET6 MCU 执行电机控制程序,并控制 MAX14890 编码器和 MAX14870 电机驱动器 IC。 另一个专用 STM32F103RET6 MCU 运行 IO-Link 堆栈并管理主收发器设备。 一系列数字隔离器保护处理器 IO 通道。
体积小于 10 立方英寸的 Pocket IO(因其可装入衬衫口袋而命名)使用电池即可运行且无需风扇,同时可在其许多外围通道上提供高吞吐量。 这些 IC 封装在两个小型板(命名为 MAXREFDES150MAIN# 和 MAXREFDES150LED#)上,然后封装在 Pocket IO 机箱中。
Intel Edison 模块和大多数组件安装在 MAXREFDES150MAIN# 板上。 MAXREFDES150LED# 板包含直流电机驱动器电路及其对 STM32F103RET6 MCU 的控制功能;IO-Link 电路及其对 STM32F103RET6 MCU 的控制功能。 第三块板提供外部连接器,并通过两个 40 引脚电缆组件连接到 Pocket IO 机箱中的电路板。 工厂应用软件可通过 Pocket IO 的 USB 接口或通过 Intel Edison 模块的蓝牙或 Wi-Fi 连接选项进行连接。
工程师使用 Arduino IDE,通过随 Pocket IO 软件包提供的综合库和例程,创建在 Intel Edison 上运行的软件来进行开发。 Maxim Integrated 提供了每个 IO 子系统的详细原理图,以及用于开发相关软件例程的应用编程接口 (API)。
参考设计
Pocket IO 中使用的数字 IO 设备(例如 MAX31913 和 MAX14913)在与主机 Edison 处理器的 SPI 连接之外几乎不需要额外的电路。 相比之下,模拟 IO 设备需要补充电路来缓冲或以其他方式提供额外的信号调节。
例如,DAC 输出功能的参考设计原理图使用 Maxim Integrated MAX9632 运算放大器来缓冲 MAX5216 的输出(图 2)。
图 2: Pocket IO 参考设计原理图演示了如何在输入通道上使用信号调节电路,以及在此处所示的数模转换通道等输出上使用缓冲器。 (图片: Maxim Integrated)
参考设计在基于 MAX11254 的 Pocket IO 模拟输入功能的电路方面更进一步。 对于该子系统,原理图包括详细的信号调节电路,以支持 Pocket IO 的单独电压和电流输入通道。
MAX11254 集成了完整的信号处理路径,包括可编程增益放大器 (PGA)、模拟滤波器、24 位三角积分 ADC 和数字滤波器。 此外,模拟多路复用器支持设备的六个差分输入通道,而数字定序器可自动执行模拟通道扫描和传感器监视等功能。 设备甚至包含 GPIO,可用作电阻型传感器中所需的传感器激励源。 该器件的 SPI 串行接口简化了主机处理器(在本例中为 Pocket IO 的 Edison 处理器)的连接和控制。
对于开发人员来说,高度集成的 MAX11254 设备几乎不需要额外的组件来实现完整的传感器数据采集系统。 通常,工程师至少会采用缓冲电路,或提供应用所保证的更多信号调节电路。 在 Pocket IO 参考设计中,它为两个电压输入和两个电流输入通道提供单独的调节电路。 每个调节电路包括一对用于信号缓冲和增益调节的运算放大器。 电流输入通道还通过一对 MOSFET 和瞬态电压抑制二极管来预调节其输入,以保护运算放大器。
使用低级 SPI 命令开发复杂 IO 事务的代码即便在最好的情况下都很慢,并且容易出错。 因此,Maxim 针对每个 IO 设备(包括 MAX11254 ADC)为开发人员提供了一个 C ++ 类别,并提供了操作(例如模数转换)中所涉及复杂序列的简单抽象概念。 至于转换模拟输入,开发人员只需将类别的一个实例进行实例化
adc = new Max11254();
然后使用类别方法重置设备,执行自校准序列,并捕获数据:
adc->reset();
adc->selfCal();
adc->singleConvert(channel, rate);
另一个 Pocket IO C ++ 库 PioAi 甚至会隐藏这些细节,将模拟数据采样简化为 PioAi.readcode()
的单一调用。 PioAi 库例程会转而使用 PioSpi 库中提供的 PioSpi
类别,该类别将 IO 事务转换为一系列相应的 SPI 命令序列。
除了特定的设备支持库,Maxim 还提供示例代码,说明 IO 操作(如电机控制)的基本设计模式(列表 1)。
#include <PioMtr.h>
PioMtr pioMtr;
uint8_t motor = M1;
void setup() {
// put your setup code here, to run once:
pioMtr.writeEnable(motor, 1);
pioMtr.writeDirection(motor, COUNTERCLOCKWISE);//
}
uint8_t spd = 0;
bool shouldDecrease = false;
void loop() {
// put your main code here, to run repeatedly:
if(spd == 255)
{
shouldDecrease = true;
}
else if(spd == 0)
{
shouldDecrease = false;
}
if(shouldDecrease)
{
spd--;
}
else{ spd++; }
pioMtr.writeSpeed(motor, spd);
delay(50);
}
代码列表 1: Pocket IO 软件包内含示例代码,如演示基本电机控制操作的此片段。 (代码来源: Maxim Integrated)
根据代码: 设置后,无限循环使电机速度在最小值和最大值之间连续上升。 片段中引用的 PioMtr 库包含 writeSpeed()
例程,后者又使用低级 Arduino 例程来操作相应的硬件寄存器。
开发人员可以通过使用 Arduino IDE 编写用于 Intel Edison 的 Arduino 草图,以及每个 Pocket IO 外围设备的 API 中包含的类库,将这些代码片段扩展到完善的应用程序中。 Maxim Integrated 为 Edison 工具链和 Intel Edison 工具提供软件包,以及 Pocket IO 库套件。
结论
工业自动化依赖于日益普及的传感器所取得的详细测量值,传感器会监测和控制每个生产步骤的细节。 在适应更多种类型的输入和输出设备的同时,开发人员需要使用能够适应严苛工厂车间环境的紧凑、低功耗且经济高效的解决方案。
Maxim Integrated Pocket IO 平台具备完整的硬件/软件参考设计,可加速新兴工业自动化应用专用控制器的开发,从而满足这些需求。