[H8-ML(5744)] Re: H8S/2398同期シリアル問題解決しました
From: "Koji Takeuchi" <ktakeuchi@xxxxxxxxxxxxxxxxx>
Date: 2005年11月17日(木)10時29分14秒
リストの皆さん、いつもお世話になっております。

自力で解決しました。

以下ソースを訂正して対処済み

誤
    SCI0.SCR.BIT.TE = 1;    // 送信許可
    SCI0.SCR.BIT.RE = 1;    // 受信許可

正
    SCI0.SCR.BYTE = SCI0.SCR.BYTE | 0x30;    // 送受信同時に許可!

上の対策で同期クロック送受信のビットズレ解消しました。

5MHzでも問題ありません。

有難う御座いました。

たけうち
----- Original Message ----- 
From: "Koji Takeuchi" <ktakeuchi@xxxxxxxxxxxxxxxxx>
To: <h8@xxxxxxx>
Sent: Wednesday, November 16, 2005 7:27 PM
Subject: [H8-ML(5743)] H8S/2398同期シリアルについて


> リストの皆さん、いつもお世話になっております。
>
> 件名のCPUについて教えて下さい。
>
> シリアルポート0(ゼロ)を同期クロック付送受信させています。
>
> 同期クロックはCPU(SCK0)から出力しています。
>
> スレーブはこのクロックに同期してCPUにデータを返信します。
>
> で問題ですが。
>
> 同期クロックを1Mbpsより早くすると受信するデータが1bitズレマス。
>
> 例えば、スレーブの送信が0xaaであれば、CPUの受信データは0x55となってしまいます。
>
> スレーブからの送信データのクロックエッジ(立ち上がり)に対してのタイミングは
>
> セットアップ時間=60nS、ホールド時間=120nSで一見してノイズもなく問題ない波形です。
>
> (測定個所はCPU端子付近)
>
> まとめますと
>
>     OK 1Mbps=(XTAL20Mhz駆動でCKS=00、BRR=4)
>
>     NG  2.5Mbps=(XTAL20Mhz駆動でCKS=00、BRR=1)
>
> 以下ソースです。
>
> /* シリアルポート初期化部分抜粋 */
>
>  MSTPCR.BIT.B5   = 0;       /* MODULE SCI0 ENABLE...........    */
>  Nop();
>  /*SCI0.BRR        = 4;*/      /* 1Mbps for 20MHz...........     */
>  /*SCI0.BRR        = 1;*/      /* 2.5Mbps for 20MHz..........     */
>  SCI0.BRR        = 0;       /* 5Mbps for 20MHz..........     */
>  SCI0.SMR.BIT.CA = 1;       /* SERIAL CLK ENABLE.............   */
>  SCI0.SCMR.BIT.SDIR = 1;       /* MSB FIRST MODE!............    */
>  Nop();
>  SCI0.SCR.BIT.TE = 1;
>  SCI0.SCR.BIT.RE = 1;
>
> /* 送受信関数 */
> unsigned char SendAndReceive0(unsigned char send_data)
> {
>  while(!SCI0.SSR.BIT.TDRE){}      /* WAIT TO COMPLETE SENDING DATA            */
>  SCI0.TDR = send_data;       /* SEND DATA SET...        */
>  SCI0.SSR.BIT.TDRE = 0;       /* SEND START...                             */
>  while(!SCI0.SSR.BIT.RDRF){}      /* WAIT TO COMPLETE TO RECEIVE DATA         */
>  SCI0.SSR.BIT.RDRF = 0;
>  return(SCI0.RDR);
> }
>
> P.S. 送受信ビット方向はMSBファーストです。
>
> (LSBファースト(デフォルト)でも同様の結果でした。)
>
>
> 以上、何卒宜しくお願い致します。
>
>
>

スレッド概略
[5743(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]