DECTモジュールSC14CVMDECTのプログラミングに関する知識



この記事では、SC14CVMDECTのDECTモジュールのプログラミングに精通し、LEDを点滅させ、このモジュールに基づいてSIPテレフォニーのソリューションを開発した経験を共有します。

DECTとは


DECT(Digital Enhanced Cordless Telephone)は、1.9 GHzでのワイヤレスデータ伝送のためのテクノロジーです。 主に電話の音声伝送に使用されます。

DECTに関連する多くの用語がありますが、その多くは純粋にマーケティングであり、電話仕様に存在することは、ハンドセットまたは基地局の互換性を保証しません。

以下にそれらの短いリストを示します。

DECTを使用した最も簡単な例

Wi-Fi、Bluetoothとの比較


DECTコードレス電話に加えて、Wi-Fi電話の人気が高まっています。通常のWi-Fiルーターがベースステーションとして使用されているため、組織のインフラストラクチャへの統合が容易です。 さらに、一部のWi-Fi電話にはイーサネット出力があります。 Wi-Fiネットワークアダプターを持たない固定PCを接続できます。

DECTには、議論の余地のない利点が1つあります。それは、別の周波数範囲で作業することです。 そして、Wi-Fiデバイスがますます増えていることを考慮すると、これは大きなプラスです。

Wi-Fiと比較したDECTの追加の利点は、遅延や中断のない高品質の音声伝送です。 Wi-Fiでは、Wi-Fi電話が電話として使用され、周囲に多くの無線干渉がない場合にのみ、品質も良好になります。 電話機の機能とPCの接続ポイントを組み合わせる場合は、QoS(サービスの品質)を構成して通話の優先順位を設定する必要があります。これは常に利用可能ではなく、必ずしも便利ではありません。

DECTとBluetoothを比較すると、DECTは間違いなく優れています。 DECTの範囲は広くなっています。 Bluetoothは、Wi-Fiなどの2.4 GHzの周波数で動作します。 干渉を受けやすくなり、その結果、音声品質が低下します。

その結果、DECT対Wi-Fiの選択肢が残っており、明確な解決策はありません。

SC14CVMDECT_AFキットの説明


詳細: http : //www.dialog-semiconductor.com/products/short-range-wireless/cordless-voice-module-(cvm)

クジラの一般的なビュー:





チップの 特徴

  1. 1880-1900 MHz-ヨーロッパ
  2. 1920-1930 MHz-米国およびカナダ
  3. 1893.5-1906.1 MHz-日本


  1. レディモード-4.5 mA
  2. トーク-30 mA


  1. マイクとヘッドフォンを接続する機能
  2. PCMバス-同時に最大4チャネル


外部デバイスを接続するための一般的なスキーム:



この図は、マイクロコントローラーとSC14CVMDECTモジュールに基づいた一般的なDECTチューブの図を示しています。 マイクロコントローラーは、LCD画面の制御と押されたボタンのポーリングを行います。 バッテリーレベル、音声の受信および送信を決定する機能は、DECTモジュール専用です。

可能なアプリケーション開発オプション


DECTモジュールと対話するアプリケーションを開発するには、2つの方法があります。

  1. 別のデバイス(マイクロコントローラー)で、すべてのロジックを処理し、Busmailプロトコルを使用してシリアルポート(UART)を介してDECTモジュールと制御データを交換します。 Busmailプロトコルには、パケット損失を防ぐメカニズム(HDLCプロトコルのメカニズムと同様)があり、パケットシーケンスのチェックとチェックサムの計算が含まれています。 一度に最大7パケットを送信できます。 パケットの受信確認は、100ミリ秒以内に送信する必要があります。
  2. ロジックをDECTモジュール上のアプリケーションに統合します。 GPIOコンタクトとUARTを介して外部と通信します。 これは、COLAアプリケーション(Co-Located Application)の開発と呼ばれます。

これらのオプションを次の図に示します。



特定のタイプの開発の選択は、まず、アプリケーションの複雑さに依存します。 アプリケーションが単純な場合、または外部マイクロコントローラーを使用することが非常に望ましくない場合は、2番目のオプションの方が適しています。

もちろん、最初のオプションの方が便利な場合もあります。

DECTモジュール制御の例


DECTチップのプロトコルを扱いやすくするために、すでに完成したSendmail.exeユーティリティを使用することをお勧めします。これはSDKの一部です。 このユーティリティはWindows用に作成されているため、Windowsで確認します。

このユーティリティを使用すると、生の形式でコマンドを送信できます。 コマンド形式自体は、仕様API_PpCVMDECT_v0808.pdfで調べる必要があります

手始めに、2つの簡単な例はLED制御とメロディー再生です。



LEDを点滅させる方法:

Sendmail.exe 31 1 5902 02 03 01 FF 00 00 FF 00 02 0a 00 


API_HAL_LED_REQリクエストの場合、これらの引数の意味は次のとおりです。




メロディーの演奏方法:

 Sendmail.exe 31 1 5306 16 00 00 02 


DECTモジュールのファームウェアバージョンの取得:

 Sendmail.exe 31 1 5200 5200 - API_PP_GET_FW_VERSION_REQ 

応答として、次のようなものを受け取るはずです。

 Result: Primitiv: 5201, Data: 09 88 00 00 12 09 06 17 32 ff 5201 - API_PP_GET_FW_VERSION_CFM 


