ATMEL AVR関連の情報交換にお使いください。


お名前:
題名:
合言葉:

この掲示板の書き込み方

senshu? (2010-04-13 (Tue) 21:58:00)

私も類似のwikiを利用しているので、この掲示板に書き込むポイントを書いてみます。

自分の希望する位置で改行するには、行末に「~」を付け、改行します。
コードをそのままで表示したい場合には、先頭に「 」(半角スペース)
を付けて書き込みます。
 main()
 {
    int i;
    return i;
 }
こんな感じです。これだけでも、かなり意図した書込みができます。
なお、一行コメントで改行するには、文中に「&br;」を半角文字で入力します。
 &br; を文中に書きます。
私は、長い一行になる場合にはエディタで編集し貼り付けます。他にも各種修飾が
可能です。詳しくは、ヘルプを参照ください。 -- senshu? : 2010-04-13 (Tue) 22:37:44
あなたの名前: 合言葉

usbserial_int.zipを使ってみました。

senshu? (2010-04-13 (Tue) 21:36:33)

usbserial_int.zipは、割り込みを使っているので、pic18spxとの共存が
難しいようですが、性能面で優れているのなら、何とかしたいと考え、
試してみました。

その結果、230400bpsのようなレートでは若干性能はよいのですが、それを
超えると、折り返しによるループバックテストでエラーになりました。

何となくですが、割り込み無しの方が丈夫な感じがします。
irukaさんのところでは、高速なレートでも大丈夫ですか?

  • senshuさん、こんばんは。usbserial_int.zipですが、こちらでテストした限りでは921kbpsで
  • 10回程の試行の結果OKでした。 -- iruka? : 2010-04-13 (Tue) 21:53:50

  • そうですか、私のPCの性能はプアなので、あまり参考にならないとは思いますが、それが
  • 却って貴重だと思っています。 -- senshu? : 2010-04-13 (Tue) 21:59:21

  • 文字の取りこぼしという点で割り込み受信は常識なのですが、PICの場合1文字の送受を
  • 取り扱う時間の合計が250クロックどころかその倍くらい掛かっているようなのでどうしよう
    もないです。 -- iruka? : 2010-04-13 (Tue) 21:59:58

  • 割り込みルーチンをフルアセンブラで書き直しても、フォアグランド側の処理が充分
  • 足を引っ張っています。 -- iruka? : 2010-04-13 (Tue) 22:01:21

  • 割り込み受信しないエコーバックは、絶対取りこぼししない書き方が出来ますので、実運用
  • では全くあてになりません -- iruka? : 2010-04-13 (Tue) 22:03:25

  • ためしにボーレートを3Mくらいにしても取りこぼしなしというのはおかしいです。 -- iruka? : 2010-04-13 (Tue) 22:05:01

  • なるほど、一見ロバストに見えるだけなのですね。割り込みの意味を軽視していたよう
  • です。 -- senshu? : 2010-04-13 (Tue) 22:06:24

  • irukaさんの書き込みを参考に、私の書いているQ&Aのページも
  • 修正しました。 -- senshu? : 2010-04-14 (Wed) 07:59:40
    あなたの名前: 合言葉

PIC18F14K50ライタ専用機のトラブル

kuman? (2010-04-13 (Tue) 19:25:08)

とりあえずのご報告を。
PIC18F14K50-SOICを購入してあったので(忘れていた)、ライタ専用機を作りました。
回路は特に変更していません。

ブートローダーの書き込みは、picwrite.exe、PICspx.exeとも正常終了してpicmon.exe
は問題なく動いているようです。が、picmon-18F14K50.hexのロードがどうしてもできま
せん。ベリファイエラーが山のように出ます。ブートローダーをどちらで書き込んでも
ダメでした。
たまにベリファイokもあるのですがpicspx-gccがまともに動いてくれません。
ついにはターゲットのavrのフラッシュまで書き換えてしまうこともありました。

