[戻る]
一括表示

PIC24F SFR 投稿者:Anken 投稿日:2018/02/19(Mon) 11:05:36 No.1111

はじめまして。安藤健志ともうします。定年再就職で、前職と変わらず
電子工作が仕事になっています。30年前オペアンプでPVシステム逆潮流のインバータを試作実験し、そのご、19インチラックの耐震性能評価技術やペルチェクーラーの冷却性能を2倍にするため、フィンシンクの熱流体力学的対応で何とかしのぎ、定年直前は、PVシステムの異常監視などをテーマとしていました。その流れで、昨今PV,EVでの蓄電池の充放電などがテーマとなりまして、PWM制御でインバータやらコンバータを試作しこれをCPUでということで、マイコンを0からやり始めました。

前フリが長くなってしましました。紆余曲折の末、PIC16F1705でなんとか、トリマの電圧でPWM波を制御できる最低限の知識と回路で、コンバータの基礎実験をいろいろやっていましたが、さらに高度な制御を追加したいとおもい、DSPもあるPIC24Fシリーズの評価ボードを購入しました。
ボードはEasy24-33v6というもので、PCとUSB一本で接続し、CmicroPRO for dsPICというソフトでコンパイルやら何やら全て行い、CPUに書き込めます。付属のチュウトリアルは6課題できました。しかし、マイコンのPWM,タイマー割り込みなど基本的なことが分かっておらず、概ね、WEBのソフトをコピペしてしのいできました。今回、教科書を探しましたが、先生の本、PIC24F活用ガイドブック、巷ではプレミア、2万円します。どうにか図書館で探し当てましたが、即ゆきづまりました。SFRと
iclude、コンフィギュレーション。評価ボードのCPUはPIC24F16KA102ですが、これの仕様書などなどはばらばらで、さらにSFRもどうやって手に入れるか分かりません。いろいろ捜しましたが。先生の本はMPLABで書き込むようになっています。これも使ったことがあります。であれば、SFR
が入手できれば、MPLABのシステムで書き込めるかもと思いつつ、まったく全体像がわからないまま、部分だけでなんとかしています。今の評価ボード、コンフィギュレーションなどは、ルーチン化されているようで、マニュアルどおりに入力するとできてしまいますが、私に各作業の自覚がないというのが問題です。また、SFRがなければプログラムは動作しないはずですが、チュートリアルは全てうまく動いています。マイコンの厄介なところは、型番かえると命令やらビットなど全て変わるため、0からマニュアル見る必要があり、そこまでしなくても、やりたいことをやれる部分だけ抜粋できれば良いのですが、先生の本と、散発的なマニュアルと、過去のPWMのC言語のプログラムを終日眺めるという、半ば欝になりつつある状況です。なんらかの、御助言なり、参考プログラムなどお教え頂ければと思いまして、メールさせて頂きました。漠然としてもうしわけありませんが、よろしくお願いいたします。

Re: PIC24F SFR 投稿者:Gokan 投稿日:2018/02/19(Mon) 16:55:33 No.1112

なぜか非常に遠回りをしていますね。
SFRやConfigurationはデータシートを見れば一発で分かります。
マイクロチップジャパンのウェブサイトから日本語版がダウンロード
できるものがありますから、これでまずは始めてください。


> はじめまして。安藤健志ともうします。定年再就職で、前職と変わらず
> 電子工作が仕事になっています。30年前オペアンプでPVシステム逆潮流のインバータを試作実験し、そのご、19インチラックの耐震性能評価技術やペルチェクーラーの冷却性能を2倍にするため、フィンシンクの熱流体力学的対応で何とかしのぎ、定年直前は、PVシステムの異常監視などをテーマとしていました。その流れで、昨今PV,EVでの蓄電池の充放電などがテーマとなりまして、PWM制御でインバータやらコンバータを試作しこれをCPUでということで、マイコンを0からやり始めました。
>
> 前フリが長くなってしましました。紆余曲折の末、PIC16F1705でなんとか、トリマの電圧でPWM波を制御できる最低限の知識と回路で、コンバータの基礎実験をいろいろやっていましたが、さらに高度な制御を追加したいとおもい、DSPもあるPIC24Fシリーズの評価ボードを購入しました。
> ボードはEasy24-33v6というもので、PCとUSB一本で接続し、CmicroPRO for dsPICというソフトでコンパイルやら何やら全て行い、CPUに書き込めます。付属のチュウトリアルは6課題できました。しかし、マイコンのPWM,タイマー割り込みなど基本的なことが分かっておらず、概ね、WEBのソフトをコピペしてしのいできました。今回、教科書を探しましたが、先生の本、PIC24F活用ガイドブック、巷ではプレミア、2万円します。どうにか図書館で探し当てましたが、即ゆきづまりました。SFRと
> iclude、コンフィギュレーション。評価ボードのCPUはPIC24F16KA102ですが、これの仕様書などなどはばらばらで、さらにSFRもどうやって手に入れるか分かりません。いろいろ捜しましたが。先生の本はMPLABで書き込むようになっています。これも使ったことがあります。であれば、SFR
> が入手できれば、MPLABのシステムで書き込めるかもと思いつつ、まったく全体像がわからないまま、部分だけでなんとかしています。今の評価ボード、コンフィギュレーションなどは、ルーチン化されているようで、マニュアルどおりに入力するとできてしまいますが、私に各作業の自覚がないというのが問題です。また、SFRがなければプログラムは動作しないはずですが、チュートリアルは全てうまく動いています。マイコンの厄介なところは、型番かえると命令やらビットなど全て変わるため、0からマニュアル見る必要があり、そこまでしなくても、やりたいことをやれる部分だけ抜粋できれば良いのですが、先生の本と、散発的なマニュアルと、過去のPWMのC言語のプログラムを終日眺めるという、半ば欝になりつつある状況です。なんらかの、御助言なり、参考プログラムなどお教え頂ければと思いまして、メールさせて頂きました。漠然としてもうしわけありませんが、よろしくお願いいたします。

