1 4 3 静岡理工科大学紀要 電気電子工学科の情報・通信実験における PBL 項目の立ち上げ -H8/3069F マイコンを用いた電子回路の設計と製作一 S加知p 'Ofa ProjωB蹴d Le叩血gsu時副島'f t h eInf'Onna丘'Onand 白mm凶叫'On e x p e r i m e n t 面白eD叩紅白lent 'Of 回目凶回landB配加凶c En前m出19 -D白ign 組d ∞出回ctÏ'On 'Of 姐 el配加凶ccircuit 凶:inganH8.β069Fmiαo ∞mpu町一 袴田吉朗* Y似品iro HAKA島f必Eミ m a t e r i a l'Ou出n回 anewly se凶吋叫x:血nen凶 su吋配t 泊由巳Inf'Ormati'On a n dCom m u n i c a t i ' O ne有国巴出国nt i n O fE1帥i叫 and 日制onic En伊脱出g. 百巴 su吋側面包n必 a ProjωBぉed Lean血g. S旬den包 m t h eD叩artment ' 'Ou酔tωuse 組 H8β069F micro ∞m抑制 as a nen仰e f ' O fm剥ng 佃 ele伽凶c c i r c u i ti nt h esu吋叫With'Out 他, students 回n 企田ly m akeel即位onic cirαúts. 百le res叫ts 'Of 也記 PBL a r e'OU出即d 泊血.e ma除:rial. Alsog i v e ni st h e kn ' O wh ' O whowt ou s eH8β069Fmicro ∞mputers. Abs回.ct:τ'he 1 . はじめに 電気電子工学今村万年生科目である情報・通信実験においては, パンク切り替えなどに余分な也意を払う必要がある.この点に 不満を感じていたことも事実である.一方 H8 マイコンは,フ 従来から「負帰還増幅器の設計と製作」および「マルチパイプ ラッシュ ROM ハ書き込みできる回数が少ないことや" C 言語 レータの設計と製作」という 2つの'PBUこ準ずる実験項目を学生 を用いるときにメモリ容量が不足勝ちになることへの不満はあ に行わせてきた.これらの項目では「製作J と名前を冠してい るが,アセンブリ言語を用いる場合にはリソースの点では特に る通り,この製作の過程を通じて学生が自らの考えに基づいて 問題は少ないように思える.またメモリ容量に関しては外イ寸け 主体的に製作・実験を行うことができるようになっている.し の RAM で対応することも可能である. かしながら製作する回路はあらかじめ決められており , PBV裏目 であると出必ずしも言えない寄防長もある. そこで今年度から íH8マイコンを用いた電子回路の設計と製 作J の項目を新設し,学生が主体的に考えて H8 マイコン以外にも種々のマイコンが開発されており,身の 回りを見ても,液品テレビ,エアコン,冷蔵庫,洗濯機,∞ ラジカセなどなどの家電製品から,自動車の嗣脚に至るまでい ろいろな所でマイコンが電子回路のエンジンとして使用されて マイコンのポートにどのような電子回路,回路素子,セン きている.特に自動車に関しては,電気自動車はもとより,ハ サあるいはモータなどを接続し, イブリッド・カー明邑常の自動車に至るまで,多くのマイコン その接続した回路をどのように制御するかを自分で考え, が使用されるようになってきており,マイコン無しで、は自動車 あるいは図書館で調べたりして は動くことすらできないと言うような現状がある .H8 マイコン マイコンにより市胸される電子回路を設計し, が全世界における自動車に占める害恰が相%にも達していると またその回路を動作させる借胸プログラムを設計し,マイ いう事情も灰聞している. コンで動作する電子回路を製作して音羽面する 本格的なPBV賓目を実施することにした. 回路の中IL'的な前生,言わばエンジンとして国マイコンを 以上のような事情を考慮して本項目の中心的な部品,すなわ ちエンジンとしてH細則F 包MBの外イ寸けD貼M搭動を使用 するマイコンボードを選択することにした. 選んだが,それは以下の理由からである.筆者は数年来 DSP や 本資料では,今年度の実施結果をとりまとめ,次年度に向け PIC マイコンを使用して電子回路の開発を行ってきた.特に PIC ての参考になるようにしたまたH8!3069Fマイコンを使用する マイコンは,形状が小さく通常の IC と同様に実装場所を選ばな ときのノウハウを整理した. い糊教がある.この点に大きな魅力を感じ種々の回路の製作に 適用してきた.一方市販の H8 マイコンは通常ドータボードに 2 . 実験の日程 搭載されており(搭載せざるを得ず) ,これをマザーボードに乗 情報・通信実験は 9 月の第 4 週から開始し,リソースの関係、 せて使用するため,どうしても形状が大型化する.この点で使 から毎週グノlr-プ毎に異なる実験を行わせ,最糊句に全項目を 用するのにためらいがあった.しかし 18 ピンの PIC マイコン 終えるように計画して実施してきた. は語長が短く,またメモリ容量が小さし、たか〈ージ切り替えや, 実験は,教員にとっても学生にとっても初めての経験であり, しかしながらマイコンの 全員が同時に行った方がイ可かと都合が良いであろうと判断した. 加13 年 2 月 19 日受理 本理工学部電気電子工学科 当初 H8 マイコンの実験には 2 週間分(コマ数にして 6 コマ) を割り当てることを予定していたが,これではまだ時間的に十 Vo 1. 21 , 2 0 13 1 4 4 分ではないであろうとの観測もあった. なくす,などをより徹底させる必要性を感じた. そこで予備日等も使用することになる可能性も考慮して,極 7 班の圧電ブザーによる音の発生は, 3 音の発生はできたもの 力終わりの方の日程に組み込むことにした.また設計の過程で の, 必要になった部品を調達する時間的な余裕も考えると,連続し った.学生達に周波数や周期に関する知識が十分にあるのか否 た 2 週間に 2 回の実験を行う日程では無理があり,最低でも 1 カミの懸念が頭をよぎった. ドレミファソラシドの音階を発生させるまでには至らなか 週間は空ける必要があろうと考えた.これに基づき 2 案のスケ 3 班の,点滅させる IED をスイッチ入力により変更する回路 ジュールを学生に提示し選択して貰ったところ賛成多数により は,コンテスト開始時間ギリギリであったが完成させることが 1 回目・・・ 11 月 29 日 できた. 2 回目・・・ 12 月 20 日 (12 月 6 日, 12 月 13 日は他の実験項目を実掛と言う日程に 決定した.なお実際には 1 月 9 日の予備日にも第 3 回目の実験 (特にプログラムの作成,マイコンを使ってプログラムを動作 させる作業を行った. 2 . 1 学生の選んだテーマと実施結果 マイコンボードの数量の関係で,グループ単位 (3"'4 入)で 1 つの回路を製作して貰うことにした.全 8 グループの学生達 が選定したテーマと,第 3 回目の時間の最後に教員,五およ ひ学生全員で行った作品コンテストの評価結果を表 2.1に示す. 表 2.1 事路 実施したテーマおよびコンテストの結果 アー守F コンテスト結果 4X4X4IED キューブ ドットマトリクス IED C1個) C 3 スイッチによる点滅 IED の嗣胸 B 4 IED の点滅 C ドットマトリクス IED 包個) 4X4X4 IED キューブ、 A 2 5 図 2.1 C 6 IED の点滅 C 7 圧電ブザーによる音の発生 B 8 IED の点滅 B 実験実施時点において,マイクロプロセッサ応用の講義を受 講している学生はいたものの, H8 マイコンに関してはまだ村示 に勉強している訳ではなく未熟であった.またこの講義を受講 していなし学生も多数いた.そのため実験テキストに例題とし てま識しておいた IED 点滅のテーマを無難に(換言すすUま安易 図 22 ドットマトリクス IED (1 個) 図 23 ドットマトリクス IED 包個) に)選んだグループが半数を占めたものと,酎コれる. 反面 1 班の r4X4X4IED キューブ、」は秀逸であった.特に 脳泉および半田付けは非常に美しくできており,その見事さは 賞賛に値した.プログラムの動作も弘司題なく,青色 IED をプロ グラム術胸により点滅させる訴求カのある作品にできあがって いた.コンテストの結果でも多くの支持を得ており,また羨望 の眼を注がれてし、たものと思われる. マトリクス IED を用いた文字(アルファベット)の表示回路 には, 2 つの班がチャレンジした.もし実現できていれば製作 した学生達も大きな達腐惑を味わうことができ,また他の学生 溜こも興味を喚起できたものと思われる.しかし残念なことに 完成には至らなかった.実験終了後に筆者が百鵡を確認したと ころ,数ヶ所の商議ミスが見つかった.事前の商品泉図のチェッ ク,半回付けを行った音防長をマーカーベンでなぞらせてミスを 1 4 5 静岡理工科大学紀要 そのためまずモニタプログラムをH8マイコンに書き込む必 要があった.しかしこれがなかなかできなかった.これ出必ず しも学生の未熟さだけが原因ではなく,マイコンと PC を接続 する RS232C コネクタにルーズコンタクトがあったので、はなし、 かと推察される蓋然性があった. ⑤ 11 月 22 日にそれまでに実験した項目に関する発表会を実 施した.その際に終わり時句 1 時間を割いて rH8 マイコンのい ろは」に関する資料を配り,ガイダンスを実施した.しかし実 際に PBL を行った時点においては殆どその内容を理解してい ないか,あるいは記憶していなかった. ⑥但し,分からないことでも実験テキストに書かれている内 容を見て自分たちで苦闘してみたり,あるいはそれでも分から 図 2.4 圧電ブザーによる音の発生 ないことは教員に積極的に質問してきたりしたので, PBL の目 的は達成できていたものと思える. 今年度は,実験テキストを作成したのが 8 月の夏休み中であ り,そのときには PC に WmoowsXPマシンを使用した.現 3 年生の PC がWindows7 であることから, 10 月になってから急 逮劃乍の確認を行ってみた.その結果不幸なことにテキストに 置謎した内容ではうまくいかないことカ哨明したそこでかね てからルネサス社の担当者と親交があると聞いていた電気電子 工学唱の高橋教授に相談した結果,ルネサスネ土から Wmdows7 マシンで動作する HEW 接続シリアルモニタの提供を受けるこ とができた.またモニタを学生に開示する承諾も貰えたので急 逮資料を作成し, 11 月 22 日にガイダンスを行った経緯がある. 来年度出邑要な資料を全て実験テキストに記載することがで 図 25 IED の点滅 (8 即 2.2本 PBL 項目を実施したことにより得られた知見 ①第 1 回目の「何を作るのかを決めるJ , r回路図を作成する J , f部晶表を作成する j ための時間には当初 3 コマ(合計 5 時間) きるので,よりよし精果になることを期待したい. 3 . H:叡揃i9Fω四外部 D貼M 付き)の使用方法 3 . 1 回路図および1/0 ポートの機能 図 3.1にマイコンボードの回路図を示す.震源は図左上にあ を配分した.また時刻を 16 時までと限定して「何を作るの るコネクタ(J1)を介して供給する. 3 端子レギュレー夕方主使 か」を提出するように促したが,あらかじめ準備をしていたと 用されているが,ホット側のピンを,メッキ線を用いて半田付 思われるグループを除きなかなかテーマが決まらなし、ょうであ けし, 3 端子レギュレータを使用しないで,直接5vの安定化電 った. 源パックから電源を供給するようにしている.なおクロック周 ②回路の製作が遅い 波数は 25MHzである. 3"'4 名の班員で 1 つの回路を作成するため,作業がタイムシ マイコンのリセット端子は白番ピンであるが,本ドータボー リアルとなり製作を完了させるまでに多くの時聞がカミカミる傾向 ドにi語識されていない.しかし電源を抜くことによりリセッ が見られた.回路製作とプログラムの作成などを分担して行っ トを代替することができる. HEW 接続シリアルモニタの説明 ているグル~プもあったが,なかなかそのようにはうまく行か 書 h必me.ht:m)には NMI 端子 (64 番ピン)にスイッチを接続 ないグループも見られた. レポートの感想には,作業を分担しない学生は手持ちぶさた して L に落とし, NMI 割り込みを掛けてリセットを代替する方 法が示されている.これは単に αU ボードの電源を切っただけ になり,不公平であるとの意見も書かれていた では HEW は停止せず,結局タスクマネージャでキルしなけれ ③恐らく大半の学生が,H8マイコンのアセンプラはもとより, ばならないからである.本実験でもこの方法を使用した C 言語のプログラム経験も少ない(あるいは全く経験がない) ため,なかなかプログラムができないように見浸けられた. 3.2使用できるポート ④本実験ではマイコンの ROM へのプログラム書き込み回数 表 3.1は各1/0 ポートの機能を整理した表である.マイコン を減少させるため, RAM にプログラムを読み込んで劇宇させ には多くの機能が集約されており,マイコンのピンも各種の信 てデバッグ、を行う RAM エミュレーションを使用した. 号で共用されている.どのようにマイコンを動作させるれど 1 4 6 Vo 1. 21 , 2 013 む舎費E . 外部 D臥M(2MB) 図 3.1 表 3.1 DRAM 用 ポート 1 ポート 2 ポート 3 Plγ~Plo 。 P22~悶 。 P 2 i " " ' P 2 3 時~悶 。 H8β069F マイコンボードの全体回路図 H8!3069F マイコンのI/O ポートの機能 入力 出力 内劃司辺 ポート ポート 機器 ラ ラ ラ ラ 。 ラ ポート 8 ラ ラ 。 ポート 9 ポート A ポート 4 F令~P40 ポート 5 P53~P50 。 ラ ~~同 。 。 パス伽胸 時7~P6:J ラ ラ パス併脚 P7s~円。 。 ラ ND P 7 i " " ' P 7 . 。 。 ND, ポート 7 用 P&~I'BJ 。 ポート 6 DRAM 出力 ポート 内劇奇辺 ポート 槻量 。 ラ α 端子,取ら ラ ラ (ロロ, IRIω 開1 。 ラ α 端子, I R ( 1 同 。 。 α 端子, IR(為 円7~.円。 。 ラ SCKl,sα 。 。 1PC,タイマ 。 。 時 。 PA i " " ' P A o ~~1'Bt; ポート B 入力 11'(ユタイマ, DMA l'B:!~PBo 四ヨh 。 江..CAS PI込 。 凡JCAS D/J屯 のピンにどんな信号が出力されるのか(あるいは入力すべきか) を適切に判断して処理を行う必要がある.詳細は rH8/.揃9 F-ZTATIM ハードウェアマニュアノレJ の P.285""'P350 に書かれ ている. 表 3.1 において DRAM 用にOがついているポートは,既に外 部 D貼M に接続されており,ユーザが使用できなし、ポートで 1 4 7 静岡理工科大学紀要 ある.ユーザは D貼M 用がーになっているポートを使用でき 入力電流の特性である.これより5v入力時のソースドライバ るが,入力ポート,出力ポートあるいは内蔵周辺槻告でポート の入力電流は 03mAであり, H8 マイコンと直結しても良さそ を共用しているので,それらが競合しないように適切に使用す うである.しかしシンクドライバの場合には入力電流の MAX る必要がある. 嚇泊nAとなり直結は好ましくないと思われる.先の rH8,β価9 これより,入力ポートとして使えるオキートの数は多いものの, 逆にlEDの点灯に使えるような単なる出品ポートとして使え るポートはあまり多くないことが分かる.なお, rH8/.3師9 F・ZTi訂1MハードウェアマニュアノレJ には 21dJ の抵抗を挿入す るようにと記載されている. 実際にこれらのドライバを使用したのは, lEDマトリクスア F-ZTATIM ハードウェアマニュアノレJ の R宵2 に書効サもてし、る レイの回路である.正常な動作ができていないのは,直結した ように,オトト 1, 2 および 5 以外のポートでは,各ポートに流 ことによりマイコンを破壊した恐れがあるが,現時点ではまだ せるシンク電流ソース電流の最大許容値が 2mAと小さい. 確認ができていない. 9 p i nD-Sub したがってマイコンで直張lEDを思議肘ーるときにはこの許容 (オス) 電流を超えないように電流制閥酎先を大きめに設計寸るカろあ USB-A PC 1"曜四 VIN 3 RI CTS RTS コネクタ (プラグ) を介して駆動するようにする必要がある. ny 。。『,一ζu ,、 M, 司 A dA 『内‘d 今, るいはダーリントンシンクドライパ(あるいはソースドライバ3 USB- シリアノレI DSR GND 変換ケーブル DTR ‘一ー A4量}gS 』』添恒d 輔u 『 たず弘喜 TX 2 9 p i nD-Sub RX DCD (メス) H 8 / 3 0 6 9 F (SCI 1 ) 6 2 3 3 4 INPUTVO主TAGE Tx Rx GND v,拘i ( v ) シンクドライバ官)62(凶iAPG の入力特性 図 3.2 I!N-VIN 図 3 .4 USB ーシリアル変換ケープ、ルを用いた 暫 PC と H8マイコンの接続 τ:402783APG1AFG T.-25句~ t y p {〈 ε} / / 茎 紫綬門別ベ 。 書 日4 E 。 日/ 3 . 3 p(ごとの接続 実験で使用するマイコンボードは 3 チャネルのシリアノ吋酎言 チャネル (Sα ポート)を有している.そのうち sαo (∞MO) / / および S口1 (∞Ml) の 2 チャネルはマイコンのドータボード 上のヘッダヒ。ンに菌識されており,信号を外部に取り出せるよ うになっている.ユーザの開発したプログ、ラムを PC からマイ コンの ROM に書き込むためには., Sα1 (∞'Ml ,電源端子に 日/ s 4 入カ . . 窪 図 33 v V1N 12 10 ( v ) ソースドライバ百)627回,APG の入力特性 近い側のコネクタ)を使用する.また後述するように,プログ ラムのデノ〈ッグも SOI (∞Ml)を介して PC と通信しながら 行うことになる. 旧来の PC には∞M ポートがついているものが多かった(今 ではレガシーインタフェースと附設している)が,高丘ではこ 本実験ではダーリントンシンクドライバ百)62(郎APG および の∞M ポートがついていない配の方が多くなってきており, ダーリントンソースドライバ百)62783APG を使用した.図 3.2 学生が使用する陀にも∞M ポートはついていない.そこで およて周 33 はカタログから抜粋した両ドライバの入力電圧一 図 3.4 に示す USBーシリアル変換ケーブルを使用して接続した. 148 Vo 1. 21, 2 0 1 3 参考のために RS232C コネクタ(プラグ)の形状を図 35 に示 割り込みベクタ しておく. なおそのままストレートに接続すると通信ができないので, モニタ本体 1x線包番ピン)と RX 線 (3 番ピン)減撤されるように, H8 マイコンを搭載するマザーボード上でクロスさせて配線し (S12KB) リ エ出一エ却 うにフロー市胸のための信号である RIS-CIS および DSR ノ まま返送されるようにしておく. 3-η * D1Rは西識により短絡しておき,配から送信した信号がその ム 一グ ザラ プ ユロ HHHHHHHHU OO Auuuuuuuuu nHHHHHHHU nHHHHHHHHu nHHHHHHHu nHHHHHHUHU OO < 4 * Pl 刊明一打一明 未使用 ておく必要がある(図 3.4 の太識で示した部分) .また周知のよ 6 H8 の内蔵ROM 9 9 p i nD S u b RS232 園 35 3A RS232C コネクタ(プラグ〉の形伏 H:制勝Fω佃外部 D臥M っき)の物理メモリ H8!3069F マイコンの物理メモリの具体的な配置併部 D貼M 容量 2MB,モード 5) は図 3.6 に示す通りである. H8 マイコン モニタ用ワークエリア (4096B) の ROM への書き込み回数制限は公称 1∞巨躍度と言われてお ユーザ プログラム り,これが事実とすすもば非常に少ない.そこで通常デバッグ、時 には,モニタプログ、ラムを用いてユーザプログ、ラムを RAM に ロードして動作させるようにし,極力 ROM への書き込み回数 を減少させるようにして開発を行う方法が用いられる.本実験 ユーザ プログラム でもこの方法を用いた. HEW 接続シリアルモニタモニタの説明書Creadme.h位。に書 かれているように,モニタが内蔵 RAM の一部領域 (4KB) を H8 のI/O(2) ワークエリアとして使用するので,ユーザの使用できる内蔵 * RAM の領減i詩句 12阻になる. 逆にかベ国F 番地は実際には ROM 領域であるが,ユーザが ① モニタプログラムの僧紡法 ( 2 2 B ) 図 3.6 HEW接続シリアルモニタを用いて RAM動作をさせる場合のメモリマップ 割り込みベクタを設定することができるようになっている. 4 . エリア 7 ABWα(パス幅コントロールレジスタ) [ p . 1 3 4 J ダウンロードし展開したホルダ'-Ren岱as Hterm の中にある お剖me.h1回 (HEW 接続組み込み型モニタのカスタマイズ方法) に従ってモニタプログラムをカスタマイズ、する. 各ピットがエリアぴ』エリア 7 のパス幅を決める. 1 のとき 8 ピットアクセス, 0 にすると 16 ピットアクセスになる.本実 4 . 1 スタートアップモジュール出rdWareSen司p.c の作成 H8β069F 包MB 外部 D貼M 付き)用のスタートアップモジ ュールの作成結果を図 4.1 の臨吋WareSぬ.ip.c 以下に各設定の説明を示す.なお[ に示す. J 内に示してある数字 験で使用する DRAM は 8 ピ、ットアクセス空間を用いる.モー ド 5 では, リセット時に ABWCR は H'FF にイニシャライズ、 され,全エリアが 8 ビットアクセス空間になるので,特に設 定する必要はない. は郎β069F-ZTi訂τM ハード、ウェアマニュアルにおけるページ 数である. ② RI∞R( リフレッシュタイマコントローノレレジス)[p.四] リフレッシュカウンタ RICNT に,システムクロック φ を 1 4 9 静岡理工科大学紀要 MX C= 2 悶MCSR で設定した値に分周したクロックが入力され, カラムアドレス 10 ピットのもの RfCNTの値が RICOR と比較され,一致したときにリフレッシ 岱EUtuCAS, LCASの出力端子の設定である .P副および ュサイクルが起動される.なお DRαB の Rαα を 1 に設定 P町を使用する 仁志目見 RcyæはCAS ピフォア RAS (CBS) しておく必要がある. リフレッシュの使用を 許可する ③ RIMαR( リフレッシュタイマコントロール/ステータスレジスタ) RαE= 1 1PCはプリチャージサイクルを1 ステート挿入する T P C=O [ p . 1 5 2 J RCWはリード/ライト時にRAS, CAS聞へのウェイト挿入 を禁止する 割り込みを使用しなし、のでCME--cMlE=O RLWはリフレッシュ時にRAS, CAS間へのウェイト挿入を (初期目にして RLW =O 禁止する おく .αS2~C応O の値でシステムクロック (φ=25M肱)を 何分周して,リフレッシュカウンタ悶'CNT (アップカウンタ RCW=。 以上より DRCRB=B'l∞11αx) =H'98 とする. であり, P斗ではなし、)に供給するかを設定する. 搭載されてしも D臥M はM5117却6F岨TK(OKりである.こ ⑤ DRCRA ω貼M コントロールレジスタ N [ p . 1 4 7 J の D貼M のデータシートを入手できなかったが類似品 (Ms防 117飾的のデータシートによれば,リフレッシュレー トは 2倒8 回/32ms,すなわち 64kHzである. したがってこれ を満足するように RICOL および悶MCSR における C邸の値 を進ぶ.システムクロックの値を φ(=25MHz)とするとRfCNT に入力されるクロックは CKS の値により以下のようになる. C邸 。 カウントなし 1 2 3 4 5 6 φ/2 φ/8 φ/32 ( = 1 2 5 MHz) ( = 3 . 1 2 5 MHz) ( = 7 8 . 1kHz) φ/128 (ニ 195kHz) φ/512 ( = 4 8 . 8 k H z ) φ/匁胤 (=12.2妊Iz) 7φ/4凹6 DRASAはエリア 2~5 のそれぞれを DRAM で使うのか.SRAM で使うのかを設定する. DRAS D貼Mを使う空間 O D貼Mは使わない 1 エリア2 (CS2) のみ 2 エリア2 3 エリア2,エリア3をα2だけで4MBの空間として ( C S 2 ),エリア3 (C臼) 使う 4 5 エリア2 (C包) ,エリア3 (α3) ,エリア (α4) エリア2 (α2) ,エリア3 (1α3) ,エリア (α)4) , エリア5 6 ( C S 5 ) エリア2,エリア3 をα.2,エリア4,エリア5をα4 で使う (=6.1k肱) アップカウンタRfCNTを用いて 64kHzのクロックを作成す るためには, αs を 1~3 とする必要がある.自由度の多さを 考えて α5=1 ,すなわち φ/2 彼mαR=H'OF) を選ぶもの 7 エリア2"'-'エリア5 を臼2で使う エリア 2 に D臥M が増設されているので, 白RAS2=DRAS1=O, DRASD=I)に設定する. D貼Mが高速ページモードを使える場合には とすれば,リフレッシュレートは以下のようになる. D貼S=1 BE=1 (こ設 悶'COL:: 195 で約 64kHzのリフレッシュ 定すると,連続でメモリを読む場合には皐くなる.この 町'COL:: 125 で 1∞回z のリフレッシュ DRAMは高速ページモードを使えるので BE=1 とする. RDMは高速ページモード時におけるパーストアクセス時に, ④ DRI臼田 (DRAM コントロールレジスタ B) [同, p . l4 9 J RASアップモードを使うか, RASダウンモードを使うかの設 定である.今回はRASダウンモードを溜央し RDM=l と する エリア 2 を使用するが,①で述べたように本実験で償却する マイコンではエリア 2 は 8 ピットアクセス空間になっている. MXCはカラムアドレスのビット数を指定する. S旺MDはセルフリフレッシュをするか否かの設定である. 対応していないので RFSHEは旺SH端子(p加)から外部にリフレッシュ信号を 012 R岡田=0とする. 8 ピット RFSHE=Oのときポート問Oは入出力ポートとして使用でき 9 ピット る. 10 ピット 本実験で使用する DRAMは とする. 出すか否かの設定である.必要ないので 恥庇C になっている. S旺MD=O 以上より とする. DRCRA=B'佃111αX>=H'38 1 5 0 ⑥ Vo 1. 21 , 2 013 ボートデイレクションレジスタの設定 [p.290, p293, p 3 1 5 ] プログラムでは NOP 命令を使って僧或している. refr討Uo叩 は 1 回で却ステートであり,これを 25MHzクロックで男子す 外部 D貼M の容量は2MBである.また 8 ピットアクセスで 11 あり, 2 =2倒8 であるから 11 本のアドレス線(Aぴ~A10) が 必要になる.表 3.1 に示したように,これらのアドレスはポー ると{坤IS になる.したがってループ回数は計算上 156.25固と なる.これを多めに見績もって 250 固としている. 以上の結果をまとめたものが図 4.1の結果である.なお BSC ト 1 (P1ト'P17) およびポート 2 の一部側'"'"'P22)と共用に は DRAM やパス関連のレジスタを束ねる上位概念であるが, なっている. ハードウェアマニュアルには明示的な記載はない.しかし DDR レジスタを出力に設定するとアドレス線と して使用できるので,まずポート 1 およびポート 2 における前 3師免.hには詰蔵されている. トのポート)に関しては,チップセレクト信号の出力端子とし て使用するためエリア 2 ~α2) に対応するピット 2 を DDR= 1 に設定する.上位 3 ピットは don't冶ぉである. A . f Y " A7 アドレス A 8 ' " ' " ' A 1 0 1 , 1 f 1E 時間 f.to.J は最大 15ns である.したがって DRAM を接続し 己ワ ι である.使用している DRAM において, CAS からのアクセス ・円4ntnJ=zntn H8!3069F のクロックは 25MHzであり, 1 クロック時聞は40ns I ォルトでは 11 になっており 3 ステートのウェイトになっている. BSC.RTCOR BSC.RTMCSR.BVTE BSC.DRCRB.BVTE BSC.DRCRA.BVTE P 1 D D R P 2 D D R P 8 D D R VAVAVA ・ よびW20に設定した値によりウェイトステートが決まる.デフ H a r d w a r e S e t u p ( v o i d ) ., .,.,., F'auau ta 斗 EI 『, 「「 nunU ・--E W7'"'"'WO はそれぞれの外部 D貼M エリアのウェイトステー トを決める.外部 D貼M をエリア 2 に接続しており, W21 お 。 id ; 門ununu ・I WOl 腎h i I e(トー) FhunH 門U 司 un弓u ・'』 wa剖, WCRL(ウェイトコントロールレジスタ) [ p . l 3 6 ] v o l a t il ei n tt =2 5 0 ; nιVAVAVA 1 ⑦ { o i dw a i t _ 8 0 u ( v o i d ) 4 E E n H u n H u n H U ・ エリア 2 (α2) のみ使用 i o d e f i n e . h -' - アドレス 1 PIDDR=H'FF P2D DR=H'07 P 8 D D R = H ' 0 4 世 include unu--n4 内aa 斗 Ednb 円4n3a4EUnO守tnnnunu--n4 向。a4Eunb、tnU 向明 記の DDR レジスタのピットを 1 にしている.ポート 8 (5 ピッ ., ,., E B S C .l YC R.BVTE.L BSC. 明 CR.BVTE.H =OxFF; =OxCF; BSC.ASTCR.BVTE =日 xFB; w a i t _ 8 0 u O ; 図 4.1 スタートアップモジューノレ出rdwa凶蜘Ip.C の作成結果 たエリア仁志2 のウェイトステートを 0 何月21=W混同)とし, 4 . 2 DRAM アクセス時のウェイトを 0 とする. よって wc悶I=B'11111111 =H'FF, wc阻.-=B'11∞ 1111=H'σ シリアルチャネルにおけるボーレートの設定 WmdowXP+Htenn の環境下ではリンケージコマンドファイ となる. ルを用いて行っていた設定が, HEW 接続シリアルモニタで、は なお内蔵メモリおよび内部1/0 レジスタに対するアクセスス 直張モニタのタブにより設定できるようになった.一部シリア テート数は:wc問、 WCRL の設定値にかカわらず固定である. ルモニタのボーレートについては計算式を示したおいた方が 後々の参考になると思われるので以下に示しておく. readme.htm には計算式が示されていないが, H8β069F Z'D\TIMハードウェアマニュアノレによれば次式で表される. N= それぞれのエリアのアクセスステート数を決める .DRAM は 64x2n-1xB 高速でありアクセスステート数=2 とする. よって ASTCR=B'11111011=H'FB 6 リxl0 但し :φ ・・・システムクロック(=25MHz) とする. n. ・・分周比 ⑨ B ・・ .sα チャネルのボーレート wai副加 (8 リフレッシュサイクノ吋示の wait を入れる) D貼M の説明書によれば「電源投入後恥が規定の電圧に B=384(蹴>aJJdとすすLI主 N=19 (10 進数, 16 進数では 13) フレッシュサイク/レ(仁冶S ピフォア RAS リフレッシュサイク n=O, n=O, n=O, ノ同寺)を加えて下さし、J と注記されている. となる. 到達してから笈均s 以上のポーズをとり,その後 8 回以上のリ B=1児αlbaud とすすLば, N耳ω(10 進数, 16 進数では 28) B= 矧Thaud とすれば, N瑚 (10 進数, 16 進数では 5ω DRAM のリフレッシュレートが笈胤β2Im=64kHzであるか ボーレートは早し、iまうが良し、が,正しく通信できなければ意 ら, 8 サイクルでは 125凶の遅延時間になる.この遅延時間を 味がない.試してみて文字化けのしない品車のボーレートに設 1 5 1 静岡理工科大学紀要 定する. WlI由IWXP+Htenn の環境下では,モニタを書き込むと I措j り込みベクタが配置されている.ベクタテーブルは in胸C きには 384∞Ikbaud で良いが,ユーザプログ、ラムの読み込み時に において,例えばタイマー割り込みの場合には は貨政)b釦d までボーレートを下げる必要があった. J蹴rrupt(v昨:24)void 町工削IAO(void) {/叩問。;叫 E犯W 接続シリアルモニタの場合には両方とも 3制∞地加d に 設定村Uま良い.逆に H加m の場合と違いユーザプログラムの と言うように<割り込みベクタ番号> (v出=24) を言白金するこ とによって自動的に生成される. 読み込み時に攻以lbaud までボーレートを下げると動作しない. 5 . 表 5.1 間隔で点滅させるプログラムを図 5.1 に示した.以下このプロ グラムを例にとり説明する. " ' 3 0 6 9 s . h ' " hHV AHHV 品H Fト・ T - M m - TA Ta のu 名称 属性 メモリ 1 プログラム領域 P ∞de 2 定数領域 C 3 4 初期化データ領域 D d a t a d a t a ROM ROM ROM 来初期化データ領域 B daぬ RAM αDSEC d a t a ROM αBSEC d a t a ROM S s t a c k RAM 象劃ωンカ問揮許右目 ~cl' u LデH;;よZ 5 ., 6 、I AL 、 ・・・'= nE -ュ 品H Bn'l ュ - 、., 」u hHu --、 o v a e・,・ t c.d m I酢占 -n T-c HU&Lr u n-ュ T nf lEC TACi---- ・・ 品目脅・'・ MVF4 nti -no ポート 6 に接続した IED を,タイマー割り込みを用いて 1s P6DR.BYTE ^ =OxFF: c n l =5 0 : 7 初期化データセクショ ンのアドレス領域 来初期化データセクシ ョンのアドレス領域 スタック領域 コフパイラ I v o i dm a i n { v o i d ) ' } 1 t ! J'5 カテjlJ (':O P6DDR =OxFF: P6DR.BYTE =OxOO; ITUO.TCR.BIT.CCLR =1 ; ITUO.TCR.BIT.TPSC =3 ; =62499; ITUO.GRA ITU.TISRA.BIT.IMIEAO =1 ; ; ITU.TSTR.BIT.STRO =1 c n l =5 0 ; ヨ | 融制品 牌唖 図 52 │ ROM 動作時のメモリ配置 5 . 2 デバッグにおける設定 プログラムあるいはデータをメモリに配置して管理するのは ビルド/H8 3∞ ぬn也Id1l∞1 白血/最直化リンカ/セクションの部分にお いて設定する. fH路、H8I3∞シリーズQ'C++ コンパイラ、アセンブラ、最適 化リンケージエディタ J 句.184,裁1に詳細が示されているが, 代表的なセクションとそれを配置するメモリ種別を表5.1に示す. ( 1 ) HEW のシミュレータを用いたシミュレーション H8 マイコンは ROM への書き込み回数の最大値が 1∞回程度 と少ないようである.従ってデバッグを行うにはまず PC 上 でシミュレーションを行い,その後に PC とパソコンを接続し てプログラムを RAM に読み込んでエミュレーションを行う方 法が適していると考えられる.これにより ROM への書き込み 回数のi邸知2図れる. この場合には表 5.1 およて周 52 において ROM に配置された セクションを RAM に移動させる必要がある.図 53 にメモリ 5 . 1 プログラムを ROM に書き込んで動作させる場合 最終的にはプログラムをマイコンの ROM に書き込んで動作 させる. HEW を用いて C 言語のプログラムを作戒し 、, i帥叫| 割り込みによる IED 点滅プログラム リンカの役目であり,ユーザが HEW の : 政定項目電.) : whiI 邑 (1 ) ; 図 5.1 セクション 領域 C 言語を用いたプログラム例 , qE1n 代表的なセクション ピルド /H8_:ヌ旧ぬn也Id1l∞,10凶n/最適化リンカ/セク、ンョンを PR蹴tPRG----D のセクションは ROM に配置されている.セ エ,,~イラ 1 ]7むブラ 間~('() : 陣』 ~ E街~頁目 (5) : 匝お~ S e ct i o n クション ß, R および S は RAM に配置されている.この例で P Re:鈴tP 限lPhtP側3 は外部 DRAM には何も配置されていない.プログラムが大き P.C.C$凶 EC瓜白 EC. D B. R S くなるとセクション P が大きくなるので,表 5.1の原則を守り つつプログラムが収容できるように境界を調節する必要がある. なお図 52 には示されていないが,実際にはかべ>XFF番地に 臨fヒリンカ | 標準ライフヲ1) 1 C P U 1 チバ叫 図 53 こj ヨ 44 Lf 開くとデ、フォルトで図 52 のようになっている. 配置の一例を示す. 1 5 2 Vo 1. 21 , 2 013 リミユ I ーク IIIIÜ ム 脳同 メモリリν』ス (ß): 図 5.4 シミュレータシステムにおけるメモリの設定を図 5.4に示す. 図 M の物理メモリの配置を設定対Uま良い.図 5.4を正しく設 定しないと|メモリアクセスエラ斗が発生する. 6. む杭F 電気電子工学等ヰ 3 年生の実験科目である情報・通信実験にお いて今年度から新設し,実施した PBL 項目である rH叙蜘,9F マイコンを使用した電子回路の設計と製作J の立ち上げおよび ωHEW 接続?ンリアルモニタを用いたエミュレーンョン 実施結果について報告した.また回路の中心的な役割を担う PC とマイコンを接続し, HEW のげバッグの設掴におい H8I弧,9F マイコンを使用する上でのノウハウを整理した. て岡β側王伽副蜘ni叫を選択するとシミュレータを使 今年度初めて実施したので数々の乃覗リの事態や,課題が見っ 用する場合と全く同様にしてエミュレーションによりデバッグ かり,また結果として多くの知見が得られた来年度は,これ を行うことができる.セクションの設定は図 53 と全く同様で らの結果をベースにしてより良い方向に持って行けるものと期 良い.シリアルモニタ使用時には割り込みぺクタを本来は ROM 待している. 修務宮であるO--O xFF 番弛に設定できるようになっている. し たがって intpIg.C における設定は変更する必要がなく,図 53 の メモリを全て RAM 領域に配置すすUま良い.この場合にリセッ ト直後に表示した割り込みベクタ領域におけるメモリ内容を図 55 に示す. また RAM のメモリ配置を貴重買アドレスが批FF百20 となる ように変更した場合を図%に示す.実際には RAM 領域にマ ッピングされるが,表面上 ROM の内容が書き換えられている 電気電子工学科の高橋久教授には HEW 接続シリアルモニ タの件でし、ろし、ろとお骨折りを頂いた.深く感誘撤します. またルネサスエレクトロニクス株式会社の鹿取祐二氏には同 モニタをご提供して頂いた上に,当方の回路,プログラムのチ ェックまでして頂いた.ここに記して深く感謝の意を表します. [参考文劇 1 ) /レネサス社,‘包8成J69F-ZfATIMハードウェアマニュア 任問 ωmmgωω ∞陀 mmωωωω ザ同時間恒""M がw 叫m 柑w 毘M 柿従犯玲花 ゆ白川刷制伺泊伺臼鈎倒判M明 制筏同刑判 勾 mnωmm 臼 ωω ∞ mmmm 民的 ω mMM 川可川鴎 山町制的脇町““おh 川河 -12SODa-OBonoo aa 肉ua ・m- aHVAHvavn-a ・H a- 向U0 ・0 ・ashun 制的 崎市必綱相 M ωHM制品制 開羽ωω 柑州刑判 措司白開制凶閥的 ω制 ωmmmmm tmwunu花崎 rR “ um““ η 川 崎町 mmωωωωωωmmωωωω d 可児mωω 品開伺 ωωω 嶋崎柑 ωω 柿綿 崎町回市問伺切符組問闘印刷仰初刊 - aE800808800Eoo 4 'o 770009000008200 目 ・0wAHvhum-avn ‘ cs RAM 動作時における割り込みベクタ 一 切鈴舘崎 MU凹H 花 ω 鉱泊鉛町民総一 M 回目MV メモリ配置を変更した場合の割り込みベクタ 一 mEE 官官g 官gH咽加RE 官房嘗錦町官官官官官白 議円 ωωmaωω ∞ mwωωωmωωωM 山 昨停筏昨作付町立 昌阿国 wwwmwu 鈎白田W町 OBOBBOOBOE- ammm 仙判促引制"刊刊M 川m 河鈴 UHmMM 伺 惜而 UE 醇 ωaE冒醇嘗EEEE同 Z EH EEFEFM , 内uau 内3aahu 白U 内切内 unu 自u'AU白U 角川・内 uva -ppZ 『 ''zvC 『 Z 『. eえ畳vnuZEFFa--u'z'FFF ・c ・ awFrFra- ‘,‘ FPFrFFFFPrFr . , pppr Fr ・ す fEBOBS- φ -Ea町 a内M 柚 rtu 佐川川町 M市 MMm U品問団 UMM 幻 UM同} 関 並宮川町野野町官官官官官官 ω官 E 官官 官官官 官 房町 司 ,auauau 河町 ωmm 総帥削 【 陀倒昨汗符昨 W 昨昨 WW 汗閃 www 一 尚一 4 VaunvnuauauaunυnuRU a ・ auvRUAU 内u f7BBBOOBOBOOB2800 崎荷柑お初ωωmmn ww 昨 U 勾田町村富,M 官官官 '官 ggggg品開官官官官一 関 mmm m 昨昨昨昨昨汗仔仔円 週刊叩 mmm 閃 mmmωmM 叫弔 Z 図 5.6 +111111; 凹 図 55 U0 。,‘,ua 喝 開u av h vnvhHva 州内 OE0000900800so 引制HM 伺輔州伺品刑判ωωωω 円嶋崎 u自担 EU 一 LLL1 了 E22g u相 盤踏側酬郷町剛剛山畑蹴 航廊錦織剛駒郡山即 ように見えている. 噂排] /1ノ' 2 ) ルネサス宇主守IEW 接続組み込み型モニタのカスタマイズ 方法 read即h回" 3 ) 0阻電気''M5117;朗15Fデー夕、ンート" 4 ) ルネサス社羽田、 H叙湖シリーズC/C++ コンノミイラ、 アセンブラ、最適化リンケージエデ、ィタ" MON@YTomo. WEB,“Rene錨組み込みモニタ構築 5 ) H8 恒8,Wi叫"
© Copyright 2024 Paperzz