CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

シリアル初期化

ROM化した高機能モニタですが、そのまま電源ONしても案の定全く動作せず。シリアルコントローラAm85C30を連続してアクセスしているにもかかわらずオープニングメッセージすら出ないのでここがちゃんと動作してないようです。まず送信バッファのデータが送出されず送信完了を示すTxEMPTYビットが立ちません。このデバイスAm29030ボードで使用実績があり初期化コマンドもそのまま持ってきたつもりなんですが。

動作ハード環境で唯一違うのは転送クロックを専用のRTxCピンに与えるのではなくシステムクロックPCLKを内部分周して流用したことです。Am85C30のクロックソースは柔軟に設定できますが、それ故制御ビットが複雑で勘違いしてるかもしれません。

設定に影響があるレジスタ

 Write Register 11 (Clock Mode Control)

 Write Register 14 (Miscellaneous Control Bits)

で特にWR140x03に設定しクロックソースを明示的にPCLKとしたはずです

ためしに念のためCPLDに引き込んでGNDに落としていたRTxC(RTCLK)PCLK(SIOCLK)と内部接続して同じ8MHzを出力するように変更。

これだけでシリアル送信がTxDピンから出力されるようになりました。マニュアルの説明と逆のような気もしますが。