Re: PIC24F SFR 投稿者:バルーン 投稿日:2018/02/22(Thu) 17:15:10 No.1113

MPLAB Code Configurator(MCC )というプラグインを覚えて使うと、設定が視覚で出来るのです。名前の通り設定などをコードで出してくれるんです。高度で複雑なコードですが、素晴らしい動きをしてくれます。MCCではCCP MODEでPWMを使う設定になります。もしかしたら極稀にサンプルプログラムはバージョンによって相性がある事もあるかもしれません。でも、覚えると毎日が楽しいですよ。

Re: PIC24F SFR 投稿者:Anken 投稿日:2018/04/04(Wed) 16:30:44 No.1135

最近WEB検索で私の質問が出てきました。ご返信ありがとうございます。テキサスインスツルメントや、Renesasもかじっておりまして、遠回りは相当なものです。C言語やりながら、組み込みマイコン。LED点滅とかはできるのですが、マイコンの全体像がわからないみたいです。先生の本をもう一度頭から読み、マニュアルも読んでいます。バルーンさんのはIDEになるのでしょうか?便利そうですが、まだ手が出せません。

MicroElectronikannの評価ボード、dsPICF-300(ボードにはEasy24-33v6とありますが)これに付属していた、CDのmicro Pro for dsPICという統合開発環境でプログラムをコンパイルからデバッグ、CPUへの書き込みを行っていまして、コンパイルやデバッグという意識も無い訳です。
例題はそこそこできてしまいます。このIDEですか?便利すぎるようです。また、アナログだと三角波発振回路と直流電圧をコンパレータで比較すればPWM波形は簡単にでますが、マイコンのマニュアル、言っていることはわかりますが、いざ自分のやりたいこととなると、理解が足りないです。一昨年12月にPIC16F1705でPWMを出せるようになり、ほぼ1年間、時々C言語やりながら、コンバータの実験をいろいろやっていまして、概ね課題も分かってきたので、さて、さらにグレードアップというところで、初心者。マイコンやるのも1年ぶりです。御返事いただいていたことも最近まで知りませんでした。WEBも含めて、マイコンの世界が分かっていないのです。申し訳ないです。

Re: PIC24F SFR 投稿者:アルレッキーノ 投稿日:2018/04/16(Mon) 16:17:49 No.1145

MikroElektoronikaの「Easy24-33v6」と「mikroC PRO for dsPIC」を持っています。
この統合環境はすこし癖があり、慣れるのに苦労します。
Microchipの開発環境(MPLAB)用のソースファイルは、そのままでは使えません。

<SFRについて>
SFRとは特殊機能レジスタですから元々MCUの中に入っています。H8なら内部I/Oレジスタに相当するのかな?
MCUの型番ごとに仕様が異なりますからターゲットのMCUのマニュアルを調べる必要があります。
mikroCでもMCUごとにレジスタの名前とアドレスが定義してあり、通常はTRISAとかPORTAとかのレジスタ名でアクセスします。

<コンフィギュレーションについて>
mikroCではMCUの種類や発振器タイプなどの基本的な設定は統合開発環境内で設定します。
新規プロジェクト作成時にウィザードで設定しますが、既存プロジェクトではProject→Edit Projectで変更できます。

<include文について>
mikroCではinclude文は通常不要です。
mikroCが用意しているライブラリを使う場合は統合環境内のLibraryManagerで指定します。
これに応じてコンパイル時に統合環境内部で自動的に必要ファイルをincludeしているのだと思います。
もちろんユーザ定義のファイルは#includeして使えます。

<割込みについて>
割込みルーチンを作成する場合は、Tools→InterruptAssistant利用が簡単です。


MikroElektoronikaはセルビアの企業で、日本では情報が少ないです。
国内ではマイクロテクニカが一部製品を販売していますがサポートは期待できません。
mikroe.comのサポートサイトにはForumやLibStockなどでいろいろ情報が得られます。
ただしすべて英語です。

ご参考になれば。

Re^2: PIC24F SFR お礼 投稿者:Anken 投稿日:2018/04/17(Tue) 10:23:04 No.1146

