RL78/G1C USB HHIDの件

アプリケーションノート R01AN0664JJ0215

USB Host Human Interface Device Class Driver (HHID) using Basic Mini Firmware

を使ってタッチパネルからの入力できるようにカスタマイズしております。

 

基本うまく動くようになったのですが、特定のタッチパネル(同じ型名で別個体)をつなぐと

セットアップ途中で期待する動作になりません。

 

(1)ATTACHまでは問題なく動作しており、オープン状態になるまでの

    Setup途中で問題発生。Setupはそのタッチパネル固有の設定で

    カスタマイズしております。

(2)うまく動作する個体のときの動作

    送信データ C0 55 00 00   00 00 02 00

    受信データ 06 00

    プログラム的にはR_usb_hhid_class_request発行後、SACK割り込み、

    BRDY割り込み、BEMP割り込み という流れで動きます。

(3) うまく動作しない個体のときの動作

    送信データ C0 55 00 00   00 00 02 00

    受信データ 06 00

    プロトコルアナライザで見る限りデータは同じように流れてます。

    ただプロトコルアナライザで06 00のあと、Handshake Stalledという

    ログが残ってます。

    プログラム的にはR_usb_hhid_class_request発行後、SACK割り込み、

    NRDY割り込み という流れとなります。

 

NRDY割り込みが発生するような状況が良くないのですが、直接的な原因が

どこ辺りにあるのか勉強不足でたどりつけておりません。デバッグのヒント

あればご教示いただきたくお願いします。

  • スマさん
    >特定のタッチパネル(同じ型名で別個体)をつなぐとセットアップ途中で期待する動作になりません。
    動作が不安定なところが残っているのですね、
    >(1)ATTACHまでは問題なく動作しており、オープン状態になるまでの Setup途中で問題発生。
    といいましても(同じ型名で別個体)なので
    ハードウェアに原因がありはしないかと考えたりします、
    ソフトウェアの不都合でも無いとは言えませんが?
    USBの規格に沿った波形になっているのかどうか調べてみるのも一案ではないかと
    USB端子経路に部品が挿入されていたり、プルアップの抵抗値が間違っていたり
    基板のインピーダンス設計が良くなかったり、原発の水晶の品質が良くなかったり
    ハード屋としてはそんなところが気にかかります、
    ソフトであればコンフィグレーションの値をいろいろ変更したりしてみてはどうでしょう
    >Handshake Stalled
    ですから、データの一部が受信できないとか、化けたとか、ではないでしょうか。
  • IKUZO さん

    コメントありがとうございます。
    ハードウェアの方は考えていませんでした。
    ソフト調査と並行して、ハードウェアについても確認するように致します。