*目次 [#zd788aea]
目次

#contents();

*メニュー [#wf322d66]
//個人ページの下にページを作ることもできます。
特になし。。
*2008年12月22日(月) [#b6e72c4b]
**PSoCの動作確認 [#j4c67d7c]
PSoC周辺のはんだ付けが終わったので、DUTソケットをつける前にPSoCの動作確認をしたいと思います。
どんなプログラムで確認しようか。。
-[[ファイル置き場>./upload]]
-[[コメントページ>./comments]]
-[[Rio Unite 130 分解>分解レポート#n13340d3]]
-過去の日誌
--[[./2008]]
--[[./2009]]

*2008年12月18日(木) [#hd816b2c]
**はんだ付け開始 [#r131d944]
いよいよはんだ付けを始めたいと思います。QFPパッケージのはんだ付けは、やはり難しいです。。くっついているように見えてくっついていなかったり、隣どうしのピンが導通してしまったりorz
結局ほとんど[[秋田先生>akita]]にやってもらっちゃいました(;'∀`)
*komaへのコメント [#o41c145a]
#pcomment(./comments,reply);

*2008年12月2日(火) [#v7da8eac]
**基盤完成 [#wffc6df9]
ようやく完成しました!
基板製作会社から手直しの依頼がこなければ完成です。
基板をつくるために、注意しなければいけないことがけっこうあるので、まとめていきたいと思っています。。
*2010-04-28-A/D Converter [#m5974c0a]
アナログ入力は、P0[0]-P0[7]、P1[0]-P1[3]、P7[0]-P7[7]で、20ピンが使用できるようだ。
分解能は最大10bitで、ソフトウェアかタイマでトリガーできる。
サンプリング周波数は、分解能8bit、クロック10MHz使用時で350kspsくらい出るらしい。
かなり正確な数字が出てるので使いやすそうだ。

**基板作成での失敗 [#c9adb1c2]
昨日、ついにPSoCが届きました!
紙に印刷した、原寸大のPCBデータの上にPSoCをおいて、実際にはんだ付けできそうかを確認してみたところ、ランドが狭すぎてはんだ付けできそうにないので、もう少し広げた方がいい、というアドバイスを秋田先生にいただきました。
手直しして1mm程度のばそうとしましたが、これが意外と大変な作業でしたorz
#ref(base.png)
▲PSoCのQFPパッケージによって、ランドが隠れてしまい、はんだ付けが難しい状態
8bitの''A/D Control Register''が3つあり、これで初期設定を行う。
ソフトウェアでサンプリングトリガを与えるときは、''A/D conversion start bit(adst)''を"1"にするだけで良い。
 adst = 1;
変換終了すると''adst=0''に変化する。

すでに場所を決めてしまったパッドを動かそうとすると、ランドとくっついてしまったりします。。
また、なぜか部品として呼び出したPSoCのフットプリントのグリッドがうまくあわず、ひとつひとつのパターンを座標を指定しながら移動しないといけなくなり、かなり面倒な作業に…。
QFPパッケージの部品のフットプリントを作る際は、ちゃんと確認しないとえらいことになりますorz

*2008年11月19日(水) [#gba08519]
**基板作成続き [#ca925be4]
PSoC周辺の配線を描いている最中なのですが、CY8C29866-24AXIはTQFPパッケージで、しかも配線間隔が0.5mmという設定なので、いちいちグリッドを2.54mmと切り替えなくてはいけないので、面倒くさいですorz
しかもピンが64ピンもあるので、これが案外やっかいです。うっかり配線をぎりぎりに配置してしまったので、ビアホールが置けなくなってしまったorz
#ref(pcbe.png)
▲完全にやり直しだorz

先にTQFPまわりの配線をすべてやるべきだったようです。。

#comment();
*2010-04-25-UART通信 [#c07e8aea]
ありがたいことに、[[R8C/2Dマイコン開発セット:http://akizukidenshi.com/catalog/g/gK-03018/]]にはあらかじめシリアル通信用のインターフェースIC[[ADM3202ARN:http://akizukidenshi.com/catalog/g/gI-01279/]]が用意されていて、D-SUBコネクタとマイコンの間にかませてあるので、ユーザーは、特に気にせずにマイコンからデータを送受信できるようだ。至れり尽くせりだな。。

*2008年11月18日(火) [#c1eacac6]
**基板作成の下準備 [#f74a165b]
下準備するだけでずいぶんと時間がかかってしまいましたorz
下準備というのは
+回路の構成(PSOCとChipをどうつなぐか、など)を考える
+使用するパーツを一覧にまとめる
+DUT(VDECのChipを測定するのに使うソケットが乗っかっている基板)の寸法を調べる
+PSOC miniprog、DC電源ジャック、UARTモジュールについて知る(つなぎ方とか…)
まずはサンプルソースを使用してUART通信成功!

などです。

**基板作成 [#d0b71b6b]
さっそくPCBEを使って描くことにします。
秋田先生、北川先生のマニュアルページがすごく参考になりました。
-PCBEによる基板設計の手引き
http://akita11.jp/plan/pcbeguide/
-PCBE Quick Start
http://jaco.ec.t.kanazawa-u.ac.jp/edu/vlsi/pcbe/index.html
*2010-04-24-タイマ割り込みでLED点灯 [#g5723342]
前回のタイマを使用したPWM波形は、TimerRC専用の出力ピンを使用しているため、それを別のピンに割り当てることはできない。
なので、今度はタイマ割り込みを発生させてLEDに接続されているピンPWM波形を発生させたい。
TimerRCの割り込み制御レジスタはなぜか3つもあるorz
,レジスタ名,機能
,TRCSR0,タイマRC割り込みのインプットキャプチャ/アウトプットコンペアの機能切り替え
,TRCIER,タイマRC割り込みを許可するかどうかを決めるレジスタ
,TRCIC,タイマRC割り込みのレベルを決定するレジスタ

どうしても、PCBEとVirtuosoの操作を混同してしまいます。。
R8Cには割り込みレベル(Processor Interrupt Priority Level: IPL)という値がある。
タイマを含めた、あらゆる割り込み処理に対してレベルを決めるレジスタが用意されていて、
 割り込みのレベル>IPL
を満たさないものは割り込み処理が実行されない。
IPLは、例えば以下の処理を実行すると変更できる。
 //IPLを3に変更
 asm("LDIPL #3") ;

#comment();
割り込み時に実行される関数定義については、''#pragma interrupt'' によって定義する。関数名は任意。
(vect=○○)というのは、 ''割り込みベクタ番号'' を与えている。すべての割り込み処理に対して一意の値があり、これによって何の割り込み処理のための関数であるかを認識させるっぽい。
ちなみに、TimerRCのSoftware Interrupt Numberは ''7'' 。

*2008年11月8日(土) [#wf8cdad8]
**PSoC CY8C29866-24AXI [#ne892e53]
Chip測定環境としてPSoC CY8C29866-24AXIを使うことになりました。PSoCのくせに100ピン(そのうち、I/Oピンは64個)もあります!!
しかし、性能はCY8C29466と同じようだ。ただピン数が増えただけかorz
- こまっちもマイコンブデビューだな -- [[kondo]] &new{2008-11-10 (月) 07:32:34};
- よく考えたらPCとの通信に2本(UARTなら)とられるので、2本たりなくなりますね>VDEC QFP80 まあこれぐらいはしょうがないか・・・PSoCを2個載せておいておけば、なんとかなるか。例の「必要に応じてジャンパ線で接続」メカニズムを使えば、PSoCどうしの配線もできますね。 -- [[akita]] &new{2008-11-12 (水) 15:04:25};
 #pragma interrupt _timer_rc(vect=7)
 void _timer_rc(void);

#comment();
*2008年5月15日(木) [#f66bfec8]
**MeRLマイコン部Wikiのロゴを作成しましたorz [#wb87da1f]
-「マイコンブ」…[[ドラえ文字:http://moonglow.moo.jp/]]((すでに公開されてないorz))
-「merl microcontroller team」…[[bn internet:http://www.showfont.net/]]
というフォントを使用しました。

あと、全体的には[[Inkscape:http://www.forest.impress.co.jp/lib/pic/piccam/paint/inkscape.html]]を使って編集しときました。
▼ソース 
#ref(./upload/100423timer_rc.c)

#ref(mykombu_logo.png,nolink);
~
#ref(logo_miconb.svg);
▲svg形式のファイル

#ref(logo_miconb_path.svg);
▲svg形式(フォントをパスに変換したもの)のファイル((フォントをインストールしなくてもファイルを開けますが、編集はしにくいです))
*2010-04-23-サンプルコード [#ke6b18f5]
とりあえずリンク
[[R8C/2Dシリーズのサンプルコード集:http://japan.renesas.com/products/mpumcu/r8c/r8c2x/r8c2d/Application_Notes.jsp?event=resetFunctions&logo=0&productName=R8C%2F2D+%C3%A3%C2%82%C2%B0%C3%A3%C2%83%C2%AB%C3%A3%C2%83%C2%BC%C3%A3%C2%83%C2%97&region=jp&hiddenFunctionsKey=41&hiddenProductsId=2125&sort=&pageNo=1&redirectEvent=resetFunctions&documentUrl=http%3A%2F%2Fjapan.renesas.com%2Fproducts%2Fmpumcu%2Fr8c%2Fr8c2x%2Fr8c2d%2FApplication_Notes.jsp&x=18&y=11]]

*2010-04-23-感想とか [#a65ffe58]
とりあえず、R8Cのマニュアルはとっても分かりにくいと言うことが分かった!
網羅的に記述してあるけど、とりあえず動かすにはどうすればいいのかっていうのが全然理解できない。
このままではLEDをチカチカさせることもままならない!!

あと、faviconも作っちゃいましたorz
#ref(favicon.png,,,50%);
▲favicon用のPNGファイル
*2010-04-22-タイマを使用する_02 [#w297d5da]
PWM波形が出た!!っと言ってもほとんどサンプル通りですが。。
''msttrc''というレジスタがあることを完全に見落としていたため、
かなり足止めを食らいました。

これを[[IrfanView:http://www8.plala.or.jp/kusutaku/iview/]]を使って縮小して、.icoで保存しました。
#comment();
▼ソース 
#ref(./upload/100421timer_rc.c)

▼PWM波形 
#ref(./upload/2010-04-23-pwmwave.jpg,,,50%)

*2010-04-22-タイマを使用する_01 [#w297d5da]
R8Cでタイマをセットアップするまで、面倒な設定が多すぎるorz
タイマのカウント用CLKやPWMモードやら、柔軟な設計ができるのはいいけど、
いちいち設定すべきレジスタが代わるのがめんどくさい。
レジスタの名前も覚えにくい。。


*2010-04-21-HEW新規ワークスペース生成 [#e87e6851]
HEW,High-performance Embedded Workshopは開発環境の名前。
プロジェクト生成後、マイコンのSFR(Special Function Resistor)を制御しやすくするため、ヘッダファイルを別途ディレクトリにコピーする必要がある。以下の中にある ''sfr_r82d.h'' というファイル。
 C:\Program Files\Renesas\Hew\System\Pg\Renesas\M16C\V5_42_0\Generate\sfr\R8C\R8C2C_2D

このヘッダファイルの一番上の行に、なぜか日付が書いてあり、これがあるとコンパイルできないので消す。


*2010-04-21-R8C/2Dマイコン開発セット [#z683d27e]
[[kanou]]さんに相談して、これを買ってみました。
http://akizukidenshi.com/catalog/g/gK-03018/

早速LCDモジュールの半田付けをミスりましたorz


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS