2018年1月9日火曜日

やらかす

久々にうっかりしていました…。

さて、PWMを実装するぞと思い、昨年のプログラムとデータシートを見直しながらMTU2の初期設定を書いて、書き込んでオシロで波形を見てみました。
すると、あれ、1つ波形が出ていない…、そういえばこの端子ってPWM対応してたっけ、いやMTIOC4Dだ、大丈夫だ、じゃあ…あれ、そういえばPWMモード1の時の出力端子ってどこで決めっていたっけ、とりあえずPWMモード1でデータシートを検索っと何?
「TGRA と TGRB、TGRC と TGRD をペアで使用して、MTIOCnA、MTIOCnC 端子から PWM 出力を生成します」
……。
そういうことで、完全に勘違いしていました。出せる端子は決まっていたのですね。どこかで記憶が変に上書きされたみたいで、MTIOCなら全部OKだと思っていました。
じゃあMTIOCnC端子に繋ぐようにパターンカットするか?と思いきやそれも出来ません。なぜかというと、他の端子はA/D変換のピンと全てかぶりきっているからです。結局、今回の回路はPWM端子とA/D変換端子の数の都合上、RX631の64pinでは不可能な設計であることがわかりました。

じゃあどうするか?まあただその程度で100pinを使った基板を再発注する気分は起こりません。結局足りないのはPWMピン1つでRCサーボのピンなので、タイマー割り込みで擬似的にPWMを生成することにしました。一応機能上問題はないので、とりあえず解決です。
しかし、理解していたつもりでも読み飛ばす時はありますね。だからこそ難しく、面白いわけですが、まあ再発注にならずに済みそうなので良しとしましょう。

次はSPIですね。それが出来たらモータードライバです。

今日はこの辺で。

0 件のコメント:

コメントを投稿