探索 OLIMEX MOD - IO2 扩展板:功能、设置与应用

电子说

1.4w人已加入

描述

探索 OLIMEX MOD - IO2 扩展板:功能、设置与应用

在电子设计领域,扩展板是提升系统功能和灵活性的重要工具。今天,我们来深入了解 OLIMEX 公司推出的 MOD - IO2 扩展板,它为开发者提供了丰富的输入输出接口和强大的功能。

文件下载:MOD-IO2.pdf

一、MOD - IO2 概述

1.1 主要特性

  • 微控制器:预加载开源固件的 PIC16F1503 微控制器,便于与 Linux 板等设备进行接口。
  • 通信协议:支持 I2C 通信,并且可以更改 I2C 地址。
  • 堆叠设计:配备 UEXT 公母连接器,支持堆叠使用。
  • 丰富接口:9 针端子螺丝连接器,包含 7 个 GPIO 引脚、3.3V 和 GND;7 个 GPIO 可用于 PWM、SPI、I2C、模拟输入/输出等多种用途。
  • 继电器输出:2 个继电器输出,带有 15A/250VAC 触点和螺丝端子,还有继电器输出状态 LED。
  • 编程接口:6 针 ICSP 连接器,可使用 PIC - KIT3 或其他兼容工具进行在线编程和更新。
  • 电源接口:12V DC 电源插孔。
  • 物理规格:四个 3.3mm 安装孔,尺寸为(61 x 52)mm,采用 FR - 4 材质,1.5mm 厚度,红色阻焊层和白色丝印组件标识。

1.2 MOD - IO 与 MOD - IO2 对比

MOD - IO2 相较于 MOD - IO,在尺寸和功能上更为精简。但在很多情况下,MOD - IO2 是更好的选择。需要光耦的设计应考虑 MOD - IO,而且 MOD - IO 具有更好的电源供应,可提供 8 - 30VDC 的电压范围。

1.3 目标市场与用途

MOD - IO2 是一款扩展开发板,可通过 UEXT 连接器与其他 Olimex 开发板进行接口,增加继电器和 GPIO 功能。多个 MOD - IO2 板可堆叠使用,并且可通过 I2C 进行寻址。其开源固件允许开发者使用简单命令与板卡交互,也可根据需求进行修改。如果你使用带有 UEXT 连接器的开发板,并且需要更多的 GPIO 和继电器输出,那么 MOD - IO2 是一个不错的选择。

二、MOD - IO2 板卡设置

2.1 静电警告

MOD - IO2 采用防静电包装,在处理板卡时,应佩戴接地带或类似保护设备,避免接触组件引脚和金属元件,防止静电损坏。

2.2 所需设备

  • 硬件:带有空闲数据 UART 或 UEXT 连接器的开发板;12V 电源,需适配板上的电源插孔。
  • 编程需求:若要对板卡进行重新编程或修改固件,还需要 PIC 兼容编程器,ICSP 编程连接器为 0.1'' 6 针。Olimex 提供了基于 Microchip 的 PIC - KIT3 的廉价兼容编程器。

2.3 供电

通过电源插孔为板卡提供 12V DC 电源。欧洲客户可购买 Olimex 提供的 12V/0.5A 电源适配器 SY0612E。正确供电后,板上的 PWR_LED 会亮起。

2.4 固件描述与 Linux 下的基本使用

2.4.1 自定义软件工具

Olimex 为 Linux 系统编写了控制 MOD - IO2 的软件工具,可从[链接](https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/UEXT %20MODULES/MOD - IO2/linux - access - tool)获取。该工具适用于加载了固件版本 3 或更高版本的 MOD - IO2 板卡,为了完全兼容,建议使用固件版本 3.02 或更高版本。使用时,将 “modio2tool” 文件放置在开发板上,在文件所在目录下输入 “./modio2tool - h” 可获取所有可用命令的帮助信息。 以下是一些常见命令示例:

  • 显示帮助菜单./modio2tool - h
  • 打开两个继电器./modio2tool - B 0 - s 3
  • 关闭两个继电器./modio2tool - B 0 - c 3
  • 读取继电器状态./modio2tool - B 0 - r
  • 读取模拟输入./modio2tool - B 0 - A 1
  • 更改 I2C 地址./modio2tool - B 0 - x 15

2.4.2 I2c - tools 使用

除了自定义软件工具,还可以使用 Linux 下的 “i2c - tools” 来控制 MOD - IO2。通过 apt install i2c - tools 进行安装。MOD - IO2 从固件版本 3 开始与 i2c - tools 兼容,常用命令包括 i2cdetect、i2cdump、i2cget、i2cset。 以下是一些使用 i2c - tools 的示例:

  • 打开继电器i2cset –y 2 0x21 0x40 0x03
  • 读取继电器状态:先执行 i2cset –y 2 0x21 0x43,再执行 i2cget –y 2 0x21
  • 读取模拟输入/输出:先执行 i2cset –y 2 0x21 0x10,再执行 i2cget –y 2 0x21
  • 设置所有模拟 IO 为高电平i2cset –y 2 0x21 0x01 0x01
  • 读取所有模拟 IO:先执行 i2cset –y 2 0x21 0x01,再执行 i2cget –y 2 0x21
  • 更改 I2C 设备地址i2cset 2 0x21 0xHH(需关闭 PROG 跳线)

三、MOD - IO2 板卡详细信息

3.1 布局

文档中虽未详细描述布局,但可通过实际观察 MOD - IO2 板卡了解其各部分的位置和分布。

3.2 PIC16F1503 微控制器

