No.361
LCD Monitor Controller の基板を中国に発注しました。
試してもいない回路を発注するのはどうかって話もありますが、感光基板で自作するには密度があり過ぎますし、間違いがあっても許せる金額だからいいかなと。
そんな品物、PICに与えるクロックを内蔵のRC発振子か外付け発振子で8MHzにしようかと思っていたのですが7.3728MHzにしようかと。
一見半端な数値ですが、PICでRS232系のシリアル通信でありがちなボーレート(例えば9600bps)などを扱うならキリがいいのです。計算上ですがエラー率が0%になります。
目的のLCDモニタは単純なパラレルなので厳密な時間管理は不要だし、I2Cはクロック同期式のスレーブなのでタイミングはマスター任せです。しかし、シリアル通信は非同期なので受信側もボーレートを合わせなければなりません。PICはシステムクロックでボーレートを起こしますので、他に支障を来さない範囲でシリアル通信に都合の良いシステムクロックを使った方がいいのです。
これまでは国内の販売店で7.3728MHzの水晶発振子を見つけられなかったので使っていませんでしたが、試しに中国で探したら普通にあります。1個59円と安いので買っておきました。例によって送料の方が高い。。。
シリアル通信に都合が良いクロックは他にもありますが、この値を使うのはPICの都合です。16系PICのクロックは32MHzが上限で、そのままのクロックを与えてもいいのですが、内蔵の4倍PLLを使えば8MHzを与えることで32MHzで動作します。PLLを使った方が外部ノイズに強いのもありますから、8MHz以下でシリアル通信に都合が良い最大値である7.3728MHzはよろしいのです。
同じ理由で、PICでDMXを扱うなら250kHzの二乗数倍がよろしいのです。
#電子工作
試してもいない回路を発注するのはどうかって話もありますが、感光基板で自作するには密度があり過ぎますし、間違いがあっても許せる金額だからいいかなと。
そんな品物、PICに与えるクロックを内蔵のRC発振子か外付け発振子で8MHzにしようかと思っていたのですが7.3728MHzにしようかと。
一見半端な数値ですが、PICでRS232系のシリアル通信でありがちなボーレート(例えば9600bps)などを扱うならキリがいいのです。計算上ですがエラー率が0%になります。
目的のLCDモニタは単純なパラレルなので厳密な時間管理は不要だし、I2Cはクロック同期式のスレーブなのでタイミングはマスター任せです。しかし、シリアル通信は非同期なので受信側もボーレートを合わせなければなりません。PICはシステムクロックでボーレートを起こしますので、他に支障を来さない範囲でシリアル通信に都合の良いシステムクロックを使った方がいいのです。
これまでは国内の販売店で7.3728MHzの水晶発振子を見つけられなかったので使っていませんでしたが、試しに中国で探したら普通にあります。1個59円と安いので買っておきました。例によって送料の方が高い。。。
シリアル通信に都合が良いクロックは他にもありますが、この値を使うのはPICの都合です。16系PICのクロックは32MHzが上限で、そのままのクロックを与えてもいいのですが、内蔵の4倍PLLを使えば8MHzを与えることで32MHzで動作します。PLLを使った方が外部ノイズに強いのもありますから、8MHz以下でシリアル通信に都合が良い最大値である7.3728MHzはよろしいのです。
同じ理由で、PICでDMXを扱うなら250kHzの二乗数倍がよろしいのです。
#電子工作