3 :
774ワット発電中さん :04/03/07 00:19 ID:csw5StC3
個人で手軽に使えるマイコン?H8が?
>>1 乙
>>3 トラ技4月号とその余韻、結構期待できそうでつ
「個人でも」とはあるけど、「個人で」とは言ってないと思うなぁ。 どうでもいいんだけどね・・・
16bitのMPUとしてはかなり敷居は低いと思うがなー
8 :
774ワット発電中さん :04/03/07 12:49 ID:Lfs2T8ba
なし崩しにネクサス製品を買うハメになりそうなところがキライ
8pinのデバイスで何か作ったことのある人いる? 小さくて省電力な点を上手く使えば面白いことが出来そうなんだけど
11 :
774ワット発電中さん :04/03/09 10:08 ID:/FGm9J6K
M740て、6502ナノだれかおしえて
12 :
774ワット発電中さん :04/03/09 12:33 ID:98Dv7pCj
>10 待っているくらいなら自分でスレ立てろよ。
質問です。 AVR AT90S1200を使ってLEDの点滅から勉強しているのですが、使用しないピンはオープン のままでよろしいのでしょうか。 PIC関係のページで、使わないピンは全部出力に定義しておくのが普通と記載されていましたが 特にGNDに接続する等の処置は不要なのでしょうか。 イマイチよくわかっていないので常識的な事でしたらすみません。
>>13 出力、又は入力且つプルアップと言う設定なら解放でも無問題です。
16 :
13 :04/03/10 09:18 ID:J3lc8WFO
>>14 ,15 ありがとうございます。
入力設定の場合はAVR内部のプルアップを有効にしておくということでも良いのですね。
ゆくゆくは電池駆動の機器を製作したいと考えていますが、通常はパワーダウンしていて
スイッチが押されると復帰するよう方法にしたいと思います。
このような場合、ピンの入出力設定の違いによってパワーダウン(スリープ?)中の消費電力
が変わるなんていうことはあるのでしょうか。(ピンは開放されているとして)
>>16 最近のmegaとかtinyは、sleepモードで入力バッファがピンから切り離される
ので、フローティング状態でも消費電流には影響ないみたいです。
だからPUDビットが追加されたんだな。。。たぶん。
世の中はH8で浮かれているかもしれないが、 漏れはP258からの記事のほうが興味が湧いてきたぞ。 キットは\4500らしいから、買って遊んでみようかのう。
AVR一本と心に決めてたのにトラ技を買うてもぉた。 ちなみにプロセッサが雑誌付録に載ったのって 初めてじゃないか?世界的に見ても。
何%の香具師が実際に使うのか謎だ。
通電率 6.8% (w HEW3のエディタって重いよな。。。P3-733だとキーバッファ溜まる(w
AVRって、PCで言えば68系らしいけど、スレタイからすると H8も同じ68系と考えてよろすぃのですか? (PICやSHは86系なんだろうな…!?)
68系とか80系とか、なにで決まるの? IOレジスタがメモリと同じアドレス空間にあれば68系? それならAVRは68系かなあ でもリトルえんでぃあん
アーキテクチャのスマートさが68系っぽいって事だと思う。
>>24 DECみたいに昔からどっちとも付かずもありましたね。
>>23 AVRで言うところの68系ってのは6800とか6502とかの話だと思う。
でもピン配置は8051だったりするし、命令セットアーキテクチャ的には
8051はとってもスッキリしている訳で、AVRを68系と表現するのは
誤解を招く表現だと思うが。
H8はほぼ68kでしょ。つーか昔H16ってな68070のよーなの作ってたし(笑)
ビッグエンディアンでハードウェア設計上嵌りやすいのも一緒。
68系はレジスタの直交性(全てのレジスタで同じ命令が使える)が高い という特徴もあるね。 80,86系はアキュムレータだけしか使えない命令がある。 最近はどうか知らないけど。
>>28 それの最たるものがDECだった(遠い目)
プログラムカウンタにまでレジスタ番号が振られていて、PCに直接値を代入できた。
機械語レベルでみるとMOV命令でDSTオペランドがPCだったんんだけど、
結局それがニモニックではjumpだったんだっけな、もう15年ぐらい間の話で忘れたけど。
>68系はレジスタの直交性(全てのレジスタで同じ命令が使える)が高い >という特徴もあるね。 そのかわり、6800のレジスタって2本の8ビット アキュームレータと1本の16ビットインデックス レジスタ。 あとはPCとSPとフラグだけしかないけどね。 その昔、Z8000が面白くて好きだったなぁ。 あのレジスタの合体/分離は面白くて、 シャープの評価ボードで結構遊んでいた。
>>30 自由度が高い分本数が少なくて済むと解釈したんですがどうでしょ。
仕事ではRISC・CISC論争が始まったあたりから高級言語しかやらなくなって、
この辺は疎くなってしまったのですが、RISCチップはレジスタの使い分けが厳密な分、
やったらレジスタの種類が多かったやうな。
>>31 それは違う。
RISCってのはコンパイラが出すコードを効率よく実行できるように
ってんで、コンパイラに設計を合わせようって話。
コンパイラは特殊レジスタや複雑な命令をほとんど使わないから
なるべく特殊レジスタを実装せず汎用レジスタを多くする。
もっとも、初期の議論では命令デコーダが簡単だから、シリコン面積を
多数の汎用レジスタやキャッシュ等に回せるって話だった気も。
SPARCあたりは実用性重視になって妥協気味(笑)
MMU操作レジスタ等は仕方ないからね。
>RISCってのはコンパイラが出すコードを効率よく実行できるように >ってんで、コンパイラに設計を合わせようって話。 んーこういう見方は新鮮ですね。 極論するとCISCは、コンパイラは楽にして、出来ることはハード(マイクロコード含)でやっちまおう。 RISC、ハードは出来るだけシンプルにして、命令がシンプルだけど難しくなるのは、 コンパイラーにカバーしてもらおう、という発想だと思ってました。 たしかにSPARCあたりからは双方歩み寄りだしたのじゃないでしょうか。
自分が聞いた話では、1命令(=ハードを)単純にして実行速度を速めよう というのがRISCの元々の趣旨だったかと。 で、副作用として (メリット) ・構造が単純になる →速度向上 →チップ面積の縮小 →安価になる →発熱量の低下 ・パイプライン構造がとりやすくなる (デメリット) ・レジスタの数がある程度ないと効率のよいプログラムが書けない ・プログラムサイズの増加 →命令の読み出しによるバス帯域の圧迫 今の高機能チップは乗除算命令もあって、?ですが(藁
>>33 >>34 RISC論争の解説なら坂村氏のTRON前の本(例えば「コンピュータ・
アーキテクチャ」電脳建築学)あたりが解りやすいかも。
パターソン&ヘネシーの本は結果であって、意外と過程が
わかりにくい気がする。
要するに「C言語の実行がVAXの10倍速いコンピュータを作る」という
単純な研究目的があり、Cコンパイラが吐き出すコードを研究して
作られたCPUが有名なRISC-I。
>→チップ面積の縮小
> →安価になる
> →発熱量の低下
ここら辺りはワンチップマイコン設計者が考えるメリット。
高性能CPUの場合は余ったチップ面積を別の目的に使えるという事。RISC-Iの場合は大量のレジスタ(78本)に使った。
>今の高機能チップは乗除算命令もあって、?ですが(藁
少なくとも、乗除算操作自体は単純な演算命令とみなせる。
PICレベルにとっては高級(笑)だろうが、8051程度には付いてる訳で。
複雑な命令ってのは例えばFortran向けの特殊なループ命令
(IBMの大型には実装されていたらしい)とか、68k等が持っている
どーみても滅多に使われないアドレッシングモード等。
>>37 面白いー
LoSpeedUSBでもUARTより速いもんな。使い道ありそう
>>37 へー
やっぱ、こういうこと出来るんだね。
40 :
774ワット発電中さん :04/03/18 12:10 ID:joPfpofy
なんか日本って遅れてるなぁ・・って言いたくなっちゃうよね。
これソフトからはcomポートとして見えるの? 専用のプログラムじゃないと通信できないんじゃRS-232Cの代わりには出来ないな〜
COMに見せかけたいなら自分でドライバでも作ってみれば いいんでないの?
USBは自分用にちょこっと使うだけなら良いけど、 公開にはVIDの問題があるからな・・・
どうでもいいけど、USB遊びが面白くなりそう…
37の 2313 でがんばるより FTDI のusb変換チップの方が楽そう。
47 :
774ワット発電中さん :04/03/19 00:27 ID:NoBBDXKk
でも余計な外付け部品はかなり少ないので おもちゃには良いかも。
>>46 FTDIは外付け部品が多杉でだめぽ
USB-シリアルなら、CygnalのCP1201で決まり
>>48 FT245BM使ったが少なかったぞ
ただWRハイアクティブはやめてほすいな
>>48 Cygnalなんて、値段とデリバリで候補のエントリ選外だろ。確か、Mac用のドライバ
もリリース日程未定の開発予定で、Linux用のドライバもなかったしな。
MacOSクラシック対応(゚Д゚)マンドクセ
EZ-USBはダメなん?
秋月PICライター+Ver.4+AVRモジュール=高いしめんどくせえ。
JTAGケーブルでさっくりやらないんだろうね。 ケーブル高いからだろうけど、なんであれ、あんなに高いんだろ?
55 :
774ワット発電中さん :04/03/23 00:11 ID:fgsQ6oUM
>>52 EZ-USBは使いにくく、FTDIはつかいやすい。これ常識。
>>56 てゆぅか、機能の差があるとはいえ、USB-シリアル用途に限れば、チップの値段が
違い過ぎ。同ロット個数で比較して、EZ-USBの単価は、FTDIのざっと5倍はする。
おまけに、各OS向けにドライバやファームウェア開発する手間とコストを考えたら、悩む
までもない。
EZUSB、確かににソフト開発で泣く。Keilのはバグだらけ、上位も おまけのezusb.sysのできが悪くて、帰ってこないプログラムに 簡単になっちゃうし・・・。 でもUSB2.0使おうとしたらあまりイイ選択肢が無いわ。
つか、MSの作ったドライバでも何でもUSBって 簡単に帰ってこなくならね?
そうかぁ?ちょっと意地悪したら簡単にズッコケたけどなぁ。
EZ-USBでUSB1本に6個のパッドってのを作っているんだけど 認識まではできたけどEZ-USBの割り込みが付いてこない感じ…どうしたらいいものか…
63 :
774ワット発電中さん :04/04/03 00:45 ID:+KVnsgUd
すみません、教えて下さい。 一般にDRAMはSRAMに比べて速度が遅いのでしょうか? というのは、秋月のH8/3069キットを作ったんですが、 それには外部拡張メモリとしてDRAMがついているんです。 で、プログラムで配列20000個確保し、全消去を実行したら 3-4秒もかかるんです。 パソコンに積むメモリはほとんどがDRAMですよね? だから速いんだという 先入観があったんですが、もしかしたらDRAMって遅い?のでしょうか。 秋月キットのもの 三菱 M5M417800 16Mbit DRAM 2MByteもあるのに、Address線んが11本、data線が8本しかありません。 バスコントローラの設定は、バーストモードです。 宜しくご享受ください。
>パソコンに積むメモリはほとんどがDRAMですよね? だから速いんだという >先入観があったんですが、もしかしたらDRAMって遅い?のでしょうか。 主流だから早いなんて理由がなりたつんだったら、SRAMの存在価値って一体・・・
半分正解でもあるかな。 主流だからこそ性能が改善されてどんどん高速になっていく側面もあるし。
DRAMは遅いつーより、読んだ後に次を読むのが遅いつー感じ。
>>67 言おうとしていること(おそらく)は判ります。
最新技術のSRAMって、アクセス速度のオーダが ps ....絶句
71 :
774ワット発電中さん :04/04/03 03:26 ID:+KVnsgUd
63です。 みなさんありがとうございました。 やっぱり、そうですか。SRAMの速いやつを使うことにします。 ありがとうございました。 (とは言うものの、SRAMって高いんですよね)
訂正 × 早い遅い以前の問題だよ。 ○ メモリ単体が早い遅い以前の問題だよ。
74 :
774ワット発電中さん :04/04/03 04:44 ID:cFMBXlVm
そうです。4000円の3069基板です。25MHzがOKで、消費電流の少ない物、 かつ入手製のよいものを探してこれになりました。25mA@25MHzでした。 機能もそこそこで手頃。さらに3048やH8Sに比べて、ダウンロード時間が 短くていいです。 回路図を見ていて、変だなと思ったんです。DRAMのアドレス線が 11本しかないのに2MByteの領域があるなんて。たぶんアドレスを 2回に分けて送っているのかな、などと考えていました。 みなさんのご指摘通り、SRAMは速いことがわかりましたので、 SRAMに取り替えるつもりです。 でもそうするとAddress線が増えて、I/Oが減ってしまうんですよね。 QFP100はI/Oが多いと思っていたのですが。
75 :
774ワット発電中さん :04/04/03 04:50 ID:dz3h53xy
>>63 全消去プログラムが糞。アセンブラで書き直せ。
>>74 DRAMその物がどういうアクセス方式か全く解って無いようですね。
遅いか早いかは、H8のタイミングチャートを見てから結論づけて下さい。
先ずは勉強。
2MBのメモリを4秒で消去するとしたら、200μsec/Byte
>>75 の言うとおりソフトが糞。
チップ内蔵DRAMコントローラの設定が糞。 ってのもありうる...のかな 全消去するってのが、性能評価のためだけなら 別だが、アルゴリズムを見直すのも重要。
80 :
774ワット発電中さん :04/04/03 10:21 ID:dz3h53xy
>>63 は配列2まんこ確保し、全消去したらといっているので
わずか2まんこの変数(バイト、ワード、ロングワード等)しか扱っていないと思われる。
2MBのDRAMを全消去するわけではないのでは?
よほど糞なプログラムに違いない。
>77 >2MBのメモリを4秒で消去するとしたら、200μsec/Byte ?? 2usec/Byteじゃない? H8のクロック周波数と外部アドレスへのアクセスのサイクルタイム考えたら そんなもんじゃない?
82 :
81 :04/04/03 10:27 ID:rdcCQHVD
>80 2万個... byteで20kB shortで40kB longで80kB それはクソかも
>>63 は初期化部分のプログラムのソースを公開したらどう?
あと、マイコンには、ウェイトサイクルとか動作クロック分周設定とか
動作が遅くなる原因はいろいろあるよ。
リセット後にレジスタを何も設定しないといちばん遅い設定になってることもある。
特に日立のCPUってやたらとレジスタ多いからね。
84 :
774ワット発電中さん :04/04/03 10:55 ID:zubDMoWQ
>>81 25MHZなら1ステート40ns、2μなら50ステート/byte
いくらなんでも掛かりすぎだろ。Cでベリファイかなんか
やってるんなら判るが・・・・
DRAMアクセスでも基本的には3ステートアクセス(RAS,CAS)
だし、このスピードに間に合うDRAMなら(リフレッシュサイクル
を無視しても)SRAMと殆ど大差ないと思うが。
一番問題なのは、付属しているDRAMのデータバス幅が8bit
なのでH8の能力を生かし切れていない点。I/Oが減っちゃうから
仕方ないと言えばそれまでだが。
>>63 BE=1にしないと遅いぞ。
おまけの紙は無視して、DRCRAを0x38にすれ。
あとはASTCRを0xfbにすれば最速設定。
秋月基板の初期化データならぐぐればいっぱい落ちてると思うが。
>84 H8のステートそんなに少なくないよ 外部メモリ、8bitバスだとBSET 最速で14ステート 外部空間アクセス時にウエイト設定(デフォで3クロック、ASTCRで設定)のままだと 36ステート ループ処理とかアドレス計算であとちょっとかかるだろうし
AVRのライターって何を使ってますか? STK500かその互換だとAVRStudioから焼けるので便利っぽいけど。 俺はChaN氏の抵抗4本のでやってます。
88 :
774ワット発電中さん :04/04/04 06:49 ID:Bp1Tatla
それで十分。
>>88 それで十分。
って、そんな事聞いてねえだろ。
90 :
774ワット発電中さん :04/04/05 20:05 ID:gkyq3XVh
俺もChaN氏の抵抗4本のでやってます
俺も金ピの抵抗100本ので買ってます
漏れはSTK500。 パラレル方式で書き込めるし、AVRStudioでプログラムの実験するにも良し、 市販のライタでは一番使いでがあるんじゃないかな? 逆に買ってはいけないのが秋月のAVRライタだな(w
俺は秋月のAVRライタ(´・ω・`) どうせ金出すんならSTK500買うんだった… 今は抵抗4本でISP。
>>87 俺はSTK200互換(共立で出してるライターの改造品)。
秋月のAVRライタも買ってしまったがこっちはあまり使ってないな。
プリンタがUSB接続になったのでパラレルポートはまるまるあいてるので
最近はこの手の用途専用。
パラレルインターフェイスだがNT系windowsからも利用できるのがうれしい
95 :
774ワット発電中さん :04/04/07 23:06 ID:oW6ZxaBq
全スレでwin2000用ライタの情報を求めていた者ですが、 とりあえず、ChaN氏のサイトで紹介されたばかりの 2000用テスト版で問題なく動いています。 ただ、現用のいずれかのソフトと喧嘩するようで、一応 他のソフトは可能な限り落としてから使っていますが。
>>20 Design Wave Magazine の2003年1月号に
アルテラ社のComplex PLD「EPM7256A」の搭載基盤がついてくる、っていう
アナウンスがInterface2003年1月号に書いてあるけど、これ実施されてるんじゃ?
雑誌に基盤がついてくるって・・食玩じゃあるまいし・・
>>97 たしかにプロセッサではないですが・・
こういう基盤が雑誌の付録になるってのはこれが初じゃないかと・・
ちょっと複雑なモノを作ろうとすると一般のロジックICじゃ面倒なんでマイコンに手を 出すことにしたんだけど、AVRって国内の代理店って無いよね。 で、一番多くの製品を扱ってるのはやっぱりコンパスってことになるんスか? あと、手始めはスタータキットがいいもんですか?>使ってみたことある人 それとICE (In-Circuit Emulator) もあるみたいなんですが使い勝手とかは どんなもんなんでしょう?
>>99 AVRはアトメルの代理店に問い合わせると良いよ。
癖のないマイコンだから解りやすくICEが出動する機会は
多分殆ど無いと思われ。
>>98 少なくとも、それ以前に無線関係の雑誌で
PIC基板が付いてきたことがあったような。
>>100 ググってみたが…もしかしてまだサイトは無い?
>>101 はむらじおのオマケね。PIC付きのモールス信号練習機w
持ってんだよなー○| ̄| __
104 :
774ワット発電中さん :04/04/09 23:48 ID:nNIIUf/F
PICをやっていたのですが最近H8-3067をはじめました。 PICより機能がすごいのでいいと思っています。 外部にADコンバータ(0.5uSで変換できるもの)をつないで、 10uSの一定周期でデータをメモリにいれたいです。水晶は20MHzです。 タイマ割込でTIOCA端子に5uSトグルを作って、その出力でADを起動して そのタイマー割込の中でADの値を取り込むプログラムを 作ったのですが、割込発生から割込ルーチンへの移動とその逆の復帰に 時間がかかり、10uSではうごきませんでした。 そこで、DMA機能を使って TIOCA(10uS)-->AD起動-->ADの終了信号-->DREQへ入力-->DMA起動--> AD値をメモリ転送-->DMA終了としたいのです。(そうすれば10uS可能と思う) H8-3067のDMACについておしえてください。 ノーマルモードのDMA場合、MARA=copy元アドレス、MARB=copy先アドレス、ETCR=転送個数 のようですが、MARA(ADのアドレス)=固定、MARB(メモリ)=デクリメント、ETCR=1個 に設定して、10uSごとに1個のAD値を取得し、MARBのメモリアドレスに格納。 次のAD変換終了後のDREQ入力では、前回のMARBアドレス+1に格納したいのですが、 ・DMACは、起動のたびにMARA, MARBは初期値に戻ってしまうのでしょうか? ・この繰り返しで、例えば200個を格納(測定)したら、自動で止まり、 それをメインで知りたいのですが、 もしMARBが毎回のDMA起動でクリアされなければ、 DMA終了フラグでわかるので、万事OKですが、 毎回クリアなら、DMAの起動回数をどこかで管理して、 それによって、DTEをクリアとてSTOPするということに なりそうです。何か他に良い方法はあるでしょうか? その他、何か良い方法があればご指導下さい。
>>104 安直だけど貼りついて見てたらだめ?
AD起動→10uS-αループ→AD結果読み取り→どこかに保存→200個以下なら最初に戻る
106 :
774ワット発電中さん :04/04/10 01:25 ID:MBVpb2Oi
104です。 10uSもぐるぐるループで作り出して、割込なしということでしょうか。 確かに、AD値ゲット中は、他のことはいっさいやらないつもりですので それもありだと思います。 タイマー割込でスッと行けると思ったら、10uSという時間は結構きついんですね。 PUSH、POPだけでもずいぶんとかかるみたいです。H8は速いと思ったんですが。 CPLDでやるというのも手ですが、今から勉強もツライな、と。 MARBの値さえ保持できれば......。
>>104 戻らないけど、そういうことするならブロック転送モードの方が
よろしくないですか?
108 :
774ワット発電中さん :04/04/10 02:36 ID:XtgbUQ3O
104です。 コメントありがとうございます。 MARA,MARBの値は、毎回のDMAC起動で戻らないのでしょうか?。 だったら、超嬉しいです。 ブロック転送モードにだと(他のモードでも?)、 DMAが起動されると、決まったメモリエリアを「全速力で」転送する、と理解しています。 つまり、1byte転送--->一定時間待つ(あるいは外部イベント入力後)---> 次の1byte転送--->一定時間待って....の繰り返しは出来ないのではないか、と思うのですが どうでしょうか? ・外部からの信号(この場合ADの変換終了信号)によりDMAが起動し、 ・1byte転送したら、MARB(書き込み先のメモリアドレス)を+1し、 ・同時に転送個数も1個減らす。 ・もし総計の転送個数が規定数に達したら、割り込み(またはフラグ)により、 メインに知らせる(メインが知ることができる)。 という動作ができれば、完璧なのですが。
>>108 >・外部からの信号(この場合ADの変換終了信号)によりDMAが起動し、
ITUのGRAコンペアマッチでDMACが起動できたはず
GRAを10usecにセットしてITUぶん回せば10usec毎に
DMACが起動する。
AD変換完了でDMAC起動できたかは失念。
>・1byte転送したら、MARB(書き込み先のメモリアドレス)を+1し、
>・同時に転送個数も1個減らす。
問題なし
>・もし総計の転送個数が規定数に達したら、割り込み(またはフラグ)により、
> メインに知らせる(メインが知ることができる)。
DMACのDTCRレジスタのDTEビットが1→0で転送回数満了が分かるので
ポーリングでも割込みでもお好みでどぞ
MARとか転送先アドレスの先頭、転送回数は漏れは毎回指定している
ネックはAD変換に必要な時間かな?マニュアルないから分からんが
どちらにしてもハードウェアマニュアルを一読されることをお勧めする。
110 :
774ワット発電中さん :04/04/10 17:11 ID:MBVpb2Oi
コメントありがとうございます。 >MARとか転送先アドレスの先頭、転送回数は漏れは毎回指定している これは貴重な情報をありがとうございます。 もしかすると、DMA起動しても、MARB値は初期化されないのかもしれませんね。 >>・外部からの信号(この場合ADの変換終了信号)によりDMAが起動し、 >ITUのGRAコンペアマッチでDMACが起動できたはず >GRAを10usecにセットしてITUぶん回せば10usec毎に >DMACが起動する。 はい、ITUからDMAを起動できるのは知っていますが、 AD変換後のデータを読みとりたいので、変換時間を考慮し ITUトグル出力TIOCA0→外付AD開始→AD変換終了信号→H8,DREQ入力→ DMACスタート→AD値を前回+1番地(MARB)に格納→DMAC終了 という一連のDMAC動作を10uSごとに実施するようにしたいです。 たとえば、転送個数を200個に設定し、MARBを0番地に設定してやると、 0uS後のAD値→RAM0番地、DTE=1 10uS後のAD値→RAM1番地、DTE=1 20uS後のAD値→RAM2番地、DTE=1 30uS後のAD値→RAM3番地、DTE=1 40uS後のAD値→RAM4番地、DTE=1 : : 1990uS後のAD値→RAM198番地、DTE=1 2000uS後のAD値→RAM199番地、DTE=0 →割り込みかかる→データ処理 という具合になることを期待しています。 しかし、 MARB(RAMの番地)のインクリメントが、次回のDMA起動まで保持されない、 ETCRの値(転送個数)が、「1回のDMA転送の転送個数」だとすると、また DTEがDMA終了時に毎回出るとなると、全個数200個で停止できない というのを気にしています。 0uS後のAD値→RAM0番地、DTE=0 →割り込みかかる 10uS後のAD値→RAM0番地、DTE=0 →割り込みかかる 20uS後のAD値→RAM0番地、DTE=0 →割り込みかかる 30uS後のAD値→RAM0番地、DTE=0 →割り込みかかる 40uS後のAD値→RAM0番地、DTE=0 →割り込みかかる : : 1990uS後のAD値→RAM0番地、DTE=0 →割り込みかかる 2000uS後のAD値→RAM0番地、DTE=0 →割り込みかかる のようになってしまいそうで。 >ネックはAD変換に必要な時間かな? AD変換の時間は1uS以下で終了しますので、問題ないのではと思っています。 >どちらにしてもハードウェアマニュアルを一読されることをお勧めする。 はい、これも3回ほど読みましたが、理解が悪くて......
ETCR を例えば200に設定したら DMACが起動するたびにETCRがデクリメントされる ETCRが0になったらDTEに0がセットされる なので極端な話、DTEに1をセットしたら、あとはC言語だったら while(DTE == 1) { } とかで待ってれば200のデータ転送が終了したらプログラムの 続きが実行されるぞ。確かw あと、ADCも完了フラグが立ったり、割り込みが起動できたりしたと 思うんで、ITU回しといて、フラグなり割込みで残りの時間をITUに セットするとかしたら10usecの時間が作れるような気がするな こちらもマニュアルが手元にないんで超適当だがw
112 :
774ワット発電中さん :04/04/10 19:46 ID:MBVpb2Oi
>>111 コメントありがとうございます。
そうですか、これは調子いいですね。
実は今、DMACのレジスタを設定するプログラムを書いているところです。
スタートアップルーチンで手間取ってしまいました。
いろいろな設定があって、PICとは、ずいぶん世界が違うようです。
ちょっとやってみます。
でも、ETCRが「DMA起動ごとに-1される」ということは、
1回のDMA動作で1byteしか送らないということでしょうか....うーみゅ
ありゃ、ADCは外付けか。今
>>104 見ましたわw
H8内蔵のADCじゃ不足?
DMACのDTCR(だったと思う)の中に転送データサイズの設定が
あって、バイトサイズとワードサイズ(16bit?)が選べたはず
ルネサス逝ってマニュアル探してみるかなあ
あ、漏れ3067使った事なかったW 3052のDMAC構ってたときの
話なんで注意。大狂いはないと思うが・・・どうだろ?w
114 :
107 :04/04/11 00:59 ID:GWSBVxwh
>>108 ETCRA=H'0101
ETCRB=読みたいバイト数
にしておけば希望の動作になるはず。
ADCからのリクエストをDREQに入れられる事が必要ですが。
115 :
774ワット発電中さん :04/04/11 02:51 ID:TxK7PmWo
110=104です。
>>113 H8内蔵のADCでは変換が遅く、10uS内に終わりそうないと
判断しています。
取り込みサイズは、DTSZビットで設定できますね。
>>114 ありがとうございます。コメントを読んで、ハッとして
マニュアルを読み返したら、ブロック転送モードで
行けそうな気がしてきました。
おっしゃる通りに、
・ETCRALに「DMAC起動ごとに転送する数」をセット。今回は1。
・ETCRAHは「各起動回の中の、DMA転送数の残数の変数として
使用され、その回のDMA転送が終了したときに、
ETCRALが自動copyされ次回の起動に備える。従って
初回設定値はETCRALと同じにする。今回は1。」
・ETCRBに「DMAの全起動回数を設定。今回は200。DMA起動ごとに -1され、
0になると割り込み発生。メインが知ることが可能」
・MARAに「ADのAddressを設定、自動増減無し=固定に設定」
・MARBに「RAMの先頭Addressを設定。DMA起動回ごとに+1されていく」
・ADの変換終了信号線をH8のDREQに接続して、DMAを起動する。
なんか これで行けそう。
ありがとうございます。見通しが出てきました。やってみます。
ありがとうございます。嬉しいです。
116 :
774ワット発電中さん :04/04/14 21:45 ID:8Hf8GrEP
110=104です 先日は、DMAの件でお世話になりました。 まだDMAの実験は出来ていません。ご報告は、もう少し後になります。 さて、今日はまた初歩の質問をさせていただきたく、ペンをとりました。 (ラジオ番組のお便りコーナーみたい) 今回は、前回のDMAとは全く別の回路で、ご相談させて下さい。 大容量データのメモリ保持についてです。 H8において、RS232Cなどの通信で受けたデータを、メモリに格納し、 これを処理して再び外に出すということが やりたいのです。 データ用のメモリは外部バスとし、内蔵メモリはプログラムのワークとして使用、 データ量は480KByteを3つのバンクに配置します。 ここで、「電源が切れても、データメモリの内容を保持したい」ので、 次のような方法を考えました。が、それぞれ初めて使うので疑問なところばかりです。 何かアドバイスがあればご指導下さい。(いつも質問ばっかりで、すみません) データ保持の方法 方法案1 データメモリにRAMを使用し、RAMにバックアップ電池を付ける。 ・簡単でよさそう。 ・RAMのVcc電源は、メインのVccと電池の(+)をダイオードでORで良い ・電源が切られた時に、!CSや!WEの端子のHレベルを維持する必要がある ・しかし、Vccからのプルアップ抵抗!CSと!WRについては、電源OFF時 その信号線のインピーダンスが落ちて、アクティブになってしまうと 思っています。このような場合は、どのような回路にするのでしょうか? 方法2 データメモリにFLASH EPROMを使う ・もしかすると、とても簡単かも。 ・バックアップ電池がないので、不用意な書き込みも起こらないと思っています。 ・しかしS-RAMの代わりに、取り替えるだけで使えるものでしょうか? 一説によると、通常のS-RAMとはアクセス方法が異なるので FLASHに対応したマイコンでないと使えないと聞きました。 (読み/書きで時間が違うからではないかと考えているのですが) 実際、世の中ではFLASHがバリバリ使われていると思うのですが、 世間ではどのようにしてマイコンとつないでいるのでしょうか? すみません。どうぞ宜しくお願いします。
117 :
774ワット発電中さん :04/04/15 00:56 ID:sovxnGr0
118 :
774ワット発電中さん :04/04/15 01:20 ID:Mas5VVvj
119 :
774ワット発電中さん :04/04/15 01:45 ID:W/aNiSno
>>116 通りすがりのものだが・・・
方法案1
バックアップ用のSRAMを使う。
CSが正理論と負理論の2つあるやつだ。
正理論のCSをVccに、負理論のCSを電池でプルアップする。
もうこんなSRAM売ってていないかもしれないな・・・。
方法2
フラッシュROMは消去に最悪1分くらいかかるので、間に合わないだろう。
H8なら普通に繋げてウェイト入れれば大丈夫なはず。
詳しくはフラッシュROMのマニュアルを読むこと。
マイコン内蔵フラッシュROMは書き込み中にはプログラムの読み出しができないので、
普通のやり方だと暴走する。
120 :
774ワット発電中さん :04/04/15 03:47 ID:OtQM7PBa
>>116 開発しようとしているのはどんなシステム?
協力してるんだからこちらも楽しませてくれよ。
>>118 PICとAVRが同時に出てたら、迷わずAVRだったな。
書籍も少ないしさ>AVR
>>118 クロック当たりでは確かにPICがローパワーだけど、
処理能力当たりならAVRの方がローパワーだ。
>>116 ・書き込みの頻度
・書き込み時間
・データの保持時間
てな所で選べばよろしいかと。
CSとWRはバックアップ電源で"H"に保持するのが普通でせう。
ものによってはバックアップ制御用のCSが付いていたりしますが。
FLASHも大概のものは直結できまつ。
目の前にもIntelのFLASHとH8が直結されている基板が転がっていたりします。
ほかにも、バックアップ電池を大きなものにしてD-RAMを接続して H8ごと動作状態でバックアップするとか、S-RAMを使用するにも H8の電源を入れっぱなしにしてスリープモードを活用して消費電力を 下げるとか考えられますけど。
127 :
774ワット発電中さん :04/04/15 23:40 ID:CPnd7TS2
AVRはデータシート見たら十分だからな。 解説書いらん。
128 :
774ワット発電中さん :04/04/16 00:22 ID:FpeYrr14
>>116 記憶の保持時間が問題になるだろう。数時間〜数日程度でいいなら、
小さなバッテリでも良いが、数週間とか数ヶ月、あるいは永久に保持
する必要があるならフラッシュメモリーをお勧めする。
フラッシュは入手しやすいものとして1Mbit(128kb)があるが、8pinDIP
サイズなので4ケ使っても大した大きさにならない。シリアルI/Fなので
ちょっとプログラムは面倒だが、その部分が出来てしまえば普通のメ
モリ感覚でR/Wできるでしょ。尚、普通はページライト機能を使えば
1Mbitなら256byteごとにまとめて転送できるし、万一この途中で電源
が切れても書き込みシーケンスが完了しないので中途半端にデータ
が書き込まれる事はない(経験ではゼロ)
それと、書き込みする前には消去は必要ない。書き込めば、自動的に
消去され上書きされる。
129 :
774ワット発電中さん :04/04/16 02:22 ID:Z3WYidnI
116です。
みなさん、素早いレスポンス、ありがとうございました。とても参考になりました。
実は、次のような物を作ろうと考えています。
スイッチ(SW)を複数個用意して、そのSWの番号に1対1で対応した画像をNTSCモニタに
出す、それだけのものです。手法としてまず考えられるは、SW→RS232C経由→パソコン
→VGA出力→NTSCに変換(市販品?)→モニタですが、SWを押してから画像が表示される
までに一呼吸かかるのがイヤで、マイコンを使おうと思うのです。
画像の作成には、ペイントブラシを使用して、320*240(でいいのかな?)のBitmapを作成。
BMP→RGBデータへは、パソコンアプリを1本かまさないといけないかも。
マイコンへの転送は、PC→RS232経由でマイコン→Flashメモリ
再生は、SW番号に対応する画面データ(Flashメモリ)→外部バス上のDualPortRAM、
DualPortRAM→D/Aコンバータ→NTSCエンコーダ→ビデオ信号という構成です。
その都度PC→マイコンのデータ転送をしていては困るので、Falshメモリに記憶させて
おこうと考えたのです。何せ電池バックアップも、Flashメモリも使ったことがなく
知識が乏しくて困っています。みなさんのアドバイス、本当にありがたいです。
>>119 > バックアップ用のSRAMを使う。
> CSが正理論と負理論の2つあるやつだ。
> 正理論のCSをVccに、負理論のCSを電池でプルアップする。
ありがとうございます。論理の異なる2つのCSがあるのは、そういうことですか。
初めて知りました。なるほど、Vccが低下してくるとCSが禁止をかける、Vccが
上昇すると、CSがenableになるが、!CSがプルアップ。よく考えてありますね。
> フラッシュROMは消去に最悪1分くらいかかるので、間に合わないだろう。
そうですか、消去は遅いんですね。
でも、消去(=別データ書き込み?)が遅いのに、なぜ
> H8なら普通に繋げてウェイト入れれば大丈夫なはず。
なのでしょうか? このあたりがよくわかりません。
> 詳しくはフラッシュROMのマニュアルを読むこと。
ですね。アトメルぐらいでしょうか。
ありがとうございました。
>>129 PCアプリ側で予め全てのデータを読み込んでおけばタイムラグは減るんでは?
PC表示した場合のタイムラグの理由を煮詰めた方がいいと思う。
なんだかんだいってPCの方がCPUその他の能力は圧倒的に大きいんだから。
サイズの問題などでPCを切り離してスタンドアロンにしなきゃいかんとか、
特殊なディスプレイで表示するとかじゃなければPC表示の方が・・
PCで表示させるんじゃないと思うのだが。
いや、 PCからマイコンに転送して使う(元データはPCにある)ってことと、 >手法としてまず考えられるは、SW→RS232C経由→パソコン >→VGA出力→NTSCに変換(市販品?)→モニタですが、SWを押してから画像が表示される >までに一呼吸かかるのがイヤで、マイコンを使おうと思うのです。 ってあるので。 これはタイムラグさえ少なければPC→RGB→Videoでもいいってことですよね?
どうなんだろ >再生は、SW番号に対応する画面データ(Flashメモリ)→外部バス上のDualPortRAM、 >DualPortRAM→D/Aコンバータ→NTSCエンコーダ→ビデオ信号という構成です。 こっち見てパソコンじゃ駄目だと思ったんですが? ハンディコンソール(H8+SW+LCD)じゃないのかな?
>>133 うーん、それはマイコンでやるなら、という話だと読んだんだけど
って勝手に想像してもしょうがないので
>>129 さんの補足キボンヌ。
135 :
119 :04/04/17 01:20 ID:dyZGtmZe
このスレ的には、あえてマイコンでやるものでしょう。
訂正あり。
誤:負理論のCSを電池でプルアップする
正:負理論のCSをVccでプルアップし、H8のCSに繋ぐ。
>>129 結構、大がかりな構成なので、いろいろ気をつけることがありそう。
バックアップ回路は、電源投入・切断時の中間電圧も考慮します。
SRAMもフラッシュROMも普通、低電圧検出回路(リセットIC)を使います。
使わない場合、初代ファミコンのようにリセット釦を押しながら、
電源切断の必要があります。
フラッシュROMは通常 read only です。
読み出しは、バス直結メモリーと同じように使えます。
消去・書込みには、コマンドを送ります。
最長コマンド実行時間は、全消去に分単位、
バイト書込みにms単位くらいだと思います。
RESET端子があるフラッシュROMには、ちゃんとリセット信号を入力しましょう。
また、DMAを使うようですが、次のルネサス技術情報に該当するかもしれません。
ttp://www.renesas.com/avs/resource/japan/jpn/pdf/mpumcu/tech/tnh8251a.pdf
今までPICオンリだったんですが、 Atmelのmega8っていうやつのデータシートを見て、なかなか強力だと思ったんですが、 これってポピュラーな石なんですか?あんまり作成例がないし、秋月には無いし。 digi-keyとか若松あたりから買うと600-950円あたりみたいですが。
>>137 だから何?
日記なら別の所行っとくれ。
>>138 >これってポピュラーな石なんですか?
って質問してるんじゃん(w
mega8は高めの設定だからねー。
350円以下がPICやAtmelの主流じゃないかな。
>>137 目的で選べばいいだけ。その強力な機能が必要で、コストも含め
PICの同等機能の石より有利だと思うなら使えばよいと思う。
使わない機能は要らないし。
使い方については旧AVRの延長でわかりやすいと思う。
といいつつ私は未だにもっぱらAT90S2313ですが
141 :
774ワット発電中さん :04/04/19 23:17 ID:HMs4+kWA
俺はATTINY2313が出るまで待つぜ。
142 :
140 :04/04/19 23:29 ID:2QAKtacm
漏れはATtiny26。 秋月効果のせいか最近は製作例が増えてきて、かなり遊べそう。
144 :
774ワット発電中さん :04/04/20 08:53 ID:eAYnqKne
PICやAVRを使うのは非国民。黙ってH8。
データシート眺めてるんですが、 ATiny12は6本OUTが出せるので(1本はオープンドレイン) 秋月液晶を駆動できますね。
>>145 しかし入力にとれるピンがないとなると、何に使う?
外部発振器つけられないので時計は無理だし、
音の鳴らないキッチンタイマーというわけにもいかないし
シリアル入力なLCD欲しくなることがあるね。シリパラIC外付けじゃ収まらないし
>144 でもPSoCは面白そう。
>>145 MLFなAVR(TINY26とかMEGA8)の方が小さくなると思われ
第一、リセットピンをI/Oに使っちゃったらISPできないじゃん(w
>>146 確かめないで書きますが、1〜6の表示だったら、D4-D7のうち
一つでも固定できまいか?
1つ浮いたら、それを入力に使って電子サイコロだな。
あと、出力だがD4-D7のデータはEで確定するまで、フっていいのなら、
D4あたりをトランジスタに繋いでPWMで音を出す。とか。
>>149 初期化やカーソル制御ができるかどうかぁゃιぃ。
あるいは運良くどうにかできるかもしれないが
D4-D7でサウンドは俺も妄想した(w
でもそれじゃ表示のためのデータセットでも音が出るんだよな。
すんません、AVRとGCCについて初歩の入り口のところを教えてください。 myprog.cをwinavrでコンパイルしてAVRSTUDIOでシミュレートするには、 1)winavrのProgrammers Notepad(PN)で、myprog.c プログラムを書く 2)winavrのMFileでmakefileを作る。 3) >make all > make extcoff する(extcoffはPNで定義する) 4)avrstudio で myprog.cofファイルを開く でいいんでしょうか? つっか、デバッグする間、PNとAVRStudioは両方開いて おかなくちゃならんのでしょか?AVRStudioからwinavrを制御すりゃいいんでしょうけど そのやり方がわからないのですが。
PNのOptions-toolsでmake allを登録してこれでコンパイル コンパイルされて変更が検知されるとavrstudio側で勝手にrebuildされる だっけ? うちはPN使ってないから分からない・・
153 :
151 :04/04/20 20:50 ID:SR4349QW
>>152 そうなります。だからPNでbuild all , build extcoff すれば、自動的に
avrstudioの方で読み込まれるので、いいといえばいいのですが。
あとちょっとatmega8でPWMやってみようと思い
//pwm test for ATmega8
#include <avr/io.h>
void main (void)
{
DDRB=0x02;
ICR1H=0x00;
ICR1L=0xf0;
OCR1AH=0x00;
OCR1AL=0x80;
TCCR1A=0x82;
TCCR1B=0x19;
while(1){
}
}
僕の目論見では、 0-ICR1(0x00f0)までの鋸歯状波を
OCR1AL(0x0080)のレベルで切ると思ったのですが、
(WGM13-10=1110)
AVRStudioでシミュレートすると、何故か
三角波の9ビット((WGM13-10=0110?)の状態になるんですが、
どうでしょか?
確かエディタとavrstudio両方同時に開いておかないで、 avrstudioで開いていない間にmakeすると、 avrstudioのproject file(.aps)とcofその他ファイルとの整合性がないと言われ、 その.apsファイルを破棄する羽目になったような記憶がある。 またcofを開けばOKではあるが、watch変数などはご破算。 avrstudioで開いている間に変更するとOKだった。 やっぱり同時に開いておいた方がいいようです。
155 :
152 :04/04/20 23:07 ID:rU7nGd4y
>>153 むーやってみた。
確かに1110でICR1までの鋸歯状波(高速PWM)になりそうなのに、
0010=位相基準パルス幅PWM(0x1FF上限)の動作になっちゃいますね。
>>155 同じくやってみた。
ATmega8のドキュメントが間違っているか、
シミュレータが間違ってるか、かなー。
こういうのは何処に相談すりゃいいんすかね?
AVRStudioの前のバージョンあたりだとどうなんかな?
megaシリーズ持ってる人にブレッドボードで作って確かめてもらおう!
>>157 mega8って若松だけ?
digi-keyは安いけど高いからなー(w
既知の問題点でしたか。 ところで、RTFMってなんの略だっけ?
161 :
151 :04/04/21 12:14 ID:SxDqzlMs
>>160 Read The チョメ Manual だったかと。
さんくす
>>159 #今度はTiny26のマニュアル眺めているんですが、
これってPWMの元クロックが、PLLの64MHzとか書いてあるのですが、
なんかすごいなー。
164 :
151 :04/04/21 15:59 ID:Y+jMojZQ
スマソ。サンプルソース使っていたのね
PORTBをロギングしてもPB1は全然変化しないなあ・・・・
>>153 は、「ヘン」といいながら、ちゃんとPWM出力がパカパカ出ているもんねー?
169 :
151 :04/04/22 12:06 ID:vOiLs5C4
>>165 ldi r16, 0xFF ; Set PWM top value: OCR1C = 0xFF
out OCR1C, r16
でセットされていますよね
フォーラムで質問してみれば?
中学英語だとこんな感じ?
Hi, fuckin' Folks!
I downloaded the fuckin' sample code from your fuckin' web site:
(
http://www.atmel.com/dyn/resources/prod_documents/avr131_source.zip ).
I start up fuckin' AVR Studio 4, 9, 0, 338 , build the fuckin' code , and the fuckin' simulator.
but the fuckin' PWM Port (PB1) don't change.
Please tell me why it does not work well.
THX
結局PORTにOUTする時のようには、PWMの出力は見られない って事かなー
Lじゃない、ATTiny26(16MHz)って、どこで売ってますか? 秋月のはATTiny26L(8MHz)だよね?
>>173 送料2000円だからなー。
ATTiny26を1個だけ頼むやつは勇者。
ところで、bascom-AVRって誰か使ってます? デモ版落としてみたんだけど、LCDとかのシミュレーションが便利かな、と。 コード1k制限は、MEGAでも使わない限り、気にならないし。
AVRって同じ20ピンでも2313とかとTiny26でピンの配置が全然違うのは なんとかならんのか、お。
アトメルやる気あんのかゴルア!
178 :
774ワット発電中さん :04/04/23 23:16 ID:YET9ggNJ
>172 趣味で使う分には +5Vで動かすのであれば16MHzでいけるよ。
データシートによると動作周波数-消費電流グラフで5Vならば20MHzまであるんですよ。 Tiny26Lの20MHzって試した人いますか?
>>179 データシートはTiny26/26L兼用じゃないの?
>>178 って、ことはアレですかい?Tiny26の選別で落ちたやつがTiny26Lってことか?
(製造プロセスを分けているわけではないって事)
今気づいたが、Tiny26はインップットキャプチャがないのか。 16ビットカウンタがないからかなー?
EZ-USBについてですけど短時間にエンドポイントへの割り込みが集中するような使い方をすると USBコントローラ(?)が割り込みを取りこぼしまくって転送が止まっちゃうんですが仕様ですか?
188 :
187 :04/04/25 13:28 ID:q78nJlz/
AVR1200ではじめてLEDをチカチカさせてみました あまりに簡単なのでびっくりしました 次はUARTに挑戦じゃー!
190 :
151 :04/04/26 15:39 ID:mygGtwYq
結局よくわからんのですが、内部PLL64MHzを使うとPWM出力をOC1で見るのは 無理みたいです。下記の様に、PWMのアウトプットコンペアとオーバーフローで 割り込みかけてポートに出してやると(つまりPWBを自力プログラムする) シミュレータでも出力が出ます。 実際にATTiny26に下記のプログラムを焼いて出力見ると、 PWM(OC1B)からは265kHzのPWMが出ています。が、内蔵8MHzなので PortAからの出力がその周期に追いついてませんので、周波数が66kHzのPWMに なってしまっています。以上、実験と御報告でした。 //pwm test for ATiny26 #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL (SIG_OVERFLOW1) { PORTA=(1<<PA0); } SIGNAL (SIG_OUTPUT_COMPARE1B) { PORTA=(0<<PA0); } int main(void) { DDRA=0xff; DDRB = (1<<PB3); OCR1C=0xff; PLLCSR=(1<<PLLE); while((PLLCSR & (1<<PLOCK)) == 0){ } PLLCSR |=(1<<PCKE); TCCR1A= (0<<COM1A1) | (0<<COM1A0)| (1<<COM1B1) | (0<<COM1B0) |(0<<PWM1A) | (1<<PWM1B) ;; OCR1B=0x80; TCCR1B=1; TIMSK |= (1<< OCIE1B )|(1<< TOIE1 ); sei (); }
私もAVRを始めたばかりなのですが・・・ ちょっと躓いてしまっているのでお教えを請いたく・・・。 ライタを作り、WinAVRをインストールし、Ponyとyaapで書き込みができる ところまでやっとこさ来ました。さてProgrammingというところで、疑問が・・・。 コンパイルをしてHEXまでは出来るんですが、デバッグをどうしようかと。 AVR-Studioだとエミュレータが入っているので、そいつにGCCの出力を 喰わせればよさそう・・・、までは想像がつくのですが、何をどう喰わせたら よいのやら・・・。 ずっとネットを這い回ったのですが資料が見つけられません。 お助けを・・・・
192 :
191 :04/04/26 22:09 ID:By3Dh4Z2
コネコネやっているウチにわかってきました・・・。 お騒がせしました。
>>192 「お騒がせしました」で終わるんじゃなくて
Mfileで、Default make target を AVR Extended COFFにしたMakefileを作って
WinAVRでmake all したら、
AVRStudioで、cofファイルをオープンするんですね
ってちゃんと書いてくれよぉ。
>>190 そういえば、ATTiny26って内部16MHz発振も出来るんだよね?
ATTiny26Lで内部16MHz発振させた場合も、ちゃんと動くんですか?
>>194 ん?内部RCはLなしでも8MHz Maxだったと思うが。
>>194 PLLCK=0, CKSEL=0001 で16MHz動作になる。
26と26Lは多分プロセスは同じだと思う。
保証される動作条件が違うだけでちゃんと動くのではないかな。
というか、ちゃんと動いてます(w
>>196 そっか。わざわざDigi-Keyで16MHzのを取り寄せたのに。
秋月がTiny26Lしか扱っていないのは、つまりそういうことか(w
Tiny26はカウンタが8ビットなのが、玉に瑕だけど、 オーバーフロー割り込みでどっかのレジスタをincして使えばいいかー。 インプットキャプチャはINT0かなんかを使うとして。
199 :
191 :04/04/27 20:46 ID:XL+NN4Rn
>>193 そのとおりでございます。
失礼しました。今は libc の内容の把握に苦労してます。
Tiny26Lの電源範囲が低いので、低いところで8Mを保証していると
考えてます。
しかし、ATTiny22とか15とか使いたいんですが、どこにも売ってないのは
どうしたものか(´;ω;`)ウッ…
200 :
191 :04/04/27 20:51 ID:XL+NN4Rn
>>193 ・・・?カキコしてから気づいたんですが
>AVR Extended COFFにしたMakefileを作って
makefile で出来るんですか・・!
当方 make extcoff をバッチファイルに入れて作ってました・・・。
どうやってやるんだろう・・・・。
>>197 逆に、16MHzのTiny26が2.7Vで8MHz動作するか気になってきたw
>>200 いや、だから
「Mfileで、Default make target を AVR Extended COFFにしたMakefileを作って」
ってちゃんと書いてあるし。
(スタート/プログラム/WinAVR/Mfile でMfileを立ち上げて
Makefile/Default make target/AVR Extended COFF )
(その他、MainFileNameとかMCUTypeとか、順に設定する。)
File/SaveAs/で保存。
>>201 やってみました。動作保証はないし、安定かどうかは知りませんが、
Tiny26 (Lではありません)で、
2.7V-8MHz , 2.7V-16MHz 両方OKです。 2Vあたりから動き出せるみたいです。
ADコンバータがちゃんと動いているかどうかは確かめていません。単に
IOとタイマー割り込みだけのプログラムなので。
205 :
200 :04/04/28 12:28 ID:M9dBc3BE
>>203 丁寧にありがとうございます。
当方の持っているWinAVRが古いのか、Mfileが見つからなかったので
最新を落としてみたらばっちりでした。
ところで最新のWinAVR( WinAVR 20040404 )、インストール言語に
日本語も選べるんですね・・・。インストーラを多言語対応版に替えただけ
の様な気もしますが・・・。
ちょっと質問なのですが。。。 4.7KΩ抵抗4本COM接続とponyprog2000とでのライタってUSBのSerialデバイスでも動きますでしょうか? VMWare(on Linux)の中のWin2kだとオンボードのCOMでも駄目だったのでちょっと気になります。 オンボードCOM以外の環境ではやっぱりAVR910みたいなCOM-ISPライタを作らないと駄目なんでしょうか?
211 :
再アップ :04/05/01 19:22 ID:VoCQL730
212 :
211 :04/05/01 22:26 ID:VoCQL730
やっぱり、不親切な気がしてきましたので既存のPHS用などのMMLを このAVRの演奏プログラム用のデータに変換を掛けるDOS窓プログラムを 作成してます・・・。 女房子供が実家に里帰りしてるGWは趣味がはかどりますが、まるで家にいても 仕事をしているかのようです(*´д`;)…
漏れもGWは電子工作三昧だ(w
>>212 がんばれ、俺はMIDI(smf)からの変換プログラムを作ったけど
今ならケータイの着メロデータの方が豊富だね
ATMELサイトにあるAVRの Application Notes で質問があります。
AVR335: Digital Sound Recorder with AVR and DataFlash
(
http://www.atmel.com/dyn/resources/prod_documents/doc1456.pdf )
の7ページ目にサンプリングレート8kHzのPWM用DAC回路があり、
これをサンプリングレート16kHzや32kHzのものに改造したいのですが、CRの値を
いくつにすればよいのでしょうか?
初めの2段は増幅回路なので無視して、最後のオペアンプ(R11,C4)が積分回路で
これを変えればよいと思い、積分回路やPWMについて図書館で調べたのですが
設計方法が載っていませんでした。
また、R11とC4さえあればオペアンプが無くてもアナログ信号を得る事は
できるのでしょうか?オペアンプの代わりにスピーカドライバをそのまま繋げようと
思っています。
以上。よろしくお願いします。
217 :
216 :04/05/02 21:38 ID:CUZ4SQpy
>>216 × 初めの2段は増幅回路
○ 初めの2段はLPF
>>218 回答ありがとうございます。
つまりAVRのPWM出力を用いるとLPFを通すだけで
元のアナログ波形が取り出せる訳ですね。
LPF=積分回路なのは理解できるのですが、
図書館で調べたPWMの解説書では
PWMは波形立ち上がりの間隔は一定でduty比を変化する
事により信号を生成する。元の信号に戻すには
立ち上がりに同期して積分回路を動作させる。
と書かれていて、
>>216 の回路との整合性が取れなかったのです。
また、
>>216 にあるPDFの4ページ目Figure.6のPWM波形だと
「PWMは波形立ち上がりの間隔は一定で」で無くなってしまうのですが
これでもPWMなのでしょうか?
また、Figure.6のPWMだとFcの4倍のサイクルが必要(PDFにもそう書いてある)
なのですが、この認識で正しいでしょうか?
以上。よろしくお願いします。
220 :
774ワット発電中さん :04/05/02 23:56 ID:D0VjCEBk
論より証拠。実験して報告しろ。
>>219 普通のPWMは、アナログ電圧と、スタートしてから一定の速度で
電圧が上昇していく三角波形を比較して、アナログ電圧のほうが
高い期間をH、三角波のほうが高くなったらLを出力する、という
信号です。
三角波は時間と電圧が比例しますから、PWM信号のduty比(信号がHの
間の時間)が電圧と比例するわけです。
元のアナログ電圧を得るには、
PWM信号の立ち上がりと同時に三角波をスターさせる回路と、
PWM信号がLになった瞬間の三角波の電圧をホールドし出力する
回路が必要になります。
これらは単純なフィルタで組むことはできませんので、
AVR335では少し考え方をかえて、一段目のフィルタの出力段では
出力信号がHの間は電圧が上昇し、Lの間は電圧が下降するという
動作になっており、これをさらにフィルタに通して、最終段では
duty比に比例して相対的に電圧が変化するという回路に
してあるのだと思います。
たぶん
222 :
774ワット発電中さん :04/05/03 03:47 ID:cFMBXlVm
今日はじめてH8/3067を使いましたが、外部割り込みIRQの設定には 立ち下がりエッジのみで、立ち上がりや両エッジでの割り込みは できないのですね。 やむをえず、外部に74HC86を置いて、ポートによって反転/非反転を 切り替えましたが、なにかうまい方法がありますか? 「こーやってやるんだよ!」というのがありましたら、 教えてください。
223 :
774ワット発電中さん :04/05/03 04:43 ID:cHkPtzPS
↑インプットキャプチャはエッジ方向指定できなかったっけ
信号は上がったら下がるしか無いので、立ち上がりで割り込んで、 割り込みハンドラルーチンの中で立ち下がりに変更するとかいう 手がありますね。一番はじめの状態は、ポートの状態をそのまま 読んで、Hなら立ち下がり、Lなら立ち上がり割り込みに設定。 苦し紛れですし、割り込み後のごく短い時間に信号が変わるような ものだとお手上げですが。
225 :
206 :04/05/03 10:18 ID:k6K4W34u
スルーでつか。。。 USB−Serialコンバーター買ってきて人柱しまつ
>>225 i;oのやつなら動いたような気が・・・
224です、、、立ち下がりのみでしたか・・>H8 AVRと混同してしまいました。
229 :
774ワット発電中さん :04/05/03 12:57 ID:4YWZMf6X
そうなんです 立ち下がりのみなんですよ picでも エッジ切り替えできるのにね
>>225 ポート直叩きは不可だけど、API使って信号線操作してるプログラムなら
USBでもいけると思う。でも、恐ろしく遅くなる悪寒…
232 :
774ワット発電中さん :04/05/03 14:02 ID:4YWZMf6X
H8Sは いいんだけど 電流食い過ぎで電池駆動にはツラいんです もっと消費電流が少ないH8があれば 乗り換えたいんですが スーパーロウパワーのシリーズ以外だと 3067/3069の25mAが 一番少ない と思う
233 :
223 :04/05/03 15:36 ID:78RiptqS
12. タイマW 12.3.3 タイマインタラプトイネーブルレジスタW(TIERW) TIERW はタイマWの割込み要求を制御します。 0 IMIEA 0 R/W インプットキャプチャ/コンペアマッチ割込みイネーブルA このビットが1のときTSRW のIMFA による割込み要求(MIA)がイネーブル になります。 ---------------------------- 12.3.5 タイマI/O コントロールレジスタ0(TIOR0) TIOR0 はGRA、GRB およびFTIOA、FTIOB 端子の機能を選択します。 IOA2=1 のとき 00:FTIOA 端子の立上がりエッジでGRA へインプットキャプチャ 01:FTIOA 端子の立上がりエッジでGRA へインプットキャプチャ 1X:FTIOA 端子の両エッジでGRA へインプットキャプチャ --------------------------- よって、FTIOA端子に信号を繋いで GRAを両エッジのインプットキャプチャ にして、キャプチャ割り込みイネーブルにすれば、 信号の立ち上がり、立下りで割り込みがかかる、、、、、んじゃ?
>>232 そりゃ、動かし方がマズイんじゃないか?
暇なときはスタンバイモード入れないとだめだろ。
どういう用途に使うかか知らないけどさ。
235 :
774ワット発電中さん :04/05/03 20:19 ID:4YWZMf6X
暇なときがないんですよ 高速処理していないときでも 休むわけには行かないんで 電池駆動はむつかしい
237 :
774ワット発電中さん :04/05/04 08:56 ID:2wVIl/pG
>>235 高速処理をしていないときならクロック落せるんじゃないの?
この広告を見る限りじゃ何もついてないっぽいし、別売も見当たらないね。 とりあえず、armだったらbinutils/gccが使える。自分でソースからmakeしなくても、 gba用にarm-elfなWin用バイナリがどこかにあるだろう。 後は外付けのAT29LV1024に書きこむ環境さえあれば、一応の開発環境は 揃うんではなかろうか。
ARMですか〜。(死んだ魚の目で棒読み) SH2も使いこなせない人が多いってのに、 ARMなんか出されても宝の持ち腐れって気がする。 (ググっても秋月のSH2ボードで何か作った例はあまり見つからない、 かく言う漏れも秋月のSH2ボードは買ったけど大絶賛放置プレイ中) そのへんになると、もう個人では手に負えない世界って気がする。 本業もハード屋で日頃SH、ARMをバリバリ使ってる人は違うんだろうけどさ、 日曜日しかハンダごて持たない趣味人にはキツイっす。 新しく覚えなきゃいけないCPUのマニュアルの膨大なPDF、読んでるヒマないっす。 昔は、新しいCPUを積んだボードキットなんかが出ると 「おっ、これ面白そう」って目をキラキラさせたんだけど… なんか、電子工作がどんどん一般人の手の届かないところに 行ってしまうようで寂しい。
>>241 ですよねー。
そーいうのより、avrのtiny/megaシリーズの充実きぼん。
っていうか、XilinXの開発キット作ってくれないかのぉ。
あとUSB-IOみたいなやつ。
ARMマイコンボードよりH8のUSBホストボードキットの方が使えそうな気がするのだが。
>>241 AVRも最近のmegaはどんどん複雑になって覚えることがたくさん(´д`);;
初期のAVRのシンプルさが良かったのになぁ
>>244 WinAVRでCで作るには、TinyでもMegaでもOK?
>>241 ARM7TDMIならメモリさえ積めれば素直にLinuxが走る訳で…。
SH2は中途半端(というか利用目的が限られる)と思うが。
Linuxを動かすことが目的と化してしまうとつまんないんだよなぁ。
>>249 そうそう。Linux動かしたいんだったら、80x86系のボード使った方がいい。
(さすがに秋月のARMボードみたいな低価格じゃないけど)
80x86の方がいろいろノウハウも蓄積されていて、安定してると思う。
あと、プロテクトモード(ARMでもそう呼ぶのかどうか知らんけど)で
動くような大げさなOSを載せるのもちょっとどうかと思う。
趣味で使うぶんには、気軽にポート直いじりできる環境の方がいいんだけど。
251 :
774ワット発電中さん :04/05/05 11:12 ID:4qQGUbqr
こんにちは、質問があるのでどなたか受け付けてもらえませんか?。 SCI受信を調歩同期式モードで行っているとき、受信信号のコードが切れた事を 想定してコードの端を受信端子につけたり離したりの実験をしました。ところが その時マイコンが暴走してしまいます。受信用ICからノイズが回り込まないよう にコンデンサとチョークコイルをICの電源につないでいます。さらに、プログラ ム上でエラー受信の処理はしています。 このように信号線の端がついたり離れたりするときにはチャタリングによって ランダムに信号が発生すると思いますが、このような信号(ノイズ?)をH8マイ コンに入れたときマイコンは暴走する可能性はあると思われますか? …どなたかよろしく。
>>251 暴走ってどうやって確認しました?
プログラムのどこかでループから脱出できなくなっているわけでは
ないのですか?
>>251 プログラム側で間違いなく受信エラーの処理を行っているにもかかわらず暴走?するような場合、
信号線が切れた瞬間、信号線や回路のインダクタンス成分によってサージが発生して、マイコン
がラッチアップすることが(まれに)あります。
念のため確認したほうがいいかと。
254 :
251 :04/05/05 13:19 ID:4qQGUbqr
>>252 プログラムの先頭のほうでIOポートの1つの出力をONにし、あとは、それに関
してはなんのプログラム上の命令操作はしていないにもかかわらずその出力が
OFFしてしまいます。
>>253 どのようにやって確認するのですか?
それと、それが原因だった場合対処方法はどのようにするのですか?
>>254 線が切れると想定されるところよりマイコン寄りでプルアップ・プルダウンしてもだめですか?
256 :
251 :04/05/05 14:32 ID:4qQGUbqr
>>255 H8マイコンではプルアップをプログラムで設定できるようになっていますが、
これでは不充分なのでしょうか?
活線挿抜でGNDが先に切れればラッチアップする可能性は十分にある。 でも、単なるプログラムのバグのような気が.....
受信エラーの時の後始末をしくじっていて、割り込みから正常に 戻らず、そのままあの世行きとかね。 I/Oポートがいくつか開いてるなら、エラー処理のチェックポイント ごとに違うコードを出力するようにして、あとはロジアナで波形を 眺めておけばいいんでないの?
259 :
251 :04/05/05 18:22 ID:4qQGUbqr
>>258 あなたが言われるように、受信エラーが起こってその処理が不適切な場合、
マイコン全体の動作はどうなるのでしょうか?
暴走?それとも無限ループの場合のように受信前の状態で止まっている?
割り込みベクタが設定されてないから、要因が発生すると不正なアドレスに 飛んじゃうとか。フラグ判別が不十分なのでループから抜け出せないとか。 要因がクリアされないから、通常処理に戻れないとか。 その「不適切」の内容、ターゲットの仕様によるでしょ。一概に言えない。
261 :
sage :04/05/05 21:15 ID:zsotQUXp
>>251 俺もプログラムのバグに1票。
割り込みを使わないで実装しても暴走するなら、ハードが臭いかな。
おれは251の環境がおかしくて正しくコンパイルされていないに一票。
おれは251の環境がおかしくて正しくコンパイルされていないに一票。
>>241 ARMボードって、フラッシュメモリがPLCCかよ(;´Д`)
DIPでソケットにしてくれた方がいいのに。
外付けコネクタからROMライタにつないで焼くことって
できればいいんだけどなぁ。一応DIP焼く環境はあるんだけど。
変換ソケットつくるのメンドイし、挿抜可能回数も少ないだろうしなぁ。。
気軽にやるには、やっぱり内蔵フラッシュの石じゃないと
ダメだよなぁ。
SHはSH-3を仕事で使ってるからあんまり興味がないけど、
ARMは使ったことナイから、ちょっと興味あり。
オン書き対応で、書き込みプログラムが裏バンクに入っていれば 別に外に石付いててもいいな。 書き込みプログラムを間違って消して再起不能てのが一番恐いからなあ。
16bitフラッシュでDIPのってあったっけか? とりあえずダウンローダだけ焼いて内蔵RAMで開発が手軽かなぁ
269 :
251 :04/05/06 18:59 ID:0XU12/eA
>>260 言われているように、受信エラー割込みのベクタテーブルを設定せず、受信エラー
の処理を、なぜか、受信データフル割込み要求(RXI)に対するルーチンに書いて安心
していました。
これを、受信エラー割込み要求(ERI)に対するルーチンを設定してここに書くと、言っ
ていた動作不良は起こらなくなりました。
問題解決しました。ありがとうございました。
>>270 そんな低レベルのじじーの昔話なんか無視しろよ。
昔のまま時間に取り残された奴なんぞ要らぬ。
そのじじーに一つだけ教えてくださらんか。 なんでATMELのAVRSTDIOのアセンブラは、最後にENDを書いたらエラーになるんかの? アセンブラの最後にはENDって書かないと気がすまないんじゃがの。 END でも .END でもいいんじゃがの。 ;ENDはちょっと気持ち悪いんじゃがの。
>おい!マイコンを自作した奴いますか スレタイトル おい!マイコンボードを自作した奴いますか の間違いだろ なんで日本語が不柔軟だろう?
>>273 糞スレなんで中身見ないでレスするが、FPGAでマイコンを自作したことはある。
今はSystemCもどきで簡単なCISCを作っている。
みたいなものなんじゃねぇの?
>>273 ハァ?
昔はTK-80のようなボード全体を「マイコン」と普通に呼称していたが?
μPD8080AF単体を「マイコン」などとは呼ばなかったが?
すがやみつるのマンガなんかでは、綺麗な筐体に入っていて、
フルキーボードやCRTインターフェースが標準で付いていて、
BASICインタプリタが内蔵されていて、
今なら「パソコン」と呼ぶべきものを平気で「マイコン」と呼んでいたが?
>>273 は80年代を知らないんだろうな。
マイコンといえばPICやAVRのことだと思ってんだろ。
>>276 すがやみつるのあの漫画はすごかったな。
異常に飛んだスキージャンパーのデータを入れたら
-270℃って表示されて、
「なんだこれは・・・液体ヘリウム?超電導磁石か!」
・・・・・・・・・・・・子供心ながらおいおいと思った。
278 :
774ワット発電中さん :04/05/07 21:57 ID:W6GnO0do
>>276 まあまあ、そんなにムキになんなくてもいいじゃんw
>>278 マイクロコンピュータか、マイクロコントローラかって違いかなあ。
今でもH8マイコン基板で・・なんて言えばマイクロコンピュータなのかな
パソコン、マイコン、無いコン、ロリコン おまいらはどの世代?
281 :
774ワット発電中さん :04/05/07 22:12 ID:W6GnO0do
ロリコンって何だよロリコンってw
>280 ロードマン
>>280 ろぼこん
コンテストじゃなくて、ロビンちゃんがでるあれね。
昔の「マイコン」は、MyComputer的な意味で使っていた感じがする。 仕事で使うオフコン(もう死語?)との反対語みたいなもんかな。 制御でいうマイコンといえば、つくば万博でマイクロマウス大会を見て萌え ますた(w 自分の原点はあれかな。
288 :
774ワット発電中さん :04/05/08 06:17 ID:rF3os+G5
NECの78kは俺だけでいい・・・・。
AMDの29kで自作基板作ったな
290 :
じじい :04/05/08 11:42 ID:XHDFKFQw
>>280 パソコンは、昔パーコンって言ってたもんじゃわい。
そういえば、スーパーコンピュータをスパコンっていうのは、やめて欲しいんじゃがのぉ。
ワークステーションは略号を聞いた事がないんじゃが、ワテションとか言うのかのぉ。
>>283 ロボコンって真空管で動いているんだよな。最後に100点とれたんだっけ?
288>>
78kって糞なアーキテクチャの割に周辺とか開発環境が整っているから
結構使われているみたいね。こないだ78k0から78k0sに変更に
なったとき少しはマシになるかと思ったらサブセットやった…。
バイト先で使ったマイコンが78k0sだった。 これが始めてプログラムを書いたマイコンだったので日本語資料が豊富なのは ありがたいのだが開発環境の安定性がかなり糞。 ICEデバッガ→良く落ちる 統合環境→良く落ちる かなり勘弁だったよ…
えっ、オシロってみんな持ってるもんなの? 一家に一台とか?
295 :
774ワット発電中さん :04/05/08 20:58 ID:QtYHcNHa
秋月の3048にRAMを増設してマイコンの勉強をしていたのですが、 ITUを使ったタイマ割り込みのあるプログラムをRAMに送るとプログラムが 走らなくなり内部ROMに書き込むと走るような症状が出ています。 ROMに書き込んである転送プログラムはbesttechnologyさんが以前公開していた 3048用の物で、開発環境はGCC Developer Lite ver 1.5.0.18です。 割り込みを使わないプログラムは問題なくRAMで動いています。 原因が分かる方がおりましたらご指導よろしくおねがいします。
割り込みベクタはどーなってんの?「RAMに送ると」ってーと、ルネサスモニタ でも使ってんの?だったら、ユーザー用仮想割り込みベクトル領域にちゃんと 割り込みベクタが置かれるようになってる?
297 :
296 :04/05/08 21:20 ID:TOPW96Kd
あ、ルネサスのモニタじゃない訳ね。書いてあった。スマソ >ROMに書き込んである転送プログラムはbesttechnologyさんが以前公開していた 3048用の物 その転送プログラムなるものの実体は知らんので分からんが、多分ルネサス モニタと同様に、ベクタを二重化してるはずだ(でないと後からベクタを追加 出来ない)。それ用のリンカスクリプトでもあるんじゃないかな。
NECマイコンのICEというと内藤電誠かと思いますが、わりと使い勝手 良いと思いますよん。78kは会社で使っているけど、命令の直交性が悪く てアセンブラだと辛いですね。78k0sはさらに抜かれてるみたいです。 昔使った75kのICEは裸の基板だった(w 最近使ったuPD63のICEも裸基板だったなぁ(ww
280ですが予想通り老体がたくさん釣れマスタ。w ちなむにMSX世代す
NECマイコンのICEというと内藤電誠かと思いますが、わりと使い勝手 良いと思いますよん。78kは会社で使っているけど、命令の直交性が悪く てアセンブラだと辛いですね。78k0sはさらに抜かれてるみたいです。 昔使った75kのICEは裸の基板だった(w 最近使ったuPD63のICEも裸基板だったなぁ(ww
298,300 Wスマソ
302 :
774ワット発電中さん :04/05/09 01:10 ID:pcsRlESB
あ、さて、 当方、H8を外バスモードで使用しておりますが、 H8って、/WRをネゲートしたあと、データバスの残留時間が異常に少なく、 I/Oチップのホールド時間が稼げなくて困っております。 とりあえず、/WRアサートをCPUクロックでネゲートして、 無理やりラッチタイミングを速くして解決していますが、 もっとスマートな方法って無いでしょうかね? _ ━━━━┓.. ┏━━ WR . ┗━━━━━━━━━━┛ . ||短 DATA ─────■■■■■■■■■■■─ .. |← 長 →| _ ━━━━┓... ┏━━━━━━━━ WR2.. ┗━━━━┛ CLK ↑ ↑ ↑
303 :
774ワット発電中さん :04/05/09 01:24 ID:pcsRlESB
ごめんなさい。質問スレで聞いてきます。 スレ違いとは、基本的なミスを…
304 :
774ワット発電中さん :04/05/09 22:05 ID:p1rZtQ2b
>>302 そんな作り方じゃヒゲがでる可能性がある。
>>302 データバスにLS245/HCT245等のバッファを入れて、バスバッファの伝搬遅延時間で、
アドレスデコーダ(Ex. 74HC138)の遅れを相殺。245のDIRは、/RDを繋いで、
通常はA(CPU)->B(メモリ,I/O)にしておく。
>>304 D型F/F(Ex. 74HC74)のD入力と/SET入力をVcc(+5V)へ、CLK入力へはCPUのクロック
(φ)を繋ぐ。/CLR入力へは、/WRと/RESETの負論理OR(Ex. 74HC32)を繋ぐ。
Q出力は、/WRの立ち下がりで直ちに'H->'L'になり、直後のクロック(φ)の立ち
上がりで'L->'H'になる。ヒゲは出ない。
>>305 /CLRが非同期のレベル入力なので、/WR がLの間 Q もLのままになる。
ここはやはり、/WR+/QをDに入れてエッジトリガにしたほうが…
_ ..... ━━┓.... ┏━━
WR .......... ┗━━━━━━━━━┛
_ .. ┏━━━━━┓
Q . ━━━━━━┛. ┗━━
_ _ ...━━━┓..... ┏━━━━━━━━
D=WR+Q ........ ┗━━━┛
DATA . ──■■■■■■■■■■■─
.. |← 長 →|
CLK ↑ ↑ ↑
307 :
304 :04/05/10 08:01 ID:yb0+akHL
>>305 CLRはどーするの?
リセットでCLRを叩く?
VIA の C3使ってる人いる?
何に使ってるの?
秋月の3069ボード使ってみたんだが、リセット端子は出てないわ SCI0、1端子(TXD,RXD)もピンヘッダに出て無いわで激しく使いづらい アダプタ用のコネクタなんて要らねーし。ナニこれ? 使ったことある香具師の感想を聞きたい。おまいらどーよ? それとも漏れがオカシイのか?
>>311 3067ボ-ドは、RESET端子出てるよん。
2ピンだけ別に......
何で他のコネクタと一緒にしなかったのか
ピンセットでつまむため
315 :
774ワット発電中さん :04/05/15 00:13 ID:3bEYOKWA
>>238 のARMマイコンボードとH8USBhost マダー
>>313 3067ボード持ってるけど使ってないなあ
あれ、そこはかとなく野暮ったいんだよなあw
母艦につけても座り悪そうだし
秋月のH8ボードは漏れ的には3052が一番使い勝手がよさそうだ
あと、
>>238 のカタログに載ってる3069載せてるUSBホストボードは
ナニゲに期待しているw
317 :
774ワット発電中さん :04/05/15 10:22 ID:yhC0fo18
H8はまだ分かるんだが、なんでもう後がない安部を使うんだろ? もうアトメルは安部を見捨てたんだろ?
秋月のH8を買うならどれがいいのでしょうか? 3069を買おうと思っていたのですが・・・。
>>318 機能が少なくていいなら3664ボード+IOボードにしとけ。製作楽だし。
320 :
774ワット発電中さん :04/05/15 11:45 ID:OtQM7PBa
3664より3694を強く推奨する
>>317 とりあえず楽だもんな。
素人は安定供給関係ないし(^^;)
社畜が秋月のキットなんて業務で使わんだろ
えッ?
>>317 3068ボードの人が持ち込んだ話だから、
細かい事は考えていないだけではないかと。
>>322 むしろ試作や検査治具は秋月キットだらけですが。
326 :
774ワット発電中さん :04/05/16 00:13 ID:6EAg6I1Z
小ロット生産者とともに歩む 秋月通商
秋月キットで検査治具が造れるのか…
テスタ板の脇に乗っけるちょっとしたディスクリート品なら 秋月のでもOKかもしれないけど、その程度なら普通に実験室に転がっている罠
331 :
329 :04/05/17 00:37 ID:RphI6ykT
生産されたASSYの動作チェックに、 AKI-H8を乗せた手配線基板を使っておるが。
治具とかは一品ものなんで秋月+手配線で問題ないでしょ 予算なんて削られ放題だし大体急なオーダーで出てくるし 数ヶ月後にリピートオーダーが来ると泣けてくるがw
てか治具屋さん結構いるのねw
>>334 だって、若いヤツにやらせると、線の断線見るだけなのに
PCとFBIあたりのI/Oボードを稟議しようとするんだもん。
以前はGUPPYを使ってた。高かった
337 :
774ワット発電中さん :04/05/17 17:04 ID:JLo5pNtR
使っているPCがPentium(70MHz) Win95だから買い換えたいんじゃないのかw
>>337 ×Pentium(70MHz)
△DX4(100MHz)
◎486DX(33MHz)+OverDrive(66MHz)
339 :
774ワット発電中さん :04/05/17 20:10 ID:6p0RvV9P
俺の設計した製造ラインは全部にAKI−H8インサイドやで
AKI-H8は高いから治具コンにはAVRを使ってる。 ピンベースやマウンタでほとんど予算取られるからなぁ。
PC-98の治具がまだある。そろそろ壊れそうでハラハラ
秋月のキットってばお役にたってるんだねえ
343 :
774ワット発電中さん :04/05/17 21:33 ID:JLo5pNtR
小ロット生産者とともに歩む 秋月電子通商
学生サンも混ぜてください 学際の部活展示でつかいますた
>>344 学生が千石と秋月使うのは当たり前だろ。
CADで自前の4層ボードをウン十万かけて起こすのが当たり前の企業が
秋月を使っているギャップを楽しむスレです。
346 :
774ワット発電中さん :04/05/19 00:08 ID:3ESZ8Emf
突然で申し訳ありませんが、H8/3048について質問があります。 秋月電子製のH8/3048ボードを同社のH8マザーボードに乗せて使っていますが、 何をしてもLED(LED1・LED2)が約10Hz程度で点滅するだけで動いてくれません。 ”H8/3048ボード”が壊れていると考えていいのですか? H8は素人です。
>>346 それだけの情報でどうしろと?
プログラムはちゃんと焼けてるのか?
LEDが繋がってるポートだけを出力するプログラムを実行するとどうなるのか?
348 :
774ワット発電中さん :04/05/19 00:33 ID:3ESZ8Emf
>>347 言葉足らずで申し訳ありません。
一応、ブートモードでの書き込みも問題なくできました。
>>LEDが繋がってるポートだけを出力するプログラムを実行
参考書を元にSW1・SW2の状態をLEDに出力するプログラムを走らせましたが
結果は同じでした。30行ほどの短い物です。
動作モードも色々と試しましたが同じです。
サンプルで付いてきたプログラム(LCD1.MAR 秋月)でも結果は、同じでした。
WDT・タイマカウンタ・割り込みの初期設定をしないと勝手に動いているって事は
考えられますか?
349 :
774ワット発電中さん :04/05/19 04:37 ID:cpi4BYXy
マニュアル読んでから質問しろ
AVRのI/Oポートを拡張したいのですが、 速度はそれほど要らないので、I2Cを使って3つほどAVRを並列に繋いで それらをマスターのAVRでコントロールしたいのですが、 GCCでのサンプルって何処かにありますでしょうか? (拡張したI/Oは「I」も「O」も使いたいのですが)
>>346 H8の初期状態としては
・I/Oポートはすべて入力(ハイインピーダンス)
・タイマーは停止
・NMI以外の割り込みは停止
なので、LED(LED1・LED2)が約10Hz程度で点滅するサンプルプログラムが動作していて、
新しいプログラムは単純に書き込み失敗している に一票
LEDをFET経由で点灯させているのであれば、ハイインピーダンスの不定状態が
偶然10Hz程度の点滅を引き起こしてるというのもありえなくは無いけど。
実は毎回同じのを書き込んでしまっている、というのもありがちだね。 書き込んでいるつもりのファイルを削除して、書込み操作してみれば? ファイルがないってエラー出るかどうか。
>>350 そんなアフォなことしないで74HC299でも使ってみ?
>>354 最近は何でもあるなぁ。
ふと思ったのだが、SPIとI2Cって今のところどっちの勢力の方が優勢なのかな?
>>355 SPIって、I2Cみたく、複数個繋げられます?
アプリケーションノーツ見ると、1対1っていう感じなんですが。
358 :
774ワット発電中さん :04/05/20 01:59 ID:ZcPpLUHn
93c46とかはSPIだな。
>>350 速度は要らないならラッチ付きシフトレジスタ(74HC595)がいいんでないの?
360 :
350 :04/05/20 08:48 ID:CbZaAlYF
I/Oを100個くらい拡張したいんですよ。 だからピン数の少ないシフトレジスタ系をいっぱい並べるのはちょっと、、、。
>>360 それは・・・設計を見直したほうがイイのでは?
スイッチ入力ならマトリクスにするとか。
362 :
350 :04/05/20 11:02 ID:yVbMO1ts
>>361 っていうか、実際にHLを見たい場所が100箇所あるんですよ。機器のチェッカなので。
I/O多い場合はやっぱりCPLDとかにしたほうがいいんですかねぇ?
>I/O多い場合はやっぱりCPLDとかにしたほうがいいんですかねぇ? 俺なら間違いなくそうするするる
>>362 うまいこと系統別に分けられればダイナミックスキャンとかでIO減らせそうだが
どうかな?
お手軽に8255×4 ちと足りないか。
366 :
774ワット発電中さん :04/05/20 12:35 ID:QaeqlHuI
8255で物量カマス奴はまだ許せる。 CPLDを今時使う奴は逝ってヨシ 今の時代、系統毎にマイコンあてがってマイコン間はシリアルバス通信。 というわけで、どうよ。アメリカ軍がやってる懸賞、自走自動者に参加しないか? 賞金2億円だった筈だ。数名でチーム組んだとしても、お風呂屋さん貸切できるぞ!
367 :
若葉マーク :04/05/20 12:53 ID:EPgv1dvb
皆様、最近AVRの勉強をはじめました。 で、登場するEEPROM、フラッシュROM、SRAMなどの動作というか意味が解らず困っています。 PC屋の頭にはRAMとROMの2種類しかなく RAM 電源OFFで消える、Read Write、プログラムで書込み可能 ROM 電源OFFで消えない、Read Onry、プログラムで書込み可能 なのに、AVR入門で「EEPROMとはプログラムで書込みができるROMで」 と書いてあると、 書込みができるならRAMじゃないの? 読込みしかできないからRead−OnryでROMじゃないの? と混乱しています。 たぶん私の想像では、3つの要素(電源OFFで消える、R/W、プログラム書込み) によって分類されていると思うのですが、教えて下され。 ネットで検索しても、肝心なところの説明(書込みができるのにEEPROMが何でROMなの?) がありません、よろしくお願いします。
>>367 自分で結論でてるやん・・・
>ROM 電源OFFで消えない、Read Onry、プログラムで書込み可能
>>367 電源OFFで消える→RAM、消えない→ROM
RAMの分類は、
FFで保持→SRAM、電荷保持→DRAM
ROMの分類は、
MASK-ROM→製造過程で書かれるので、完全に書き込み不可。
PROM→なんらかの方法で書き込み可能。
で、PROMは、
WriteOnce(Fuse)-PROM→1度だけ書ける。
UVE-PROM→紫外線で消去でき、複数回書換え可能。
EE-PROM→電気的に消去でき、複数回書換え可能。
FLASH-ROM→バンク単位でしか書換え出来ないが、アクセスが速いEE-PROM。
こんな感じかいな?
>>367 用途や内部構造がROMの延長上にあるもので、「初期のROMは使い捨てで不便」なので
記憶内容を消去したり、再書き込みを可能なように改良したものが、EPROMやEEPROMって
事かな。
探せば、俺と違って学術的に正しく説明しているサイトがあるんじゃないかと思うよ。
更に変な言い方すると血統的にROM直系の親戚で、遠縁のRAMより血が濃いからROM一族
と考える(w
とかね♪
371 :
774ワット発電中さん :04/05/20 15:10 ID:ZvIemWht
メモリー用語? ROMに対する言葉はRWMだよ。 RAMみたいする言葉はシフトレジスタとか水銀遅延槽とかかな。 ところで、教えてくれよ。 H8マイコン使い始めたんだけどさ。C言語使えるつうんで やってみたんだけどプログラムが動いたかどうかどやって確認すればいいんだ? #include <strio.h> main(){printf("hello world!\n")} アッテるよな?
チップを3回ノックして「動いてますか?」と尋ねればよい。
373 :
774ワット発電中さん :04/05/20 16:01 ID:ZvIemWht
2回目で砕けました。 根性の入ったチップはどこで売ってますか?
374 :
774ワット発電中さん :04/05/20 16:05 ID:uFe7qlNh
#include <strio.h> #include <strio.h> #include <strio.h> #include <strio.h> #include <strio.h>
>>375 最近のICEはシステムコール対応しているから釣りでは無いだろう。
strioはワロタ。
>>371 という事で、そのプログラムで良いから、ICEを買って調べる。
>>350 20pinなAVR(1200)使ってやれば1個で10bitくらい
28pinなAVR(4433)使ってやれば1個で15bitくらい
40pinなAVRを(8535,mega16)使ってやれば1個で28bitくらい
作れるよな、って感じですか。
しかしまあ貧乏性な漏れとしてはフラッシュやSRAMの余り具合を想像するだけで
もったいないお化けがでそうと思ってしまう。1200ならそれはないけどロジックICとあまりかわらんし
面積については表面実装な74シリーズを変換基板に並べて使うことで回避ってどうです?
今更ながら、GAL使うとか。
>>350 I2Cより、USART使ってRS485で通信した方が簡単な気がする。
USARTならソースはいくらでもあるでしょう。
I/O100系統だぁ? 74HC165や74HC595を連装して、 AVRのポートでDATAとCLOCKとLATCHを作って突付けば解決だろんなもん。
381 :
774ワット発電中さん :04/05/21 11:21 ID:68bKY7bS
382 :
若葉マーク :04/05/21 12:19 ID:pRPiPQIj
>>369 370
早速のご回答ありがとうございます。
ぼやっとしていたものが、何となく解ってきました。
>再書き込みを可能なように改良したものが、EPROMやEEPROMって事かな。
この説明が助かりました。
>>366 |CPLDを今時使う奴は逝ってヨシ
理由を説明して貰えませんか?
384 :
774ワット発電中さん :04/05/21 12:51 ID:Wia9TK0O
カーコの亡霊
385 :
774ワット発電中さん :04/05/21 13:31 ID:ZWFidMDp
つまり、新規設計品にCPLDを使うと、将来の使用変更になった場合に基板も変更に なる可能性が高い。 そもそも、現状であっても、占有面積アタリの働きは著しく低いので基板コストを悪戯に上げる要因でしかない。 保守部品を確保して保管しても、そのままゴミになる可能性が高い。といって、何時ディスコンになるか 判らないので、CPLDをつかった場合はパーツ確保をするしかない。 CPLDを使う利点が現時点で全くありません。
386 :
774ワット発電中さん :04/05/21 13:45 ID:999MJdZp
> CPLDを使う利点が現時点で全くありません。 全くその通りと思います。
387 :
774ワット発電中さん :04/05/21 14:18 ID:qZ8PKE0J
今、CPLDのパーツをどっさり抱えている零細事業者はその事実をひた隠しにしつつ 処分して仕舞わないと数年で業務停止か倒産に陥るな(W 帳簿上は資産だけど実際に価値ナイモンね。他人の資本入っている事業だったら 背任で訴えれかねませんね。
まあ、少量他品目なら。>CPLD ・・・そもそもワンチップマイコンも同じ運命をたどってしまうのでは無いかと。 2chでささやかれてるAVR撤退説とか、そんなことはないと言いつつ気になってみたり。
CPLD トラ技執筆者と回路の一部をブラックボックスにしたい人が使いますね。 たいていの場合、想像が付くのでブラックボックスにはなりませんが(w 真似されないようにと言うよりは、真似したことを隠すために使うものの ようでつね。
>>378 かつてのGALは、いまやCPLDの最下層に
統合されてしまっているのですよ。
391 :
774ワット発電中さん :04/05/21 16:31 ID:5ncUrdZK
マイコンやFPGAは自由度が高いので、代替品に置き換えることも容易です。
EPROMとEEPROMの違いが分からなかったんで ググってみて分かったんだが、 EPROM→紫外線で消去 EEPROM→電気で消去 マイコン使ってながらこんな事も知らなかったOTL
393 :
774ワット発電中さん :04/05/21 18:27 ID:+oYf340g
悩むなら EEPROMとFLASHメモリで悩め
今更ですが、食わず嫌いだったBASCOMーAVR使ってみました。 $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdmode = Port Config Lcdbus = 4 '4 bit mode Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.1 , Rs = Porta.2 Dim I As Long Dim S As String * 10 Dim Sf As String * 10 Waitms 100 Cls Lcd "hello" For I = 1 To 10 Sf = Format(Str(I), "0000") S = "Timer=" + Sf + "Count" Cls Lcd S Waitms 200 Next End ははーブラックボックスで気持ち悪いんだが、楽なのは否定出来ない。 今頃気づいて気になるのですが、 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.1 , Rs = Porta.2 って、いうのは Config Lcdpin = Pin , Db4 = Porta.5 , Db5 = Porta.4 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.1 , Rs = Porta.2 ってな変態的なアサインにしても大丈夫なんすか? (実機が学校にあるので、ちょっと月曜日まで触れないんですけど)
395 :
394 :04/05/21 18:48 ID:0JEnylR8
Helpに The built in LCD driver for the PIN mode is written to support a worst case scenario where you use random pins of the microprocessor to drive the LCD pins. って書いてありました。すいまんせ。
396 :
774ワット発電中さん :04/05/21 19:05 ID:nrfqgxsU
>>387 0歳じゃなくてもパちんこ業界で7/1からFPGA/CPLDが使えなくなり在庫を抱えて大慌てで、業者に買い取らせたいと言う会社多くなってるよ。
サイクロンとかスパルタン2Eあたりが放出されまつね。
398 :
774ワット発電中さん :04/05/21 19:16 ID:+oYf340g
簡単に改造できるじゃん。じゃんじゃん。 >397 サイクロンの放出情報詳しく教えて >396
400 :
399 :04/05/21 23:01 ID:ZX+JB/0e
CPLDはともかく、ぱちんこ基板でFPGAが使えない理由がわからん。 SRAMじゃん。
CPLD/FPGAがダメでマイコンが良しというのが分からん。 …マイコンはマスク版じゃないとダメとか?
>>402 プログラマブルROM内蔵はダメだそうな。
404 :
774ワット発電中さん :04/05/22 07:19 ID:8FV3pzqx
CPLDがそんなにダメとは思えず・・・。 マイコンが乗ったボード等でグルーロジックを吸収するのに持ってこい。 電源オンで即動作するから立ち上がりシーケンスに気を遣う必要もなし。 128LE程度で¥500位だから高価でもない。TSSOPのTTL並べるより 実装面積も実装コストも低い・・・・。 Latticeって、じゃぁ、つぶれそうなの? (しかしひどいすれ違いすんまそん)
>>404 スレの流れから、
>>366 は「I/Oをたくさん処理するという事例」に限定したものだと思う。
物事をハードで処理するか、ソフトで処理するかの議論は永遠のテーマなので、
>>366 の意見は極左の意見のひとつとして、まあ気にすることもないかと。
世界の常識として「どんな仕事においてもCPLDがマイコンよりも絶対的に劣っている」なんてことは無いやね。
ちなみに俺も、I/Oをたくさん処理するためだけにCPLDを使う必要は無いと思う。
だが、バス調停とか、ストローブ信号のタイミングずらしとかには、これほど便利なデバイスはあるまい。
>>404 が考えているのはこれだろ?
>>404 CPLD自体がどーこーいうより、L社の方針がど〜もって話でわ?
ピンコンパチで上位品を作ってくれないとか、旧A社品との関係とか、
入手性とか…まぁ確かに難点が多い気も…。
407 :
774ワット発電中さん :04/05/22 14:03 ID:DNntedxP
>物事をハードで処理するか、ソフトで処理するかの議論は永遠のテーマなので、 逝ってヨシ 物事、関連単位ごとに分割してマイコンに抱かせて、マイコン間をネットするのが定説。 CPLDの絶対的な劣等性は、長時間のタイミングを取る事と融通性だ。 数分待ってから何タラってしょりはCPLDでやったら使いがたい装置にしかならない。
408 :
774ワット発電中さん :04/05/22 14:05 ID:DNntedxP
>TSSOPのTTL並べる 問題外! 直ぐ氏ね! ぼけ。
ID:DNntedxPは荒らし
410 :
774ワット発電中さん :04/05/22 19:33 ID:X8G7i29l
だれか、BASCOM−AVRの日本語のマニュアルを・・・ 金をだしてまで買う気はしないし。英文は難しいし・・・ どこかのサイトにないいかなー
きっと自力で読んだ方が早いなw
>>410 3000円なんだから、それくらい買ってやれ
413 :
774ワット発電中さん :04/05/24 17:18 ID:b+CPotOj
貧乏人は(ry
暗に、HERO'Sの有志に翻訳を促してるようにも見えるな(w
>ID:DNntedxPは荒らし 同感。設計するものも激しくバランスが悪そう、、っていうかこいつ学生だろ?
昔、CQ出版の雑誌に 「エンジニアたるもの、原書と和訳書とが並んでいたら、 我先に原書に飛びつくようでなければならない」 ってな文があったそうです(ソース不明)
自分は銭があれば両方買うんですが、だめ? (時間も大事なリソース)
418 :
774ワット発電中さん :04/05/24 21:03 ID:b+CPotOj
時間の有る学生のころにちゃんと勉強しないから、大人になって不自由するw
英文くらい勘で読め
英文くらい噛んで読め
421 :
774ワット発電中さん :04/05/24 23:44 ID:p+tnhumO
読めてあたりまえだと思うんですけど・・・。
単語だけで意味を汲み取れ そして英文を読み切ったつもりになれ。
423 :
774ワット発電中さん :04/05/25 02:45 ID:O3ukUPkM
変なカタカナで訳されているよりは英文の方が読みやすかったりする。
BASCOM-AVRで SUBとかFUNCTIONの中でLOCAL変数を使うと、引数が壊されるっていうのは どっか既知ですか?それとも私が悪いですか?
425 :
424 :04/05/25 14:13 ID:rCFYrRID
>>424 すいません。STCHECKっていうのがあったのですね。
SoftStackを増やしたらOKになりました。スマソ。
(ちゃんとLOCAL変数の数を数えておかないとダメなのかぁ)
OAKSのM16シリーズ使ってるシトって居ない? M16cMiniとか面白そうだがなあ 負け組とか言われちゃうかな
427 :
774ワット発電中さん :04/05/27 13:42 ID:VtiH1ns7
428 :
助けて下さい :04/05/27 14:26 ID:B2n0xDv4
AVR初心者です。 AVRスタジオをインストールし遊ぼうと思ったが ASMのエディタがタコなんです。 全角文字はトルコ語みたいな物に化けるし カーソルが何やら8桁ぐらい有り"----------"とか" MHz "に化けるし まともに動きません。 いろいろな設定をあたる、再インストールする、全部関係なし どこが原因でしょうか、よろしくお願いします。
>>428 AVRStudioのバージョンは? 古いの使ってませんか?
ついでだから、WinAVRも使って、Cで書くとか。
431 :
774ワット発電中さん :04/05/27 16:33 ID:TigXHAbr
432 :
わんにゃー :04/05/27 17:05 ID:EQsYXlaT
>>350 H8を使うとか。H8-3052をモード7で使うと
I/Oピンは70本あるようです。(パーっと
勘定したので間違っているかも。)
これを2個繋げばいいんでない?
シリアルポートで。
力技やねーw
現代の自動車ってある意味
>>350 のようなことをやってるんじゃないの?
CANで車内にセンサのネットワークはりめぐらしてて。
>>434 自動車は100個もセンサーないし、センサー情報をまとめるためにマルチユニットじゃなくて、
まとまった機能を担っているとか、無理に1つでやると処理が間に合わない・・ことはないだろうが
複雑で困る、故障時ややこしいとかで分離、お互い通信する必要があるから通信してるだけじゃ
ないかと思うけど
でもって
>>350 ですけど、
後メルのデータシートじゃだめですか?
I2CじゃなくてSPI、TWIでいいならハードウェア対応だし
>>434 自動車は100個もセンサーないし、センサー情報をまとめるためにマルチユニットじゃなくて、
まとまった機能を担っているとか、無理に1つでやると処理が間に合わない・・ことはないだろうが
複雑で困る、故障時ややこしいとかで分離、お互い通信する必要があるから通信してるだけじゃ
ないかと思うけど
でもって
>>350 ですけど、
後メルのデータシートじゃだめですか?
I2CじゃなくてSPI、TWIでいいならハードウェア対応だし
>435 自動車は省配線のために分散化ですね 運転席にあるECUからメータ類、テールランプなど長い配線があります そのうち遅くても良い物に徐々に浸透中 センサ側より出力側の方が多いんじゃないかな? あとは診断の統一規格化の影響も
>>435 ATMELのI2Cだったら、BASCOMlが安直でヨロシ。
WinAVRのI2Cのライブラリは、、、、どれがいいのかよくわからん。
ATMELのSPIの実験やりたりんだけど、 I2Cじゃなくて、SPIなRTCとかEEPROMで、個人でも入手できるのって 何かありませんか?I2cだったら、秋月のでRTCもEEPROMもあるんだけど
>>439 MCP3204/3208(12bit ADC)がSPIだな。たしか秋月で買ったと思ったが
441 :
439 :04/05/28 09:11 ID:5V5mCvQM
お、RTCでもEEPROMでもなかった。スマソ
実験だけなら、74HC595とLEDで…
443 :
わんにゃー :04/05/28 10:12 ID:G7jzt+8Z
>>432 自己レス。ポート7はアナログ入出力だけかと思ったら
デジタルの入力ポートにもなるんですね。ですので78
ビット入力です。
SH2(SH7045)なら106ビットありますから
これがいいんじゃないっすか。
AVRのSPIの実験ならAVRを2個使えばいいんでないの? マスター動作とスレーブ動作が同時に実験できる。
FM25C640ULEN RS品番197-8695 SPI、2Kbit Serial-EEPROM
間違った FM25C640ULEN RS品番:443-1559 64Kbit
>>447 さんくす
Fairchildか。YOUがボーカルやっている所ですよね。「スキスキ有頂天国」とか
SPIインターフェース欄のMicrowireを一瞬、「Microwave」って見てしまった。
「超音波インターフェース:そりゃすげぇ」
いい天気なのに、寒いな。 風邪ひいたかな?
450 :
BASCOMでスマソ(済まそ) :04/05/28 16:22 ID:dVm1bDqC
'CPU=ATTiny26 'Dout --> 74HC595 A(SerialIN) 'Clock --> 74HC595 CLK 'PortB.3 --> HC595 LatchCLK Config Spi = Soft , Din = Pinb.1 , Dout = Portb.0 , Ss = None , Clock = Portb.2 Config Pinb.3 = Output Dim A(1) As Byte Spiinit Portb.3 = 0 '74HC595-LATCH Clock A(1) = &H88 Spiout A(1) , 1 'output A(1) Portb.3 = 1 '74HC595-LATCH Clock 動作確認しました。
H8/300Hをバスモードで使用して ポートPA7を出力に使おうとして嵌められた奴 → わし ポート7や8を出力に使おうとして嵌められた奴↓
つーか 232Cだなんだって、他の用途で共用ピン潰してったらI/O足らなくなって、結局71055付けたよ。
453 :
774ワット発電中さん :04/05/30 06:43 ID:6y1RkQms
秋月のH8/3664初めて使いました。C言語でI/O制御プログラム書けて、 シリアルケーブル1本でプログラムを焼きこめるのがいいですね。 当方、マイコン初心者ですが、比較的短期間に開発できました。 ただ、H8は、ポートの機能を制御するレジスタが、ポート側、モジュール側 に散らばっている点で使いにくいですね。今回は、ポートだけを使うアプリ だったので、ポート専用端子だけ使いました。
ここは日記帳じゃありません。
心の狭い香具師はハゲるぞ
456 :
774ワット発電中さん :04/05/30 09:29 ID:R3RMMPBa
ひがむなよ
胸毛の濃い香具師もハゲるよ
>>448 Microwave=マイクロ波(電波)≠超音波
超音波=UltraSound,UltraSonic,SuperSonicなど
>>453 そういや、3664ってP56,P57はI2Cにしなくても、2.5Vくらいしか出ないわけだが、
3694もそうだっけ?
そっか。だけどTTLレベルの、例えば秋月液晶とか、動かす分には 別にいいのかな。
>459 3664でも3664N(EEPROMつき)は出力に使えないよ
>>462 3664Nは、つまりI2CでEEPROMと交信しているので、P56,57はI2C以外には使えない
ってことですか?
>>459 オープントレインじゃあ無いのかの?
外部プルアップ必要と思われ
>>464 いや、P57,P58はI2Cで使うときは確かにオープンドレインになるんだが、
デジタルポートとして使うときも、HレベルはVcc-2.5Vって書いてある。
466 :
774ワット発電中さん :04/05/31 23:53 ID:ABmaJe44
8bit CPUの評価ボード で TCP/IPが動くのってないですか?
468 :
_ :04/06/02 01:13 ID:IfW1kA9O
H8-3048f + GCC Developper Lite 使ってます。 他のタスクの邪魔にならないように、シリアル通信を行いたい のですがデフォルト設定ではSCI割り込みを直接触れませんよ ね? マニュアルにはライブラリをはずせばよいとありますが、 これはGCC設定->リンクの項目でlibadd3048.aをはずすだけで 良いってことなのでしょうか。
469 :
466 :04/06/04 22:20 ID:bYxWzGUh
>>469 高いがmega128ボードってのもあった
471 :
ど素人 :04/06/05 20:58 ID:q3fPc2Jf
トラ技4月号H8マイコン入門のついて質問してよいでしょうか? P162の「romtestを右クリックでAddFilesを選択する」 とS-Recordf\Filesが出てくるはずですが、出てきません。 何故でしょうか?教えて下さい。
472 :
774ワット発電中さん :04/06/05 21:12 ID:lQQSN72I
ど素人はぬっこんでろ
>>473 暗黙の了解 なら、 「質問はage、回答はsage」だろがやい。
475 :
ど素人 :04/06/05 23:12 ID:q3fPc2Jf
皆はAVRのmega系は何処で手に入れてる? 今日秋月行ったらATmega48V/88V/168Vは無いって言われたorz 千石もデパートも高架下も全敗ですた
>>477 THX!表には載ってないけど問いあわせてみるよ
>>476 秋葉なら滅茶苦茶高い若松くらいかな。
漏れDigi-Keyから買ってますだ。
久しぶりに見てみたら、mega8が滅茶苦茶安くなってるね。
tiny11なんか\50以下じゃん(w
>>479 おぉ、Digi-keyは品揃え豊富だ!
でも48/88/168は無いなぁ。やっぱり仕様書にPreliminaryがある内は出荷前
ってことなのかな
>>481 ATmega8が700円かぁ。結構するなぁ。
といいながら、昔はPIC16C84が800円で、即、50個買ったよなぁ。(遠い目)
mega32買っとけば 当分の間は遊べるだろう。DIPで扱いやすいし。
485 :
774ワット発電中さん :04/06/07 21:17 ID:oShjWI7d
486 :
774ワット発電中さん :04/06/08 07:58 ID:zQveeb5/
Hew のシミュレーションデバッガってタイマ割込確認できないのか? べたループかサブルーチンの動作チェック程度用なのか。 IO定義ファイルも見つからないし。
>>486 それもシミュレートできないと辛いな。俺的には使えない。
趣味で遊んでいるのでICEはたとえ2万円でも論外だし
>>485 いや、そうなんだけど、DIGI-KEYは送料2000円するからなぁ。
若松に買いに行くと950円だっけか?25個買うと、23750円
Digi-keyだと261円*25だから 261*25+2000=8525円。
やっぱ、若松で買うか。
>>488 そこまで計算しといて若松で買うのかよっ!
と思わずツッコミ入れたい気分。
電子部品の共同購入サイトでもあればいいんだけどな さすがに個人じゃ25個もいらないし。
トラ技H8スレで前に話題になってたが本当にH8品薄らしいね うちの工場のラインが止まりましたわ。わはは
あはは
__ i<´ }\ , - 、 ヽ.._\./ .ンく r-兮、 __ ∠`ヽ.! / ヾニEヲぐ ,ゝ-> さすがゴッグだ、 /_`シ'.K.-─人-‐-、l∠ イ ラインが止まっても l´__,/l\、_. (0w0)ノ゙ウェイ ┤ 何ともないぜ . l'___|⌒ヾ''ー==、ーr='イ i二| / .」 i /./7r‐く lー! . f. ヽ‐i人. ∠'< _i. l,.-ゝ. トiヘヘ「ト〈 `X トレi7__| 〉ト:トハj`! i. / トー┤lルj,リ /‐+----+‐l iー--i---ヾ'〃 . l_i____i__| |___i,__i_|
494 :
774ワット発電中さん :04/06/09 00:07 ID:Uyn5hDjr
AVRのGCCのプログラムの勉強をするためのWEBサイトは どこにいったらよいですか? どこにいってもコンパイルの仕方しかのっていなく、 命令の意味が載っていません。 本で勉強ですか? AVRのアセンブラは大体理解しているつもりです。
>>494 命令の意味って何だよ、
AVRのGCCは使ったことは無いけど、ドキュメントは無いの?
コンパイラに依存する所はドキュメントくらいありそうだが・・・
英語だからわからんとかふざけたことは言わないでね。
AVRだろうがH8だろうがgccはCコンパイラなんだから… 何を知りたいんだろう。
498 :
774ワット発電中さん :04/06/09 06:50 ID:Uyn5hDjr
>>499 だね。まぁ#includeにナニを書くか(書くべきか)っていうのがちょっとわかりにくいかも。
特に割り込みの時。
あとは
PORTB=0xff;
a=PINB;
くらいしっておけばヨロシ。
あとは
a=PORTB;
と
a=PINB;
の微妙な違いなんすが、まぁそれはアセンブラでもイッショですから。
>>491 そこでH8をATMELに置き換えちゃうですよ。
502 :
774ワット発電中さん :04/06/09 09:30 ID:Uyn5hDjr
503 :
初心者 :04/06/09 13:26 ID:QBF611pC
皆様よろしく AVRスタジオ3.56のエディタなんですけどFontの設定を記憶しません、 毎回「欧文」に戻ってしまい、いちいち「日本語」としなければなりません MSゴシックとか12ポイントなどは一旦設定したら記憶してくれるんですけど 所詮、こんなもんですかね? よろしくお願いします。
504 :
774ワット発電中さん :04/06/09 15:12 ID:Uyn5hDjr
>>503 日本語ってできるんですね、知らんかった(´・ω・`)
507 :
774ワット発電中さん :04/06/10 00:01 ID:HNq5bQHV
>>506 おおおおっ、補足レスありがとうございます。
いい人たちだ・゜・(つД`)・゜・
貴様ら、H8のペリフェラルポートをCなんかでいじって怖くないですか? 俺はこれのせいでアセンブリしか使えん。キモイという理由で。 詳しくは言えんが某自動販売機のH8ボードには、フルアセンブリの俺コードがびっちり。
>>506 A=inp(PIND); → A=PIND; じゃないの?
上にもあったけど、 A=PINDとA=PORTDは、意味が違う。
>>503 ソフトウェアが、日本語に対応してないので「日本語のフォント名」を認識・設定を保存しないせいかも。
TerminalやFixedSysではダメ?
>>508 よほど手になじんだコンパイラでもなければ
クリチカルなところはasm出力に目を通しとくのが普通でしょ。
513 :
774ワット発電中さん :04/06/10 01:52 ID:VAqlF5Nr
H8/3067を使う上で、教えてください。 外部割り込み(IRQ)についてです。 今回、8つのパルス信号をIRQで取りたいのですが、H8にはIRQが4本しか ありません。またH8/3067でIRQを使うのも初めてです。 1. IRQ本数が足りないときは、どのような方法で対処するのがよいでしょうか? ・割り込みコントローラICを使う。(今どき、ないみたいですが) ・各信号のorをロジックで組み1本にまとめ、1本のIRQで取り込み、 IRQルーチンの中で、パラレルポートから各信号を読み込み、判別する ・直接のIRQをあきらめ、タイマー割り込みごとに、各信号を接続したパラレルポートを 読み込んで、ソフトで信号変化を検出する。 2. IRQ処理が重なったときは記憶だけしてくれて、現行のIRQを処理の後、自動的に 記憶されたIRQ処理が実行されるのでしょうか? それとも、同時の場合は忘れてしまう?のでしょうか。 3. この品種は、IRQのエッジが↓しかないようですが、↑エッジの割り込みが したいときは、どのような方法で対処するのがよいでしょうか? ・あきらめて 品種を変える ・NOTゲートで反転させて↓にする。 ・ソフト上で↓↑を変えたいときは、EXORゲートを使って ポートで論理反転制御を行う。 よろしくお願いします。
514 :
774ワット発電中さん :04/06/10 06:48 ID:EqDoj/41
>513 1. 割り込み信号の波形と状態の長さによる。何ms等の信号幅を書け。 2.マニュアル嫁。 3 Aas you like.
515 :
774ワット発電中さん :04/06/10 06:50 ID:EqDoj/41
>514 3 ×As you like. ○As you like.
>>510 いや、例えばPORTDの下位4bitだけを出力したいとき、
A=PORTD; A&=0xF0; A|=data&0x0F; PORTD=A;
って使うのだ。
・・・・・・いや、負け惜しみだ。意識して書いたつもりだったがまちがえた。 orz
>>516 ・・・・A=inp(PIND)→A=PORTDなんて書いてるし・・・負け惜しみもできんな、逝ってきます・・・
A=inp(PIND)→A=PIND でつ・・・ 左側だけ直したんだな・・・
>508 派遣社員発見!ボーナス出たか? 内容は胴囲だがその考えはSヨ向きではないな。
>>513 割り込み信号をレベル出力してくれるデバイスなら不要だけど、
パルスでしか出してくれないデバイスだと、どのタイミングで信号が入ってきても
取りこぼされることが無いよう、FFを使って割り込みトリガでセット、パラレルポートでクリア。
俺ならFFにはVHC74、クリアにはVHC138(or139)を使うな。
レベルでIRQに入ってくれさえすれば、2は解決。
優先順位の高い割り込みがクリアされたら、自動的に次のものが処理される。
1..3.はどれでもいいんじゃない?とりあえず1-2と3-2に一票。
>>517 すんません
なんで、A=PORTDだとダメなのかわかりません。教えてください。
>>520 ダメではない。
1) PORTDが全入力の場合はA=PIND; と書かないとダメ。
2) PORTDの、D0-7が全部違う目的でOUTPUTとして使っているときに、
例えば、D0だけ、HからLにしたいとすると、PORTD=0x00;ってしちゃうと、他のピンが全部0
になってしまってマズイので
tmp=PORTD; tmp = tmp & 0xFE; PORTD=tmp;
と書く。sbi(PORTD,0)とかPORTD=0x01で、PORTDに出力をしたら、ラッチレジスタにその内容が
入るので、tmp=PORTDで、前に出力した内容を覚えてくれている。
PORTDが出力設定してあるので、A=PINDとしても、Aには何も帰ってこない(かどうかは知らん)
のでA=PORTDって書くべき
と理解してますが、あってますか?
>>521 ちなみにPICでは、この事が問題となって、ビットセット命令使う時には気をつけろ
っていうのが最初に書いてあるはず。
PIC18系では、ラッチが備わったので、書き戻ししても大丈夫になったんだっけ?
>>520 要は、PORTDとPINDが別々のレジスタだってことだけです。
PORTDってのはPORTD出力レジスタ。PINDは入力レジスタ。
PORTDってのは、出力に設定されたピンの出力状態
または、入力に設定されたピンのプルアップ設定。
(プルアップされた入力ポートにLoを入力してもPORTDは1(プルアップ)を返す)
一方PINDってのは、入力出力にかかわらず、現在のピンの電圧をHi/Loの二値で得る。
(出力設定されたPORTDを1にしても、大電流流してピン電圧が下がるとPINDは0を
返すこともあり得る)
このへんはデータシートの入出力ポート等価回路を見ましょう。
>>521 の2)
よく使うのは4bit接続でLCDをつなぐときかな。data4bit+cmdbitの5bitを書き込んで、
LEだけをcbi/sbiで操作するって感じ。
他のピンが入力でも、PORTDは各ピンのプルアップ指定にも使われるので、
やっぱり余計なピンが書き換えられると困ってしまう。
先に書いたように、出力ピンでもPINDは生きているようなので、たぶん
「普通は」PORTDと同じ物が返ってくると思う。
>>523 横からレスです。
> (出力設定されたPORTDを1にしても、大電流流してピン電圧が下がるとPINDは0を
> 返すこともあり得る)
ここら辺、考えた事なかったorz。一寸ブレッドボードで試してみよっと
出力ポートに0書いてもPIN読むtと1のまんまなのでおかしーなーと思ったら、 そのピンが12Vでプルアップ(?)されてたことあったよorz
527 :
774ワット発電中さん :04/06/11 05:57 ID:gkkpIeNI
12Vでプルアップとは、すげーな。5Vじゃないんだ。
入力に設定されたポート(例えばPORTB)を読むときに A=PORTBってしたら、違う結果が返ってくるってことですか?
529 :
774ワット発電中さん :04/06/11 14:06 ID:gLR62zQJ
マイコンの勉強に秋月のスタータ・キットでも使ってみようと思ってるんっすが、 どうっすか? 誰か使ってみた人おる?
>>529 現在使用中。
ついでにCコンパイラとモニタデバッガも買っとけ。
>>528 入力だろうが出力だろうが
PORTBというIOレジスタを読んでもポートBの入力状況は読めない。
それはPINBというIOレジスタで読めるもの。
GCC初心者です。分かる方教えてください! H8のGCCを使うときに、 ソースで<stdio.h>をインクルードしただけでは sprintfは使えないみたいですがどうすればこれらの標準関数が 使えるようになるのでしょうか? オプションに -libc をつけてます。 それともGCCの構築時に何か特別なことをしなければならないのでしょうか? HEWではH8用の標準のライブラリを指定すれば自動で作成してくれますが これと同じことはできますか?
533 :
774ワット発電中さん :04/06/11 20:57 ID:OC9WjM9C
モ毎は何をインストールしてあるのだい?
>>532 どんな手が入ったgccを使っているかしらんが、通常-nostdlib/-nodefaultlibs
を指定しておらず、正しくlibcがインストールされていれば、libcのリンクに
特別なオプション指定は要らないはず。
また、仮にオプション指定するにしても、-lcではないか。
>532 使えるとは(コンパイルできるようにはなるとは)思うが... ROMに書き込めなくなったとか言わないでね
>>532 どこに出力されるんだろうか…とか悩まないのかな。
sprintfはメモリに出力されるんだろ。別に変なこととは思えんが。 #俺はsprintfなんて使わんけどな。
>>532 念のため。使えないとはどのような現象ですか
あ、sprintf か。s を見落としていたよん。 何も考えずに printf 系列つかったら浮動小数点ライブラリがくっついてきて…
そういえばMIPSなんかでは浮動小数点無しのprintfライブラリもあるよね。
#include <string.h> が足りない予感...
んなsprintf聞いたことない
無ければ自分で作る
544 :
774ワット発電中さん :04/06/12 15:04 ID:VFwkeG8N
void sprintf () { return (0) }
>>544 すいません。エラーがでてコンパイルできないんですが。。。
546 :
774ワット発電中さん :04/06/12 15:18 ID:VGgl31Mq
>>545 よし とっておきのおまじないを使おう
/*
void sprintf () { return (0) }
*/
>>546 ありがとうございます。コンパイル通りました。
これからリンクしてみます。
>>546 すげーおまじないだな。最強に違いない。
こっちも覚えておくといいよ #if 0 void sprintf () { return (0) } #endif
折角だからこれも #define sprintf(...)
ここは・・・危ういインターネットですね。
552 :
774ワット発電中さん :04/06/12 23:33 ID:3I3V6o9n
確かにコンパイルは通るよね・・・。
秋月のH8/3664Fなちっちゃいの買ってきた。 アセンブラとか買ってこなかったのでgas,gccでがんばんべーと思ってとりあえず gasでちっちぇープログラムは動いた。んでgccでそのちっちぇーのだけコンパイルして -nostdlib では動かせたんだけど、ふつーにライブラリリンクするようにしたらmain()まで たどりつけねー。crt0.oのどこかで行方不明になってるぽい。 デバッグ環境なんか用意してないので追いきれず現実逃避中。 自分でcrt0書いた方が早そうだなこりゃ。
H8のスタートアップならイエローとかにあるし ぐぐっても簡単に出てくるでがすよ
>553 あんまりそんな経験ない 普通にgcc使って、Cで書けないところだけアセンブラで書いてるけど どんな標準関数使ってる?
俺はMIPS使っているけど、スタートアップは毎回書いてるよ。 ま、やることなんてキャッシュの初期化と外部RAMの初期化、 ROM>RAM展開だけなんだけどね。 その他ペリフェラルの初期化はmain以降のお仕事だよね?
レジスタ初期化忘れた_| ̄|○
558 :
553 :04/06/13 07:54 ID:IrLN7DT0
>>555 Cライブラリの関数は何も呼んでないですよ。もともとリセットからいきなり start() で
LEDぺかぺかさせただけのやつなんで。ふつーにmain()にして、crt0経由で行こうと
したら来なかったと。どうせC++用のコンストラクタとかいらないから
crt0は書くつもりだったんでいいんですけどね。
559 :
553 :04/06/13 18:04 ID:IrLN7DT0
動かない原因判明…3048とおんなじH8/300Hの仲間なんだからベクタテーブル 32bitだと思い込んでた… orz stdlibなしで動いてたのはたまたまだったのかぁ。
562 :
553 :04/06/14 18:22 ID:AqqzQin2
いや、だから動かなかったのは16bitで書かなきゃいけないベクタテーブルを 32bitで書いてたからであって… 16bitに直したらきっちり動きましたですよ。 gccそのものは1.xxのころからの付き合いですんで使い方は大丈夫な予定。
ということは、リセットベクタも正しく書けてなかった筈なのに、stdlib無しの時は 動いていたと強弁する訳だな?
16bitで済むリセットベクタを32bitで書いてしまったのだから 読み出すリセットベクタは、0のはず。 0番地から実行を始めて運が良くスタートアップルーチン まで辿り着ければ動く可能性はあると思う。
565 :
579 :04/06/14 20:19 ID:gpz1ypR3
AVRって何の略ですかね? いろいろ調べたんですがみつかんないです(i-i) 何かの略ではないのですか?
ATMEL Valuable RISC ???そんなわけ無いか
>>564 大きなインディアンさんはこのへんがややこしいのね
>>565 私からは別の説を
手元のトラ技2000年7月号P178より
第四世代目にあたるRISCコアに正式に”AVR”という名称がつけられました。
公式な説明はありませんが”Alf and Vegard's RISC”というのが名称の由来のようです。
とのこと
AlfとVegardってゆーのはAVR開発の中心となっていた学生の名前
571 :
566 :04/06/14 21:35 ID:9ARMs/vm
>>568 あてずっぽうで言ったのにニアミスしてた。ワーイ
でもIDはARM9(´・ω・`)
573 :
565 :04/06/14 22:02 ID:gpz1ypR3
565です。 どうやらPICのようにはっきり決まっていたものではないようですね てっきり、はっきり、きまっているものと思ってました。 情報ありがとうございました〜
574 :
774ワット発電中さん :04/06/15 01:04 ID:3fN9irqw
IDがirq記念割り込み
Z80のI/Oの実装形態ってメモリマップドですっけ?アイソレーティッドですっけ??
>>575 I/O命令がありますよ。Z80
I/O READ/WRITE信号はあったと思うけど、
それを使っているかどうかは別の話。
仕様書を確認。
577 :
774ワット発電中さん :04/06/15 02:39 ID:dHCtQ6HD
I/OマップドI/OだがメモリマップドI/Oでも回路組み次第 メモリマップドI/Oだと各種演算も出来るから便利
579 :
575 :04/06/16 00:52 ID:1m57IZ54
Z80のI/Oの実装形態はどちらか?みたいな小テストがあって分からなかったのでここで聞きました アイソレーティッドI/Oって答えたんですけどどうやらバツっぽいですね…。回答ありがとうございました
>>579 「テストの答えとしては」あってると思うぞ?
だが、ハードウェア上から見て、メモリとI/OってのはCPUからのアクセスという
意味では等価な筈で、区別する価値はあまり無いんだよ。
そういう意味でI/Oとメモリの区別ってのはアドレスの一種と考えても良い。
実際、8085系ではメモリとI/Oの区別をするIO/Mはアドレスと同タイミングで
出力されたりするし、その方がハードウェアを設計しやすい。
Z80時代メモリマップドI/Oがあまり普及しなかったのは、アドレスデコードの
手間(PAL/GAL等が普及するまでは面倒だった)が大きい。最初期には
I/Oチップが遅かった(その為、Z80ではわざとI/Oアクセスが遅くなっている)
って問題もある。
>>580 > Z80時代メモリマップドI/Oがあまり普及しなかったのは、アドレスデコードの
> 手間(PAL/GAL等が普及するまでは面倒だった)が大きい。
なんか懐かしい。
アドレスとかI直接メモリのCSに叩き込んでたりしたねー。
582 :
774ワット発電中さん :04/06/16 20:00 ID:UcivJd4t
そーそー モトローラのSRAMで6810は正論理と負論理のCSを何本かもってた。 それの組み合わせでデコーダをけちれるのが売りだった。 6810って128Bだったんだよな。
アドレスデコードなんて138で簡単じゃん。 Z80でメモリマップドI/Oが流行らなかったのは周辺ファミリチップがしっかりしていたからだ。 あとI/Oとメモリではスピードが違う。 さらに6810が喜ばれたのは8ビット構成だったから。一個でとりあえず使えた。 2102なら8個、新進の2114でも2個集めなければ使えなかった。
>Z80でメモリマップドI/Oが流行らなかったのは周辺ファミリチップがしっかりしていたからだ。 ってゆうか、Z80の周辺チップってI/Oでしか使えないんだよね。 さらに割り込みはモード2でしか使えない。 周辺チップが4個以上になると、割り込みのディジーチェーンの遅延が 大きくなりすぎてウェイトを入れないと動かない。 俺はZ80周辺チップは糞だと思った。
8BitCPUとしては仕組みが凝り過ぎだったよね。 モード2使ぅた製品を売るときにはザイログに金を払わないといけないとか聞いたことあるけど。
Z80のI/O空間にVRAMをマップしているパソコンがあった気がしたけど、何だっけ
>>588 X1じゃなかったっけか?
しかもBCレジスタペアでアドレス指定する例のアレを使用していたような希ガス
ソニーのSMC-77
591 :
774ワット発電中さん :04/06/17 23:03 ID:BFuaU6ZC
AtmelのTiny26LでヒューズビットのRSTDISBL(リセットピンをI/Oとして使うかどうか)を0にしちゃって シリアルプログラミングじゃ書き込めなくなった。 データシートもっとよく読んでおくんだったよ・・・。 orz AVRはパラレルライタが少ないのがちょっと弱点ですかね・・・。
592 :
774ワット発電中さん :04/06/17 23:45 ID:xHSQlzOo
>>588 ,589
そうだよ。X1だよ、俺持ってた。
I/O空間64kByte、bank切替えして192kbyteまで拡張してたと思う。
メモリー空間より広いI/O空間を持っているパソコンとして、
チョット話題になった。
in A,(C) や out (C),A で アドレスバスの上位に「密かに」Bレジスタの内容も出力され、 I/O空間が実質で64kBになるという、Z80の裏技を積極利用したやつだな。 実質 in A,(BC) out (BC),A
>>591 STK500くらい買っとけよ。
つか、市販のパラレルプログラマーはそれしか無いんだけど(w
595 :
591 :04/06/18 13:08 ID:0wijaN8E
>>594 STK500とか欲しいけど、
貧乏学生に20000円は無理です。(ノД`)
>>592 それはX1turboでは?48k x 2だったが。
>>593 かわりにOUT (n),Aが使いものにならない罠。
597 :
わんにゃー :04/06/18 13:20 ID:97wesAnD
>586 そうそう、CTCは必須でした。CTCがあればPIOやSIOの 代わりに8255や8251でも良かった。
598 :
591 :04/06/18 13:39 ID:0wijaN8E
とりあえず、AT90S1200でヒューズビットを書き替えるだけのプログラムつくって直りました。 自己完結スマソ
>>599 板バネソケットが萎えるな・・・(;´Д`)
つっか、なんで誰もUSBパラレルライターを作ってくれないんだ? Morphy-USBとか使えば結構簡単なんじゃないの?
>>601 「じゃ、来て手伝え」ということになる(笑)
>貧乏学生に20000円は無理です。(ノД`) ははは! ド貧民め。 漏れ2000円も動かせないド貧民以下
>>593 おぬしZ80のマニュアル読んだことないであろ。
>>596 OUTは厳しいけど、Accにアドレスの上位8bit入れておけば IN A,(n) は使えた。
いまどきこんなこと覚えててもまず役には立たないな…
Z80の64KI/Oはソニーのが面白いことやってたね。 ブロック入出力で楽するためにI/Oアドレスの上位8Bitと下位8Bitが入れ換えてあった。
>>601 AVRスタジオが対応してないからだと思う。
統合環境で動かないと嫌だな人がマイコンで
遊ぶかは甚だ疑問ではあるが、俺はそういう理由だった。
>>608 間にマイコン噛ませればCOM制御シリアルライター互換なパラレルライターもできそうだけどなあ
ヒューズビットは別プログラムで対応
>>609 それなら逆に、ヒューズビットに対応できるよう、シリアルライタをマイコンで拡張した方が。
>>610 いやまあ、どうせならパラレルでのみ書き換えできるヒューズビットを書き換え
したいじゃないですか。リセットピンをIOに使うなんて技もあるし
1200みたいにクロック源切り替えすらシリアルにはできない物もあるし
いまさら1200は使わないかもしれないけどさ
このごろのノートって、シリアルもパラレルもなくて、USBのみ ってやつが多いので いっそUSBパラレルアダプタが欲しいと思ったんすよ。 普通はUSB−シリアルコンバータ入れるんだろうけど、どうせコンバータ入れるなら パラレルアウトも出来るんじゃないかと。
>>612 え・・・・・?ここでいうパラレルってPCのプリンタポートのこと?
間にマイコンかますならピンの直接操作は要らない、データ送受信さえできればいいんだから、
わざわざプリンタポートなんてややこしくコネクタでかいもの挟むより
RS232CかUSB(シリアル変換)でやればいいと思うのだが。速度も要求されないのでCOMポートで充分。
>>613 じゃ、あんた、「シリアルポートで動く」XilinX用のJTAGプログラマーを作ってくれよ
618 :
774ワット発電中さん :04/06/26 16:46 ID:npT43cKK
むずい
619 :
774ワット発電中さん :04/06/27 08:10 ID:fUDgkWJl
l^丶 ふさふさ | '゛''"'''゛ y-―, ミ ´ ∀ ` ,:' (丶 (丶 ミ (( ミ ;': ハ,_,ハ ;: ミ ';´∀`';, `:; ,:' c c.ミ U"゛'''~"^'丶) u''゛"J /^l ,―-y'"'~"゛´ | ふさふさ ヽ ´ ∀ ` ゛': ミ .,/) 、/) ゛, "' ´''ミ ハ,_,ハ (( ミ ;:' ,:' ´∀`'; '; 彡 :: っ ,っ (/~"゛''´~"U ι''"゛''u
620 :
774ワット発電中さん :04/06/28 02:27 ID:tRprb6m+
ちょっとわりこみ 共立電子のISP型ライタ SK-AVR がうまく動きません。 シリアルポートのタイムアウトとなります。 動作確認の方法ありませか?
ケーブルの仕様を疑え
>>620 純正品のSTK500とかを買え。貧乏人め(w
624 :
774ワット発電中さん :04/06/29 20:30 ID:WHQL5zws
Windows Hardware Quality Labs コンピュータや周辺機器などのハードウェアが Windows対応製品としてふさわしいかどうかを試験する組織。 Microsoft社が運営している。 WHQLで認定されると「Windows対応」のロゴマークを使用することが許可される。 ハードウェアドライバもWHQLによる試験が行われており、 これに合格すると安定した動作を保証するデジタル署名が与えられる。
>>626 おー、
いいかげんAVRかH8の話を
以前はAVRをググったら無停電電源とDENONのAVアンプとパトレイバーばっかり引っかかってきたね
AVRは非常によく出来すぎているから何の苦も無く 事が運んでしまう。それでこのスレで教えて君が少ないから 叩きも発生しないしネタも投下できない。 罪なチップだなAVR。
>>628 データシート嫁で終わっちゃうしね
で、よく読んだら分かってしまう
AVRだと市販で定番なライターってあります? 手っ取り早いところだと、秋月のライターでしょうか?
>>630 秋月の「PIC」ライタはいいと思うが、秋月の「AVR」ライタだけは止め溶け(w
>>632 ライタとファームを変えれば使い物になる
>>628 まぁ大体はそうなんだけど、、PORTBを読む時はPINBレジスタから読まないとダメとか
やっぱしちょっとクセがありますよね。
>>635 それは癖というのかな?
むしろ本質的には別である入力ポートと出力ラッチに別の名前が
付いていることは当たり前でいいと思うのだが。
637 :
774ワット発電中さん :04/07/01 09:18 ID:eeisPCHm
マイコン(MP-Z80)、I/Oボード(AB-10)を使った、プログラムを 勉強しているものですが、わからないことがありまして、教えていただきたいのですが、 よろしいでしょうか?LEDの点灯、スピーカーを鳴らすプログラムなのですが。 LEDを右端から順に点灯させて、左端が点灯した後、再び右端から点灯を 繰り返すプログラムを作りたいのですが。 LD A,90H OUT (23H),A LD A,01H LOOP1:OUT (21H),A RLC A LD B,0FFH LD C,0FFH LOOP2:NOP LOOP3:NOP DEC B JP NZ,LOOP3 DEC C JP NZ,LOOP2 JP LOOP1 HALT このようなプログラムになると思うのですが、 実行してもはじめから点灯しているLED4個しか点灯していません。 1個づつ右端から順に点灯させるにはどうしたらよろしいでしょうか?
>>636 内部はそうでも、言語レベルでは
tmp=PORTB; //input
PORTB=tmp; //output
って書けたほうが覚えやすいっていうかハマリにくい。
(しかもAVRでは入力にした場合、PORTBへの書き込みは内蔵プルアップのON/OFFを意味する
とか、普通のマイコンにはない作法を要求するのが、ちょっとアレ。)
>>637 わかってて聞くんだが、
LD A,90H
OUT (23H),A
LD A,01H
LOOP1:OUT (21H),A
が何を意味しているのか(8535の初期設定とか)念の為に書いてくれ。
>>637 回路がわからないのでなんともいえないが、
2行目と4行目のポート番号が違うのには何か意味があるの?
641 :
640 :04/07/01 10:03 ID:lMDGl4Ya
かぶった・・・スマソ
ADDI,ADCIが欲しいと思うこの頃
>>638 うーん言語レベルではそうだねえ。
でもPORTBを読めば最後の出力が読み取れるってのも便利なことがあるわけで、
(一部のビットだけ書き換えるときちょっと速度が稼げてちょっとグローバルメモリ節約できるだけなんだけど)
この読み込みとPINBの読み込みの区別がややこしくなるので、出力ラッチが
読める仕様自体をなくさんと困りそうですね。
言語上、LATCHBってのを新設して
PORTBからの入力→PORTB読み込みで記述→PINB読み込みに置換
出力ラッチを読みたい→LATCHB読み込みで記述→これはPORTB読み込みに置換
って感じかなあ。
PullUpもPullUpBってのを新設してこれで記述とか(PORTBに置換)
>>642 addiはちょっとだけ欲しい。sbciでできるとはいえその後オーバーフローで分岐させたいとき頭がわけわかめ
・・・・まあなくても何とかなるか・・・
ほかAVRに欲しいのはBLD,BSTの拡張かな。これをIOレジスタに使えると便利かなあ。
ついでにTフラグではなくCarryとIOレジスタbitをやりとりできると便利な場面多そう
>>637 ブツも資料も無いが、アドレスからして
23H 8255 コマンドレジスタ
21H 8255 ポート1(LEDがぶら下がってる)
だと推測するが?
ソース的に問題なさそうだが...
ググると I/Oボード(AB-10) て、8255を2個積んでるらしいが、
操作する8255を間違えてるって事は無いよな?
646 :
774ワット発電中さん :04/07/01 14:29 ID:ipRXlp1o
LD A,90H OUT (23H),A が初期設定です。 OUT (21H),A はLEDを点灯させるプログラムです。 Aレジスタの値を2進数表示したとき、 1に当たる場所のLEDが点灯します。 LD A,01H は右端から順に点灯させるため。
648 :
774ワット発電中さん :04/07/03 01:20 ID:9swOXhta
H8/3664でSCI3割り込みを使いたいのですが、 GCCでint_sci3関数を使おうとすると libadd3664.aがどうのこうの言われます。 どうすればいいのでしょうか。 初歩的な質問かもしれませんが、皆様の知恵をお貸しください。
つくづくC言語って面倒ですね。 アセンブリだと、ほぼ間違いなく書いたとおりに動くのに。
650 :
774ワット発電中さん :04/07/03 06:15 ID:qLCcylxB
>648のくだらない能書きよりもGCCの吐くメッセージ正確に書けよ、馬鹿!
651 :
648 :04/07/03 06:48 ID:9swOXhta
>>650 能書きですか?
…まぁいいや 失礼しました
"C:\〜(GCCのアドレス)\TARGET\3664F\libadd3664.a(sci3.o)(text+0x272):sci3.c: multiple definition of 'int_sci3'"
"C:\DOCUME~1\ADIMI~1\LOCALS~\Temp/ccgHdaaa.o(text+0xda):(ソースファイル名): first defined here"
の二つがの警告が表示されます
652 :
774ワット発電中さん :04/07/03 07:45 ID:qLCcylxB
知ったかぶりで中身のない質問をして、補足説明も中途半端。 ダメな奴は何をやってもダメだな。 学校や職場で”要領を得ないうすのろ馬鹿。お前は暇かもしれんが、お前みたいな奴に付き合っているほどこっちは暇じゃないんだよ。” って煙たがられている姿が目に浮かぶよ。 一言多い割には、自分がやるべきことも満足に出来ないんだな¬(´ー`)Г
>>651 あぁ、技術系メーリングリストのおきてを読んだ方が宜しいかと思われます。
今、この業界はアテネ五輪に向けて大忙しなので叩かれるのが関の山です。
さて、今日もお仕事イッショケンメッ!
冷静に見たら釣りに思えてきた \ ∩─ー、 ==== \/ ● 、_ `ヽ ====== / \( ● ● |つ | X_入__ノ ミ そんな餌で俺様が釣られクマ――! 、 (_/ ノ /⌒l /\___ノ゙_/ / ===== 〈 __ノ ==== \ \_ \ \___) \ ====== (´⌒ \ ___ \__ (´⌒;;(´⌒;; \___)___)(´;;⌒ (´⌒;; ズザザザ (´⌒; (´⌒;;
>>651 >・・・multiple definition of 'int_sci3'"
int_sci3 というラベル・関数が複数定義(宣言)されている。
ccgHdaaa.o において先に定義されている。
H8+gccは使った事ないので、間違ってたらスマソ。
657 :
774ワット発電中さん :04/07/03 14:09 ID:2X9Za8nM
>>648 libadd3664.aなんていうライブラリは普通のgccには付いてこないので、
そいつの出どころを書かないと、誰も答えられないと思う。
strawberry-linuxのSH2/7045ボード、いいね。 秋月のH8/3052ボードと同じ匂いがする。値段も手ごろだし
660 :
774ワット発電中さん :04/07/03 20:34 ID:qLCcylxB
時代は倍速の7145でつよ
SRAM欲しいな1Mbitぐらいで32bit接続で税込み6Kぐらいで あとイーコレクト使えるように>strawberry-linuxの中の人
662 :
774ワット発電中さん :04/07/04 17:13 ID:vwhEOD/4
想像を超える事態
663 :
774ワット発電中さん :04/07/04 17:22 ID:k4/8JmJY
ノミの脳で考えたこと?
>>648 3664.hをincludeしているからでは?
sci3関係のライブラリが既に定義されている気がする。
666 :
774ワット発電中さん :04/07/06 09:56 ID:zqS4je/T
想像を超える事態
668 :
774ワット発電中さん :04/07/06 13:29 ID:q1LZbL3k
回線切って首吊ったんじゃないの?
問題が解決したら、問題箇所と解決方法を公開して、皆で知識を共有する。 こんな基本的なことも知らない厨って本当にムカツク
671 :
774ワット発電中さん :04/07/06 21:39 ID:q1LZbL3k
>669インターネット初心者はカエレ(・∀・) もまえのような香具師が下記こするのは3年早い! ROMってろ。
面実装のならいけそうだけど、 リード付なら胃に穴があきそうだ。。。
アク禁で急に書き込めなくなることあるから餅つこうよ。 (公開プロ串に当たると最初は戸惑うんだよなぁ。。。) それに出張ってこともあるしな。朝会社に行ったら、 今日出張行ってくれって言われて一ヶ月帰れなかった ことあるよ。
ウァ゛ィヤー ∧ ∧γ⌒'ヽ (,, ・∀i ミ(二i / っ、,,_| |ノ 〜( ̄__)_) r-.! !-、 ミンナ モチツケ! `'----' 扇風機の真ん中でアイヤーとさけぶ 。。。
676 :
774ワット発電中さん :04/07/07 14:59 ID:3Nsw7/Cp
レス読んで目に涙をいっぱいためながら歯ぎしりしてるんじゃないの H8MLにもいないみたいだし
>>671 >671 :774ワット発電中さん :04/07/06 21:39 ID:q1LZbL3k
> >669インターネット初心者はカエレ(・∀・)
> もまえのような香具師が下記こするのは3年早い!
>ROMってろ。
こするのはチンコだろが。
678 :
651 :04/07/08 02:40 ID:qIpsPG8h
自力で解決しますた
679 :
774ワット発電中さん :04/07/08 02:59 ID:fckz3Og7
アドバイスくれた人は無視かい?
普通に偽者じゃないかと。
681 :
774ワット発電中さん :04/07/08 07:19 ID:i4lxNx87
tiny2313って売っているんですか?
>>681 ものは存在するらしいが、入手困難で実質まだらしい。
(avrfreaks.netより)
683 :
774ワット発電中さん :04/07/08 09:04 ID:i4lxNx87
684 :
774ワット発電中さん :04/07/08 09:05 ID:i4lxNx87
>>682 レス、ありがとうございます。
期待を込めて、待つことにします。
685 :
774ワット発電中さん :04/07/08 12:18 ID:ZRSVYUIg
>>683 Pb-free
鉛フリーって言うんだよ w
>>684 期待したいね。
適当に小さくて結構機能そろってて適当に安価な2313のmega化って最高だと思うし。
tiny2313は怖いバグを抱えているから使いたくないな。 tiny26で我慢汁
今手に入るのはRev.Bでしょ? Rev.C待ったほうがいいよ。 電源1.8V- 5.5V、クロック24MHzって、うっとり。
AVRのAVRstudioとdebugWIREでICEを行うには市販のICE-I/F買うしかないの? ISPみたいにアプリノートがあればいいのに
691 :
774ワット発電中さん :04/07/08 20:18 ID:xM8wdBtW
694 :
774ワット発電中さん :04/07/08 23:33 ID:i4lxNx87
695 :
774ワット発電中さん :04/07/09 05:41 ID:COts4m/P
お尋ねしますが、sh7047って入手簡単ですか? あとsh7045と比べて使い勝手はどうですかね?
>>693 低電圧でEraseが使えない(Writeで代用?)
パラレルプログラミング不可
ウォッチドッグ動作異常
ウォッチドッグがかかるとその後ウォッチドッグ設定自体がクリアされるって
言うことでしょうか?ウォッチドックでRESETかかるのなら初期化ルーチンで
再設定すれば実質問題はない?
697 :
774ワット発電中さん :04/07/09 10:14 ID:tqY0ApzU
>695 君には売ってくれないと思うよ。
>>687 Tiny26は高速PWMが凄い嬉しいんですが、反面、16ビットタイマーが無いのが悔しい。
(せめて8ビット2本を16ビットとして使えればいいのに。オーバーフロー割り込みを
もう1本の8ビットタイマーの入力として使える、とかさ。)
というか、ATmega8に高速PLL-PWMを搭載してくれたらいいのになぁ。
>>698 タイマ1のOC出力をタイマ0のT0に入れる・・2pin使えなくなっちゃね
OVF割り込みで変数incでも工夫すればいけるかも。遊んでみた。
unsigned char tcnt0_h;
SIGNAL(SIG_OVERFLOW0)
{
tcnt0_h++;
}
unsigned int get_timer0_16(void)
{
unsigned char L,H;
L=TCNT0;
H=tcnt0_h;
if (bit_is_set(TIFR,TOV0))
{
H++;
}
if (L>TCNT0)
{
H=TCNT0H-1;
}
return (H<<8 | L);
}
H8/3048FのIOポートってポートによってはプルアップMOSの 設定ができるけどこれって盲腸? スイッチをつなぐときにチャタリングを防止する目的で CRの時定数回路とシュミットトリガを入れるとすると プルアップの設定は不要になるよね。 タダのプルアップだけだとチャタリングは防げないので プルアップだけできてもあまりメリットがないのではないかと。
タダのプルアップの時は複数回リードでチャタリング対策する。
>700 1チップマイコンの場合、チャタリング防止はソフトウェアでやるのが 一般的だと思います。入力後、数ms無視すればいいだけだし チップ内にチャタリング防止回路を入れないのは上記で代用できるし CRの"C"の面積がでかくて内蔵しにくいためと思います
>>702 もどもです。
ポートAみたいにシュミット入力だったらウマーなのになと
思ってたけどソフトでやるんすね。
マイコンのプルアップCMOSは、 DIP-SW等、起動時に読み込んでそれっきりみたいな用途に使うとちょうどいい。 あるいは、オープンコレクタのワイヤードORを受けるときにも便利。 スイッチに拘らなくても、別に基板内のデータを受けるときに使ってもいいんだよ。
>>701 タダのプルアップで外部のSWを受けるのはあまりお勧めしない。
趣味の工作だったらいいけど、やっぱり静電気直撃とかこわいじゃん。
ここはやはり、きちんとRCフィルタで静電エネルギーを分散+チャタリング除去
というのが正義(生技)だと思う。
>>706 プルアップしているところにスイッチ入力で静電気直撃ってありえるの?
あるとしてもプルアップあれば電荷量さえ静電気並みならたいした問題じゃないのではと思うのですが。
心配なら入力に制限抵抗1つで
CRを使うなら、シュミットトリガのICで受けるのは当然として、スイッチ を押したときにコンデンサをショートする格好になるから、スイッチの接点 側にも抵抗を入れて接点保護。更に電源OFFの時にコンデンサから入力 端子の保護ダイオードを伝わって電源端子に流れ込むのを押さえるために そちらにも抵抗。更にコンデンサのチャージを早く抜くために電源との間に ダイオード。静電気が気になるなら、更に小容量のコンデンサとバリスタくらい いれておく? てな具合で真面目に考えると単なるスイッチ入力一つでも結構部品が必要になる。
700です。たかがスイッチなのに奥が深いっすね。 いっそのことフォトカプラを挟んでスイッチとマイコンを アイソレートしてしまうかなどと考えてみたりも。 趣味の工作なんでそこまでしなくてもいいような気が しなくもないのだけど。
>>706 スイッチに1Mくらいの抵抗をパラっておくのはどう?
>>709 要らん要らん。
そのへんの安物PS/2キーボードばらしてみ?
コンデンサなんて入ってねぇぞ
>ここはやはり、きちんとRCフィルタで静電エネルギーを分散+チャタリング除去 >というのが正義(生技)だと思う。 すげ― 餌だな。つられる馬鹿が結構いるだろうね。
藻前な
>>712 え?おまえやってねえのかよ?それとも理解できない?
アマチュアならしゃあねえな。
ちなみに +5V ┬ >1k FIL 1k > 10k ○─@@─WW─┼─WW─┬─>74LS244 ▲ Diode =0.1 ┴ ┴ GND GND 手持ちのゲーム基板(コナミ)だとこんな感じ。 これが上下左右・P1・P2・P3・コイン・スタート・その他と、 全部で24個ぐらい並んでる。
ゲーム基盤かよ、そんなことやってあるのは稀だ。 そこらへんの家電ばらしてみろよ 静電破壊から守るのは、そんな方法だけじゃねーよ
717 :
774ワット発電中さん :04/07/13 00:44 ID:gqVS85z7
>ゲーム基盤かよ、そんなことやってあるのは稀だ。 基盤→基板 >え?おまえやってねえのかよ?それとも理解できない? だった
718 :
774ワット発電中さん :04/07/13 00:46 ID:gqVS85z7
たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。 たかがスイッチなのに奥が深いっすね。
>715 >ゲーム基板(コナミ) 並んでいる他ゲーム機からの毒電波から自己ママンを守るためにそうなっている。 昔は、ハイパワーな送信機で誤動作させてロハでゲームしたりする輩がいたので 厳重に高周波対策をしてあるのです。 74LS244は、スレッショルド電圧の関係から普通は直接な外部回路の接続用には 向いていないので、その古い設計がダメダメって事。
電子ライターでインベーダー暴走させて遊んだなぁ
TAITOの基板昔見てたがフェライトビーズとハイブリッドIC(
>>715 みたいな回路)で受けて
セキュリティチップの意味持たせた三菱のワンチップCPUに繋いでたと記憶
>>715 俺が手がける自動販売機のスイッチ入力回路も似たような感じ(もうちょっとだけ堅牢)。
まあゲーム機にしろ自販機にしろ、業務用コインオペレートマシンなんて、
悪意の攻撃が入ることを前提に作っとかないといけないからね、家電なんかとは保護のレベルが違う。
うちの基準では、入力部外郭に直接20kVを(人体モデル1.5kΩを通して)12000発(10発/sec)。
一発でも入力回路に誤動作があったらアウト。
(これでも最近の100kV級スタンガンを相手にするのは心許ない)
>>716 は、少しは回路を知ってるんだろうからさ、
中途半端はもったいないじゃん。もっと世間を知って完全体になろうぜ。
>>719 >>74 LS244は、スレッショルド電圧の関係から普通は直接な外部回路の接続用には向いていない
>>その古い設計がダメダメって事
回路定数を良く見てみれ。駄目駄目どころじゃないぞ、
SWをONしてもVinが2.5Vを切らないし、Iinが制限されすぎてLS動かねえし。
>>715 は定数デタラメじゃねえの?
俺だったら左からFIL、100Ω、1kΩ×2(プルアップダウン)、2.2kΩ、ツェナダイオード、0.1μFで、HC14受けだな。
入力多いときは手抜きしてシュミット無しのHC245で受けてしまいますてへっ。
>>720 タイトーがアホみたいにI/Oにフィルタを入れているのはインベーダーの時代に
ノイズで信号を誤動作させ電車を止め賠償問題になったから。
誤動作もより放射ノイズを気にしている例がほとんど。
だから、一応一部のメーカーを除いてノイズ試験をしてVCCIの規格を通るように
している。
結局、>700の質問に対しては、>715の様な回路は妥当かと言うと。。。? H8/3048F等では、 チャタリング対策は、基本的にソフトウエアで防止で良いかな。 同一基板上でスイッチに接続するなら、プルアップと必要ならコンデンサのみ。 基板の外部に引き出して使うなら、 RCフィルタ、シュミットトリガのIC受け、接点保護抵抗、ダイオード、などなど色々付けて >715>722あたりを参考に回路を作る、と。<素人お断り、職人技で部品の定数を決定。 初心者が製作すると、部品の多さとその接続数で配線間違い必至。 >709で言ってるフォトカプラとかインターフェイスIC使った方が、成功するかも。
725 :
774ワット発電中さん :04/07/14 16:36 ID:elC8o2Qe
お前ら、川崎のZ80コンパチを新規設計に使っても平気でしょうか?
eZ80使うよりまし?
727 :
774ワット発電中さん :04/07/14 23:31 ID:y//PxVjB
今更Z80は無かろうと思うぞ。 まぁ慣れとか過去のソフト資産を生かしたいなら別だが。
>>725 迷ってるなら使わない方が良いと思う。z80はやっぱり古い設計だよ。
729 :
774ワット発電中さん :04/07/15 00:58 ID:34z18YOZ
要求仕様を満たせば何でもいいのでは? 製品も目的と使用環境に合わせて周辺回路を省きコストダウンするのが定説
川崎のは、IPコアでも売ってるので直接モノが無くなってもASICで再現可能なので 仕様が合えば平気でしょう。最新のH8とか使ってエラッタですげー悩むのも乙かな。
731 :
725 :04/07/15 01:53 ID:0NRga+PX
>>727 過去のソフトをほぼそのままつかわにゃいかんのよ。
予算がもっとあれば、別の石にするんだけどね。
>>725 FPGAにIP入れろ。コンパイル後のゲートサイズはでかいがフリーの物はおーぷんこあにおいてある。
これでFPGAがなくならん限り未来永劫存在できるよ。
FPGAと互換CPUでチップの値段はどちが高いの?
FPGAの方が圧倒的に高くつくからなぁ。一品物ならまだしも量産では割に
合わないでしょ。数百円対数千円レベルの差だから。
>>725 周辺IC・タイミングに依存しないなら変換ソフト(あるのか?)とかエミュレータとか・・・
うむ、やっぱり無謀だ。素直に川鉄Z80だな。
>731 このままZ80は無くならないと思う。が、川崎のは東芝と違って無くなる可能性が高い。 量産するなら川崎でASICに組み込んでもらった方が、FPGAより遙かに安くなると思うけど。
結局自分の手で何とかするなら、単価は高くても収束に怯えなくて良いFPGAが 悪くはない解だとは思う。 しかし、資産流用を考える用途など未だにあるのか? うちなんかとうに移行してしまったから今や化石扱いだが。
>>736 だから、前から、Z80に16bitTimer3本と、ADC8本を積んで、
各ポート20mA出力にして、FlashROMを16k、RAMを16k程積んだCPUを出せって
オレが言っているのに、なんで誰もやらない?
んな趣味臭せー石などイラン
>>737 PWMではない、ラダーでいいからDAを積んでくれよな。
あと、オペアンプ1個入れてくれ。流行のアナログコンパレータでもいいけど、
あれはヒスがかけにくい。そんなんじゃなくて、単にオペアンプでいいからさ。
だから、Z80にフラッシュ16K、RAMを16K、I/O空間にVRAM48Kバイト載せて、 CRTCとKBCとPCGとPSGとCMTインターフェース内蔵したチップを作って くれれば嬉しいのだが。
RAMは64KでROMと重なるところはバンク切り替えでもいいや。
>>741 MSX2でいーや
手軽に手を出せるキットでないかなあ・・・BASICは抜きでもいい
今の集積度をもってすればMSXなんてワンチップなんだろうね。 BASICが入っていて、ターミナル経由でも動かせるなら使いで ありそう。
セグメントタイプのLCD駆動回路はいった奴ほぢい MSP430より安くて…
今度、SEGAから出るじゃん、Z80はもちろん68000まで入ったやつ。 あれって1チップなんだろ。
あれって、続編を考えているなら命令はFlashだろうけど、 一発ものならROM化されていると思われ。 漏れは解析erの報告待ちだな
スレッド進行がこのスレの存在意義を表してるな。
>>750 そんなこと言ったらこの板の大半のスレは(ry
>>744 松下vsソニーの3万円合戦の時には
すでにMSX-SystemII+V9938の2チップ構成だったよ。
>>751 大半が馬鹿が立てたと思わしき糞スレだからな。
削除依頼して半分以下にしたい。
754 :
774ワット発電中さん :04/07/17 22:18 ID:5WSTwxxt
↑ うざいよ馬鹿
756 :
774ワット発電中さん :04/07/17 22:45 ID:5WSTwxxt
↑ 釣れたw
反論不能だから釣り宣言ですか? やはりこのスレの現在のレベルを象徴してますね。
>>756 漏れにはPBTsjUkeのほうが釣りだと思うのだが、違うのか?(w
私は極めて真面目ですから、釣り宣言で照れ隠しなどしません。(w
760 :
774ワット発電中さん :04/07/18 07:03 ID:u0PceT3a
↑ また釣れた
余程悔しかったのだろうな
↑ また釣れたw
むこうもこっちも・・・
モトローラのColdFire Version2に対応しているGCCみたいなフリーのC/C++コンパイラってある?
767 :
774ワット発電中さん :04/07/20 12:53 ID:447nibOJ
769 :
774ワット発電中さん :04/07/20 23:24 ID:r4234LFf
>>769 サンクス
よくよく調べてみたら、ほとんどの場合ColdFire=ColdFire V2と見て間違いないらしいね…別物かと思っていたよ…_| ̄|○
スレ汚しスマソ
771 :
774ワット発電中さん :04/07/21 01:31 ID:4gNUQPMb
秋月のARM7マイコンボード 買った人いる?
>>768 FED-CのLCD駆動って、R/WをGNDに固定しちゃだめなんだっけか?
ワンチップマイコンって唯でさえピン数少ないんだから、1ピンでも節約したいんだが。
(とかいいながら、実はライブラリもR/Wを全然制御してなくて、単なるウェイトだったりしてな)
>>772 ロットが変われば少しは改善するのでは。
3068ボードも最初のは素晴らしい出来だったからなあ。
>>774 古い話になるが、PICプラチナキットも素晴らしい出来だった(涙
早速なひたふがいろいろと始めてるね。
>>775 確かにあれは、新規に自作ライターを作りたくなるほどに素晴らしかった ○| ̄|_
778 :
774ワット発電中さん :04/07/22 11:19 ID:kEXUny92
無線がついたrfPIC12F675Hってもう出回っているのかな? でもCCSのコンパイラはまだ対応していないみたいだし。
すげーーーー 無線付きpicでるんだ! 40kbpsでもいい! ホスィ 受信もpicでやればちゃちゃちゃと無線通信できるのかな。
780 :
774ワット発電中さん :04/07/22 17:50 ID:kEXUny92
受信はPICではなく専用のICが用意されているみたいだ。
781 :
779 :04/07/22 18:28 ID:oI2pk3rR
アチャ rfPIC12F675H同士で通信って出来ないのか… ショボーン++; 受信専用ICってどんなのかな。 ぐぐってみか。
国内で使って大丈夫なのかな。電波法違反になったりして。
783 :
774ワット発電中さん :04/07/23 09:15 ID:GN8rJDd4
発信器が使えるなら、周波数を後から設定できるのもあるので、 そっちに逃げるつーのもアリだと思います。 精度が少々気になりますが…
電波法には触れないだろうが、 電波使用料は取られるだろうな(w
787 :
774ワット発電中さん :04/07/23 18:22 ID:GgLSNql0
AVR Studio 4で質問。 2313や8515のプログラムを組んだあと、AVR simuratorにかけて動作チェックするんですが、 かなりの確率でメモリーウィンドウにDataエリアが表示できなくなります。I/O、プログラム、レ ジスタはプルダウンメニューで選べるのですが、DataとEEPROMはプルダウンメニューに出て きません。 プログラムはきちんと動作しているのですが、デバッグ中にDataエリアが見られないととても 不便で困っています。 環境はWin98SE、AVR studio4 Ver.4.09 Build 338です。 新規にプロジェクトを立ち上げた直後と、デバッグツールを再選択した後だとおよそ7割の確率 で不調、いったんセーブして再起動した場合は100%不調です。 対策知っているエライ人(orエロい人)いたらば教えて下さい。
788 :
774ワット発電中さん :04/07/23 19:44 ID:PIdDzMr0
rfPIC12F675H同士で通信できるじゃん つかデータシートくらい嫁
789 :
774ワット発電中さん :04/07/24 13:17 ID:+vHhA68O
rfPIC12F675H発売まだーーーー? うちの2階から3階へ電波届けば一個1000円以上でも買っちゃう。
UHFだろ。 rf設計技術の無い椰子が果たしてまともに使えるのだろうか?
1mくらい飛べば、無線制御ごっこぐらいは出来るだろう。 動くものをひも無しでコントロールするとか。
AVRのマイコンとWinAVRで、μITRONを動かすにはどうすりゃいいすか? 他のRTOSでもいいけど。
AVRのEEPROMに書き込むのに、WinAVRのLIBのHELP見ると void eeprom_write_byte (uint8_t *addr, uint8_t val) って書いてあるんですが、 じゃ、ADRS=0に1を書くには uint8_t ead , eval; ead = 0x00; eval=0x01; eeprom_write_byte (&ead , eval ); ってするんですかい?動かないんすけど。 素直に eeprom_write_byte (ead , eval ); ってすればOKなんすけど。
>>794 eadはアドレスそのもの=uint8_tへのポインタでしょ。
そのまま渡せばよろし。
eeprom_write_byte (&ead , eval );
じゃ、変数eadのSRAM上のアドレスを渡すことになってしまう
なんか変じゃね?
ほらやっぱりCの方が面倒だ。 アセンブリ万歳!
スルーでお願い致します。
スウルスルー
uint8_t ってのはポインタ変数の宣言なのか? unsigned int 8 *ead,eval て記述しないとeadはポインタとして認識されないのでは? WinAvr持ってないから知らんけどw
>>801 warning出ながらも適当に型変換して通ってしまうんじゃないかなあ。
おっしゃるとおり unsigned int 8 *ead,eval が本来のやり方だし
EEPROMが256以内で16bitもったいないなら
uint8_t ead , eval; で宣言しといて
eeprom_write_byte ((uint8_t *)ead , eval );
かなあ
それにしてもこれをポインタにしたところでメリットなさそうな予感
普通にuint16_tにして貰った方がすっきりするような。
>>794 型変換がよく分からないっていう方ですね?
uint8_t *p , ead;
ead=0x00;
p = &ead;
uint8 eval;
eval=0x01;
eeprom_write_byte (*p , eval );
で動くよ。つまり
eeprom_write_byte (ead , eval );
で動くッて事っす。
キャストするとHELP通り、
eeprom_write_byte ((uint8_t *)ead , eval );
これでどうでしょうか?
>>804 ATMELのEEPROM書き込み回数って実力どれくらい?
SPECではは最低100,000回とか書いてあったと思うが。
806 :
774ワット発電中さん :04/07/26 15:54 ID:R8ZrW3Sx
rfPIC12F675Hのデータシートをみると UHF ASK/FSK TRANSMITTERとある これは送信だけでは?
EEPROMを普通のメモリ領域として無理矢理こじつけているのが 混乱の原因なんだろうな。
Program Space FLASH参照の方はuint16_tでアドレス参照だな。 文字列関連だけポインタになってる・・・・ 5.5.2.4 #define pgm_read_byte_near(address_short) __LPM((uint16 t)(address_-short)) Read a byte from the program space with a 16-bit (near) address. Note: The address is a byte address. The address is in the program space.
とりあえず、これでウヲーニングは出ない模様 uint8_t eval8; uint16_t ead16; ead16=0x0000; eval8 = eeprom_read_byte ((uint8_t *)ead16); eeprom_write_byte((uint8_t *)ead16 , eval8);
唐突に思い出した。 みなさん、こういうデバイスのCの変数名ってハンガリアン記法で書いてます? つっか、ハンガリアン記法ってまだ死語じゃないよね(w
811 :
774ワット発電中さん :04/07/26 18:00 ID:R8ZrW3Sx
私はハンガリアン記法。 マイコンの場合、リソースが少ないから、 バイトですむ場合はバイトで済ますし、 バイトとワードが混在した場合コンパイラが ちゃんと処理してくれるか心配だからね。 ソースみて判断できるようにしているよ。
すみませんが、 winavrのインラインアセンブラで2バイトレジスタ(r24以降)に 定数を渡したいときはどうすればいい? "M"(16bit値)で渡してアセンブラ内で ldi %A1,low(%2) ldi %B1,high(%2) なんてやろうとしたらinteger overflowって怒られるし、 2バイトに分けてそれぞれを"M"で渡そうとしたら、インプット オペランド内でlow()/high()が使えないみたい。 #defineで指定した値(クロック)から計算した値を渡したいので、 "M"(下位値),"M"(上位値)と書くのはちょっと。。なんです。 register uint16_t counter=定数式; ってやって"w"(counter)で渡すしかないんでしょうか?
winavrですが、 #define CLOCK_MHZ (16) wait=CLOCK_MHZ*1000*1000/80000 や #define CLOCK (16000000) wait=CLOCK/80000 だと通るのですが、 #define CLOCK (16*1000*1000) wait=CLOCK/80000 や #define CLOCK (14746*1000) wait=CLOCK/80000 だと通りません(warning: integer overflow in expression) これはなんで? 桁数読みにくいので、出来れば #define CLOCK (16*1000*1000) #define CLOCK (14746*1000) でいきたいのですが
>>813 #define MHz 1000000L
#define kHz 1000L
#define CLOCK (16*MHz)
#define CLOCKK (14746*kHz)
だとどう?
815 :
813 :04/07/27 08:15 ID:Xy3xLYws
>>814 そうか! (・∀・)
あとでやってみる。大ボケに指導ありがトン
だからといって実力値に頼る設計はしてはならない。 趣味は当てはまらないが。
>>816 データの長期保存を確約する書き込み回数と、書き込み不可能になるまでの書き込み回数
は意味が違うよ。
メーカースペックは前者。
後者は、動作確認程度の使い方で使い潰すまでの期限。
>>816 1時間に1回書き換える使い方だと、114年で100万回だね。
EEPROMってその程度の使い方じゃないか?
>>819 英文のほうがマシであることを予感させるようなメールですな。
>>821 それは言ってはいけないお約束なのではないでしょうか(w
まあ、サポート云々はオマケとしても、なぜかトラ技では紹介されていないけど
期限無しのHEW3+gccが手に入るだけでもサンデープログラマな自分には
うれしいです。
AVR用のいいRTOSない?OSないとやってられん。 英語でもいいけど、できればチュートリアルというサンプルあるやつ。
ノンプリエンプティブならPICの奴を移植したのがあった。 プリエンプティブなのは・・・デザインウェーブに全部C言語で 書かれたのが載っていた気がするが・・・止めておいた方がいいと思うよ。
AVRごときにOSって… 何するつもりだかちょっと気になる・・・
826 :
824 :04/07/29 00:07 ID:1A0QT+L7
>>825 同意。でもデザインウェーブに載るくらいなんだから
マイコンにOSって需要もあるのだろう。
その記事も中身は只のタイマーハンドラで全部コンパイル
しても1Kword以下だって書いてあった。
thnx。もちろんノンプリエンプティブで十分 ちょっと同時になんかやろうと思うとすぐOSほしくなる弱虫なので
なるほどこれ結構おおきいんだね。 もう少し小さいやつないかな。 picfunにあるやつのavr版くらいがいいんだけど。
>>823 AVRに期待するOSの機能ってどんなもん?
前提にするAVRは?mega128あたり?
>>830 要は、優先度のフラグつけて、タスクマネージャに放り投げれば全部やってくれればいいんでしょ?
その程度を想定してるんじゃない?
>もう少し小さいやつないかな。 その程度のものなら自分で書けばいいんじゃねぇの? 割込でスタックポインタの切り替えだけできれば、 そこから先はすぐだろ?
ノンプリエンティブなマルチタスク処理なら自分で書いてもたいしたこと無いような… 優先順位ころころ変えたいとかだと少しめんどくさいかも知れないけど。
どーでもいいことだが SiliconLabの8051用IDEが2.0になって、SDCCをサポートしたのがうれしいな
WinAVR 20040720版出てます。
836 :
_ :04/07/31 01:50 ID:QEbzn4Xg
相談させてください。 いま駆動系につながったエンコーダからのパルスをPICを使ってカウント しています。PICからの出力は8bitsのパラレルです。その出力を秋月の AKIH8-3048に直接接続しています。(文字通りの直結です) 回路を組んで実験をはじめたのですが、どうもPICからの値が安定しま せん。終いにはPIC自体が動作しなくなりました。 電源なのか、リセット回路なのか、それとも別の問題なのか判らないので 原因を調べているのですが、引っかかっているのが「H8マイコンと直結」 している部分です。本来でしたら、ここには何か部品を挿入するべきなの でしょうか。それともプルアップもしくはプルダウンなどの処置をするべき なのでしょうか。
>>836 やろうとしている事と質問のレベルがえらくかけ離れていると思うのは俺だけか???
PIC側が3Vで動いてるとか? H8の入力がプルアップされてて、電流がPICに逆流してるとか?
841 :
836 :04/07/31 03:26 ID:QEbzn4Xg
>837 誘導ありがとうございます。移動します。 >838 すみません。なんやら頭がこんがらがっているもので… >839 PICの電源、グランド、リセット確認しましたが正常なのです。 それでよくわからなくなって、一寸でも不安な要因があるもの を排除したくて質問させていただきました。
>>839 じゃあそういう場合は、今までの俺の実務経験上
100% ソフトバグであると断言できる。
843 :
訂正 :04/07/31 04:18 ID:EvDB4EYM
>>841 じゃあそういう場合は、今までの俺の実務経験上
100% ソフトバグであると断言できる。
845 :
774ワット発電中さん :04/07/31 07:55 ID:0fZ1Gc+I
心が疲れているときは無理しないほうがいいよ 鬱病患者へのケア
ベステクがAVR搭載のマイコンボード出すみたいだな 楽しみだ 値段が安いといいのだがw
ATmega8が安い(DIGIKEY)って聞いて、早速25個買いました。 1)安いICEないですか? 2)書き込みのISPコネクタ作るのが面倒なので、28ピンのテストクリップでやるのは邪道ですか?
3)なんでそんな書き込みをするのですか?
>>848 知りたい時に、知りたい事を書き込むのは、検索サイトの正しい使い方でしょ?
ちがうとでも?
あらら・・・
>>846 あまり期待しない方がいいのでは?
5000円でお釣りが出るかどうか。
適当に文章を書けば答えの出てくるインテリジェントな検索サイトはここですか?
>>847 どこが検索サイトかと・・・2chねらーはマルチプロセッサ扱いか
avrfreaks.netでも探しな
>>853 だって、人力検索サイトはてな、がちゃんと機能してるじゃん。
>>847 マジレスすると、ATmega8は確かナローの28ピンなので、テストクリップがナローなのを
ちゃんと確かめろよ。28ピンというだけで買ってきたらブカブカ(太平洋に竿状態)かもよ
検索サイトの返す結果が常に正しいという保証はどこにもないけどな。 特に2chはウソをウソであると(ry
>>847 1)Digikeyで買うのが一番安い
2)書き込めればOK
3)厨房だから
4)円周率がおよそ3になったから
>>859 円周率が3っていうのは、都市伝説だと何度いったら、、、、
(ずっと昔から、小数を習う前に円をやる場合は、「円周は直径の約3倍」って
教えられてきたはず。)
NASA公認の一番荒い円周率は「4」
ついに精度がもう1Bit落ちた。
>>861 それはひょっとして、正方形近似という奴か。
ぜんぜん近くねえしぜんぜん似てねえ。
直径5インチの円の円周は約40cmだから、円周率は8とか>NASA公認
>>847 亀だが、サンハヤトの28ピンクリップはワイドだと思った。
ナローの28ピンなんてあったっけ?(だからといって、20+8=28なんて止めとけよ。
テストクリップは、横に並べると1列分、空いてしまう)だから20+6にしておけ。
円周率は、あれだ、355/113 マクロにしておけ(w
>>866 201/64とか3217/1024とかにするとマイコンでの計算が楽(それぞれ3.14と3.1416)
>>863 もう二十年以上も前にNASAが協議の上決めたと言うことなので問い合わせは
そちらにしたら?
NASAの文句はNASAに言え。
>>868 2進法で有効数字1桁なら確かに近似値4だなぁ・・・
>>869 3.14をまるめて、3にすると寸法が小さくなってしまうではないか。
大きくなるよう4にしよう。
・・・と、協議したに違いない。
隙間は充填材で埋めてしまえば良いのだ・・とか
>>869 考えてみれば2進数で有効数字1桁ってことは2^nの数値しかとりえないってことか。
πは差でも比でも2よりは4に近いからOK
(n << 4 + n << 3 + n) >> 3
元の数を <<4 (16倍)したのと <<3(8倍)したのと 元の数(1倍)したのを足せば
16+8+1=25 。これを
>>3 (1/8)して、25/8=3.125 で、殆どπ
特許だすかな。
>>873 どうせ最後に
>>3 で下位桁切り捨てるなら、
n+n+n+(n
>>3 )または(n<<1)+(n)+(n
>>3 )がましでない?
全く同じではないけど、少ないbit数で計算できるから舞子んさんにはいいかも
201/64ならn+n+n+(n
>>3 )+(n
>>6 ) (3.140625)
>>873 GCCあたりは、×64とか÷32っていうのは、シフト演算してくれているんですかね?
>>875 定数乗除算ならやってくれるみたい。
乗算命令があるターゲットなら、
>>1 ,2程度はシフト、それ以上は乗算命令ってやりそうだな。
除算命令あるのはH8でもないんだっけ?で、/32は極力シフトでしょう。
乗算命令のないターゲット対象のAVRGCCは×64や/32はシフト命令に置き換えるみたい。
×3とか1が立った桁が2つくらいしかない定数乗算をシフトと加算でやってくれれば
ありがたいんだけどそこまでは置き換えてくれないな。そのうちやってくれるように
なるかもしれないけど(最新版avrgccはまだ試してない)
変数同士ならそこまでやってくれない。コードが増えるからかな。
880 :
774ワット発電中さん :04/08/04 22:49 ID:BIGE24D6
ロータリーエンコーダ 24個。 一人の人間が操作するとして、 これを処理してコマンドとしてホストマシンに送信したいんだよ。 オマエラならマイコンは何を使う?
>>880 PICでもAVRでも全然問題にならないレベルだろう。
>>880 PICでもAVRでもいいけど、安いやつを24個。
エンコーダの距離が近ければ2〜4個まとめて処理。
エンコード結果をシフトレジスタでまとめて受けるCPUを1個。
これはホストへの送信I/Fや趣味を考慮して選ぶ。
>>880 CRを外付け可能ならチャタリング対策をそいつ等に任せて
割り込み8本x3CPUくらいかな?
ホストとの通信がI2Cならマスタ用CPUも要らないでしょ
884 :
774ワット発電中さん :04/08/05 02:36 ID:K+AbQ8cA
なんだよ。ネタレスばかりかよ。 んなもんマイコン一個でやるに決まってるじゃん。だから悩んでいるんだよ。 特に883の回答は、万一マジだったら重症だぞ。
>>884 量産ならいくらでも悩め。
小数生産つかロボット?省力化機器?ならさっさと分散処理。
2chで質問してマジレスがないからと怒るって。(w ネタだよね?万一マジだったら重傷だぞ。
887 :
774ワット発電中さん :04/08/05 03:28 ID:+CZuriC5
理屈から言って、分散にするなら8個単位でやることになるだろう。 8個ならPICでも十分お釣がくるな。8MHzで頑張るか。
ロータリエンコーダも24個も並ぶと結構忙しいし、 漏れならFPGAで片づけるかな。
カウンタのサイズにもよるが、CPLDでなんとか。
24個のエンコーダの解釈はCPLDでいいとしても、 24個のUp/downを受けて処理するマイコンが1個って可能なのか? 複数のロータリーエンコーダを同時に動かさないというならいいけど
使用される状況を想定して、入力信号から必要であろう能力を 逆算するくらい基本中の基本。
ていうかやっぱり74HC169を大量に積むのが男だな。
ふっ、自立歩行型ロボットか。
894 :
774ワット発電中さん :04/08/05 12:19 ID:HBxbV7ky
またネタスレか? 24個の援交だ=48個のスイッチに過ぎない。 人間が操作する以上同時に10個を越える変化は無い程度(重要)のデーター量である。 実際には設定作業とか実現しなくてはならないので別にテンキーと適当な表示器も 必用になるので、検討した結果、18ピンPICでは10個迄と決定した。 外つけは138と574と一個づつだよ。
>>890 24個のup/downを受けて処理してホストに送信するところまでFPGAに
叩き込んでしまえばいい。
遅くて良いなら、48本のIOを6個の165で受けてシリアルに入力すれば3pinだ 1回の取得は200〜300ステップくらい?マイコンがそこそこ速ければ充分かも
ロータリエンコーダに抵抗付けてR-2Rのラダー組んでアナログ信号にして ADCで受ける。
そこでCycloneとniosですよ
900 :
774ワット発電中さん :04/08/05 23:23 ID:vGYfJ2OF
>898 実現できたらある意味凄い
CycloneクラスならCPUコア使わなくてもこの位は入るでしょ
この程度の事をさせるのにCycloneなんて勿体ない・・・。 何のための安いマイコンなのだ?
速24個のエンコーダが同時に動いても大丈夫なように するのは安いマイコンだとかなーり苦しいと思う。
>>891 < 良いこと言ってる人もいる。
とりあえず使用条件を定義づけるところから始めないと話にならないよ。
905 :
774ワット発電中さん :04/08/06 13:49 ID:qppMlSwk
人間が弄るんだろ?同時に動いたところで屁でもないだろ。
同時に複数のエンコーダから信号がキタ━━━━━━(゚∀゚)━━━━━━ !!!!!としても 1つ1つ処理するんでなく、1度にA相だけ信号取得して、どれか変化した場合に Bも取得して、変化したと認められる物だけ処理すれば充分間に合うんじゃない? 少なくとも同時に動くのが2個ならこれで充分じゃないかと 24個同時に動かれるとちょっとは苦しいかもしれないが
>905 おまえはあまい 人間の各関節にエンコーダ付けてデータ取りかもしれない。
>>907 >>880 操作というのはそういうのも含むのか?
まあエンコーダを指でつまんで回すとは限らんとか弾み車付きだったらどうするとか
言われると困るが
909 :
774ワット発電中さん :04/08/06 15:05 ID:qppMlSwk
24コ同時でも問題ないと考えてる。8MHz PICで。
>>908 弾み車付きのエンコーダーの用途ってどんな場合ですか?
思考が固まってしまっているので、全く想像できません。
ヒントで結構ですから教えてください。
可変抵抗よりは俊敏に制御できる回転系のセンサーとして考えていました。
せいぜいつまみの慣性程度です。
定規にゴムバンドを掛けて、10個くらい同時に動かす程度の操作を考えていました。
基本的にはジョグダイヤル式にぐるぐる回すスピードの寒暖を読み取る事です。
>>907 その辺が曖昧なんだよな。
俺も最初は関節エンコーダーかと思ったが
会場みたいな所で全員が一個づつ握ってるみたいなのもある。
>>909 いや、半ば冗談だったんですけど、
レコードスクラッチのシミュレータみたいなのとか。
ターンテーブルが24個ってのはありえないですが。
>880 出てこい インクリ、アブソ? 回転数は?
1回転24パルスのを24個同時にぐいっと1回転/0.5秒くらいで回したと考えてみた。
A、Bそれぞれ80回くるんだから、その4倍でサンプリングしても約3msec
(8MPICで6000命令)で48bitのチャタリング込み取得と、前回との値の変化を
みて位相判定、各エンコーダに対応する変数のUp/downをやってもかなりおつりはきそうだ
http://elm-chan.org/docs/te/te04.html こっち方式で、エンコーダ出力のABをセットにして2bit×nのデータ形式で
もってくれば割合簡単に処理できそうだ。
CODE=取得AB値 XOR ((AB値&0xAAAAAA)
>>1 )して、
CODE=CODE-前回CODE すれば、そのまんま2bitで前回からの変化が出てくれる。
>>913 >CODE=CODE-前回CODE
これだと0000-0011で1101になっちゃって隣のエンコーダに影響与えるな。
力技でエンコーダ1つ分ごとに引き算して他のエンコーダの分はマスクして無視するのがいいかな
エンコーダ1の結果 = (CODE>>6-前回CODE
>>6 )
エンコーダ2の結果 = (CODE>>4-前回CODE
>>4 )&3
エンコーダ3の結果 = (CODE>>2-前回CODE
>>2 )&3
エンコーダ4の結果 = (CODE-前回CODE)&3
24個ならこれを3回。
テーブル変換の方が楽じゃない? 取得AB値のままで、 前回取得AB値上位2bitをshiftで移す 今回取得AB値上位2bitをshiftで移す この4bitをテーブル変換 これを4回繰り返し、 それをまた3つ繰り返し
(((CODE & 0xCCCC)|0x1111)-(前回CODE & 0xCCCC))&0xCCCC)| (((CODE & 0x3333)|0x4444)-(前回CODE & 0x3333))&0x3333) ・・駄目か・・
データの取り込みは一回でも処理は一系統ずつしかできんよ。(w
>>917 そーいうこと。
>>913-914 式にしてもその後2bitずつに切り分ける処理とか、対応するカウンタのカウントアップダウン処理するんだから、一括に計算できてもなんとなくカコイイ!だけだな。
>>915 がいいんじゃない?
しかしPICだとシフト使ったbit移動って面倒そうだな。
919 :
774ワット発電中さん :04/08/06 21:17 ID:rRKGJQYW
専用IC使えよ
仕事で4MHzの18ピンPICで毎秒2000カウント 4chのエンコーダ入力は やったことがあります。 結果を9600bpsのシリアルで上位のシステムに送るだけのものでした。 24chとなるとピン数の方が問題かも。 48ピンの入力が確保できるマイコンとなるとかなり大きいような気が しますね。 74244あたりを並べれば20MHzで動作する18ピンPICでもできそうですが、 配線も大変だし値段も高くなりそう。
なんでわざわざマイコンを使う事を検討するかその意義を解ってない奴が居るとは。
>>922 とたんにレスが付かなくなってる。
さすがだな。PSoCスレでも暴れているようだけど
空気をよん(ry
926 :
774ワット発電中さん :04/08/06 23:55 ID:0GdVU0aX
923と925のほうがカコ悪いし、バカ丸出し。
あんたらいい加減にしたら?
928 :
774ワット発電中さん :04/08/07 02:30 ID:L4iIz/7r
927! おお、最大級のバカが出現したぞ。 このスレの最後の土壇場で場外ホームラン級のバカが来た!
わけわかんね
早く1000取りしたいだけなんだろうよ。
931 :
774ワット発電中さん :04/08/07 03:37 ID:UWb6wJut
今のところこのスレで最高のバカは927だな。
>>919 スレ違いになるけれど、多ch入力のあるロータリーエンコーダ専用ICって
どんなのがあります?
ずいぶん昔に専用IC(名前は失念)を製品で使っていたのですが、そいつが
ディスコンになって設計変更をする羽目になりました。
少量生産しかしないメーカーにとってみれば、出来合いの専用ICよりも
マイコンやFPGAで処理できる方が融通が効いて良いことがありますね。
FPGAはいい手ではあります。 コスト的な問題ではマイコンに譲りますが。 ディスコン問題に関しては最近のFPGAは信用出来ません。 FPGAなのでリターゲットは比較的簡単なのであまり問題には されませんが、現実は代替わりが激しく結構苦労します。 趣味では関係ないか。
>>913 こういうのもいいかな
CODE=(前回取得AB値 XOR AAh) XOR 今回取得AB値
これで、2bitごとに11=+1、00=-1、10=No change、01=errorとなる。
端から2bitずつ取り出してswitch-case的に処理していけばいい
8bitごとに処理する場合、CODE==AAhならこの4つのエンコーダは動いていないから
処理スキップなんてこともできる。
FPGAはどんどん低電圧化しているのが痛いな。 ロータリーエンコーダーとかアンプ入りフォトセンサーとかは まだ5V出力が多いのに。 たとえFPGAに5Vトレラント入力があったとしても 電源が2系統以上になるのはウザイ。 まぁそういったセンサー類はいったんフォトカプラで 受けて、CRフィルタとシュミットトリガを通してから マイコンなりFPGAに入れるケースが多いんだけど。 いずれにしても、マイコンやFPGAは恐ろしく進歩しているのに メカトロ系とのインターフェースはあまり進歩していない気がする。 フォトカプラ内蔵でメカトロ系センサを直結できる入力端子とか、 1A程度のモーターなら直接ドライブできる出力端子を持った マイコンやFPGAって出ないもんかね?
3.3Vなんて、三端子一発でサックリと作ってしまいましょう。
あと、なんだっけ 74HCT245 だっけか? 5Vトレラント。
最近のFPGAは3.3Vだけで済まないことが多いですね。
941 :
774ワット発電中さん :04/08/07 23:50 ID:BsNjPKBl
東芝は資料が手に入っても、零細事業者やアマチュアには、ジャンクやにスポットで 入るパーツとしてしか現物を入手できない。 石丸の影のジメジメしたビルも腹立たしい。
単純に、5-3.3のトレラントで双方、ディレーが問題にならないならFETスイッチは 勿体ない。
943 :
774ワット発電中さん :04/08/09 03:14 ID:3xT83f6g
ぶっちゃけ 5V TTLでやってりゃ 殆ど考えナシで3.3V CMOS OKじゃん。
だけど5V CMOSのデバイスってまだまだ多いですよねえ。
石の仕様をよく確認すること。 5V系CMOSでも、HCシリーズはTTL入力を許容していな。 この点を改善したのがHCT。 3.3V系CMOSデバイスの出力最低振幅は、3[V]程度を保証しているものが 殆どなので、TTLレベルの入力を保証している石になら直結可能。 3V>5V接続はこの程度の事を注意するだけだから余り面倒ではないけど 逆は入力回路に付加されてる寄生ダイオード問題があるから簡単にはいかない。 漏れは趣味でも殆どの回路を3.3Vで組むように移行してしまったので 気にしなくなって久しいが。
>>945 >>この点を改善したのがHCT。
改善というか、用途やラインナップを考慮した使い分けだろう。
T無しのHCが必要な用途もあることだし。
ちなみにVdd側の入力保護ダイオードを無くし、電源OFF時の入力と電源電圧以上の信号電圧を
許容したものがLCX、LVC、VHC等。ほとんど3V系で組んでると自負する人間なら、当然知ってると思うけど。
4049Bと4050Bもね。 昔、12V系→5V系の変換やバッテリバックアップ回路に重宝したなぁ。
>>947 LCX、VHCを趣味の電子工作で使う人は未だ少ないと思って外したのだが
最近は秋葉、日本橋でも普通に買えるのかな?
>>949 秋葉原なら鈴商あたりで買えなかったかな。
>949 サトーあたりでも品種は少ないけど、置いてある
>>949 >>LCX、VHCを趣味の電子工作で使う人は未だ少ない
DIP無いもんね。
>>953 なぜなんだろね? DIPがないのは。
まぁサンハヤトの変換基板つければいいんだが、高いしな
今時DIPなんて使われないからだろ。 他の部品が表面実装なのに、DIPを使わなくてはならない理由が無い デカイし、製造で余計なコストもかかるし、裏面使えないし。
>>954 一応、フィリップスかフェアチャイルドだったかがDIPを作っていたはず。
共立で、DIPは無いの?とわざと聞いたら出てきて驚いたことがある。
>>954 両面テープとジュンフロン線でユニバーサル基板に実装
DIP は全体の3%程度しか生産されてなくて絶滅寸前だと聞いたが.
>>960 まぁDIPは試作用だな。
逆にDIPが無いと試作しにくいから量産検討できないから他のCPU探す。
安価なDIP変換基板があればなあ。安いとこしらない? プリント基板にすればいいわけだが・・・面毒せってこともある
幾らくらいでお望みか? 場合によっては作ってみたいのだが。
じゃあ、100円以上でもOKだね。(w
>>962 オリメックスで起こせ。単価100円以下にならないか?
>>961 DIPは単価高いし、占有面積でかいし、配線長くて電気的に不利だし、ハンダつけ面倒だし、穴明け代かかるし、
良い事といえば、テスターやプローブが比較的当たりやすいってことぐらいだと思うのだが。
俺は断然SSOP・TQFP派だな。小さいし、慣れればSOPよりもハンダ付けしやすいし。
手配線の試作じゃなければDIPの意味は余りないね。 でも工作には重宝するんだよ、DIPは。
DIPはソケット使えば、壊れたときに取り替えられる。 そりゃ「SOPだって取り替えられるだろ」って言われれば「そうなんですけど」としか言いようが無いが(w
つまりみんな、SOPのハンダ付けに慣れれば、ある程度解決ってわけだ。 あとはユニバーサル基板をどうするか。
ChaNさんのUEWでの結線と、チップ部品の実装の美しさには惚れ惚れする。
確かに綺麗だけど、流石に0.5mmピッチのICに直半田しようとは思わないな。 この辺りは無理せず変換基板を使った方がよさげ。
974 :
774ワット発電中さん :04/08/17 13:48 ID:yl1AJjDi
老眼では無理だな
>>974 三十を超えると目が疲れるのも早いよ。
ところで皆は、Z80のアセンブラって何を使ってますか?
976 :
774ワット発電中さん :04/08/17 18:56 ID:u+5nHeba
紙と鉛筆
>>975 前半に禿同。細かい作業はお日さまの出てるうちでないと...orz
ZASM
>>975 XM80
IA80も一時期使ってみたが、いまひとつ馴染めなかったなあ。
そんなころ岩崎があぼーんしたんだっけ。
>975 秋月のキット付録から初めて、今はPROASM-II Ver.3
983 :
774ワット発電中さん :04/08/18 01:33 ID:/GNMdzRL
PROASM は、当時抜群のアセンブル速度だったな〜 M6809のアセンブルもネイティブでない(マクロで対応)のに、 paragonなど足元にも及ばないのにびっくりしたな〜
色々サンクス>レスくれた方々 岩技は、潰れる瞬間に居合わせた元社員が友人だから当時の話は 色々と聞いてます。 PROASMは開発元が岩技ではなかったみたい。>確かKMC
芸夢狂人の掲載本、いま手元にあるし。
京大か・・・死ぬほど賢い人間て居るんだなーって心底感動した記憶があるわ。 頭のいい人とつきあうと自分が如何に馬鹿か解って謙虚になるよね。(w
988 :
774ワット発電中さん :04/08/20 19:01 ID:14T0Cutl
バカはスミッコでおとなしくしてろってこった
H8はメーカ製フリーのシミュレータを提供して欲しいね。 PICはこの部分の敷居が低いように思う。 HEW3なんてフリーにすべきだと思うんだけどな。 いろいろフリーウェアを組み合わせれば何とかなるけど、 使いやすいソフト環境が整っている方が便利だ罠。 バージョンアップの度にgdbのmonitor.c/remote-hms.cいじりにいいかげん疲れた。 dddも使いやすいわけじゃないし。
990 :
774ワット発電中さん :04/08/21 00:26 ID:UlZIRtHs
弊社H8シリーズは個人の趣味をターゲットに開発した商品ではございませんので 何卒ご理解のほどお願い申し上げます(ゲラゲラ
日立、三菱って言う尊大で有名な二社が集まっただけのことはある。
>>989 出てきても、はげしく制限付きの物になるような。
扱えるコードサイズが1K未満とか、内蔵I/Oのシミュレーション不可とか。
なにもないよりはいいか…
そういえば次スレあったっけ?
>シミュレータ i8051用のでも作ってみようかと思って外部回路の実装に悩んでやめたことがある。 以前に使ったことがある78K0S用のはイマイチだったなぁ…外部回路のパーツにも不満あったけど無茶苦茶遅くて… 2GHzオーバーのCPUで動かしても数MHzのマイコンすらリアルタイムでシミュレートできないって何事だよ。 なにか実装とかUIで良さそうな見本でもある?
MAMEのソースでも眺めて見
>>989 そのまえにH8/3694の2.54mm28ピンDIPを300円くらいで売ってくれ。
300円て・・・w
>>997 だって、ATMega8が300円くらいだろ?
1000 いただきました。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。