アカウント名:
パスワード:
そら PIC みたいな貧弱なマイコンだったら面倒なのは誰だってわかる。だいたい MSP430 の話してるのに PIC/AVR/H8 しか出てこないのはなんなんだ。
それにこんだけ誤字脱字が多くて半角全角も入り乱れた文章では、たとえ有益なことが書いてあっても読む気が失せるな。だれか書き直してよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
買って何を作るか (スコア:3, 参考になる)
例えば、ミニカーに小型モータ組み込んでモータドライバ回路やセンサ回路を作ってプリプログラムしておいたこのモジュールを入れることで簡単なロボットが出来上がりそうだし、センサーとSIOのインタフェースでテレメータ的なモノが作れそう。
メモリ的に非常に厳しいチップのようなので、逆に古典的な組み込み固有のノウハウを得るにはいい素材かも知れません。
# I/O基板と接合している部分のコネクタの耐久性がどんなもんだろうかとも思うけど…(;´Д`)
Re:買って何を作るか (スコア:2, おもしろおかしい)
- USBのインターフェイス部だけ利用して、JTAGツールにしてしまう。
- インターフェイス部につながったまま、内蔵のADコンバータを利用できれば、テスターやデータロガー。
- 各自で持ち寄ったターゲットデバイスを繋いで、I2Cで通信してマイコン同士が戦う。ターゲットデバイス内蔵のLEDで勝ち負けや生死を表示。
どっかでバラ売りしてないかなー。
DSPのときもそうだけど、TIは開発キットを作るのがうまいなぁ。
マジレスごめん (スコア:2, 参考になる)
8PINのPICで作ったことあるから言うけど…
マジレスすると値とは
普通VDDに使ってる値からGNDまでの値をビット数で等分した値になる。
だから電圧を読もうとするならアナログ的な回路でVDD-GNDまでに
収まる電圧に変換するアナログ回路を作る必要がある
簡単に言えば、VDDが5Vで12ビットだと3FFが最大、GNDが000になる。
振動がある。
作った人間でしか分からないと思うが、12ビットのA/Dを耐えずモニターするような
プログラムを作り、それを常にモニターすると、
電圧が一定にも関わらず値が1~2程度常に変化する、それが振動。
12ビットだと8ビットlくらいの精度しかでないが、制度を上げる方法がなけではない。
何回かの値を取りこんで合計を取りこんだ数で割る。つまり平均を出す方法を行うと
12ビットのA/Dを利用した場合でも16ビット以上の精度を出すことができる。
12ビットのA/Dで値の変化が±1なら2回サンプリングして2で割れば12ビットの精度が使える。
演算ルーチン
温度センサーをつけた場合抵抗値から値を導く事ができる。
温度センサーは3端子でVDD-GND、残りをA/Dの端子に繋げばいい
そこで問題は演算だ。
次に行うのはその値を10進に変換するルーチン
演算処理後に使う場合もあるがそのまま値を変換する場合もあるがとりあえず必要になると思う
3FF→1023
として16進データとして格納する。
文字化処理
データは単なる16進数でしかないそこで文字化する
3→33
F→46
PCで読みこんだとき文字になるようにするわけだ
PCとは限らないLCDであっても文字データとして
扱うのでこの処理も必要
IF THENの処理で足し算と引き算マスクなど使って文字化する
その次がPCと通信する部分を作って出来上がる。
パラレルなら同期に会わせて送る処理が必要だし
シリアルならスタートビットのウェイと処理後
送りたい文字を1文字取り出してビットシフトして
下位のビットの状態でLかHの状態のループを8回行い
ストップビットで終わる処理をサーブルチン化しておき
文字数だけ送る。
マイコンをなめてはいけません。4Kとか少ないように見えるが
RISCマイコンだと4000命令くらい書けるので結構巨大なものも組めると思う。
浮動小数点れべるになると難しくなってくると思うが…(マイコンによる)
Cが向いてるマイコンと向いてないマイコンンがある
レジスター数が多くアドレッシングモードが多ければ問題ないが
レジスター数が酸くない場合はアセンブラでかかないとだめだと思う。
タイミング処理がつまり、ハード的にシリアルがサポートしてない場合などは
アセンブラで書かないと通信のタイミングが取れません。
命令の実行速度とループで厳密な通信速度の5%いないのタイミング入れないと
受け付けてくれませんからね。
#本気で作る気があるならこの程度まで掘り下げないと何もできないと思う
#PICユーザー数が多くポピュラーだけど
#アホなプロセッサーなのでAVRを薦めます
#PICはレジスターが1個なのでCは(遅くて)使えません。
#レジスターのビット反転ができないのでメモリーに一度書きこんでからメモリーをビット反転する。
#入力端子を不の論理にした場合実行ステップ数が変わるのでめんどい。
#解説してる本はPICが多いがAVRの方が絶対いいぞ
#LANなどを使いたいなら(昔のPC98(V30頃)のスペックなら)H8を使いましょ
Re:マジレスごめん (スコア:3, すばらしい洞察)
通常ならこの手のチップだとプリプログラム能力を持ったサーボ制御チップとして使われるかセンサ素子のポストプロセッサとして使われるかのどちらかが普通だと思いますので、
そこまでの演算をチップに押し込める必要は滅多に出ないのではないかな…
まぁ、サンプリングの誤差丸め処理とADC入力のバッファ回路は必須ですが、それ以外のプログラム領域は通信やフィードバック制御に専念させるのが定石かと。
このキットに特化して言うならば取り込んだデータの誤差を丸めたらその生データをUSB経由でPCに送るのにどの位の時間的余裕があるか。とかバッファリングにどの位のRAMを取れるかで決まるような(^_^;
まぁ、このキットはアレゲな用途に色々と使えそうですけどね。
例えば、H8/SHなボードを使うのだと大仰過ぎて手を拱いていたような簡易ロジアナみたいな用途でもバッファ回路を作ってMCUのコンパレータにつなげば何とか出来そうな感触もありますので。
# でも長時間のLoggingとなるとバッファRAMが足りなくなりそうだなぁ(;´Д`)やはり、SH使わないとあれなのかなぁ?(;´Д`)
Re:マジレスごめん (スコア:1, すばらしい洞察)
LCD繋いで自前で表示したかったんやったらすまん。
入力回路については、マジメに使う場合は同意。
Re:マジレスごめん (スコア:1, おもしろおかしい)
2 知識が無いけどとりあえず書いてみた
3 酔っ払っている
3だと信じたい。
Re:マジレスごめん (スコア:1)
そら PIC みたいな貧弱なマイコンだったら面倒なのは誰だってわかる。だいたい MSP430 の話してるのに PIC/AVR/H8 しか出てこないのはなんなんだ。
それにこんだけ誤字脱字が多くて半角全角も入り乱れた文章では、たとえ有益なことが書いてあっても読む気が失せるな。だれか書き直してよ。
Re:マジレスごめん (スコア:1, すばらしい洞察)
#無論、ちゃんと議論をしたいのなら、まず相手に理解してもらう注意を払うっていうのが、大事だが。
Re:マジレスごめん (スコア:1, 参考になる)
オーバーサンプリングは(目標ビット長-ADビット長)x4倍や16倍とかかな。
ADが0.5%誤差でも12bitあればかなり1-2ビットどころか4bit程度は振れる。
校正が大変だし。
あとシリアル通信は3%以内ですね。
実力5%だと速いとアウトなこともある。
でもロガーなんか実習の目標としては面白いとおもう。
Re:マジレスごめん (スコア:1)
>作った人間でしか分からないと思うが、12ビットのA/Dを耐えずモニターするような
>プログラムを作り、それを常にモニターすると、
>電圧が一定にも関わらず値が1~2程度常に変化する、それが振動。
振動って何?
量子化誤差とノイズをごっちゃにするのはどうかな。
あと、A/D変換の方式、計測対象の信号なんかでもぜんぜん状況は変わるし。
そもそも、12bit精度のアナログ回路を作ろうと思ったらかなり気合を入れないと無理だよ。
ちょっと (スコア:0, 余計なもの)
あんたみたいな人が高給トリだったらうれしい。
Re:ちょっと (スコア:0)
この程度にダマされないようにリテラシーを磨いて欲しい。
明日の日本のためにも。
Re:マジレスごめん (スコア:0)
ごめん、何言ってるかわからないとこ多すぎ。
もうすこし正しく解りやすく。