最後にpicwrite.exeでloader-18F14K50.hexとpicmon-18F14K50.hexを書き込んだ
ところpicspx-gcc.exeが実行できるようになりました。
まったく原因不明ですが経験したことをお知らせします。

  • いつの版なのかを報告してもらえると、有益な情報になると思います。
  • 最新版は2010-0410です。報告内容から察すると、picbootによる書き込みが
    不安定と考えられます。HIDaspxとhidspxでもdual coreのPCでは似たような不具合
    報告がありました。なお、picboot.exeは -vオプションを指定すれば、書き込み内容の
    照合を「何度でも」実行可能です。電源電圧を上下してpicbootで照合を行い、マージン
    調査してはいかがでしょうか。-- senshu? : 2010-04-13 (Tue) 20:57:37

  • pic18boot-2010-0403と pic18spx-2010-0410です。
  • 昨日だったでしょうか、ベリファイエラーが出てびっくりしましたが繰り返す内に
    okが出たのでそのままにしました。以前の版では問題を感じませんでした。
    また試してみます。ベリファイエラーは3000数百とか出てきます。 -- kuman? : 2010-04-13 (Tue) 21:41:18

  • kumanさん、こんばんは。bootloaderでエラー多発はこちらでも経験しました。
  • 原因は2つあって、1つはpicboot.exeとファームのバージョンが合っていない場合、
    もう一つはBORV電圧を割り込んでリセット多発の場合です。 -- iruka? : 2010-04-13 (Tue) 21:43:22

  • バージョン不一致はソフトで対策可能な気がします。要検討項目ですね。
  • pic18spx-2010-0410版のpicboot.exeは、picboot-2010-0406のBootLoader?
    対応したものだと思います。 -- senshu? : 2010-04-13 (Tue) 21:51:41

  • picboot-2010-0406と0403を間違えたようです。
  • 0406とpic18spx-2010-0410または0406では問題なく動きました。すみませんでした。
    ところでpicmonフォルダが両方にあるのはなぜでしょうか。微妙に更新日時が違うよう
    ですが。ありがとうございました。 -- kuman? : 2010-04-13 (Tue) 22:24:46

  • 差分を取ってみてはいかがでしょうか。コードの違いを見ると、理解が深まります。
  • pic18spxのアーカイブにBootLoader?のファームが同梱されれば、この種のミスが防止でき
    ると思います。 -- senshu? : 2010-04-13 (Tue) 22:31:17

  • 差分を取ってみると、私の書いたコードが多数を占めていました。 -- senshu? : 2010-04-14 (Wed) 19:16:29

  • kumanさんの作品が紹介されています。
  • http://www.geocities.jp/kuman2600/n6programmer.html#15
    面実装品のICのピンにリード線をはんだづけするのは、一般の方には難易度が
    高いと感じますが、名人ならではの技術です。-- senshu? : 2010-04-15 (Thu) 07:43:39

  • kumanさんによるハンダづけ技法が公開されています。
    挑戦する方は、参考にしてください。 -- senshu? : 2010-04-15 (Thu) 19:52:47
  • あなたの名前: 合言葉

picmon.exeのgraphコマンドの終了方法

senshu? (2010-04-13 (Tue) 09:12:49)

irukaさん、修正差分の適用に感謝します。早速使ってみましたが、正常に動作して
います。なお、picmon.exeのgraphコマンドの終了時に[X]で終了すると、内部エラー
(発生頻度:常時)になります。Windows 2000でテストしていますが、hidmon.exeで
は、こうしたエラーは起きませんでした。何らかの対処法があれば、アドバイスを
お願いいたします。

graphコマンドの改善は未着手ですが、いくつか気づいた点を修正しました。
時間があればご確認ください。
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Fpic18spx01#o6fb11b1

  • WinXPだと大丈夫なのかな,,,他の方の追試結果をお聞きしたいと思います。 -- senshu? : 2010-04-15 (Thu) 19:54:03
  • あなたの名前: 合言葉

usb-serial変換ファームについて

kuman? (2010-04-12 (Mon) 02:46:38)

不勉強だったらごめんなさい。
PIC18F14K50のusb-serial変換に cdc-18F14K50.hex を書き込んで実験をしていました。
本日、arduinoもどきを作り、FT232RLで書き込みますと正常に書けますが、cdc-18F14K50.hex
では(リセットSWを押さないと)書き込めません。DTRがHになっていないことをテスタで発見
しました。
arduino400をよく読んで、ファームをmchip-cdc14k2.zipに含まれるserial.hexに変更しました
ところDTRが正常に働いていて(書き込み前にHになり、その後Lに落ちる)スケッチの書き込
みができるようになりました。
cdc-18F14K50.hexはDTRをコントロールしていないと考えて良いのでしょうか。
よろしくお願いします。

  • kumanさん、おはようございます。
  • ソースを読めばわかりますが、USB_CDC_SUPPORT_HARDWARE_FLOW_CONTROLは有効になって
    いません。過去にも、どのピンをDTRに割り当てるべきかを議論しました。現状では、適切
    なDTRのピン割り当てを考え、上記defineを有効にし、HEXファイルを自前で生成する必要が
    あります。 -- senshu? : 2010-04-12 (Mon) 06:40:14
    あなたの名前: 合言葉

pic18spx, USBserialにて、EEPROMの値でシリアル番号を設定

senshu? (2010-04-08 (Thu) 21:52:51)

シリアル番号をEEPROMの特定アドレスの値で設定可能にする差分を作成しました。

http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Fpic18spx_QA01#xfda9d30

一般ユーザが特別なハード無しでシリアル番号を設定できます。これにより
重複したシリアル番号に起因する恐怖のリブートからの回避が可能になります。
(自由に設定できるので運用には注意が必要ですが、それは別の問題です)

また、USBシリアルにシリアル番号を適用したことで、COMポートの増殖を防止
できます。(USBコネクタの位置を変えてもポート番号は一定)

この修正により多くの利点が得られると思います。動作を検証していただき、
不具合がなければ、せひ次期の版にこの差分を採用してください。

