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

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ToAs_4115461
Level 1
Level 1
First question asked First reply posted

≪使用環境≫

IC:CY7C68300C-56LTXC

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

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

pastedImage_1.pngpastedImage_2.png

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

《質問》

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

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

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

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

0 件の賞賛
1 解決策

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

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

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

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

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

Hirotaka Takayama

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
HirotakaT_91
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

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

Multiword DMAでは通信しません。

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

Hirotaka Takayama

0 件の賞賛

HirotakaT_91様

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

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

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

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

0 件の賞賛

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

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

Hirotaka Takayama

0 件の賞賛

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

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

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

・UDMA2

・Multiword-DMA

・PIO mode 3,4

はEnableの状態です。

【質問1】

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

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

【質問2】

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

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

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

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

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

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

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

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

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

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

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

0 件の賞賛

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

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

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

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

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

Hirotaka Takayama

0 件の賞賛