マイコン工作実験日記

Microcontroller を用いての工作、実験記録

SRAMとLCDの動作確認

2008-05-09 23:44:08 | LCD
AT91SAM7SE256実験ボードに搭載したSRAMとLCDの動作確認までできました。



SAM7SE256では外部メモリとしてCS0-CS7の空間が用意されており、それぞれにデバイスの種類に応じた動作やアクセスタイミングが設定できるようになっています。今回、外部メモリとして接続したいデバイスには次の3つがあります。
  1. SRAM. 18bitアドレス、16bitデータ
  2. LCD. 1bitアドレス、16bitデータ
  3. NAND FLASH. 8bitデータ

これら3つを、8つのアドレス空間のいずれかに配置するわけですが、NAND FLASHについてはCS3にしか置けないという制限があります。SRAMとLCDを配置する空間を決めるために、それぞれのCS信号が出力されるピンを確認してみると、いずれのCS信号も次のように出力ピンは1つしかないうえに機能が多重化されています。

I/O LinePeripheral APeripheral B
PA19RKNCS4
PA20RFNCS2
PA21RXD1NCS6
PA22TXD1NCS5
PA26DCD1NCS1
PC15D15NCS3
PC20NANDCLENCS7
PC23CFRNWNCS0

NAND FLASH用のNCS3はD15と重なっているので、このCS信号は使えません。しょうがないので、NAND FLASHのアクセス時には空いているGPIOをソフトで制御してCS信号として使うことにします。NCS7は、NAND FLASHアクセスに必要なNANDCLE信号と重なっているので、これも使うことはできません。NCS0はCFRNWと重なっていますが、この信号はCompact FLASHの場合にだけ必要な信号なので、NCS0は利用可能。

残った5本のCS信号から、もうひとつ選択したいのですが、残りの信号はいずれもSSCまたはUSART1と重なってしまっています。どちらも後でW-SIMをつなぐのに使いたいデバイスです。CODECチップを使ってSSCは使わないことにしてしまおうかとも思いましたが、キャリア信号変化はCONNECT/DISCメッセージでソフト的に検出することもできますので、NCS1をを使うことにします。

結果として、NCS0をLCDアクセス、NCS1をSRAMアクセスに使用することにしましたが、デバイスとの競合による制約はけっこう厳しいなというのが感想です。

さて、これでLCDには16bitでアクセスできるようになりました。アドレスA2をRS信号として使い、コマンドの書き込みとデータの書き込みを区別させています。8bitの時の動作と比べてみると、20%~30%表示速度が向上したようです。