なお、ブートローダにも同じアルゴリズムが適用できますが、ブートローダの
使い方を考えると、同一のシリアル番号でも、あまり支障が無いと思います。
irukaさんの考えをお聞かせください。

  • senshuさん、こんばんは。リブート問題を追試してみました。通常のWin2000/WinXP/Win7は
  • 同一シリアルでもリブートしません。なので自分の環境だけが特殊なのではないかと
    考えています。 -- iruka? : 2010-04-09 (Fri) 23:06:34

  • Win7では特に支障はないように見えます。WinXPでは2個目のデバイスが「不明なデバイス」になります。
  • 不明なデバイスを再認識させると再起動を促されますが、再起動しても2個目のデバイスは
    不明なデバイスとなるようです。 -- iruka? : 2010-04-09 (Fri) 23:08:43

  • 私の環境(Windows2000)でも再起動の経験があります。↑の例をみても、重複の無いシリアル
  • 番号の設定が正しい対処方法だと思います。また、USbserialではシリアル番号無しはCOMポートが
    不定で実用性に欠けます。ということで私は、利用者の意思で任意のシリアル番号に設定可能
    な方法を提案しています。 -- senshu? : 2010-04-11 (Sun) 22:50:37

あなたの名前: 合言葉

pic18boot-2010-0406.zipビルド

ogura? (2010-04-08 (Thu) 19:14:24)

irukaさんお久しぶりです。
ビルドの勉強中で以下のような状況です。
P18F14K50.INCとfuse14k.incは読み込めているようです。
ご指導願えましたら、宜しくお願い致します。
 [mkall.bat]
 PATH %PATH%;C:\mcc18\bin;C:\mcc18\mpasm;C:\WinAVR\utils\bin;
 make clean
 make DEVICE=18F14K50 
 rem fc hexfiles\loader-18F14K50.hex loader-18F14K50.hex [ビルドError]
 pause
 make clean
 make DEVICE=18F2550 
 rem fc hexfiles\loader-18F2550.hex loader-18F2550.hex [ビルド一致]
 pause
 make clean

 [boot.ERR]
 Warning[205] P18FXXXX.INC 6 : Found directive in column 1. (ifdef)
 Warning[205] P18FXXXX.INC 10 : Found directive in column 1. (ifdef)
 Warning[205] P18FXXXX.INC 16 : Found directive in column 1. (ifdef)
 Warning[205] P18FXXXX.INC 18 : Found directive in column 1. (endif)
 Error[176]   FUSE14K.INC 2 : CONFIG Directive Error:  (setting "PLLEN" not found for the processor 18F14K50)
 Error[176]   FUSE14K.INC 3 : CONFIG Directive Error:  (setting "CPUDIV" not found for the processor 18F14K50)
 Error[176]   FUSE14K.INC 4 : CONFIG Directive Error:  (setting "USBDIV" not found for the processor 18F14K50)
 Error[176]   FUSE14K.INC 6 : CONFIG Directive Error:  (setting "PCLKEN" not found for the processor 18F14K50)
 Error[176]   FUSE14K.INC 8 : CONFIG Directive Error:  (setting "PWRTEN" not found for the processor 18F14K50)
 
 [p18fxxxx.inc(一応Warning[205]対策したらWarningは出なくなった)]
 #ifdef __18F4550
 #include "P18F4550.INC"
 #endif
 #ifdef __18F2550
 #include "P18F2550.INC"
 #endif
 #ifdef __18F14K50
 #include "P18F14K50.INC"
 #endif

  • oguraさん、こんばんは。mpasmwin.exeのバージョンはいくつですか? -- iruka? : 2010-04-08 (Thu) 20:01:46

 C:> MPASMWIN.EXE /h
 MPASM  5.30.01         (c)1993-2009 Microchip Technology Inc./Byte Craft Limited
 MPASMWIN sourcename [options]

MPASMWIN.exeがあまりに古いと #ifdef ディレクティブを解釈出来ないようです。
MPLAB C18 (PIC18F用の純正Cコンパイラ)に付属しているmpasmwin.exeをお勧めします。

  • あれ?2550だと大丈夫なんですね?何故だろう・・・。こちらでは再現テストしましたが
  • どちらも正しくアセンブルされます。 -- iruka? : 2010-04-08 (Thu) 20:56:47
  • あれ?ifdefに#が抜けていた。あちゃー -- iruka? : 2010-04-08 (Thu) 21:01:42
  • てことは、mpasmwinのバージョンの微妙な違いなのかな?
  • hexはちゃんと動きますか? -- iruka? : 2010-04-08 (Thu) 21:03:16

  • ifdefの先頭に#を付けてビルドしました。hexfiles/以下と同じものが出来ました。 -- iruka? : 2010-04-08 (Thu) 21:43:53

  • irukaさん 有り難う御座います。
  • MPLAB C for PIC18 v3.21 => v3.35 アップグレードしました。
    C:\MCC18\mpasm\MPASMWIN.EXE /h =>v5.21 =>5.35
    loader-18F14K50.hexもhexfiles/以下と同じものが出来ました。
    C:\Program Files\Microchip\MPASM Suite\MPASMWIN.EXE /h =>MPASM 5.35 
    これは最新になっていました。MPASMWIN.EXE が2カ所あることにきがつきました。
    大変お騒がせ致しました。-- ogura? : 2010-04-09 (Fri) 10:06:47

あなたの名前: 合言葉

DATA0/1をフリップする処理が最初から間違っとるやんけ

kuga? (2010-04-05 (Mon) 23:51:28)

