« stm32作業 | トップページ | 初日終了 »

2008年12月14日 (日)

移動

夕方、新幹線で東に移動。
寒いな。

------

それなりに混んでいたけれど、まあ普通に座れたので、早速ボードを出して評価。
出かける前に、ボードにLEDとタクトスイッチを追加して、PWM動作などが評価できるようにしておいた。

081214

1/2では、小さいブラシレスモーターを使う予定。
そのため、普通のDCマウスと比べ、モータドライバ周りの構成が違ってくる。
ブリッジが3相だったり、ホールICの位相信号を受けたりとか。
まあ、普通はFPGAを使うところだろうけど、普通のフラッシュマイコンだけで1/2サイズに押し込めないと、マウスにならない。

ホールICの位相信号をPWMに反映するのは、まあソフトでも何とかなりそうなのは、前回のlpc採用の1/2でも実証済み。

けれど普通に考えると、両エッジキャプチャのタイマー入力を、片側のモーターだけで3つも占有する。
しかも、大抵の場合、それぞれの信号のアップ、ダウンどちらのエッジでイベントが発生したか分からない(区別できない)。
そのために別途、入力ポートにも信号を接続して、ホールICの位相を検出する必要があり、ポートをそれなりに消費してしまう。

-------

stm32なのだけれど、タイマー周りが今まで触った中では、かなり複雑。過去最高クラス?
今回評価しているstm32は48ピンのパッケージで、st的にはミッドレンジだそうだ。

ルネサスのSH7055あたりも、ちょっと泣けてくるほど複雑なのだけれど。
まああれは、数が多いだけって気もする。

lpcはすべてのタイマーが32ビットとか、贅沢な構成になっているけれど、stmはみんな16ビットのようだ。
まあ、タイマが32ビット必要になることは、まずないけれど、16ビットでは足りなくなることはちょくちょくある。
さりとて24ビットなんてタイマーは、あってもソフトが面倒だ...

-------

さて、今回のstm32の汎用タイマーは全部で4つ、それぞれに4つレジスタがくっついている。

リロードレジスタは別にあるので、H8とかSHみたいに、PWMを使うときはどれか一つを周期タイマーとして提供しなけりゃいけないようなことは無く、レジスタ4個でPWM波形が4個作れる。

中部地区支部の近所を移動中に、3相PWM動作はok。
特に問題無さそう。

H8のPWMみたいに、コンペアマッチだけでPWMを作っているわけではなく、ちゃんと大小比較をしているようなので、レジスタの更新のタイミングに気を使う必要はなさそうだ。

------

続いて、難関の3相、両エッジインプットキャプチャの評価を行う。

stm32の汎用タイマは、shなんかで言うところの位相計数カウンタをすべてのタイマーで設定できる。
今回のチップでも、最大4個のエンコーダーをつなげられる。

この辺から考えても、両エッジキャプチャがあってもよさそうなのだけれど、ひとつのレジスタ相手に両エッジでイベントを起こすことはできないようだ。

しかしマウスにするにはインプットキャプチャのために、6本ものタイマー入力を占有するわけに行かない。

------

このチップのタイマーの機能として、各々のタイマーの入力1~3をひとまとめにして、ひとつのレジスタで受けられる設定がある。

OR論理とかでなく、なんと、3つの入力信号のXORをとってくれるらしい。
ホールIC用の機能とかで、そのものズバリだ。

これを使って、3つの信号をひとまとめにして、さらにそれをCC1、CC2、2個のインプットキャプチャで受け、それぞれ立ち上がり、立下りの設定とすることで、めでたく6個すべてのイベントで、キャプチャ動作が可能になる。

------

それでも、タイマーの動作からは、ホールICの出力がどの位相にあるかは分からない。

けれどなんとこのチップは、キャプチャ入力で使用している入力ピンを、同時に通常の入力ポートとしても扱えるようだ。
なんか本当にちっちゃいマイコンみたいだ。PICとかの。

普通にポートAとして3ビット読み込んで、位相情報もとれる。ok。
これで占有するピンも、最低限だ。

以上、タイマー1を左モーターセンサのキャプチャ、タイマー2で3相PWM生成。
3、4は反対側で、めでたく成立しそうだ。

ふう、長かった。

と、ここでちょうど、目的地に到着。
宿に入って、今日のまとめ&日記。

------

明日は、割とゆっくり出発。
9時現地入り予定。

|

« stm32作業 | トップページ | 初日終了 »

コメント

コメントを書く



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




トラックバック


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

« stm32作業 | トップページ | 初日終了 »