Q&Aカテゴリー
LoRa 技術的なご質問
ACK’等を利用する場合は、アプリケーションに合った通信プロトコル設計が必要になりますので、疑似コードをご参考にしてください。
サンプルプログラムは、複雑化を防ぐために、送信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と法令で定められています。これを上回る電波を受信した場合、それがなくなるまで送信を待機します。
また、連続送信でのインターバル待機規定もありますので、アプリの設計においてはその影響の可能性もあるかも知れません。
弊社サイトの「AirChekerによる通信距離と信号強度のフィールド実験」をご覧ください。
参考データのダウンロードもできます。
送信パケット長は、固定送信モードとトランスペアレントモードで違いがあります。
トランスペアレント・モードで、送受信ともに同アドレス、同チャンネルで最大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」というポップアップが表示されていると思われます。
この部分のジャンパーピンを取り外してご使用ください。
端面スルーホールの端子部を除いて裏面は絶縁されておりますので、配線していただいて問題ありません。
SMA端子に接続、または、ケーブル等を用いてIPX u.FL端子に接続、どちらの接続でも整合がとれた接続をしている場合は、インピーダンスとしては違いはありません。
線長がのびる、ジョイント数が増えるという点で、伝達特性(送信電力dB)は劣化します。
実際のアンテナを接続した場合、アンテナに依存しますが、評価ボードの場合はSMA直結の方が損失が小さくなるようです。(全く同じアンテナは存在しないため、正確な比較はできません)
モジュールの下、プリント基板の背面の部分には、部品実装制約はありません。モジュールのグランド端子の接続をしっかりと取っておいていただければ、裏面に一般的な電子部品を配置していただく事は、性能に与える影響はほとんどないと思っていただいて構いません。
ただし、アンテナ付近に金属や大きなグランドプレートがあると通信に影響を与えます。これは、LoRaモジュールの特性に限定したものではなく、一般的なアンテナの放射性能による影響と同等程度のものだとお考えください。
モジュール自体は、プリント基板の実装においてその実装方法による影響が極めて少ないように設計されておりますので、モジュールのランドパターンや基板の部品配置は原則考えなくて結構です。
もし、電源部品や大電流部品等が同じ電源によってまかなわれる場合は、基板配線パターンをよりノイズや電圧変動の影響を受けないように配線レイアウトを検討していただく必要が生じます。ただし、その場合でも、モジュール、内蔵のLDOを使用することで余裕を持った5ボルトなどの電源供給をしていただければより安定して使うことができますし、電波の放射特性に影響を及ぼすような事は生じません。
現在公開しているものは、データシートに記載のもののみとなります。
より良い電波放射特性を得ることが必要な場合は、アナログとデジタルグランドを分離していただき、アンテナ端子側にあるグランド端子5つと、それ以外のグランド端子を極力切り離して離れた場所で接点を設けていただくことで、理論上はデジタル回路の影響が無線側に及ぶことを減らすことができます。
RSSIが-110dBmを下回ると、受信確率が低下し始めます。
伝送速度 に関わる設定ですので、適切な値をご選択ください。
様々な環境に対応可能できるBW:125 (SF:9)が推奨の設定です。
BW:500は比較的短距離、BW:125は比較的長距離になります。
出力電波強度を大きくした場合、より広い範囲に同周波数の電波が拡散するため、他の同周波数帯を利用する通信に影響が生じます。また、自身も影響を受けます。
しかし、もともと、20mWは微少電力であるため、一般に最大電力で使用されるケースがほとんどです。
意図的に、高密度で機器を配備する場合など電波エリアを絞りたい場合は、下げてお使いください。
国内技適は当該チャンネル外の漏洩電波(スプリアス)規定が厳しく、通常の使用方法では、他の通信機器へ影響を与えることはないとお考え下さい。
注意点としましては、大きくは、電波法に絡む事項になります。
通常、1パケット(1バイト~197バイト:固定送受信モード/1バイト~200バイト:透過送受信モード)の送受信後に送信休止時間を設けなければなりません。(周波数の連続使用に関する注意事項ですので、送受信後となります。)
基本的にLoRaは送信時の休止(送信待機)制御が施してありますが、アプリケーションの設計においては考慮しておく必要があります。
この送信休止時間は、帯域設定、チャンネルの選択に、よって大きく異なります。
以下はデータシートからの抜粋です。
■周波数チャンネルが920.6 MHz~923.4MHzの範囲のチャンネル
BW:125kHzでCH:0-14を選択した場合、
BW:250kHzでCH:0-13を選択した場合、
およびBW:500kHzでCH:0-12を選択した場合
1回の送信ごとの送信休止時間が50msとなるよう制御されます。
■周波数チャンネルが923.5 MHz~928.0MHzの範囲のチャンネル
BW:125kHzでCH:15-37を選択した場合、
BW:250kHzでCH:14-36を選択した場合、
およびBW:500kHzでCH:13-30を選択した場合
いいえ、チャンネルは基本1チャンネルを使用し、加えてアドレス変更でシステム設計されることをお勧めします。
送信時にはキャリアセンスが機能してデータの混信はありません。
多チャンネルにした場合、制御が複雑になります。
その他のご質問
ご購入前のよくあるご質問はこちら