usb.asmのusb_sm_ctrl_out_trf_rx側のフリップ処理btfssも間違いの気がします。
356行目btfssであってますか?、実害はないのかな。

  • kugaさん、こんばんは。そこは動いてるんですけど、深くは追求してないです。
  • ご指摘ありがとうございます。 -- iruka? : 2010-04-06 (Tue) 00:17:46

  • おそらくSetupパケットが8byte以上後続しないのでバグが表面化してないだけの
  • ような気がしてきました。 -- iruka? : 2010-04-09 (Fri) 23:16:04

あなたの名前: 合言葉

TINY2313の書込みが出来なくなりました

2313初心者? (2010-04-04 (Sun) 20:11:44)

はじめまして、初心者です。お教えください。
TINY2313を秋月FT232RLを使って書き込みをしていましたが
途中から書きも読みも出来ない状態になってしまいました。
通算200回程は書込みをしました。
LFuseを64から62ヘ変更して100回程書込んだ後に無反応になりました。
外付けの部品は1KΩの抵抗を介して8Ω0.5wスピーカーのみです。
電源はPCのUSBからの5VDCです。

窓には
 avrdude.exe: BitBang OK 
 avrdude.exe: pin assign miso 3 sck 5 mosi 6 reset 7
 avrdude.exe: drain OK 
  ft245r:  bitclk 4800 -> ft baud 2400
 avrdude.exe: ft245r_program_enable: failed
 avrdude.exe: initialization failed, rc=-1
              Double check connections and try again, or use -F to override
              this check.
 avrdude.exe done.  Thank you.
と出ます。
PCとの配線は問題ないです。

親切な方 どうかお力をお貸しください。

  • 外部の発振器からクロックを入力してみるのがよいと思いますが、もっとも簡単なのは、別の
  • ATtiny2313に変えてみる事です。Chipか、他の原因かが切り分け出来ます。 -- senshu? : 2010-04-04 (Sun) 20:23:29

  • 早速、返答ありがとうございました。新しい2313で調べるのが一番だとは思いますが今、
  • 手持ちがありません。プログラムだけで壊れることがあるのでしょうか? 
    設定の不備程度に考えておりましたがそうでもないようですね。アドバイスの外部のクロックの
    件は、外部クロックを接続して書込み動作をさせれば良いのでしょうか?
    ちょっとやってみます。ありがとうございました。 -- 2313初心者? : 2010-04-04 (Sun) 20:40:51

  • 連続投稿をお許しください。外部クロックを接続しても解決できませんでした。原因を見つけなければ
  • また壊してしまいそうです。プログラムや設定などで気をつけなければいけないところがあるのでしょう
    か?アドバイスをいただけたらありがたいです。 -- 2313初心者? : 2010-04-04 (Sun) 21:09:55

  • FUSE設定が上手く書き込めない場合には、報告のような不具合が起きるかもしれません。
  • 私はFT232RLを使ったライタの使用経験がないので、これ以上のアドバイスはできませんが、
    HIDaspxを使っての経験では100程度の書き込みで壊したことはありません。
    なお、負荷が抵抗付とはいえ、誘導負荷なのが気になります。 -- senshu? : 2010-04-04 (Sun) 21:30:28

  • 2313初心者さん、はじめまして。壊れた原因や修復方法のアドバイスは出来ないのですが、
  • tiny2313は18個おまとめで買いますと@90円なので、秋月などに部品注文の折についでで
    注文すると良いです。私の場合は不注意に虐待して壊すことがときどきあります。(焼くときに
    逆挿しというのもありました)。まあ消耗品ですから、適度に在庫を持っておくのが良いと
    思います。 -- iruka? : 2010-04-04 (Sun) 22:25:13

  • アドバイスをありがとうございます。消耗品と考えて複数個用意することにします。これもひとつの
  • 経験と思いこれからもAVRの勉強をして行こうと思います。ありがとうございました。 -- 2313初心者? : 2010-04-06 (Tue) 00:26:05

あなたの名前: 合言葉

pic18用の新Bootloaderについて

senshu? (2010-04-02 (Fri) 08:00:30)

irukaさん、遅くまでお疲れさまです。

新Bootloader(毒見版?)も公開されましたが、picbootは EE-PROMのR/Wをサポートする
のでしょうか。

サポートするなら、EE-PROM領域に書き込めると嬉しいです。各種設定をEE-PROMに記録で
きるからです。

なお、PICマイコン用のHEXファイルは、FlashとEE-PROM、Config設定が一つになっている
ので、この機能を常に有効にすると、設定した値を上書きしてしまいます。そのため、
オプション指定時のみに書込みができると便利です。

EE-PROMをツールでR/Wできれば、これを積極的に利用することができます。

またBootloaderには、EE-PROMの特定のアドレスの値で動作を変える仕組みが組込み可能なので、
元々そうした使い方を想定しているようです。

  • 毒見版を使ってみました。感想は
  • http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Fnews53#o4a1f9ed
    に書きました。このままでpicspx-gccが利用できれば最高ですが、現行でも十分便利です。
    正式版までもう一息というところでしょうか。現状では様子見の方も多いと思いますが、
    正式版が公開され、認知が進めば、大幅な利用者の増加になると思います。

    P.S.
    HIDaspxの開発当初を髣髴とさせる進行状況ですが、今回の方が遥かに気楽です。
    ブートローダが利用でき、しかも高速に書き換えが出来ます。そしてHIDaspxやUBW
    などのプロジェクトで実績のあるコードを活用できます、一番感じるのは、どう
    すれば利用者にとって便利になるかがわかっていることです。
    と書きましたが、その機能ゆえ、その全貌を理解するのは容易ではないので、
    各種の関係を図式で示す必要がある段階になってきました。
    一応、構成図を書いてみました。多少は役立つようです。 -- senshu? : 2010-04-02 (Fri) 17:39:36

