5 Replies Latest reply on Jun 24, 2019 10:11 PM by HirotakaT_91

    【CY7C68300C-56LTXC】通信モードの優先順位

    ToAs_4115461

      ≪使用環境≫

      IC:CY7C68300C-56LTXC

      設定:通信モードの設定は下図を参照

      接続デバイスの仕様:ATA Ultra DMA mode 4 まで対応

      Enable UDMA mode2                         Enable multiword DMA / Enable PIO mode4,3

       

      《質問》

      上図の設定の場合、通常であればデータ通信は「UDMA Mode2」で接続されます。

      もし、UDMA2のハンドシェイクに失敗した場合、

      次にホスト⇔デバイスはどのモードで通信しますでしょうか?

      優先順位としては UDMA > Multi-word DMA > PIO になりますでしょうか?

        • 1. Re: 【CY7C68300C-56LTXC】通信モードの優先順位
          HirotakaT_91

          UDMAでのハンドシェイクに失敗した場合、予測できない動作となります。

          Multiword DMAでは通信しません。

           

          よろしくお願い致します。

          Hirotaka Takayama

          • 2. Re: 【CY7C68300C-56LTXC】通信モードの優先順位
            ToAs_4115461

            HirotakaT_91様

             

            ご回答ありがとうございます。

            予測できない動作になる旨、承知いたしました。

             

            例えば、デバイスに何が繋がるか分からない場合(どのモードに対応しているか分からない場合)の

            推奨設定はございますでしょうか。

            • 3. Re: 【CY7C68300C-56LTXC】通信モードの優先順位
              HirotakaT_91

              より多くのATA/ATAPIデバイスをサポートできるよう、AT2LPでは多くのModeに対応できるよう設定するのが良いのではないでしょうか。

              例えば、CY4615B RDKにて用意しているCY4615B_C_default.iicファイルであれば、UDMA2, 4, Multiword-DMA, PIO mode 3,4がenableになっています。 (PIO mode 0は常に対応します)

               

              Hirotaka Takayama

              • 4. Re: 【CY7C68300C-56LTXC】通信モードの優先順位
                ToAs_4115461

                ご返信ありがとうございます。

                大変申し訳ございません。私の表現が悪かったので、質問の仕方と状況を整理させください。

                 

                今回の場合、一番最初に投稿した上の設定画像の様に

                ・UDMA2

                ・Multiword-DMA

                ・PIO mode 3,4

                はEnableの状態です。

                 

                【質問1】

                ハンドシェイク失敗時は予測できないモードになるということは、

                当ICはいかなる通信モードでもハンドシェイクが失敗しない想定でしょうか。

                 

                【質問2】

                以下の状況での動作をご教授願います。

                 

                基本使用はUDMA2対応のデバイスが接続される(ハンドシェイクも成功する)ので問題ありません。

                しかし、イレギュラーな環境の場合、以下の動作になるということでよいでしょうか?

                *******************************************************************************************************

                イレギュラー環境①:UDMA2対応デバイス接続時にUDMA2ハンドシェイクが失敗する場合

                                                   ⇒予測できない動作になる(上記回答より)

                                                  電源OFF→ONしないと復旧しない。

                 

                イレギュラー環境②:UDMA2に対応していないデバイスが接続される場合

                                                    ⇒デバイスが対応するモードで接続(デバイスがモードを通知する?)

                *******************************************************************************************************

                 

                大変恐縮ではございますが、ATA初心者なもので、見当違いの質問をしていたら申し訳ございません。

                • 5. Re: 【CY7C68300C-56LTXC】通信モードの優先順位
                  HirotakaT_91

                  ハンドシェイクと仰っているのは、デバイス検出の通信を指していると考えています。

                   

                  いかなる場合も絶対に失敗しないという保証はできません。

                   

                  質問2は、ご認識の通りです。

                  AT2LPがAT2LPに接続されたデバイスのレジスタにアクセスし、デバイスの検出と制御をします。

                   

                  よろしくお願い致します。

                  Hirotaka Takayama