Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

RL78/F14 SPI データ送受信タイミング

そろそろと申します。

 

SPIのコード生成ツールの設定について質問させてください。

 

SPIのデータ送受信タイミング設定を

タイプ3

で使ってきました。

 

新しい開発用基板でSPI通信が出来なくなりました。

データ送受信タイミング設定を

タイプ2

に変えたところ通信できるようになりました。

 

※コード生成ツールが正しく反映されているか

 確認したところ r_cg_serial.c R_CSI00_Create

 SCR00の設定が、タイプ2(_2000_SAU_TIMING2)になっていました。

 コード生成ツールは正しく動作している様に見受けられます。

 

不思議なのが

オシロで波形を見たところ

古い基板と新しい基板も共に

タイプ3

の波形でした。

 

纏めると

 

古い基板

・波形はタイプ3

・データ送受信タイミング設定 タイプ3

SPI通信できる

 

新しい基板

・波形はタイプ3

・データ送受信タイミング設定 タイプ2

SPI通信できる

 

八方塞がりな感じなので

アドバイスが頂けると助かります。

  • わわいです
    RLもコード生成ツールもあまり使ってませんが、、
    SPIのイニシャルが済んだ時点でブレークさせ、SPIの各レジスタを表示させ、それらが意図した状態になっているのか見てみればどうでしょうか。
  • チョコです。
    タイプ2とタイプ3は,データの変化タイミングとSCKのクロックエッジの関係は同じです。
    単に,タイプ2はSCKの1クロック目の立ち上がりからデータが出力されるのに対して,タイプ3ではSCKが出力される(立ち下がる)前にデータが出力されます。
    つまり,途中の波形を見ていても区別はつきません。通信していないタイミングでのSCKのレベルや通信の始めるタイミングで波形を確認すべきです。
    それで,マスタとスレーブが同じになっているかを確認してください。
  • チョコです。

    >SCR00の設定が、タイプ2(_2000_SAU_TIMING2)になっていました。

    この値(_2000の部分)はタイプ3の値です。

    コード生成の「コード生成プレビュー」で「r_cg_serial.h」の定義を確認したところ,

    と定義されていました。「_2000_SAU_TIMING2」の定義はありません。

    設定を確認してみてください。また,コード生成のバージョンはどうなっていますか。

    こちらで確認したバージョンは以下のようになっていました。

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page