LoRa 技術的なよくあるご質問

Q&Aカテゴリー

ご購入前のご質問
LoRa 技術的なご質問

LoRa 技術的なご質問

ACK’等を利用する場合は、アプリケーションに合った通信プロトコル設計が必要になりますので、疑似コードをご参考にしてください。

<疑似コード>
https://support.dragon-torch.tech/887/

サンプルプログラムは、複雑化を防ぐために、送信N台、受信1台については実装していません。
アプリケーションの設計に多分に影響されるためになります。

実験的に作成したものはありますので、必要時に弊社サポートにお問い合わせください。
あくまで実験的に作成したものですので、実際の個々のアプリケーションに適合するかはわかりかねますのでご承知おきください。

サブパケット長別に、BW値、SF値の設定によって変わるAirデータ送信時間の表になります。
ダウンロードしてご確認ください。

<LLCC68-LoRaデータ送信時間表>
https://support.dragon-torch.tech/wp-content/uploads/2023/07/4abe2b318aa4578cac0ad22994c49027.pdf

例として、Air Data Rate を 62,500 bps(BW値500,SF値5)、サブパケット長200バイトの場合、1つのLoRaパケット200バイトの送信時間は、
<データ送信時間計算表>
https://dragon-torch.tech/wp-content/uploads/2024/09/DSA_E220-900T22_AirTimeSheet_20240901.xlsx
から、約51m秒となります。

これに加えて、UART でLoRaモジュールへのデータ送信で約208ミリ秒(200×10ビット/9600bps)。
送信休止時間の50ミリ秒を加えると、51+208+50=309ミリ秒かかります。

連続してパケットを送信する場合は、単純計算で1秒間に平均して約647バイトが送信できることになります。
(1パケットで200バイトを送信するためには、周波数チャンネルをBW値毎に制限された値にする必要があります。)

送信中には同時に受信はできません。
内部で、RFスイッチにより切り替え、遮断されています。

AUXピンのLowエッジで外部MCUに割込みをかけることで可能です。

[E220-900T22S(JP)]データシートのタイミングチャート(5.6.1 UART出力の状態指示)にありますように、UART側に出力する前にAUX端子からLowを出力しますので、外部MCUへ割り込みをかけることができます。

専用のアナライザはございません。
本モジュールのアプリケーションにおいて、Air伝送を検証される方法は
本モジュールを使ってモニタリングを行うこととなります。

Air伝送のモニタリングを行う方法としましては、弊社製品サイトの
<LoRaモジュール評価ボード 利用ガイド>
https://dragon-torch.tech/rf-modules/lora/e220-900t22s-jp/#04
にありますダウンロード・サポートで、
"LoRaモジュール評価ボード ご利用方法 ver.3 (Raspberry Pi用サンプルコード付き)[ZIP]"
をダウンロードしていただき、その中の受信スクリプト(receive.py)を・LoRa無線USBドングル(USB-E220-900T22S)上でご確認いただくか、あるいは、サイトにありますように、
"RasPi+ LoRaモジュール評価ボード"
を用いて実行していただき、受信パケットのHEXダンプでご確認ください。
このとき、モニタのLoRaモジュールのOwnAddressを0xFFFFにしていただくことで、複数子機のパケットを受信できます。

解決策は2つあります。

1.トランスペアレント送信モードで使用を継続する場合は、コンフィグ設定にてRSSI環境ノイズの有効化を行っておき、データ受信した後は、必ず1度、RSSI環境ノイズを取得するコマンド(<C0><C1><C2><C3><00><02>)を送ることで(データシート「REG1のRSSI 環境ノイズの有効化」の記載部分を参照)、AUXがLowになりっぱなしにならずにデータ送受信できるようになります。(このコマンドは、mode0のまま、AUXがLowの状態でも送信できます。)

2.トランスペアレント送信モードではなく、アドレス、チャンネルを指定する固定送信モードの使用時には、この現象は発生しません。(連続通信など本格的な使用については、トランスペアレント送信モードは推奨いたしません。)

設定されたパラメータは電源OFF後も保存され、電源ON後は保存されたパラメータで動作します。
アプリケーションの信頼性を高めるためには、電源ON時に設定しなおすことをお勧めします。

アプリケーションの設計(送受信の頻度、データ長など)によっても違いますが、別チャンネルでの運用をおすすめします。

送受信で帯域やパラメータが重複しますと、通信機器が増えたときに伝送空間帯域を多く消費して、送信待ちや混信が増加するため、ソフトでの対処がより必要になります。
送受信の頻度が低い場合には、問題になることも少ないと言えますので、設定条件と対応策のバランスになります

