尽管RAKwireless提供了广泛的WisBlock IO模块选择,但可能还是未找到所需的那一款。在这个简小的教程中,将介绍如何制作自己的WisBlock IO扩展模块。
为了简化任务,我们为Autodesk Eagle™准备了一个完整的示例项目,可在此处下载。该项目具备启动定制WisBlock IO模块所需要的一切。包含用在WisBlock IO模块上的板对板连接器和预定义的PCB模型,将原始WisBlock IO模块与孔匹配,以便将模块固定到WisBlock Base。
模板原理图非常简单。仅包含连接器和引脚分配的解释。连接器的所有38个引脚都分配给信号。2个引脚未使用。
Figure 1: 示例原理图
以下事项需要了解:
如果IO模块仅消耗少量uA的电流,可以选择VDD或3V3为IO模块的电子器件供电。但是,如果模块消耗较高的电流,强烈建议使用3V3_S作为电源。这样,可通过软件优化WisBlock应用的功耗。
引脚序号 | 引脚名称 | 描述 |
---|---|---|
1 | VBAT | 电池电源 |
2 | VBAT | 电池电源 |
3 | GND | 接地 |
4 | GND | 接地 |
5 | 3V3 | 3.3V 电源 |
6 | 3V3_S | 3.3V 电源,由CPU模块控制 |
7 | USB+ | USB D+ |
8 | USB- | USB D- |
9 | VBUS | 用于USB的5V输入 |
10 | SW1 | 开关连接器 |
11 | TX0 | MCU UART0 TX 信号 |
12 | RXD0 | MCU UART0 RX 信号 |
13 | RESET | 复位开关,用于MCU复位 |
14 | LED1 | 电池充电指示LED |
15 | LED2 | 用于定制的LED |
16 | LED3 | 用于定制的LED |
17 | VDD | GPIO电压和MCU模块 |
18 | VDD | GPIO电压和MCU模块 |
19 | I2C1_SDA | #1 I2C 数据信号 |
20 | I2C1_SCL | #2 I2C 时钟信号 |
21 | AIN0 | 用于ADC的模拟输入 |
22 | AIN1 | 用于ADC的模拟输入 |
23 | NC | 无连接 |
24 | NC | 无连接 |
25 | SPI_CS | SPI 片选信号 |
26 | SPI_CLK | SPI 时钟 |
27 | SPI_MISO | SPI MISO 信号 |
28 | SPI_MOSI | SPI MOSI 信号 |
29 | IO1 | 通用 IO |
30 | IO2 | 用于3V3_S启用 |
31 | IO3 | 通用 IO |
32 | IO4 | 通用 IO |
33 | TXD1 | MCU UART1 TX 信号 |
34 | RXD1 | MCU UART1 RX 信号 |
35 | I2C2_SDA | #2 I2C 数字信号 |
36 | I2C2_SCL | #2 I2C 时钟信号 |
37 | IO5 | 通用 IO |
38 | IO6 | 通用 IO |
模板PCB与标准WisBlock传感器模块的尺寸相匹配。请勿移动连接器(底部组件)或者WisBlock Base上固定模块的安装孔。
Figure 2: 模板 PCB
正如您所看到的,Autodesk Eagle™在较大安装整体周边会上报很多DRC尺寸错误。安装孔及其铜印(连接到GND信号)必须机械地位于PCB边缘。Autodesk Eagle™ 仅允许一条与PCB边缘距离有关的设计规则,因此存在DRC检查错误。
如果定制的IO模块不需要整个宽度(35 mm),可以减少宽度并跳过右侧两个较大的固定孔。但是需要确保宽度至少覆盖左侧的3个较小固定孔。
本示例选择的是非常常见的芯片, PCF8574 GPIO 扩展芯片。此芯片通过I2C控制,可将GPIO总数扩展为8个双向GPIO。
以下为IO 扩展原理图。
Figure 3: IO 原理图
首先要检查的是,我们删除了板对板连接器上的大多数连接。
Figure 4: 调整连接网
仅留下所需的连接网。
对于IO扩展芯片,我们仅需要电源网络、I2C网络和1条IRQ线。有关IO扩展的设计可从PCF8574 GPIO 扩展数据手册中获取。
可以在一块两层电路板上完成整个设计。连接很简单,可使用 Autodesk Eagle™自动布线功能完成。
正如看到的那样,建议将GND平面安装在顶部和底部。此外,安装孔周围的开放铜区域是可见,此铜区域连接到GND信号。
IO扩展示例PCB的Eagle文件可在此处下载。
正如所看到的那样,设计一款定制的WisBlock IO模块并不困难。只需要遵循PCB设计的几个设计规则:
希望此教程能够对您有所帮助。如果您已成功设计出自己的WisBlock IO模块,欢迎在我们的论坛 WisBlock部分分享细节。感谢您阅读本教程并通过使用我们的WisBlock产品支持RAKwireless。
RAKwireless在此开源代码上投入了大量的时间和资源,感谢您支持RAKwireless。如需RAKwireless开源硬件,可从RAKwireless商店购买产品。
有关RAKwireless产品的支持和问题,请访问我们的论坛
有关示例和快速入门教程,请访问我们的Github库
有关RAK产品更多的信息,请访问我们的文档中心和知识库
购买WisBlock模块,请访问我们的线上商店
全部0条评论
快来发表一下你的评论吧 !