あなたの名前: 合言葉

USB-Blaste もどき SPIエラッタ

kuga? (2010-03-28 (Sun) 17:39:32)

USB-Blasteもどき では PICのSPIエラッタ回避のためSPI許可の前にポートを入力に設定しています。
Interface の NXP基板ではTCKが10Kでプルアップされていますから、ここでTCKがHIGHになってしまう
と思われます。1KΩ程度のきついプルダウンをしてはいかがでしょう。
sa89aさんの回路ではレベルシフトの分圧抵抗がこれを兼ねそうです。

  • kugaさん、こんばんは。たしかにご指摘の通りです。早速TCKを1kΩプルダウンしました。
  • 結果は、これまでunknown device多数だったのが、エラー表示のみになったので不定状態は脱した
    ような感じですが、動きません。 -- iruka? : 2010-03-28 (Sun) 21:52:32

  • NXP基板のJP5(SPI許可)オープン、クローズともやってみましたが同じです。リセットSWクローズも
  • 試しましたがだめでした。
 !Info: Please wait ...
 !Error: JTAG chain problem detected
 !Error: No device detected
 !Error: The TDO connection to the download cable might be shorted to VCC or is an open circuit
 !Error: The TCK and TMS connections to the last device might have problem
  • kugaさんのところでは、USB BlasterをARMデバイスにつないだりされておりますか?

  • ALTERAデバイス以外に接続したことはありません。interface NXP基板はまだ本に挟まった
  • まま。 -- kuga? : 2010-03-29 (Mon) 01:08:59

  • NXP基板とつないで見ました。quartus からはunknown device多数見つかり最後にUNKNOWN_4F1F0F0F。
  • ByteBlaster2もどきだと正常に一つのUNKNOWN_4F1F0F0Fを見つけます。 
    純正USB-Blasterで試して見たいところです。 -- kuga? : 2010-03-29 (Mon) 06:21:14

  • SOFT-SPIではByteBlaster2と同様動きました。HARD-SPIのクロックをFOSC/64まで落としたら
  • こちらもOKとなりました。 -- kuga? : 2010-03-29 (Mon) 07:05:09

  • オシロで観測すると、TCKがLowになってからNXPのTDOが変化するのに200nS程度(180〜210nSばらつく)
  • かかっています。なるほどSPI-CLK3MHzで動かないわけだ。 -- kuga? : 2010-03-29 (Mon) 07:27:23

  • 了解しました。どうもお手数をお掛けいたしました。ありがとうございます。 -- iruka? : 2010-03-29 (Mon) 07:45:23

  • それにしてもなぜ200nSもかかるんだろう? 何かchip内部のclkに同期化してるのかな。
  • RTCKって信号ありますね。 -- kuga? : 2010-03-29 (Mon) 08:35:23

  • FOSC/64だと187kHzになりますね。SOFT-SPIはこれよりずっと速いので矛盾することになります。 -- iruka? : 2010-03-29 (Mon) 09:14:48

  • FOSC/4=12MHz FOSC/16=3MHz FOSC/64=750Khzです。sa89aさんのprogramは12MHzに設定しています。(私は3Mhz) -- kuga? : 2010-03-29 (Mon) 09:30:35

  • 了解しました。FOSC/64で焼いてみたのですが、たまにうまく認識してID=4f1f0f0fになりました。
  • PIOモードのHEXをそのまま焼いたものはNGでした。ARMは難しいですね。 -- iruka? : 2010-03-29 (Mon) 12:12:50

  • 興味深い展開です。ハイレベルすぎて、当分ギャラリーに徹します。 -- senshu? : 2010-03-29 (Mon) 12:22:54

  • 私としてはもう終了です。もどきはちゃんとUSB-Blasterとして機能していますから・・ -- kuga? : 2010-03-29 (Mon) 12:38:17

  • kugaさん、素晴らしい。こちらは多分抵抗分圧がないだけの違いなので、プルダウン抵抗とか
  • いろいろ入れて試します。 -- iruka? : 2010-03-29 (Mon) 13:20:59

  • 私が試しているのは14K50+VHC244のオリジナル品です。 -- kuga? : 2010-03-29 (Mon) 13:32:04

  • 了解です。 -- iruka? : 2010-03-29 (Mon) 20:09:10

  • sa89aさんのSOFT-SPIはTCK-Hの直前にTDOをサンプリングしてますが、私のコードはTCK-Hに
  • したあとTCK-Lの直前にTDOをサンプリングしています。TDOが大きく遅延する今回のパターンだ
    と効いてきますね。 -- kuga? : 2010-03-30 (Tue) 10:43:28

あなたの名前: 合言葉

pic18spxの改良について

senshu? (2010-03-27 (Sat) 21:39:25)

