BLOG

USB Logic Analyzers Provide an Easy Way to Monitor Serial Communications – USB ロジックアナライザでシリアル通信のモニタリングが簡単に!

  • 2017/03/08

スカイディスクにはアメリカや香港出身のエンジニアが在籍しています。今回はハードウエアチームのメラメドから、USB ロジックアナライザについての話題です。

USB Logic Analyzers Provide an Easy Way to Monitor Serial Communications

Samson Melamed, Skydisc Hardware Team

In the past capturing digital signals from an integrated circuit required extremely expensive test equipment. In addition to the cost, the equipment was large and bulky, requiring that measurements be performed in a laboratory setting with sufficient space.

Recently, USB logic analyzers have become available at very reasonable prices with form factors small enough that they can easily sit next to a computer on just about any desk.

PLA-2532 USB Logic Analyzer, LoRa module, USB-Serial adapter

Closeup of the LoRa module under test

When analyzing communication modules it is often of interest to accurately know the timing of the transmit and receive commands between the module and the host computer. Since these modules often use serial connections, the actual time that it takes to send and receive data can be significant.
Using a logic analyzer to look at the exact timing of the commands can help to understand how much time is being used by the communication module to process the serial command, including sending the actual data.

We have tested a LoRa module in this way. Communications begins by sending a transmit command to the module. This is then immediately returned with an “OK” response. The module then performs carrier sense and sends the packet of data. Finally, a “TX OK” response is sent back by the module. The timing of these commands was easily captured by connecting a logic analyzer to the communication module’s ground, serial send and serial receive pins. Placing the software in serial mode allows for the content of the serial communication to be easily monitored.

By performing this testing we have been able to separate the actual time that is used for wireless communications from that used by the host computer to send the commands and prepare the commands for the module. This allows a better understanding of the maximum timing that will be achievable when we use a custom real-time CPU instead of a general purpose computer.

Small, inexpensive USB logic analyzers have truly opened up an entire world of measurement at very affordable prices that would have been unattainable in the past.
We will look more into the timing of the various commands in a future entry.

 

[日本語訳] USB ロジックアナライザでシリアル通信のモニタリングが簡単に!

こんにちは!ハードウエアチームのメラメドです。

IC機器からデジタル信号を取り込むには、高額なテスト装置が必要でした。しかも装置は大型でとてもかさばり、必要なデータを得るには条件に即した専用の実験室を準備しなければいけませんでした。

そんな中、最近になって登場したのがUSBロジックアナライザです。手ごろな値段に加え、コンパクトサイズなので、机のちょっとしたスペースにも置けてしまう優れものです。

USBロジックアナライザ(PLA-2532)、LoRaモジュール、USBシリアルアダプター

 

テスト中のLoRaモジュール

モジュールの通信解析時には、ホストコンピューターとモジュール間におけるコマンドの送受信のタイミングを、正確に知ることが大切です。モジュールはシリアル通信を使用する場合が多く、データの送受信にかかる実際の時間がとても重要になってきます。
ロジックアナライザを使うと、コマンドのタイミングが正確に見て取れるので、シリアルコマンドの処理とデータの送信に通信モジュールがどのくらい使用されているかを確認できます。

スカイディスクでは、LoRaモジュールの計測についてもこうした方法を使うことがあります。
通信は、送信コマンドをモジュールに送ることで開始され、すぐに”OK”という返答が返ってきます。モジュールはキャリアセンスを行い、パケットデータを送ります。そして”TX OK”という返答がモジュールから返ってくるのです。
ロジックアナライザをモジュールのグランド、シリアル送信、シリアル受信のピンにつなぐことで、コマンドのタイミングが簡単に計測できます。ソフトウェアをシリアルモードにすることで、シリアル通信の内容を簡単にモニタリングできます。

このテストを行うことで、無線通信に使用される実際の時間と、ホストコンピューターがコマンドを送信して、モジュールのコマンドを準備するために使用する時間とを分離することができるようになります。また、汎用コンピュータの代わりにカスタムのリアルタイムCPUを使用した場合に達成できる最大タイミングをについて理解を深めることができます。

省スペースでリーズナブルな価格のUSBロジックアナライザが登場したことで、昔は途方もないコストがかかった測定が、多くの人にも手軽に行えるようになったのです。
各種コマンドの詳しいタイミングについてはまたの機会に!

Pocket