Indoor Airplane World
SEARCH
このブログ内で
ウェブ全て
CATEGORY 1
ショップ
(147)
飛行会
(328)
インドア・プレーン
(173)
TWE-Lite関連
(70)
船
(159)
インドア・ヘリコプター
(27)
マイクロ・ブラシレス・モータ
(3)
プリント基板
(29)
PIC
(102)
PSoC
(23)
AVR
(15)
Android
(112)
Raspberry Pi
(48)
Arduino
(34)
3Dプリンタ
(92)
データシート集
(1)
出版書籍・サポート・取材
(24)
関連書籍紹介
(5)
ヒント・アイデア
(5)
熱中生活フェスタ2007
(6)
NHK番組「熱中時間」
(14)
著作権
(1)
手づくりひこうき教室
(14)
空撮
(1)
ギター
(77)
旅行
(12)
電気自動車(EV)
(70)
PC
(29)
はじめての方へ
(1)
未分類
(99)
BOOKMARK
よく使っている基板業者FusionPCB
電動飛行機
フォトアルバム(2005年まで)
技術情報
PIC/AVR
投稿作品
インドアプレーン入門Q&A
Indoor Links
NEW MEMO
RECENT ENTRY
T8SG-V2-PLUSとFS2A-4CH受信機のバインド
T8SG-V2-PLUSのキャリブレーション
T8SG-V2-PLUSのファームウェアアップデート
T8SG-V2-PLUSをMODE2に変更
Jumper T8SG-V2-PLUS
飛行会開催日程
第318回湘南スローフライヤークラブ飛行会
極細シュリンクチューブ 0.8mmx70mm 5本セットTUBE-EF
第317回湘南スローフライヤークラブ飛行会
第316回湘南スローフライヤークラブ飛行会
RECENT COMMENT
鈴木/
T8SG-V2-PLUSのファームウェアアップデート
toko/
T8SG-V2-PLUSのファームウェアアップデート
鈴木/
T8SG-V2-PLUSのファームウェアアップデート
toko/
Jumper T8SG-V2-PLUS
鈴木/
Jumper T8SG-V2-PLUS
弓納持/
第317回湘南スローフライヤークラブ飛行会
仁科/
第317回湘南スローフライヤークラブ飛行会
鈴木/
第317回湘南スローフライヤークラブ飛行会
大岩/
第316回湘南スローフライヤークラブ飛行会
鈴木/
第316回湘南スローフライヤークラブ飛行会
-->
CONTACT US
PSoC lesson 16ビットカウンタを使ったパルスチェッカ
PSoC
/
2009-06-02
以前
PICマイコンで作ったパルスチェッカ
をPSoC(CY8C29466-24PXI)で作ってみました。
PSoCにはLCDユーザモジュールが用意されているので、簡単に液晶表示できます。ただし取得したデータをそのまま表示すると16進表示になってしまうので、10進表示への変換が必須です。そこでの
こちら
のホームページの変換プログラムを参考にさせていただきました。
パルスチェッカでは負数は扱わないので2バイト符号なし整数を符号なし10進文字列に変換するように手直ししました。扱うパルス幅は1000usから2000us程度なのでLCDで4桁表示します。
パルス幅を正確に測定するためには、クリスタル発振器を使って外部からクロックを供給しますが、今回はプログラムの勉強なので内部クロックを使っています。
外部クロックに切り替える場合はOscillator Control 0 register(OSC_CR0)のbit7をセットする(デフォルトではOFFになっている)。
GPIO割り込み(FallingEdge)でCounter16のスタート・ストップを行います。最初の割り込みでカウンタをスタートし、次の割り込みでカウンタをストップします。
スタート時のカウンタ値65535(0xffff)から1クロックごとに減算されるので、ストップ時のカウンタ値(Counter16_wReadCounter()で取得)差し引いてLCDに表示してます。
赤外線受光素子は負論理出力なので、3チャンネル赤外線送信機から信号した立下りパルスで割り込みを発生させています。1フレームが約20msでその立下りパルスはスタート時、チャンネル1終了時、チャンネル2終了時、チャンネル3終了時と1フレームで4回発生します。
赤外線受光素子の出力は抵抗で電源にプルアップされているので、入力ポートのDriveをHigh Z、InterruptをFallingEgdeに設定しています。
PSoCGPIOINT.asmへの記述部分
main.cプログラム
プロジェクトファイル一式(PULSE_CHECKER.zip)
プロジェクトファイルの中にはHEXファイルも含まれているので、プログラムを書き込んでパルスチェッカの動作を確認することもできます。(PSoC MiniProg等のライタが必要)。
ダウンロードして解凍後、PULSE_CHECKERフォルダの配下にあるPULSE_CHECKER.appをダブルクリックするとPSoC Designerが起動して自動的にすべてのファイルをロードしてくれます。プロジェクトファイルはPSoC Designer 5 + HI-TECH-C Lite(Free)で作っています。
パルスチェッカのLCD表示。FutabaフォーマットなのでC1がエルロンチャンネル(スティック・ニュートラル)、C2がエレベータチャンネル(固定)、C3がスロットルチャンネル(スティック・ロー)。
赤外線受光素子の出力波形(PSoCの入力波形)。
波形を拡大してオシロスコープにカーソルを表示させ、チャンネル2(固定)の波形のスタートとストップ位置にカーソルを合わせると⊿t=1.53msと表示され、波形の上下にカーソルを合わせると⊿V 5.00Vと表示されるのが確認できます。
LCDの表示とオシロスコープの表示にずれがあるのは、別々にテストしているため。
今回のパルスチェッカが動作するようになるまで試行錯誤の連続でした。送信機から送られてくる1フレーム3チャンネル分のパルスを、どのように取り込んだらよいのかずいぶん悩みました。
割り込みが発生してから次の割り込みが発生するまでの(短い場合で約1ms)時間で、割り込みルーチン内でLCDへの表示が正しく行えませんでした。
LCDへの表示処理に時間がかかっているのが原因だと気づくまでに相当の時間を費やしてしまいました。
割り込みルーチンではできるだけ短い処理にとどめ、LCDへの表示処理はメインルーチンで行うように変更して良い結果が得られました。
PSoCのレッスンもここまで一気に進めてきましたが、他にもいろいろやらなければならないことがあるので、このあたりで少しテンポを緩めようと思います。
コメント (
2
)
|
Trackback ( )
«
デジタル・オ...
PSoC マイコン...
»
コメント
aSudio4の操作方法について
(
石原 健二
)
2009-06-21 18:23:28
自分で自作予定の JtagICEボードをPCのrs232c経由で接続し aStudio4 (460)を起動して
デバックをしたいと思っています。
もしお時間がありましたら one-step, breakpoint駆動できます assembler、C言語について詳しい
デバック方法を 教えて頂けませんでしょうか。
よろしくお願いいたします。
E-mail:
nanohana_007@mail.goo.ne.jp
初心者なので
(
toko
)
2009-06-21 19:14:49
石原様、タイトルの通りでとても教えられる立場ではありません。
お役に立てなくて申し訳ありません。
コメントを投稿する
名前
タイトル
URL
コメント
※絵文字はjavascriptが有効な環境でのみご利用いただけます。
▼ 絵文字を表示
携帯絵文字
リスト1
リスト2
リスト3
リスト4
リスト5
ユーザー作品
▲ 閉じる
コメント利用規約
に同意の上コメント投稿を行ってください。
コメント利用規約に同意する
数字4桁を入力し、投稿ボタンを押してください。
でんき予報
Twitter
Facebook
MY BOOK 2
この本をAMAZONで購入
MY BOOK
この本をAMAZONで購入
BOOK STORE
関連書籍のお求めは
こちらから
携帯
ENTRY ARCHIVE
2024年09月
2024年08月
2024年07月
2024年06月
2024年05月
2024年04月
2024年03月
2024年02月
2024年01月
2023年12月
2023年11月
2023年10月
2023年09月
2023年07月
2023年06月
2023年05月
2023年04月
2023年03月
2023年02月
2023年01月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年05月
2022年04月
2022年01月
2021年12月
2021年11月
2021年09月
2021年08月
2021年06月
2021年05月
2020年12月
2020年08月
2020年07月
2020年06月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月
2019年08月
2019年07月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年09月
2018年08月
2018年06月
2018年05月
2018年03月
2018年02月
2017年12月
2017年11月
2017年10月
2017年08月
2017年07月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
2016年10月
2016年09月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年03月
2016年02月
2016年01月
2015年12月
2015年11月
2015年10月
2015年09月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年03月
2015年02月
2015年01月
2014年12月
2014年11月
2014年10月
2014年09月
2014年08月
2014年07月
2014年06月
2014年05月
2014年04月
2014年03月
2014年02月
2014年01月
2013年12月
2013年11月
2013年10月
2013年09月
2013年08月
2013年07月
2013年06月
2013年05月
2013年04月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年08月
2012年07月
2012年06月
2012年05月
2012年04月
2012年03月
2012年02月
2012年01月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年03月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年05月
2009年04月
2009年03月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
2007年10月
2007年09月
2007年08月
2007年07月
2007年06月
2007年05月
2007年04月
2007年03月
2007年02月
2007年01月
2006年12月
2006年11月
2006年10月
2006年09月
2006年08月
2006年07月
2006年06月
2006年05月
2006年04月
2006年03月
2006年02月
2006年01月
2005年12月
2005年11月
2005年10月
2005年09月
2005年08月
2005年07月
2005年06月
2005年05月
2005年04月
2005年03月
2005年02月
2005年01月
2004年12月
2004年11月
2004年10月
ブログの作成・編集
gooメール
自分で自作予定の JtagICEボードをPCのrs232c経由で接続し aStudio4 (460)を起動して
デバックをしたいと思っています。
もしお時間がありましたら one-step, breakpoint駆動できます assembler、C言語について詳しい
デバック方法を 教えて頂けませんでしょうか。
よろしくお願いいたします。
E-mail: nanohana_007@mail.goo.ne.jp
お役に立てなくて申し訳ありません。