>今月の残り作業予定
>hidmon-2550/hidmon-14kのソース整理。
>hidmon-2550/hidmon-14kのHID転送モードをインタラプト転送に戻す。
私も、ソース全体を(ちょっとだけ)読んでみましたが、HIDaspxと
同様の方式で通信できると統合が容易です。Linux/MacOSへの対応を
考えると、違いが少ないほどありがたいと思います。

なお、kumanさんも読み出し時の表示に不具合があると感じたようです。
後ほど、修正箇所を明らかにしておきます。

http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2Fnews52

あなたの名前: 合言葉

picspxで書き込みエラー(解決)

senshu? (2010-03-26 (Fri) 15:21:19)

PIC18F14k50で動作するAVRライタ機能の動作を確認しています。
読み出し自体は軽快で、HIDaspx以上の使用感ですが、picspx -rp で発生する
バッファフラッシュタイミングの不具合は修正しました。
(現行のhidspx-gcc.exe にも存在します)
Borand C++ でコンパイルした hidspx.exeにはこの問題はありません。

今、困っているのは、書込み時に正しく書き込めず、ベリファイ時にエラーに
なる、というものです。-dオプションの値には依らず、毎回発生します。

PICマイコンにはSPIに不具合ありとのことでしたが、ソースではSOFT SPIで
コンパイルされています。

読み出し自体は上手く動作するので、配線は大丈夫だと思うのですが、、、、。
ターゲットは、ATtiny2313のRC発振モードでテストしています。
HIDaspxとhidpsxの組合せでは、書き込みエラーは起きません。

お忙しいところ誠に恐縮ですが、私に出来ることを指示してください。

アドバイスをお待ちしています。

  • 修正版を上げました。2010-0326です。 -- iruka? : 2010-03-26 (Fri) 18:42:54

  • 2010-0326版を導入し、正常に動作することを確認しました。後はPICライタの動作
  • 確認が必要と考えますが、手元には多数のPICマイコンがあるのでご期待ください。
    なお、改定分のコードを確認した結果を書きます。

    なお、delay_ms (WORD dly) のコードがpic18spx専用になっているのは、汎用の
    hidspxではpic18spxの場合に限定する必要があります。現行ではpicspxなので問題
    ないのですが、近いうちに統合するのが良いと考えます。その理由は、Linux,
    Windows のコード改良を同期するのは非常に面倒に感じているからです。
    ソースが一種類ならこうした悩みはなくなります。 -- senshu? : 2010-03-26 (Fri) 22:52:06

  • delay_ms は修正しました。1NOPのUSI関数も2NOPに変更してテスト中です。 -- senshu? : 2010-03-29 (Mon) 12:21:44
  • あなたの名前: 合言葉

CPLD/FPGAの賞味期限

kuga? (2010-03-24 (Wed) 07:12:15)

EPM7256Aはサポートツールの兼ね合いで完全に賞味期限切れてますね。
EP1C3はまだおいしくいただけると思います。

14K50でのUSB-Blasterのprojectいりますか?

  • irukaさんも多数の「ジャンク基板」をお持ちのようですね。私も似たようなものです。
  • というわけで、ぜひ、USB-Blasterのプロジェクトを拝見したいと思います。
    AVR/PIC/FPGAへの書込み可能な汎用モジュールが実現できれば、多くの電子技術者にとって
    必携のツールになる可能性があります。-- senshu? : 2010-03-24 (Wed) 11:16:26

  • senshuさん、メールで送りました。可能なら作ってテストしてみてください。 -- kuga? : 2010-03-24 (Wed) 18:46:02

  • メール(ファイル添付)を確認しました。どうもありがとうございます。 -- senshu? : 2010-03-24 (Wed) 20:22:38

  • kugaさん、senshuさん、こんばんは。私は結局のところ、sa89a.netさんのUSB Blaster
  • をそのまま作ろうとしています。そしてLatticeへ書き込む練習をしてみようと思います。
    うまくいったら次はNXPのARMにjtagで書き込めるものかどうかという検討をしています。
    FPGAやCPLDは全くやったことがないので感じが掴めません。
    遥か昔にLatticeのGAL16Vとか20Vで遊んでいた程度です。 -- iruka? : 2010-03-24 (Wed) 21:19:17

  • どなたかMANIKについてご存知ありませんか?
  • niktech.comのCPUですが、ライセンス形態とかが全く不明です。DLしてみたのですが
    EXEファイルなので展開をためらっています。 -- iruka? : 2010-03-24 (Wed) 22:18:02

  • JTAG toolの動作も確認できたとの事で、何でも来いですね。(笑)
  • こちらは、意外に苦労しています。暇をみて、アドバイスをください。 -- senshu? : 2010-03-26 (Fri) 17:14:13
  • おかげさまで問題が解決しました。修正をありがとうございました -- senshu? : 2010-03-26 (Fri) 22:55:25
  • あなたの名前: 合言葉

PIC 18Fシリーズを使ったUSB-シリアル変換器 の回路図

kuman? (2010-03-21 (Sun) 23:19:52)

