盡管RAKwireless提供了廣泛的WisBlock IO模塊選擇,但可能還是未找到所需的那一款。在這個簡小的教程中,將介紹如何制作自己的WisBlock IO擴展模塊。
#請先閱讀
- WisBlock產品中使用的板對板連接器可以從RAKwireless商店中購買。連接器有兩個供應商:松下(Panasonic)和特思嘉(TXGA)。Base板(RAK5005-O)上是母/插座型,模塊上是公/插頭型。
- Panasonic 連接器數據手冊
- TXGA 連接器母型數據手冊
- TXGA 連接器公型數據手冊
- 零件庫中提供了除Eagle以外的用于其他PCB設計工具的原理圖和PCB零件庫。
- 仔細閱讀RAK5005-O WisBlock Base的數據手冊,了解連接到4個傳感器插槽的信號。
- 仔細閱讀其中一個現有的WisBlock IO模塊的數據手冊,了解信號的應用。如RAK1920 IO 擴展。
#模板方案
為了簡化任務,我們為Autodesk Eagle?準備了一個完整的示例項目,可在此處下載。該項目具備啟動定制WisBlock IO模塊所需要的一切。包含用在WisBlock IO模塊上的板對板連接器和預定義的PCB模型,將原始WisBlock IO模塊與孔匹配,以便將模塊固定到WisBlock Base。
#模板原理圖
模板原理圖非常簡單。僅包含連接器和引腳分配的解釋。連接器的所有38個引腳都分配給信號。2個引腳未使用。
Figure 1: 示例原理圖#關于引腳分配的重要信息
以下事項需要了解:
- VDD是MCU GPIO電壓,對于RAK4631此值為3.3V。只要WisBlock是通過電池或者USB供電,就可使用。
- 3V3是一個3.3V電源,只要WisBlock是通過電池或者USB供電,就可使用。
- 3V3_S是一個3.3V電源,可由WisBlock Core模塊控制。
- VBUS是來自USB連接器的5 V電壓。此電源僅當WisBlock通過USB供電時才可用。
- USB+和USB-是來自WisBlock Core模塊的USB連接器。這些信號可能不適用于所有WisBlock Core模塊。
- I2C2_SDA和I2C2_SCL并非在所有WisBlock Core模塊上都可用。
- TXD1和RXD1并非在所有WisBlock Core模塊上都可用。
如果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
模板PCB與標準WisBlock傳感器模塊的尺寸相匹配。請勿移動連接器(底部組件)或者WisBlock Base上固定模塊的安裝孔。
Figure 2: 模板 PCB正如您所看到的,Autodesk Eagle?在較大安裝整體周邊會上報很多DRC尺寸錯誤。安裝孔及其銅印(連接到GND信號)必須機械地位于PCB邊緣。Autodesk Eagle? 僅允許一條與PCB邊緣距離有關的設計規則,因此存在DRC檢查錯誤。
如果定制的IO模塊不需要整個寬度(35 mm),可以減少寬度并跳過右側兩個較大的固定孔。但是需要確保寬度至少覆蓋左側的3個較小固定孔。
#關于PCB設計的重要信息
- 如上所說,請勿將連接器和安裝孔移動到其他位置。如果移動它們,自制的WisBlock IO將無法插入到WisBlock Base模塊。
- 由于板對板連接器的位置靠近PCB邊緣,可能必須更改設計規格,使用4mil連接,銅印與0.2mm通孔直徑之間的距離4mil。這將取決于您的設計是否適用于默認的Autodesk Eagle?設計規則,但大多數情況下,連接到連接器焊盤的電線將無法布線。
- 建議在頂層和底層安裝GND平面。
- 不要將組件放置在底層,因為傳感器模塊和Base板之間的空間僅為1~2 mm。
#IO 擴展示例
本示例選擇的是非常常見的芯片, PCF8574 GPIO 擴展芯片。此芯片通過I2C控制,可將GPIO總數擴展為8個雙向GPIO。
#IO 擴展示例原理
以下為IO 擴展原理圖。
Figure 3: IO 原理圖首先要檢查的是,我們刪除了板對板連接器上的大多數連接。
Figure 4: 調整連接網僅留下所需的連接網。
對于IO擴展芯片,我們僅需要電源網絡、I2C網絡和1條IRQ線。有關IO擴展的設計可從PCF8574 GPIO 擴展數據手冊中獲取。
#IO 擴展示例 PCB
可以在一塊兩層電路板上完成整個設計。連接很簡單,可使用 Autodesk Eagle?自動布線功能完成。
正如看到的那樣,建議將GND平面安裝在頂部和底部。此外,安裝孔周圍的開放銅區域是可見,此銅區域連接到GND信號。
#IO 擴展頂層
Figure 5: RTC示例頂層#IO 擴展底層
Figure 6: RTC示例底層IO擴展示例PCB的Eagle文件可在此處下載。
#結論
正如所看到的那樣,設計一款定制的WisBlock IO模塊并不困難。只需要遵循PCB設計的幾個設計規則:
- 請勿移動模板PCB所給定的板對板連接器位置。
- 請勿移動模板PCB所給定的安裝孔位置。
- 為傳感器選擇正確的電源:
- 如果電流消耗非常低,選擇VDD或3V3
- 如果需要控制WisBlock傳感器模塊的電源,選擇3V3_S
- 不要將組件放置在底層。傳感器模塊和Base板之間的空間僅1~2 mm
希望此教程能夠對您有所幫助。如果您已成功設計出自己的WisBlock IO模塊,歡迎在我們的論壇 WisBlock部分分享細節。感謝您閱讀本教程并通過使用我們的WisBlock產品支持RAKwireless。
RAKwireless在此開源代碼上投入了大量的時間和資源,感謝您支持RAKwireless。如需RAKwireless開源硬件,可從RAKwireless商店購買產品。
有關RAKwireless產品的支持和問題,請訪問我們的論壇
有關示例和快速入門教程,請訪問我們的Github庫
有關RAK產品更多的信息,請訪問我們的文檔中心和知識庫
購買WisBlock模塊,請訪問我們的線上商店
-
IO模塊
+關注
關注
0文章
143瀏覽量
12801 -
RAK
+關注
關注
0文章
48瀏覽量
2081
發布評論請先 登錄
相關推薦
評論