SDK
23.9.2
For IoT System Software Development
|
LoRa RF 지원 IoT용 통신모듈 More...
Classes | |
class | SystemPLM100 |
PLM100 System. More... | |
Variables | |
SerialPort & | Serial |
SerialPort & | Serial2 |
TwoWire & | Wire |
SX1276Chip & | SX1276 |
Storage & | ConfigMemory |
Storage & | ConfigMemory2 |
SystemPLM100 | System |
LoRa RF 지원 IoT용 통신모듈
PLNetworks의 PLM100은 TI MSP430 및 Semtech SX1276 LoRa RF transceiver의 조합으로 구성된 IoT용 통신 모듈입니다.
Name | Start Address | Size | Description |
---|---|---|---|
BSL | 0x1000 | 2KB | Bootloader |
INFOD | 0x1800 | 128 | ConfigMemory2 |
INFOC | 0x1880 | 128 | ConfigMemory |
INFOB | 0x1900 | 128 | - |
INFOA | 0x1980 | 128 | System reserved NVM |
RAM | 0x1C00 | 16KB | bss, noinit, heap, stack |
ROM | 0x5C00 | 40KB | code |
HIROM | 0x10000 | 87KB | code |
PLM100의 noinit, heap, 및 stack 영역의 크기는 자동으로 결정됩니다. 즉, noinit 으로 설정한 영역과 bss가 차지하는 영역을 제외한 나머지 영역은 자동으로 heap과 stack 용으로 결정됩니다.
No. | Name | Digital I/O | Alternate Function | Nol.Board Compatibe Pin Name |
---|---|---|---|---|
1 | DVCC | Vcc (3.3 V) | ||
2 | RESET_N | Reset | ||
3 | GPIO12 | O | ADC input or external reference (+) | A2 |
4 | GPIO2 | O | ADC | A1 |
5 | GPIO13 | O | UART (UCA0) Rx | D0 |
6 | GPIO14 | O | UART (UCA0) Tx | D1 |
7 | J_TEST | JTAG (J_TEST) | ||
8 | GPIO1 | O | ADC | A0 |
9 | GPIO3 | O | PWM, External Interrupt | D2 |
10 | GPIO4 | O | External Interrupt | D3 |
11 | GPIO5 | O | External Interrupt, BSL | D9 |
12 | ANT | Antenna line (only for PLM101) | ||
13 | GND | Ground | ||
14 | GPIO6 | O | External Interrupt | D4 |
15 | GND | Ground | ||
16 | GPIO7 | O | PWM, External Interrupt | D5 |
17 | GPIO15 | O | I2C SDA | D14 |
18 | GPIO16 | O | I2C SCL | D15 |
19 | GPIO18 | UART (UCA1) Tx | D8 | |
20 | GPIO17 | UART (UCA1) Rx | D7 | |
21 | GPIO10 | O | JTAG (TMS) | D6 |
22 | GPIO11 | O | JTAG (TCK) | D13 |
23 | GPIO8 | O | JTAG (TDO) | D11 |
24 | GPIO9 | O | JTAG (TDI) | D12 |
I/O로 활용할 수 있는 핀은 모두 16개로 모두 digital I/O를 지원합니다. 이 중 외부 인터럽트는 최대 5개(GPIO3, GPIO4, GPIO5, GPIO6, GPIO7)까지 수신할 수 있습니다. Analog input (ADC)은 최대 2개(GPIO1, GPIO2)까지 지원합니다. Analog output (PWM)은 최대 2개(GPIO3, GPIO7)까지 지원합니다. 모든 핀은 INPUT 모드로 초기화됩니다.
SerialPort (UART)는 2개 채널(Serial, Serial2), TwoWire (I2C)는 1개 채널(Wire)을 지원합니다.
PLM100은 MCU 내장 watchdog을 사용합니다. Watchdog timeout은 약 16초입니다.
PLM100은 위 사진과 같이 PL-EVK1과 연결하여 JTAG 및 console serial port 를 통한 이미지 다운로드가 가능합니다.
JTAG은 TI의 MSP-FET 또는 MSP-FET430UIF를 지원합니다. Nol.A 에서 JTAG을 선택한 후 빌드하면 최신 버전의 bootloader 및 응용 펌웨어 이미지가 다운로드 됩니다.
Bootloader가 탑재되면 console serial port를 통한 이미지 다운로드가 가능해집니다. PL-EVK1의 KEY를 누른 상태에서 RESET을 눌렀다 떼면 bootloader로 진입 되며, 이후 Nol.A에서 serial port를 선택하여 빌드하면 flashing이 시작됩니다.
만약 버튼을 누르지 않은 상태가 유지되면 와치독에 의해 리셋이 발생하여 애플리케이션이 실행됩니다. 버튼을 누른 상태를 유지하면 와치독 리셋이 발생하지 않습니다.
물론 위 사진과 같이 Nol.Board와 연결해도 가능합니다. 이 경우 PL-EVK1의 KEY 버튼 대신 BSL 버튼을 사용하면 됩니다.
Option | Description |
---|---|
NO_BSL | 1이면 Bootloader가 제거됨. 이 경우, GPIO5 핀을 이용한 bootloader 진입이 불가능해집니다. 다시 활성화하려면 Nol.A-Project.json 파일 내에 NO_BSL 옵션을 0 또는 제거한 후 JTAG을 통해 다운로드를 해야 합니다. |
INV_BSL | 1이면 bootloader 진입을 위한 GPIO5 핀의 방향이 반대가 됩니다. 다시 복구하려면 Nol.A-Project.json 파일 내에 INV_BSL 옵션을 0 또는 제거한 후 JTAG을 통해 다운로드를 해야 합니다. |
NOLA_ENABLE_EMBTEXTF | 1이면 기본적으로 문자 출력을 위한 |
PLM100의 각 기능별 사용 예제는 여기를 참고하십시오.
Storage& ConfigMemory |
Storage& ConfigMemory2 |
SerialPort& Serial |
SerialPort& Serial2 |
SX1276Chip& SX1276 |
TwoWire& Wire |