Re: ATP3011のSPI通信方法 ( No.1 ) |
- 日時: 2014/09/18 14:01
- 名前: 管理人
- こんにちは
1.は、Mode0の場合そのとおりです。 また、ご指摘のとおり、SSをGNDに常時落としたままだと、電源ON時の不安定な状態で同期がずれることがありますので、SSはマスター側から制御したほうが良いと思われます。 2.SPIではI2CでのS/W/Pなどは使いませんので、'a',CR の2バイト転送だけで「あ」と発声します。
|
Re: ATP3011のSPI通信方法 ( No.2 ) |
- 日時: 2014/09/21 22:15
- 名前: afo
- ご回答ありがとうございました。
SSを未制御かつASCII文字を大文字で入力していた("0110000100001101"が正解)ため正常動作してないことが判明し、修正した所、発声しました。 お手数をおかけ致しました。
|
Re: ATP3011のSPI通信方法 ( No.3 ) |
- 日時: 2014/10/11 12:46
- 名前: afo
- 度々すみませんが、ご教授ください。
ATP3011をリセット後に SDI端子に'a'⇒20μs間"00"⇒CRを入力すると、 SDOから 'FF''a'⇒20μs間"00"⇒CRの出力となり 'a'の後に'>'が返ってこず、発声しません。 考えられる原因はなんでしょうか? クロックは500KHzで動作させています。
|
Re: ATP3011のSPI通信方法 ( No.4 ) |
- 日時: 2014/10/15 12:00
- 名前: 管理人
- こんにちは
>SDI端子に'a'⇒20μs間"00"⇒CRを入力すると、 >SDOから 'FF''a'⇒20μs間"00"⇒CRの出力となり
の20μs間"00"と、'FF''a'の部分の意味がわからないのですが、SPI通信の場合には、送信と受信が必ず対になっているはずですが・・・
9/21で発声した時と異なっているのは何でしょうか?
|
Re: ATP3011のSPI通信方法 ( No.5 ) |
- 日時: 2014/10/15 18:47
- 名前: afo
- ご回答ありがとうございます。
波形を見せられれば一番良いのですが、送付したらご確認可能でしょうか?(お手数をかけてすみません)
9/21で発声した時と異なっているのは周波数(前回は1MHz)とバイト間の20μsec の間隔です。
'a','a',CRの2文字を発声させようとした所、発声しなかったので、バイト間の20μsec の間隔が足りないのかと思い、追加し、周波数を落として'a',CRの1文字でまず試そうと思った次第です。
受信のシフトデータは確認できています。デリミタ">"が見えてないという状態です。
|
Re: ATP3011のSPI通信方法 ( No.6 ) |
- 日時: 2014/10/16 15:43
- 名前: 管理人
- こんにちは
動作した9/21と、動かない今回との違いは、 1) SCKのクロック周波数が1MHz->500KHz 2) 'a'、CR の間に 20usecの間隔を追加 ということですね。
まずは、どちらかの条件だけを変えて確認してみてはいかがでしょうか。
なお、「20μs間"00"」 の"00" 部分が何を示されていたのかも気になってます。
|
Re: ATP3011のSPI通信方法 ( No.7 ) |
- 日時: 2014/10/17 17:16
- 名前: afo
- ご指摘の通りです。
1は未確認です。2は試してみましたが動作していません。 そもそも動作したというのもリセット後に色々データを入力した挙句に、あるタイミングで'a',CR の2バイト転送が入ると動作したという経緯があるので、リセット後単独で'a',CR の2バイト転送は成功していません。説明が不足してすみません。
「20μs間"00"」の"00"は'L'データ(GND)を示しています。 SDI端子に20μs間"L"を入力し、SCKは500KHzのまま,SSは"L"を入力したままになっています。
因みに @応答コマンドの">"とは16進の"3e"が返ってくるとの認識でよろしいでしょうか? Aリセット後、ポーリングのために適当なデータを一回送信してから、">"が返って来たら送信すべきなのでしょうか?
|
Re: ATP3011のSPI通信方法 ( No.8 ) |
- 日時: 2014/10/18 11:39
- 名前: 管理人
- こんにちは
>SDI端子に20μs間"L"を入力し、SCKは500KHzのまま,SSは"L"を入力したままになっています。
そうでしたか  これでは0x00という値のデータを転送を続けている状態で、バイト間隔を20usecあけることになりませんね。
>@応答コマンドの">"とは16進の"3e"が返ってくるとの認識でよろしいでしょうか?
そのとおりです。
>Aリセット後、ポーリングのために適当なデータを一回送信してから、">"が返って来たら送信すべきなのでしょうか?
本来、リセット後の最初の応答で'>'が返ってくるはずなので、最初のポーリングは不要です。なお、リセット後はLSIが起動するのにある程度時間(100usec)がかかりますので、その前に転送を行った場合は'>'は返りませんのでご注意ください。
本件、配線等ハードウェアまわり、マスター側のファームウェアなど確認すべきところはたくさんあるので、これ以上のアドバイスはできないのですが、まずは、
1.最初の応答で'>'を得ること 2.'a'+CRで「あ」と発声させること
を確実に再現できることを目指してみてくださいね。
|
Re: ATP3011のSPI通信方法 ( No.9 ) |
- 日時: 2014/10/26 15:15
- 名前: afo
- 返事が遅くなり、すみません。
20μs間SCKを"L",SSを"H"にしたら応答'>'を得て、 a'+CRで「あ」と発声させられました。 また、適当に「つくえ」等の単語を発声させることでもできました。 リセットは直後の場合にSDIデータを入力した所、 SDOから放電波形が得られたので待ち時間が必要だなとの認識でした。
お手数をおかけしました。 ご回答ありがとうございました。
|