「PIC 18Fシリーズを使ったUSB-シリアル変換器 」を勉強したいのですが、
PIC 18F14K50使用の場合の回路図はどこにあるのでしょうか。
よろしくお願いします。

  • kumanさん、こんばんは。回路図はこれです。 -- iruka? : 2010-03-22 (Mon) 00:24:07

  • http://hp.vector.co.jp/authors/VA000177/html/HIDmon-14K50.html



    というか、hidmon-14kと全く同じですね。追加でTxD,RxDを配線するだけです。



    あと、蛇足ですが、HARDWARE_FLOW_CONTROLが有効なら以下のPINにRTSとDTRを出します。
    CTSとDSRを見る機能は実装されてない感じでした。(元ネタはMICROCHIPのサンプルで、
    そのまま再利用させていただきました。)
    #define UART_RTS      PORTBbits.RB4
    #define UART_DTR      PORTBbits.RB6

  • 上の回路図と思ったのですが、TXとRXがわかりませんでした。10番ピンと12番ピンで
  • 良いわけですね。ありがとうございました。 -- kuman? : 2010-03-22 (Mon) 03:47:04

  • http://d.hatena.ne.jp/pcm1723/20100125/1264441842 のページがお勧めです。
  • このページ以外でもシンセ・アンドプラグドさんの詳細な記事は大変参考になり
    ます。なお、ArduinoのFT232RLの代わりに利用することを考えると、DTRは必須です。
    しかし、これを有効にするとISP用のピンと干渉するので、別のIOピンに割当てたい
    です。どのピンが適当でしょうか。ヘッダファイルを見ると、どの空きピンでも定義
    出来そうですが、出来るだけ機能の少ないピンが望ましいと思っています。
 /** RS 232 lines ****************************************************/
    #define UART_TRISTx   TRISBbits.TRISB7
    #define UART_TRISRx   TRISBbits.TRISB5
    #define UART_Tx       PORTBbits.RB7
    #define UART_Rx       PORTBbits.RB5
    #define UART_TRISRTS  TRISBbits.TRISB4
    #define UART_RTS      PORTBbits.RB4
    #define UART_TRISDTR  TRISBbits.TRISB6
    #define UART_DTR      PORTBbits.RB6
    #define UART_ENABLE RCSTAbits.SPEN

場合によっては、インジケータLEDと兼用も可能でしょうか。 -- senshu? : 2010-03-22 (Mon) 10:56:56

  • senshuさん、こんばんは。
  • 現状の空きPINということでしたら、RC4かRC5のどちらかです。
    もし14K50を汎用USB/IOにするのでしたら、RCを8bitポート、RBを4bitポートで
    異議はないと思います。LVPは禁止になります。RC0,1,2のSWとLEDは廃止でしょう。
    MCLRをBOOTSWにすると良いのかもしれません。

    ライター機能は汎用I/O線から4本選んで使えば良いです。現状RC0,1,2に依存して
    いるのはUBW互換ローダーを使用しているためです。 -- iruka? : 2010-03-23 (Tue) 19:36:31

  • 汎用性を狙いすぎると何時までも完成しないので、まずはPIC18F14k50にローダを書込み
  • シンプルな仕様で基本動作を確認してみます。 -- senshu? : 2010-03-24 (Wed) 17:43:52

  • kumanさん、ありがとうございます。さっそく拝見させていただきます。 -- iruka? : 2010-03-24 (Wed) 22:19:57

  • kumanさん、hidmon-14kをチップに既に焼き込んでおられるなら、picboot.exeを
  • 使って高速でいろいろなファームを書き込めます。以下をご覧ください
    http://hp.vector.co.jp/authors/VA000177/html/HIDmon-14K50.html

    また、pic18fを使ったPIC/AVRライターも用意しています。以下をご覧ください
    http://hp.vector.co.jp/authors/VA000177/html/pic18spx.html
    kumanさんが以前試されたhidmon-14kに若干の配線を付け足すだけで
    HIDaspxに良く似たAVRライター兼PICライターになります。

  • kumanさん、picspx-gcc.exeは、PIC18Fで動作するHIDaspx兼PICライター(ハード)を
  • 使ってAVRに書き込みを行う為のソフトです。 -- iruka? : 2010-03-24 (Wed) 23:36:45

  • その後、readmeで知りました。すみません。 -- kuman? : 2010-03-25 (Thu) 04:46:02

  • こんにちは。過去に組み立てていた回路に上の回路図のとおりにスイッチをつけました。
  • 試しにシリアル変換プログラムを書き込みますともちろんのことですが、正常に動作します。
    リセットスイッチを押すと4番ピンは0Vになるのですが動作は変わらずシリアル変換を続けま
    す。リセットされないのでしょうか。AVRとちがうのでしょうか。 -- kuman? : 2010-03-25 (Thu) 16:59:46

  • 公開されているHEXファイルのCONFIG情報を確認すると、MCLRE=OFFとなっています。
  • Bootloaderで書込みを行った場合には、FUSE情報は無視されると思いますが、このHEX
    ファイルに書かれている情報が正しく書き込まれた場合には、MCLRは無効になると思わ
    れます。-- senshu? : 2010-03-25 (Thu) 19:09:46

  • senshuさん、ありがとうございます。異次元の世界にとまどっています。ブート
  • ローダーは書けたようですが、シリアル変換をどのようにロードすればよいのか?
    書いてみましたがteratermがポートを認識しません。 -- kuman? : 2010-03-25 (Thu) 22:37:23

  • 特に難しいことはありません。AVRマイコンでも、Arduinoなどは似た方法で開発を
  • 行います。irukaさん公開のHEXファイルはpicboot対応になっているのでpicboot.exe
    で希望するプログラムを書き込むだけだと思います。操作の経過をkumanさんのページ
    に書いてみてはいかがでしょうか。 -- senshu? : 2010-03-25 (Thu) 23:11:54

  • kumanさん、次のようなコマンドで書き込み出来ます。
  • >picboot.exe -r cdc-18F14K50.hex です。-rオプションを入れると書き込み後、
    書き込んだプログラムを起動します。ローダーとシリアルファームの切り替えは
    BOOT SWでも出来ます。 -- iruka? : 2010-03-26 (Fri) 00:13:36

  • コマンドプロンプト画面ではokのようなのですが。
 C:\0\desktop\000>picboot.exe -r cdc-18F14K50.hex
 TARGET DEV_ID=14 VERSION=1.1 
 Erase ...
 Writing ... 3fe0 
 Verify Ok.... 3fe0
