« 2009年4月 | トップページ | 2009年6月 »

2009年5月25日 (月)

AKI-7125でシリアル通信が動かなかった理由

この日記で書いた問題、解決しました。

2年前にSTK-7125で動いていたプログラムのソースコードと現在動かそうとしているAKI-7125向けに書いたソースコードとをじっくり見比べてみると、2年前に書いた方では内部クロックの設定に関する処理を記述していません。記述していないということは、CPUの初期値のままで正しく動作していたということ。一方、今回のは自分が書いたソースコードの一番最初で内部クロックの設定を書いています。ここに問題の原因がありました。SH7125のデータシートを読み間違えてCPGのFREQCRレジスタの値を設定していました。

正しく設定できているソースコードの一部を抜粋して載せておきます。


/**
CPU周辺回路の設定
*/
void HardwareSetup(void)
{
// CPUで使用するクロックを設定する。

// SH7125の場合最大動作周波数は次の通り。
// 内部CLK = 50MHz
// バスCLK = 40Mhz
// 周辺CLK = 40MHz
// MTU2CLK = 40MHz
//
// 内部CLK >= バスCLK >= MTU2CLK >= 周辺CLK となるように設定すること。

// 秋月電子製 AKI-7125はクリスタルが12.5MHzなので、
// バスCLK, 周辺CLK, MTU2CLKは 25MHz になるよう設定する。

CPG.FRQCR.BIT.IFC  = 1; // 内部CLK = 50MHz (1/2)
CPG.FRQCR.BIT.BFC  = 3; // バスCLK = 25MHz (1/4 初期値のまま)
CPG.FRQCR.BIT._PFC = 3; // 周辺CLK = 25MHz (1/4 初期値のまま)
CPG.FRQCR.BIT.MPFC = 3; // MTU2CLK = 25MHz (1/4 初期値のまま)

// 使用する内蔵周辺回路のモジュールスタンバイを解除する。
STB.CR3.BIT._SCI1 = 0; // SCI1を使用

// UART通信に使用する端子を設定する。
PFC.PACRL2.BIT.PA4MD = 1; // PA4をTxD1として使用
PFC.PACRL1.BIT.PA3MD = 1; // PA3をRxD1として使用

}

fit-PC2の発売は6月中旬になりそう

このblogのアクセス解析をみたところ、fit-PC2をキーワードにしてアクセスしている方が急増しているようなので、先日こういうことを書いた手前、続報も書いとかなきゃまずいかなと思ってこれを書いています。

日本国内の代理店であるイーテックさんによると、fit-PC2の発売は6月中旬になりそうだとのこと。残念ながらそれ以上の情報はありません。

2009年5月24日 (日)

ロボット開発序盤戦の山場はCPUが動くまで

すっかりblogの更新が止まっていました。そしてロボット開発もほぼ止まっていました。ぼちぼちやっていますが、現在は台車制御用回路の実装中で、全部実装してしまう前に設計ミスや実装ミスがないか、CPUとUSB-UART変換モジュールだけ動作することを確認してしまおうとしている最中です。

しかし。動いてくれませんcrying

2年前にSTK-7125で動かしたシリアル通信実験用プログラムがあるので、やり方はあっていると思うのですが今回はAKI-7125なので水晶振動子の周波数が12MHzと12.5MHzでちょっと違ったり(これがボーレートの設定にちょっと影響)、SCI1で使う端子が違ったりします。USB-UART変換モジュール(AE-UM232R)はTXD端子とRXD端子を短絡させてループバックテストをしてみたところ正常に動作していることが分かりました。

問題はCPU側にありそうですが、プログラムの書き込みができるので電源供給やプログラム書き込み時に使用するSCI1端子(PA3、PA4)は正しいのだと思います。なので、私が書いたプログラムが悪いとしか思えません。

こうなってくると、手元にJTAG ICE(Xross Finder)があるのでこれを使いたくなってくるのですが、それには多少の設計変更が必要になります。今ならまだ間に合うし、基板上にも場所があります。う~ん、どうしようかな。

ロボット開発にはいくつか山場がありますが、このCPUが動き出すまでが最初の山場です。次の山場はモータが回るまで。モータが回ればあとは加速度的に開発が進んでいきます。なので、開発スケジュールは当初の予定から1か月ほど遅れていますが、ここはあせらず粘り強く開発に取り組みたいと思います。

2009年5月15日 (金)

やる気が少しだけ戻ってきた