アルレッキーノ様
しばらく途方にくれておりましたが、天の声でしょうか、ご教示の数々、ありがとうございます。お教えいただいたことは全てトライさせていただきます。
とんでもないものに足をつ込んだらしいことはわかりました。参考書も24Fの第1版で止まっているようで、古本も少なくプレミアが着いています。アルレッキーノ様のご教示で24Fのおかれた事情も良く分かりました。再度お礼を述べさせていただきます。ありがとうございます。

Re^3: PIC24F SFR お礼 投稿者:アルレッキーノ 投稿日:2018/04/17(Tue) 12:52:53 No.1147

Anken様、
参考にしていただけたならよかったです。

老婆心ながら、ボードに付属のPIC24F16KA102はメモリ容量も機能も少なく情報も少ないです。
PIC24Fについて基本的な学習なら、このボードで利用できるMCUとしてはPIC24FJ64GA002がお勧めです。
CTMUはありませんが、標準的なPICなのでネット上でも情報が得やすいと思います。
後閑先生の本でも頻繁に取り上げられていますしね。
また、Microchipのサイトで得られるPIC24Fについての個々の日本語資料もおおむね当てはまります。
最終的にはMCUのマニュアルで確認する必要がありますが、これは英語だけかな?

この時に少しハードルになるのがピン割り付け機能だと思います。
mikroCでもインラインアセンブラの機能があり、ピンのロック、アンロックなど記述できますが、Microchipのサンプルコードはそのままでは受け付けません。
ただ、mikroCにはピン割り付けのライブラリがあります。
Helpで"PPS_Mapping"を検索すれば使用法がわかります。

このようにちょっとわかりづらいmikroCですが、もちろんメリットがあるので使っています。
MikroElektoronikaはPICを応用した製品を数多く出していて、mikroCはライブラリを用意して対応しています。
その中にMikromediaというものがあります。
高機能のMCUと周辺チップを載せた基板がTFT-LCDと一体になった、よくまとまったユニットです。
LCDの制御はコントローラチップに依存しますから全くライブラリがないと、線一本、文字一字表示するのも苦労します。
PICではMPLABが標準開発環境ですが、私の場合はMikromediaを使いたいためにmikroCを選んだわけです。

C言語、MCU、開発環境を同時に学習するのはなかなか大変ですね。
ご健闘をお祈りします。

Re^4: PIC24F SFR お礼 投稿者:Anken 投稿日:2018/04/18(Wed) 09:05:38 No.1148

アルレッキーノ様
重ね重ねありがとうございます。マニュアルの類は英文、和文、ことごとく収集しました。私はPWM制御を基本に行いたいので、PWMを検討しています。24FはA/Dの入出力が多くのピンに割付でき、PWM出力も複数あり、もともと評価ボードについていたので、これでなんとかしたいと思っていますが、ご教示いただいたものでも似たようなことができれば、そちらで学習したいと思います。最終的にはDSPを使えるようになりたいとも思っています。問題は、チュウトリアルが簡単にできてしまうため、各要素作業の内容を理解していないことに尽きます。16F1705ではWEBのプログラムを少し手直しし、1年ほどコンバータの実験を行なっていました。次の段階に来て、16bitに格上げしようとして、脳みそ、リセット。includeやコンフィギュレーションの概念がないことや、組み込みマイコンの一連のルーチンワークに出てくる事柄が分かっていないからだと思います。入門書を読んでもマイコンの基礎では私が理解したいことについて記述がないですし、PICごとの説明では、ファミリーに共通した事項と固有事項の区別がつかないというところが課題です。経験が浅く、色々なCPUの知識が無いことも一因だと思います。アルレッキーノ様の助け舟はとても助かっております。ありがとうございます。

Re^2: PIC24F SFR 投稿者:安藤健志 投稿日:2018/07/02(Mon) 11:00:44 No.1186

2ヶ月半、8bitの評価ボードのチュートリアル、Easy24-33v6とmikroC PRO for dsPIC のチュートリアルを再復習しておりました。スイッチを押すと
10進数を16個のLEDで2進数化するというプログラムで、スイッチが2個しか使われないので、7つ使おうとしたところ、4つまでは何とかできました。関連するレジスタの設定を変えたのでしょう。何をやったか覚えていません。7つは無理だとも分かりました。UART通信で、以前できたチュートリアル、今回は送信するようですが、ASCIIコードがうまく受信できていないみたいです。また、ERASEしても、なにかレジスタに残っているのか?またはPICの頻繁な書き換えでPICも怪しくなってきました。
100回ほどの書き換えで壊れるとも思えませんが。PICを新品にすれば
少なくともチュートリアルは再度できるだろうと。しかし、PIC24F16KA102は入手できず、後閑先生の24Fで、評価ボードでも使えるもの、PIC24FGA002を手に入れたところです。そこで、アルレッキーノさんの記述を再度全て読み直しました。多くの示唆を再度かなり、リアルに分かりました。サポートのご示唆など、闇夜のともし火お如く、ありがたく感じました。再度、お礼をのべさせていただきます。

- WebForum -