完全に同じタイミングで送信した場合は送信電波が輻輳してしまいます。
LoRa通信の仕組み上、RSSI(受信信号強度)が一番高いパケットの送信端末1台のデータを復号・受信できるかもしれませんが、その他のデータは受信できません。
送信タイミングをずらすことで、複数の端末のデータを受信することができます。

送信側、受信側で同じアドレスで送受信できますが(チャンネルは同じ場合)、基本的には機器ごとに変えることをお勧めします。

例として、送信側(基地局など)からブロードキャスト送信(アドレスOxFFFF指定)で同チャンネルの受信側全機器向けに送信し、受信した機器は送信側への応答データ内に自機のアドレスを付加して送信側アドレス宛に送信することなど、アプリケーションの拡張性に活かすことができます。

暗号化は必ず行われます。暗号化キーが 0x0000 で暗号化されるということです。

市街地ですと電波干渉が考えられます。

本モジュールが使用している、920MHzテレメトリー通信の法令・業界規格において、電波干渉回避の実装が義務づけられています。
そのため、近隣で同周波数帯の電波を観測した場合(キャリアセンス)は、遅延送信をすることになります。
検出閾値は、-80dBmと法令で定められています。これを上回る電波を受信した場合、それがなくなるまで送信を待機します。

また、連続送信でのインターバル待機規定もありますので、アプリの設計においてはその影響の可能性もあるかも知れません。

送信パケット長は、固定送信モードとトランスペアレントモードで違いがあります。

トランスペアレント・モードで、送受信ともに同アドレス、同チャンネルで最大200バイトの送受信が可能です。
固定送信モードの場合には、送信先のアドレス、チャンネルをパケットに含みますので、3バイト少なくなります。

定義されてない値を設定した場合は、SF値=7、BW値=125Khz(5469bps)の設定として動作します。

アプリケーション設計にも関わりますが、1台でも可能です。
[E220-900T22S(JP)]には、送信先アドレス、チャンネルが指定できる送信モードがありますので、上位側と下位側への送信を区別することができます。

WoRサイクルが変わっても20msecです。

<[E220-900T22S(JP)] WoR機能について>
https://support.dragon-torch.tech/prducts/rf-modules/e220-900t22s-jp/710/
の図をご覧ください。
図の中の『プリアンブル受信チェック』のタイミングに20msec間のチェックを行います。

電圧レベルは以下で設計してください。

入力電圧
Highレベル 最小:2.31 V (= 0.7 * 3.3 V)
Lowレベル  最大:0.99 V (= 0.3 * 3.3 V)

出力電圧
Highレベル 最小:3.05 V (= 3.3 V - 0.25 V)
Lowレベル 最大:0.25 V (= 0 V + 0.25 V)

信号の反射を防ぐために、特性インピーダンスを、50Ωに整合させて、かつ、アンテナ配線を短くしてください。
通常マイクロストリップで設計しますが、どうしても筐体内で長くなるなら、同軸ケーブルでとってもらう方が性能は良いかも知れません。

また、パターン配線の問題ではありませんが、アンテナ周囲にアンテナ特性に影響を与えやすいものの配置は避けていただく方が、通信性能は良くなります。(金属、水分の多いものなどを避ける)
内蔵アンテナを使用する際など、基板にアンテナが近い場合は、ベタグランドが金属なので放射性能を劣化させるため、アンテナ取り付け位置にベタグランドを避けると性能が改善します。

電源起動時に M0/M1 の High/Low 状態によって起動しないということはありません。
以下のモード設定に従い、正常に起動します。

M0/M1 = Low/Low --> 通常送受信モード
M0/M1 = High/Low --> WOR送信モード
M0/M1 = Low/High --> WOR受信モード
M0/M1 = High/High --> コンフィグモード

送信側のLoRaモジュールだけでなく、受信側のモジュールについても、モジュール利用ガイドに沿って、同様にコンフィグ設定を行う必要があります。

<p.受信を確認するには、まずLoRa受信側のRaspberry Piにて、利用ガイドに記載の通り、受信待機スクリプトをオプションも含めて実行した状態にしておいてください。
そのうえで、LoRa送信側のRaspberry Piから同様にデータ送信スクリプトをオプションも含めて実行することで、データを受信できます。

当社モジュールを操作するには、別途、マイコンやコンピュータ(Raspberry Pi等の小型コンピュータ等)が必要となります。

データシート5.3項のmode3で”Parity=8N1”と記載されている通り、
UART通信データ長:8bit、パリティ:なし、ストップビット:1bit
で固定となります。

下記マニュアルのP.64~に記載のハードウェアデザインに関する情報をご参考にしてください。

