スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FM3 GPIOを使う

マイコンの制御の基本はGPIOでしょう。という事で、GPIOを触ってみることにしたのだが、これが少々厄介なマイコン…というか、型を入手していたらしく、最新のマニュアルが役に立たない。古いマニュアルは既にDL済みだったので良かったものの、それがなかったら完璧にハマってたね。

今入手済みのマイコンは MB9BF506N で、最新の物は MB9BF506NA なのだ。これって確実にマイナーバージョンアップしてるよね? 今回は評価基板も自分で作ったのでチップのハード要因と思われし制約が随所にあったのを覚えている。それが…NAでは改善されてるんですよ。この部分が顕著に出てくるのがまさに GPIO の部分。N型品では無効な設定がNA型だと設定OKになってたりする。こういうのは決まってチップの動きと仕様書の内容とが合ってない事があったりする。なので1つ1つ違いを確認しながらN型制約と思われる所はそれに沿った形で設定した。

と、余談はココまでにして、GPIOの制御です。

GPIO周りの設定方法はペリフェラルマニュアルに記載されていて、以下の2図に集約される。

mb9bf506_IO設定(GPIO) mb9bf506_IO設定手順(GPIO)

各端子はGPIO専用ではなく兼用になっているので GPIO に設定する為のレジスタを分かりやすくするように、制御データ系を青色に、信号データを赤色に色づけしてみました。設定手順は図3-1の方に記載されているが……1カ所間違ってない? 明らかに○○は○○より先に設定すべきでしょう。設計思想しだいなのかな? と都合の良い方の解釈して自分が思いついたシーケンスで制御する事にしました。

0.5mmピッチのQFPの半田付けに自信が無かったので、制御可能な全GPIOを1ピンずつ変化させていって、隣のピン等と見えない所でブリッジしていないかの確認も兼ねて行ったので、意外と時間がかかりました。確認方法はロジアナです。流石に全部のピンを一気に見ることはできないので、GPIOの群単位で検査。一応、全てOKでした。

RIMG0350 Port5

使用したソースコードはこちらです。

test_gpio_20120320.zip

デバッガで動かす事を前提に組んでいるので index をデバッガで変更しないと全く何もしない状態でループするだけのコードになってます。



2012/03/20 追記

やはり、アプリケーションノート(I/Oポート GPIOの設定/利用方法)を見ると下図の様にシーケンスが書かれている。DDRの設定の前にPDORの設定が正解でしょう。

mb9bf506_app_note_gpio

スポンサーサイト

コメントの投稿

非公開コメント

黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
最新コメント
カテゴリ
ユーザタグ

ぺるけ RaspberryPi Linux トランジスタ式ミニワッター TRminiWatterPart4 MPD OpenOCD イーサネットコンバータ FON2405E DAC buildroot FM3ペリフェラル BeagleBoneBlack FM3評価ボード library OpenGL mingw ODROID-U2 TL-WR700N Edison bitbake KiCad 計測 VMware シングル FM4 ミニワッター 6N6P プリアンプ 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。