MOD - IO2 的核心是 PIC16F1503 微控制器,它具有以下特性:

  • 指令集与堆栈:增强型中程内核,49 条指令,16 级堆栈。
  • 内存与振荡器:具有自读写能力的闪存程序内存,内部 16MHz 振荡器。
  • 外设模块:4 个独立 PWM 模块、互补波形发生器(CWG)模块、数控振荡器(NCO)模块、2 个可配置逻辑单元(CLC)模块、集成温度指示器模块、8 通道 10 位 ADC 带电压参考、5 位数字 - 模拟转换器(DAC)。
  • 通信接口:支持 MI2C、SPI。
  • I/O 电流:25mA 源/灌电流 I/O。
  • 定时器:2 个 8 位定时器(TMR0/TMR2)、1 个 16 位定时器(TMR1)。
  • 复位功能:扩展看门狗定时器(WDT)、增强型上电/掉电复位、低功耗欠压复位(LPBOR)、可编程欠压复位(BOR)。
  • 编程与调试:支持在线串行编程(ICSP)和通过调试头进行在线调试。
  • 电压范围:PIC16LF1503 工作电压为 1.8V - 3.6V,PIC16F1503 工作电压为 2.3V - 5.5V。

3.3 连接器与引脚

3.3.1 ICSP

6 针 ICSP 连接器可用于对板卡进行编程和调试,可与 Olimex 的 PIC - KIT3 调试器配合使用。 Pin # Signal Name Pin # Signal Name
1 MCLR 4 GPIO0_ICSPDAT
2 +3.3V 5 GPIO0_ICSPCLK
3 GND 6 Not connected

3.3.2 UEXT 模块

MOD - IO2 板卡有公母两个 UEXT 连接器,可与 Olimex 的 UEXT 板进行接口。

  • 母连接器:可直接连接到开发板或与其他 MOD - IO2 板卡连接,形成可堆叠模块。默认 I2C 地址为 0x21,使用多个板卡时需更改地址。 Pin # Signal name Pin # Signal name
    1 +3.3V 6 SDA
    2 GND 7 Not connected
    3 Not connected 8 Not connected
    4 Not connected 9 Not connected
    5 SCL 10 Not connected
  • 公连接器:通过随附的排线连接到其他公 UEXT 或 MOD - IO2 板卡。 Pin # Signal name Pin # Signal name
    1 +3.3V 6 SDA
    2 GND 7 Not connected
    3 Not connected 8 Not connected
    4 Not connected 9 Not connected
    5 SCL 10 Not connected

3.3.3 继电器输出连接器

MOD - IO2 有两个继电器,输出信号包括标准的常闭(NC)、常开(NO)和公共端(COM)。 REL1 – OUT1
Pin # Signal name
1 NO – normal open
2 NC – normal closed
3 COM – common
REL2 – OUT2
Pin # Signal name
1 NO – normal open
2 NC – normal closed
3 COM – common

3.3.4 GPIO 连接器

GPIO 连接器可用于实现 PWM、I2C、SPI 等功能,引脚名称也印在板卡底部。 Pin # Signal name Analog Input
1 3.3V -
2 GND -
3 GPIO0 AN0
4 GPIO1 AN1
5 GPIO2 AN2
6 GPIO3 AN3
7 GPIO4 -
8 GPIO5 AN7
9 GPIO6 PWM

3.3.5 PWR Jack

DC 桶形插孔内径为 2.0mm,外径为 6.3mm。欧洲客户可购买兼容的电源适配器。 Signal name
Power Input
GND

3.3.6 跳线说明

  • PROG:闭合此跳线可对单个 MOD - IO2 板卡进行寻址,默认位置为打开。
  • SDA_E/SCL_E:当连接多个 MOD - IO2 板卡时,需保持这两个跳线闭合,默认位置为闭合。
  • UEXT_FPWR_E:闭合时为母 UEXT 连接器提供 3.3V 电源,默认位置为打开。
  • UEXT_MPWR_E:闭合时为公 UEXT 连接器提供 3.3V 电源,默认位置为打开。

3.4 硬件组件

除了上述连接器和引脚,MOD - IO2 板卡还包括继电器 LED 和电源 LED。

3.5 块图与内存

文档中提供了处理器块图和物理内存图,但建议参考 Microchip 发布的原始数据手册以获取更高质量的信息。

3.6 原理图

MOD - IO2 的原理图可在[链接](https://www.olimex.com/Products/Modules/IO/MOD - IO2/open - source - hardware)查看,位于 HARDWARE 部分。

3.7 修订历史与支持

3.7.1 文档修订

Revision Changes Modified page#
A, 27.08.12 - Initial creation All
B, 16.10.12 - Fixed several leftovers from the template which were referencing wrong processors and boards - Updated links 6, 10, 20
C, 24.10.13 - Updated Disclaimer to fit the open - source nature of the board - Added few examples and firmware version 3 explanation - Updated Product support - General formatting improvements 23, All, 2, 7
D, 27.05.15 - Updated the manual to reflect latest firmware revision 3.02 - Added information about the new Linux tool – modio2tools 7, 8, 9, 10, 11
E, 27.09.19 - Updated the manual to reflect latest firmware revision 4.3 7, 8, 9, 10, 11

3.7.2 板卡修订

Revision, date Revision notes
B, 18.06.12 Initial release

3.7.3 有用链接与购买代码

3.7.4 产品支持

如需产品支持、硬件信息或错误报告,可发送邮件至 support@olimex.com。退货政策和保修信息可参考https://www.olimex.com/wiki/GTC#Warranty

综上所述,OLIMEX MOD - IO2 扩展板为电子工程师提供了一个功能丰富、易于使用的开发平台。通过合理利用其特性和接口,开发者可以实现各种复杂的应用。你在使用 MOD - IO2 板卡时遇到过哪些有趣的问题或挑战呢?欢迎在评论区分享你的经验。

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

全部0条评论

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

×
20
完善资料,
赚取积分