補足情報は以下のとおりです。
・アンテナ配線長が波長に対して十分に短ければ(数センチ程度)、特に気にしなくて大丈夫です
・基板上のアンテナ配線を長くする場合は、PCBのアンテナ配線を50Ωに整合させてください
・または、同軸ケーブルで、IPEX端子からアンテナへ接続いただくことを推奨いたします
・基板GNDパターンを、LoRaモジュールのAGNDとDGNDで分離して、一点接合してください
・ベタGNDのインピーダンスを貫通ビアなどをして下げてください
・アンテナの取り付け場所は、金属から離してください
・複数のアンテナを取り付ける場合は、各アンテナの距離は最低10cm程度は離す方が望ましいです

<マニュアル>
https://dragon-torch.tech/wp-content/uploads/2024/11/DS241011JA_E220-900T22Sv1_Rev2.1.2.pdf

モジュールのサイズは、+-0.1mmの誤差がございます。

データシートに記載されている数字を合計した場合、
26.03(2.00+1.27+1.27+1.27+1.27+1.27+1.27+1.27+11.2+1.27+1.27+1.40)
となりますが、誤差±0.1mmに収まるため、正しい情報となります。

詳細は、
https://dragon-torch.tech/wp-content/uploads/2023/08/module_size.pdf
をご確認ください。

以下のページのダウンロード・サポートにて、サンプルコードをダウンロードしていただけます。

<LoRa通信モジュール(E220-900T22S(JP))>
(https://dragon-torch.tech/rf-modules/lora/e220-900t22s-jp/#04)

・Raspberry Pi用 Python サンプルコード
・ESP32・Arduinoライブラリ
・Raspberry Pi Pico 用 micro Python サンプルコード

[E220-900T22S(JP)]に固有情報はございません。
プログラムによる動作モードの設定(レジスタ設定)でLoRaモジュールの自機アドレスを設定することや、アプリケーションで独自に決定する自機デバイスIDにより固有のIDとして運用することが必要になります。

LoRa通信モジュール[E220-900T22S(JP)]には電波法で義務付けされたキャリアセンス機能があり、一定の条件下で自動的に働きます。
コントロールはユーザーが意図的に行うことはできません。
また、キャリアセンスが機能する条件には制限がありますので、確実にコリジョン回避を保証できるものではありません。
動作の確実性を求めるためには、子機側の送信開始をずらす工夫や、ACK等の実装が必要になります。

キャリアセンス動作につきましては、データシート8.4節で詳しく記載しておりますのでご参照ください。

PCBタイプ(型番:HDSC-CCID-PCB)の書き込み機をご使用いただく際は、正しく書き込みを行うために、以下の点が必要となります。
・書き込み用の4ピンを書き込み機に接続してください。
・書き込み時には、M0/M1 を GND レベルに落とした状態にする必要があります。

なお、PCBタイプの書き込み機もご使用いただけますが、4ピンのみで書き込み可能な書き込み機(型番:HCTL-01B)もご案内しております。
現在、当社ではこちらの書き込み機のみ取り扱っております。

M0,M1ピンは、モード選択ピンになりますので、コンフィグ設定、通信モードの設定など、運用中に変更していただくことは問題ございません。

出荷時のデフォルト設定での動作を以下の方法で実施できます。

[E220-900T22S(JP)-EV1]+ホスト(PCあるいは開発用デバイス)で送信、受信のペアをご用意いただき、モジュールの VCCを5Vに、GND、M0、M1 を GND につなぎ、TXD、RXDをそれぞれ接続。
PCであればCOMxx(xxはポート番号)が認識できるターミナルアプリを利用すれば、キーボードからのデータの送受信ができます。
開発用デバイスでは、UARTを利用した送受信のコードを書くことで送受信が確認できます。

評価ボードは、基板の使い回しなどの都合で0Ω抵抗を入れていますが、それ以上の意味はありませんので製品化する際に0Ω抵抗を入れておく必要はありません。

まずはデータシート7章「LoRaWANデバイスのオペレーション」にてATコマンドのフローに沿っているかご確認のうえ、リージョン設定を「AT+RREGION=2」に設定してJOINをお試しください。

ゲートウェイ機器の設定にて、TTN のデバイス設定を「LoRaWAN Specification 1.0.3」にすることで、TTNへの接続および通信が可能となった事例もございます。

画像の赤枠箇所はご購入時の状態でTXとRXがジャンパーピンで接続されているため、「Module not responding」というポップアップが表示されていると思われます。
この部分のジャンパーピンを取り外してご使用ください。

ジャンパーピン

その他のご質問

ご購入前のよくあるご質問はこちら

TOP