« サーボテスト | トップページ | 中部大会小ネタ »

2015年10月25日 (日)

sh2

sh2基板の話題が流れてるようだ。
みんな苦労しているのかな。

以前、10年くらい前までは、sh2にはよくお世話になった。
当時としては画期的なチップで、性能も桁違い。
何しろ内蔵Flashに書き込んで、チップ単体で動くなんて、夢のチップだった。

個人で購入するのは大変だったけど、頑張って手に入れてマウスを作っていた。
チップ単体も7145あたりで、¥7,000位したかな。

------

さて、shなんだけど、微妙にイケてない仕様がぽつぽつとあって、何度も苦しめられた。
とりあえず怪しいときは、各端子にプルアップ抵抗とか。

例えば、シリアル書き込みポートのRx側には、外部プルアップ抵抗は必須。
無くても、書けるときは書けるので、余計に厄介だったりする。

これは、CPUがブートモードで起動した場合でも、ポートの初期値は、ただの入力ポートに設定されることが問題っぽいように思う。
そもそも書き込みシーケンスが、イケてないのも一因。

sh2をブートモードで起動すると、ブートローダーが起動した後に、ソフトウエアレベルで、Rxピンを初期化し、サンプリングをし始める。
で、最初の”L”パルスの幅を計測して、ボーレート調整をする、ってのがある。

なので、ブートローダーが起動するまでには、このポートのレベルを、いったん”H”に釣っておいて、おもむろに”L”パルスを入れてやらないといけない。
レベルがLだと、いきなりブートローダーが起動失敗する。

接続されているレベルコンバーターの仕様によっては、まったく書き込めない状態にもなったりする。

------

このころのshは、クロックはすべて外部供給で、自分がいま何MHzで起動しているか分からないために、こんな手順を踏む必要があったようだ。

今どきのCPUは皆、ブートモード字は内蔵のクロックで起動する。
その点でソフトウエアのタイムベースの心配はなく、通信のクロックレートをサンプリングする、なんて動きをするのはなさそうだ。
(FLASHの書き込みやWDTの設定に、”実時間”を使う必要がある)

sh7125あたりだと、まだこの件を引きずっている世代なので、色々ケアする必要がある。

確かに、ルネサスのマニュアルを隅から隅までよめば、こそっと回路図にプルアップ抵抗が書かれていたりするんだけど、こんなの気づかねーよ、といいたくなる。

ちゃんとしたsh系CPUボードは、この辺りもちゃんとフォローしていて、必要な外付け部品は予めついていて、問題なく動く。(ことが多い)

当時流行った雑誌付属CPU基板は、この辺が甘々で、まービックリすることも多かったけど...

------

そもそも、ルネサス(旧日立系)のCPUは、リセット時にしかモードが切り替えられないくせに、起動後でもモードピンにノイズが乗ると、コロッと逝かれてたからなあ。

リセット時にサンプリングして、内部で保持してろよ、と思ったことも何度か。

結局プルアップ抵抗では不十分で、並列にコンデンサまで追加しないと、稀に暴走してしまうとか、なかなか難易度は高かった。

------

どうも秋月sh基板には、この手のプルアップ抵抗は、まったく実装されていないようだ。
使うほうで理解して手当てしないと、場合によっては怪しい挙動をすることがあるかもしれない。

まあ、大体はうまく動くと思うけど、大体は...

いまでは、stm32や、lpcとかに乗り換えて久しいので、この手のことに悩まされたことはないな。
まあ、別ベクトルの強烈なエラッタ(仕様?)は色々あったけど。

|

« サーボテスト | トップページ | 中部大会小ネタ »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: sh2:

« サーボテスト | トップページ | 中部大会小ネタ »