今日は連日に比べて涼しかったからなのか、やる気が戻ってきました。いや、昨日の夜には回復基調に乗り始めたので、気温のせいではないかもしれません。

さて、またまた深く考えもせずに資格試験の受験を申し込みました。申し込んだのはこれです。業務に深く関係がある内容ですが、会社では予算削減で教育や出張旅費が削られているので自腹で受けに行きます。こんな資格など取っても何の役にも立たないかもしれませんが、1.5日分の講習会があるので資格よりは勉強すること自体を目的として考えています。で、申し込んでお金を振り込んだら、本が3冊届きました。

回路の実装を進めたり、経済学の本を読んだりしつつ、6/5までに3冊の本に一通り目を通しておこうと思います。

2009年5月12日 (火)

停滞期

今週月曜日辺りから、仕事も、帰宅後のロボット開発も、運動もあまりやる気がでません。5月病っていう歳でもないので、プチ停滞期なのだと思います。やる気まんまんの時期と、やるきナッシングな時期って、周期的にきますよね。

こういうときは、早く帰って飯食って本でも読んで、早く寝るのが一番いいんじゃないかと思っています。

2009年5月 6日 (水)

書いてて良かった。ハードウェア設計仕様書

電源部の部品と配線を実装して、動作確認に着手しました。5V, 12V, 21.6V の出力と主電源スイッチ、非常停止スイッチが正しく働くことは確認できたのですが、6V出力するはずのところからなぜか約10V出力されて「あれ?」という状態です。接続関係は正しいので、おそらくスイッチングレギュレータ HRD12003Eで6V出力を作るための抵抗値を間違えたのではないかと思い、先日blogで公開したハードウェア設計仕様書の「6Vおよび21.6V電源回路」の部分を読みなおしてみました。

はい。間違い発見。計算結果ではR1=3611Ωなのに、結論として36KΩを使うことになっちゃってます。3.6KΩの間違いです。ちなみに、出力電圧を10.6Vにするために必要な抵抗値を計算すると36KΩになります。(式を使った計算をするときは、google電卓が便利です。)

ついでなので、開発中の様子をいくつか写真に収めてみました。最初の写真は現在開発中の台車制御モジュールの電源部です。基板の真ん中にのっている大きな部品がスイッチングレギュレータ HRD12003Eです。基板の左側にくっついている黒い小箱にはヒューズが入っています。2枚目の写真はその電源部の裏側です。極力ジャンパ線を飛ばさないように作りました。最大4Aの電流が流れる部分もあるのですが、錫メッキ線がちょっと細いかなぁという心配があります。会社で習った電気安全設計では、「大電流を流すところは基板上にパターンを置かず、ワイヤで電流を流すこと。」なんて教わったような気がします。(万が一、パターン同士がショートした場合に発火することを防ぐため。)

Img_3119  Img_3120  Img_3122  Img_3123  Img_3126

3枚目の写真は電源部にバッテリと非常停止スイッチをつなげたところです。机の上に回路図と配線図がありますが、この図を見ながら配線しました。4枚目の写真は、非接触で温度が測れる温度計です。今回の回路ではモータドライバICやモータ自身の温度を計測する温度センサを備えますが、その温度センサの読み値が正しいかどうか確認するための道具としてこの非接触温度計を購入しました。冷凍庫の中を測ったり、はんだごてのコテ先温度を測ったりして遊んでいます。

最後の写真は開発中の部屋の散らかり具合をとった写真です。一度始まってしまうと例えば電源部なら電源部が出来上がるまでは部屋がこの状態なので、食事をすることもままなりません。かつて部屋がきれいであったころは、こんな風だったらしいです。

2009年5月 1日 (金)

GW中にマニュアル走行は完成できない模様

ようやく台車制御モジュールの配線設計ができあがりました。先日の日記に書いたとおり、電源部を別基板にしたので配線のとり回しはだいぶマシになりました。GWは残り6日あるわけで、部品の実装で3日、ファームの移植で3日程度みればマニュアル走行まで完成できそう。と思いきや、今週末は実家に帰る予定なので3日分の作業ができません。

回路の部品実装は3日程度でできると思いますが、ファームの移植についてはRC受信器の信号読み取り実験、DCモータ速度制御のチューニング、温度センサのチューニング等が必要です。これらを含めると3日では厳しそうなので、マニュアル走行ができるようになるのは当初の予定から半月遅れて、5/17 or 5/23くらいになりそうです。

« 2009年4月 | トップページ | 2009年6月 »

最近の写真