• No : 11318
  • 公開日時 : 2022/04/04 14:34
  • 印刷

【NXP:Kinetis】 Kinetis FlexBusのCSCRnのBLSについて

KinetisのFlexBusのCSCRnレジスタのBLSビットに0をセットした場合と1をセットした場合でデータの配置が何故異なるのですか。
カテゴリー : 

回答

KinetisのFlexBusのCSCRnレジスタのBLS (Byte-Lane Shift) ビットに0をセットした場合、データはFB_AD31から8ビット、16ビット、32ビットが配置されます。
通常は、FlexBusと周辺デバイスをノンマルチプルクスバスで接続する場合にCSCRnレジスタのBLSを0に設定します。
理由は、データビット幅が16ビット以下であれば、FlexBusはFB_A[30:16](アドレスピン数はパッケージに依存)とFB_AD[15:0]で常時アドレスを出力できるからです。
 
また、KinetisのFlexBusのCSCRnレジスタのBLSビットに1をセットした場合、データはFB_AD0から8ビット、16ビット、32ビットが配置されます。
通常は、FlexBusと周辺デバイスをマルチプルクスバスで接続する場合にCSCRnレジスタのBLSを1に設定します。
理由は、マルチプレクスバスでは、アドレスのビット0とデータのビット0が同一ピンにする必要があるためです。
 
詳細は、リファレンスマニュアルのData-byte alignment and physical connectionsを参照ください。
但し、BLSビットに1をセットした場合、FB_ALE信号が必要になるため、FB_CS1を使用できなくなります。