回路設計においてマイコンの端子割り付けは手間がかかるしミスをしやすい作業です。この作業は、統合開発環境のコード生成ツールを使うと便利です。その理由を実例をつけて説明します。
私は回路設計/基板アートワーク/ソフト設計を一貫して対応することも多いです。その中で、回路設計中に統合開発環境でコード生成の設定まで行ってしまう作業フローが自然と身に付きました。
マイコン端子の割り付けは面倒でミスが多い
回路設計した基板が完成してソフト開発担当者に渡したら、GPIO出力で割り付けた端子が入力専用端子だったことが発覚。
マイコン周辺のパターン配線が交差しすぎてしてGNDが脆弱。どうもノイズ特性が良くない。
回路設計をしていて、このような経験ないでしょうか?
回路設計において、マイコン端子の割り付け作業は面倒でミスが発生しやすい工程です。
マイコンデータシートの端子機能表は複数のパッケージ/ピン数の型番がまとめて書かれていて見難いことが多いですし、細かな設定は網羅されていないことも多々あります。100ピン以上もある部品のデータシートで、あっち見てこっち見てなんて作業していたらミスするのも仕方が無いです。
こんな時には、統合開発環境に入っているコード生成を使うと便利です。
統合開発環境のコード生成とは?
統合開発環境とは、各マイコンメーカやサードパーティからリリースされているソフト開発ツールセットです。
コード生成はその中のツールで、マイコン機能のレジスタ設定や基本的な制御関数を自動で生成してくれます。マイコンの端子割り付けの他にも各種設定がGUIで行えます。
主要マイコンメーカの統合開発環境をいくつか紹介します。これらは全て、コード生成の機能を持っています。
- ルネサス
- CS+
- e2studio
- Microchip
- MPLAB X IDE
- STマイクロ
- STM32CubeIDE
端子割り付けにコード生成を使う理由
理由はGUIで端子配置図を見ながら作業できる。これにつきます。上のコード生成作業中の画面をみていただければ、その利便性は明らかです。
GPIOの設定は各ポートの入力/出力にチェックを入れるだけ、入力専用ポートには出力チェック欄は無いので間違えることも無いです。
物理的に並んだ端子配置図で割り付け状況を確認できます。基板上のレイアウトを想定しながら端子を割り付けると、配線の交差も減らせます。
型番の異なるマイコンの情報も混在しているデータシートの端子機能表と睨めっこして設計する気が無くなります。
実例
ここではルネサスの統合開発環境であるCS+を使って、実際の作業例を紹介します。
まずはプロジェクトファイルを生成して使用するマイコンを指定します。
そうしたら次は端子割り当てレジスタを設定してピンマルチ設定を決めます。ルネサスのコード生成では、これを最初に行わないといけません。(この設定は一度行うと変更できない仕様がちょっと不満です。今後の改善に期待しています。)
これが終わったら、別タブの【クロック設定】や【オンチップ・デバッグ設定】も実施します。CLK端子やデバッグ端子に別機能を割り当てできなくなります。
次は各ペリフェラルの設定を行います。今回はA/Dコンバータ入力10CHとタイマ(PWM出力)1CH、UART送受信を1CH設定しました。
注目は右上タイマ設定です。チャネル0にはPWMスレーブ機能(実際にPWM出力する端子機能)がありませんでした。こういう細かな仕様はデータシートを熟読しないと見つけられなくて見落としてしまいがちです。コード生成では無い機能は選択肢に上がってくることも無いので間違えようがありません。
次に汎用ポートの設定をします。!マークのついているポートは既にペリフェラルで使用済というマークです。P121=P124は入力専用ポートで内蔵プルアップも無いことが一目瞭然です。
(一番右の【1】のチェックBOXは出力ポートの初期値になり、チェックを入れるとHighが出力されます。回路設計においては関係無いですね。)
ルネサスのコード生成には、ポート出力がオープンドレインのみ(CMOS不可)という情報がありません。出力ポートがHighにならない、なんて事のないようデータシートもしっかり確認してください。
全ての端子割り付けが出来たら、【コード生成】【端子配列へ反映】と選択して端子配置図を確認します。基板のレイアウトを想像して、配線が交差しそうなところがあれば気の済むまで修正を行います。
まとめ
マイコン端子の割り付け作業には統合開発環境のコード生成を使うと便利です。
下のようなメリットが享受できます。
- 入力専用端子に出力機能を割り付けるミスが無くなります
- マイコン周辺パターンの交差を減らしてノイズ特性上げる
- GUIで作業性向上
ハードもソフトも担当されている方にとっては当たり前の事だったかもしれませんが、大企業になるほどハード/ソフト分業が進んでいるため、知らなかったということも多いのではないでしょうか。
今回の記事が回路設計者のミス低減や作業性アップになればうれしいです。
その他のカン・コツ紹介記事
これ以外にもハード設計のカン・コツを紹介した記事があります。こちらも参考にしてみてください。
KiCAD (Pcbnew)の便利な使い方。作業効率アップのコツ
コメント