と表示されます。しかし、デバイスマネージャにcom11が見えないし、teratermも
ハイパーターミナルもcom11を開けません、とでます。 -- kuman? : 2010-03-26 (Fri) 03:41:14

  • もしかしたら'-r'が効かないbugかもしれませんので、BOOT SWをoffの状態でUSBを
  • 挿しなおしてみてください。認識するはずです。 -- iruka? : 2010-03-26 (Fri) 09:12:25

  • 私も試して見ました。irukaさんの指摘のとおり、picboot -r では起動しない
  • ようですが、kumanさんの書き込んだものは、2c00スタートのHEXファイルです。
    このHEXファイルを書き込んだ場合には、そのコードはコマンドを発行しないと
    起動しません。私も同様にpicbootで書込み、picmonit boot 2c00 でUSBシリアル
    通信機能の動作を確認しました。 -- senshu? : 2010-03-26 (Fri) 09:24:22

  • 次の様にするとUSB-シリアル機能が動作しました。
 >picboot.exe -s2c00 cdc-18F14K50.hex
 >picboot.exe -r
senshuさんのアドバイスにより、2c00起動のファイルと指定してロードして、-rコマンドで起動
しました。 なお、picmonitはエラーで起動できませんでした。 -- kuman? : 2010-03-26 (Fri) 11:23:24

  • kumanさん、2つのファームを共存させるのはアクロバティックすぎるので、まずは
  • bootloader+単機能ファームでお試しください。 -- iruka? : 2010-03-26 (Fri) 11:51:19

  • なるほど、PICマイコンにとって複数ファームの共存は高度な技術が必要、というわけ
  • ですね。了解です。 -- senshu? : 2010-03-26 (Fri) 11:56:06

  • すみません。「2つのファーム」の意味がわかりません。本来はbootloaderとシリアルを
  • 入れたいのです。 -- kuman? : 2010-03-26 (Fri) 12:22:41

  • 「2つのファーム」は、picbootで書き込んだ場合のファームの数です。したがって、
  • 「2つのファーム」は、現時点ではPIC/AVRライタ機能、USBシリアル変換の共存を意味
    します。複数のファームを入れても問題は起きませんが、USBシリアル変換専用に利用
    するなら、800番地からスタートするCDCのHEXファイルをpicbootで書き込めばよいと
    思います。

    複数ファームを共存させると、AVR/PIC兼用ライタとして使え、しかも必要に応じて、
    USBシリアル変換機能が利用できるので、USBケーブル1本で、書き込みとターゲット
    UARTと通信が可能になります。独自に作成したコードも、特別なライタを使わずに
    自由に書き込めます。ファームの不具合があっても、利用者の手で書き換えができる
    わけです。
    AVRマイコンへの書き込みも、HUB無しでもUSB-HUB経由のHIDaspxを使った場合よりも
    高速書込みができます。PICマイコンでは、PICspxで書き込む場合に比べ、劇的に
    高速に書き込めるので、kumanさんも試してみてください。 -- senshu? : 2010-03-26 (Fri) 13:50:32

  • pirwrite.exeで18F2550を読み出したところ、15秒程度で、32kBを読み出すことが出来ました。
  • 私の環境では、AVRマイコンの読み書きは、HIDaspx以上の速度で動作しています。
    ただし、AVRマイコンは16kBを2秒程度で読み込めるので、改善の余地はありそうで
    す。 -- senshu? : 2010-03-29 (Mon) 15:19:43
    あなたの名前: 合言葉

dude-wrapをマルチプラットホーム化

senshu? (2010-03-21 (Sun) 21:46:15)

dude-wrapをWindows/Linux/MacOSの三種類に対応させた(つもり)ですが、
可能なら、動作テストにご協力をお願いいたします。

http://www-ice.yamagata-cit.ac.jp/forum/viewtopic.php?t=433
なお、ダウンロードは登録ユーザ限定です。

あなたの名前: 合言葉


過去ログ

掲示板-過去ログ2

掲示板-過去ログ1


Counter: 2019, today: 1, yesterday: 67.249
http://www.geocities.jp/kuman2600/n6programmer.html#15

Last-modified: 2010-04-15 23:09:06