これらの例が再生されない場合は、工場出荷時の設定を復元してください(PPモードが有効になっています)

 Sendmail.exe 31 1 4FFE 02 01 00 01 01 

10秒待ってからCOLA(Co-Located Application)をオフにします。

 Sendmail.exe 31 1 5802 FF 00 

そして、モジュールを再起動します。

 Sendmail.exe 31 1 5202 

例のトランシーバー(Pp2Pp)-互いのサブスクライバーを呼び出す機能



Pp2Pp-2人の加入者間の双方向ワイヤレス通信。

SDKには、DECTチップでアプリケーションを起動する場合とPCから起動する場合の両方のPp2Ppの例が既に含まれています。 それは普遍的であり、それから最初の知り合いはショックにつながる可能性があります。

同じコンソールユーティリティSendmail.exeを使用して、2つのハンドセットの相互接続を実現する方法を検討します。

KIT'ovをPCに接続するスキーム:



Sendmail.exeを使用した接続手順

1)Pp2Ppモードに入る
Sendmail.exe 30 1 4920 02 02 30
Sendmail.exe 31 1 4920 02 02 31
Sendmail.exe 30 1 5324
Sendmail.exe 31 1 5324

2)加入者を呼び出す
Sendmail.exe 30 1 4924
Sendmail.exe 30 1 4926 31
Sendmail.exe 31 1 5306 16 00 00 02

3)チューブリフト
Sendmail.exe 31 1 4929

4)ミュート
Sendmail.exe 30 1 5303 0
Sendmail.exe 30 1 5323 01
Sendmail.exe 30 1 5301 03

Sendmail.exe 31 1 5303 0
Sendmail.exe 31 1 5323 01
Sendmail.exe 31 1 5301 03

やった! 音が消えました!

これらの魔法の数字セットの背後には、DECTモジュールのステートマシンの制御があります。 したがって、呼び出しの順序は非常に重要です。 残念ながら、Sendmail.exeはモジュールからの確認通知を待たず、メッセージングの全体像は明確ではありません。

ただし、次の図は、PCと2つのDECTモジュール間のBusmailメッセージの完全なシーケンスを示しています。



実際の開発で遭遇した困難


DECTモジュールが使用された実際のタスクは、同時に登録された6台のハンドセットにSIP電話を実装することです。 さらに、チューブはさまざまなメーカーのものにすることができますが、主なことは、基本的なCAT-iqを完全にサポートすることです。 SC14CVMDECT-AFがDECTモジュールとして使用されました。 同時に、会話は4つのハンドセットで行うことができます。 各ハンドセットは、複数のSIPサブスクライバーを同時に呼び出して、それらを切り替えることができます。 CAT-iq 2.0ハンドセットでは、共有電話帳、不在着信情報、およびワイドバンドコールがサポートされています。

問題点:

1.初期のSDKでは、ATコマンドの使用を強く推奨しました。 ATモデムコマンドに似ていますが、より具体的です。 これらのATコマンドは、DECTモジュールで実行されている別のアプリケーションによって生成および処理されました。
彼らは何とか働いた、このアプリケーションのソースコードがあったことは良いことだ、私たちはすでにいくつかのエラーを修正し始めたとき、Dialog Semiconductorは突然コマンドを拒否し、それらを下位レベルのコマンドに置き換えることが判明しました

当時はまだ奇跡のユーティリティSendmail.exeとそのソースがなかったため、プロトコルのパーサーとジェネレーターを自分で作成する必要がありましたが、これはもちろん簡単な作業ではありませんでした。

しかし、最新版では、ドキュメントは十分に準備されており、多くの例があります。 だから、あなたは恐れることなくそれを使うことができます。

2.さまざまな「互換性のある」CAT-iqチューブにより、FPとPP間の通信を確立する手順が複雑になります。Busmailメッセージのシーケンスは変更される可能性があります。 一部のハンドセットは、ダイヤルされた番号を1つのメッセージで送信し、他のハンドセットは複数のメッセージで、または別のメッセージに追加して送信します。

チューブに非常に満足しています-2.0。 -1.0と比較すると、動作ははるかに安定しており、対話プロセスはドキュメントで説明されているものと最も類似しています。

3.開発時には、CAT-iq 2.0チューブはほとんど見つかりませんでした。ドイツで注文する必要がありました。 彼らはちょうど市場に登場しました。 おそらく今は状況が良くなっているでしょう。

4. UARTには論理「1」信号が1.8Vであるため、別のドライバー(レベルコーディネーター)が必要です。

5. Busmailインターフェースは、100ミリ秒以内に応答の確認を想定しています。 したがって、Busmailメッセージの処理はできるだけ早く実行する必要があります。
おわりに

SC14CVMDECTは、DECTサポートを実装するための非常に優れたモジュールです。 多くの可能性があるため、2つのポイント間の通信手段としてのみ使用することはわずかに冗長です。 ただし、CAT-iq 2.0の実装が必要な場合、複数のハンドセットの登録と同時操作、または外部マイクロコントローラーSC14CVMDECTがない場合は非常に優れたオプションです。

SPI制御を実装していないのは残念です(組み込みアプリケーションの場合、SPIはUARTよりも便利な場合があります)。

[!?]質問やコメントを歓迎します。 Promwad Electronics Design CenterのソフトウェアエンジニアであるDmitry Valentoの記事の著者が回答します。

Source: https://habr.com/ru/post/J221997/


All Articles