LoRa 모듈 E22-900T22S Breakout Board 설계 2

Image
지난번 설계 에서 두 가지 업데이트 사항이 있다. 첫 번째로 3.3V 로 로직 컨버터를 거치지 않고 직접 통신할수 있는 포트를 구성하였다.  이 포트를 통해 3.3V 동작의 MCU를 사용할때 좀 더 빠르게 회로를 구성  할수 있을것으로 기대한다. 두 번째로 동작 전압 레벨이 서로 다른 MCU 와 Lora 모듈이 통신할때 사용할 기준전압을 직접 인가 할 수 있도록 하였다. 보드에는 위 와같은 점퍼가 주어지는데 3.3V 나 5V 로 점프 시키지 않을 경우 VREF 핀에 사용할 소스전압을 직접 인가해 주어야한다. 특수한 경우가 아니라면 Vref를 사용하는일은 없을것 같다. 위사 진들은 이번에 제작한 테스트 모듈이다.  왼쪽은 E22-900T22S 모듈이고 오른쪽은 ATmega328P/PB 3.3V 8Mhz 보드를 준비했다. 오른쪽의 보드는 ATmega328P/PB 를 모두 장착하여 사용할 수 있도록 설계했다. E22-900T22S 보드의 전체 회로는 다음과 같다. 동작 전압 레벨이 서로 다른 장치와 통신 할 수 있도록 레벨 컨버터를 추가 하였고, 핀 헤더를 장착하여 다른 MCU 보드와 통신하거나 점퍼를 수정해서 USB 시리얼 통신을 할수 있도록 했다. 모듈의 테스트는 mischianti의 E22 라이브러리 를 사용했다. 정리가 아주 잘 되어있는 라이브러리로 생각된다. 아래 코드는 라이브러리에 포함된 시리얼 입력을 LoRa 통신으로 전송하는 예제이다. Lora ATmega328p AUX D3 RX D4 TX D5 M1 D6/GND M0 D7/GND 송신측 코드 #include "Arduino.h" #include "LoRa_E22.h" LoRa_E22 e22ttl(4, 5, 3, 7, 6); void setup() { Serial.begin(9600); delay(500); // Startup all pins and UART e22ttl.begin(); Serial.println(&q

LoRa 모듈 E22-900T22S Breakout Board 설계 1


E22-900T22S 제품을 위한 Breakout Board 를 설계해 보았다. 

한국의 경우 LoRa 모듈을 사용 하려면 제품이 LBT 기능을 사용할 수 있어야하며 주파수 대역은 920.9 ~ 923.3MHz 을 사용하도록 되어있고 Tx Power 최대 값의 경우 End-Device는 10dBm(10mW), Gateway 의 경우 23dBm(200mW) 까지 허용하는 것을 알수있다.

별도 신고 없이 개설하여 사용할 수 있는 무선 통신 기술이라도 국가별로 사용가능한 주파수나 송신 출력이 상이하기 때문에 모듈 구매 및 사용시 전파법을 위반하지 않도록 주의가 필요하다.

사용가능한 주파수 채널 정보는 아래링크에서 확인가능하다.
 
회로부분은 나에게 필요한 부분을 중점으로 설계하였다.
이 모듈의 IO 들은 3.3V 의 동작 레벨을 갖고 있기 때문에 다른 동작 전압 레벨의 MCU와 호환성을 위해 레벨 시프터 회로가 요구되었다.

기본적으로 모든 핀은 3.3V 로 풀업 하였으며, 사용 환경에 따라 UART 통신과 LoRa 모듈의 동작 모드를 점퍼로 수정할 수 있도록하였다.

USB 의 경우 C 타입을 사용하였고 CC 저항기를 배치하였다.

안테나는 함께 판매되는 U.FL 안테나를 사용할 것이다. 
만약 남는 SMA 규격의 안테나가 있다면 SMA 단자를 구성해서 사용하는 방법도 있다.

LoRa 모듈의 동작모드는 M0, M1 점퍼를 사용해 변경이 가능하다.
물론 MCU 로 제어하는 것도 가능하다.


AUX 는 LoRa 모듈의 상태를 알려주는 핀이다.
모듈의 스탠바이 상태나 송신, 수신의 동작 상태를 피드백 받을수 있다.

제조사에서 권장하는 회로 설계는 다음과 같다.


NRST 핀은 모듈을 리셋할 수 있는 핀으로 3.3V 풀업을 권장하고 있다. 라즈베리 파이 Hat으로 나온 모듈이나 기타 모듈용 쉴드에서는 아무것도 연결하지 않고 놔두는 설계가 대부분으로 확인되었다.
E22-900T22S의 데이터 시트에서도 NRST 핀에 대한 별다른 내용은 확인할 수 없었다.

아마도 LoRa 모듈만 별도로 리셋을 하려는 경우보다 시스템 전체를 재부팅하는 경우가 더 많을것으로 예상하고 설계하지 않은걸수도 있다. 아무튼 필요하다면 버튼을 추가하거나 위의 권장 설계처럼 MCU 를 통해 제어하면 될것 같다.


Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기