隨著物聯網技術的發展,BLE、Wi-Fi、LoRa、Zigbee 等無線傳輸技術應用層出不窮。但要論功耗低、節點多的應用還是首選 Zigbee 網絡。而 Zigbee 網關是將 Zigbee 網絡與其他無線技術互聯互通的關鍵節點。大聯大世平集團向大家推薦一款 Zigbee 方案,採用 NXP 的 Zigbee 晶片 —— JN51X9 和 NXP 的跨界 MCU —— i.MX RT 1062 ,結合市場上其他的 WIFI 模塊(樂鑫、Ayla 等)組合成一個 Zigbee 轉以太網和 WIFI 的網關。
硬體設計說明
- 主控
主平台採用的是 NXP 跨界 MCU i.MX RT1062,具有高性能,低成本,易於開發的特點。它的特徵如下:
- ARM Cortex-M7 內核 528 MHz 工作頻率,性能強,速度快
- 片內集成 1MB RAM,並可以通過總線外擴 RAM
- 外擴存儲器接口豐富,包括:8/16-bit SDRAM、8/16-bit Nand Flash、SD/EMMC、SPI NOR/NAND flash、並行 NOR flash 等
- 內部 Timer 資源豐富
- HMI 接口豐富,並集成了 2D 圖形加速引擎
- 其他外圍接口豐富,包括 2 * USB OTG、2 * Ethernet (10/100)、8 * UART、4 * I2C、4 * SPI、2 * CAN 等。
- 包含多種加密組件,包括 HAB、AES-128、SHA、CRC-32、BEE、TRNG 等。
主控 MCU 框圖如下圖所示:
- Zigbee 3.0
Zigbee 採用 NXP 的 JN51X9 ,其外圍電路簡單,僅需用晶振和少量電容搭建最小系統,內部高達 10dB 的發射功率,能夠大大節省成本。
- 存儲器
方案採用的 SDRAM 和 QSPI Flash 晶片是 Winbond 的 W9825G6KH-6I 和 W25Q256JV。都是 32MB 容量,足夠的網關項目的軟體存儲容量。
- 電源設計
方案採用的電源晶片是 聖邦微 的同步降壓 DC-DC SGM6014 和 LDO SGM2036。整個電路的電源結構如下:
方案原理圖:
PCB Layout:
軟體設計說明:
RT1062 Gateway 平台軟體開發包
RT1062 Gateway 平台軟體開發包採用嵌入式實時操作系統 (FreeRTOS),可以合理、有效地利用 CPU 的資源,簡化應用軟體的設計,縮短系統開發時間,很好地保證了系統的實時性和可靠性。RT1062 Gateway 平台軟體開發包是一套驗證該平台各個功能模塊的代碼。每個模塊都有各自獨立的例程。開發包中包含如下例程:LWIP、EWGUI、ESP8266、SDCard、Flash、Audio、Video 等。
例程的選擇
RT1062 Gateway 平台軟體開發包中的每個例程都可以通過宏定義配置使能。
打開工程目錄下的 source -> app_config.h。
app_config.h 文件中的第 48 ~ 55 行是各個例程的宏定義,在第 57 行更換不同的宏,即可改變成不同的例程。例如,把 57 行的 APP_LWIP_TEST 改成 APP_FLASH_TEST,就可以把當前的 LWIP 測試例程切換成 Flash 測試例程。
總之,在這套方案上開發 Zigbee 網關,可以達到事半功倍的效果。相比於現在市場上的大多數 Zigbee 網關產品(都是基於 Linux 開發的,開發難度大 、開發周期長),這套方案基於 FreeRTOS 實時系統,在 跨界 MCU 平台的高速處理能力下,能夠把 Zigbee 網關方案功能處理的恰到好處。
►場景應用圖
►產品實體圖
►展示板照片
►方案方塊圖
►核心技術優勢
1. MCU:i.MX RT1062,32-bit Cortex-M7 CPU Core @600MHz 2. Flash: 32MB,@133MHz,支持 XIP 3. SDRAM: 32MB,@166MHz 4. Zigbee 模塊:JN5189, 32-bit Cortex M4 @48MHz,ZigBee 3.0,Mesh 自組網
►方案規格
1. MCU: NXP i.MX RT1062 @600 MHz 2. Flash: 32 MB Flash @133MHz 3. SDRAM: 32MB,@166MHz 4. Zigbee 模塊:JN5189 模塊, 32-bit Cortex M4 @48MHz,ZigBee 3.0,接收靈敏度:-90dBm 5. 以太網:10/100 RMII 6. Wi-Fi 模塊:ESP-12S or ASW-022S 7. USB:USB-A & USB-Micro 8. CODEC:WM8960,1 * Input,2 * Output 9. Arduino 接口 10. 板尺寸 : 90 * 94 mm