Cente USB Device COM Class for STM32

Windows10で信号線の状態が正しく取得できないことがある現象について

発行番号: Cente020-0008
Rev: 第1版
発行日: 2020/09/02
題名: Windows10で信号線の状態が正しく取得できないことがある現象について

適用製品:
Cente USB2.0 Device COMクラス for M66596 Ver.1.00 – Ver.1.04

【該当するユーザ環境】
Windows10上のシリアル通信アプリケーションと通信するユーザ。
※Windows8より前のバージョンのWindowsと通信するユーザは非該当です。

【障害内容】
COMデバイスをUSB接続した状態でWindows10上のシリアル通信アプリケーションを起動しシリアル接続を実行したとき、DSRなどのデバイスの信号線状態が正しく取得できないことがあります。
このためシリアル通信アプリケーションがDSRなどの状態をチェックしている場合、動作に影響する可能性があります。

【発生理由】
COMデバイス側でUSB接続を検出して通信開始APIのusbd_com_open()を実行すると、信号線状態をホストへ通知するためインタラプト転送を実行します。
しかし、ホスト側となるWindows10ではシリアル通信アプリケーションを起動しシリアル接続を実行するまではインタラプト転送を開始しません。
このような状態のとき、COMデバイスではインタラプト転送の通信がタイムアウトし信号線状態が通知されない状態となります。

【回避方法】
ホストのCOM通信開始を検出して自動的に信号線状態を再通知するようにソースコードを修正します。
詳細については、営業担当またはsupport_XXXatmarkXXX_cente.jpまでお問い合わせください(_XXXatmarkXXX_は@にしてください)。

Cente USB2.0HostCOMClass for M66596

・RX62N、RZ/A1Hに対応

RX62N、RZ/A1H内蔵USBコントローラに対応した。

・M66596、SH7203、SH7263内蔵USBコントローラを対応から外した

M66596、SH7203、SH7263内蔵USBコントローラを対応から外した。

・受信バッファサイズを最大パケットサイズにするオプションを追加

受信バッファサイズを最大パケットサイズにするオプションを追加した。

・ClearFeatureをしないようにした

ポートオープン時に実行していたClearFeatureをしないようにした。

・PL2303デバイスのときSET_COMM_FEATUREをしないようにした

ポートオープン時に実行していたSET_COMM_FEATUREをPL2303デバイスのときはしないようにした。

・シリアルポートをクローズ、オープンしたときにデータ受信ができなくなる場合がある(Cente障害情報:021-0001)

シリアルポートをクローズ、オープンしたときにデータ受信ができなくなる場合があったのでこれを修正した。

・ソフトウエアフロー制御を使用したときに受信データが不正になることがある(Cente障害情報:021-0002)

ソフトウエアフロー制御を使用したときに受信データが不正になる場合があったのでこれを修正した。

・シリアルステータスが取得できないデバイスがある (Cente障害情報:021-0005)

接続するデバイスによってはシリアルステータスが取得できない場合があったのでこれを修正した。

・レジスタオフセット定義を移動

レジスタオフセット定義をユーザカスタマイズ定義から内部定義へ移動した。

Cente USB2.0 Device COMClass for M66596

・レジスタオフセット定義を移動
レジスタオフセット定義をユーザカスタマイズ定義から内部定義へ移動した。
・RX62N、RZ/A1Hに対応
RX62N(RX63N含む)、RZ/A1H内蔵USBコントローラに対応した。
・M66596系のUSBコントローラを対応から外した
M66596、SH7203、SH7263内蔵USBコントローラを対応から外した。
・受信バッファサイズを最大パケットサイズにするオプションを追加
受信バッファサイズを最大パケットサイズにするオプションを追加した。
・infファイルの変更
サンプルinfファイルをWindows7、Windows8対応のものに変更した。
・デバイスを抜き差ししたときに以前のデータが転送されることがある(Cente障害情報:020-0005)
デバイスを抜いたときにFIFO内に残っているデータがクリアされない場合があったためこれを修正した。
・PCに接続したままサスペンド、レジュームをするとこれ以降動作しなくなることがある(Cente障害情報:020-0006)
USBのステート遷移でconfiguredからaddressed、poweredへ移行したときの処理が不十分だったのでこれを修正した。
・ストリングデスクリプタの取得で不正なメモリアクセスをする場合がある(Cente障害情報:020-0004)
範囲外のインデックス番号でストリングデスクリプタの取得をされると不正なメモリアクセスをする場合があったのでこれを修正した。
・デバイスコントローラドライバの改善
本パッケージのCOMクラスを使用する場合は問題ないが、デバイスコントローラドライバのみを独自クラスなど他クラスと組み合わせて動作させる場合の挙動をいくつか改善した。
・デバイスクオリファイアディスクリプタに対応
複合デバイスとして動作させたときにデバイスクオリファイアディスクリプタに対応していなかったためこれを修正した。

Page 1 of 3