1 :
仕様書無しさん :
2008/02/24(日) 09:09:32
結局前スレでチャタリング論争は決着せずかよ。 最後なんか戦線広がっちゃってるし
~~||_|_||~~|~~
>>3 決着なんか無理だろ。
実践してない奴の主張なんてどうでもいいので、蒸し返すなよ。
じゃ今度はロータリーエンコーダーの処理についてだ。
A: ~~||_|_||~~|~~ B: ~~~~||_|_||~~~
>>6 二相のカウンタを持ってない場合だな。
1, タイマーで見る
2, A相/B相でエッジ割り込みをかけて割り込み内で見る
どちらにしても、A/B相は同じポートになければいけない
なお、割り込み内で見る場合も、タイマーで見るのと同じ処理でなければいけない。 A ~~~|_____|~~~~~~~|_______|~~~~~~ B ~~~~~~|_____|~~~~~~~~|______ Aで割り込みがかかっているのだからBだけを見ればいいと処理すると A ~~|~~~~~ B ~~~~~~~ のようにノイズがヒゲで入った場合に誤判断する 常に,A,Bは同時に読んでから処理しなければいけない
ロータリエンコーダの処理は前回の値と、今回の値でカウンタ値を+1/-1するだけ 論理処理でも出来るが、 前回の2ビットと今回の2ビットの4ビットにしてテーブルを引きが大抵は一番軽い。
11 :
仕様書無しさん :2008/02/24(日) 12:28:53
207 名前:仕様書無しさん[sage] 投稿日:2008/01/16(水) 19:59:49 組込みの人って痛いなあ・・ スキル的にもCやアセンブラ、良くてC++程度なんですよね? web系だと3年目の人でも、スキルシートに Java, HTML,Javascript, JSP, CSS, SQL, UML、struts とか色々書けるのに。 組込みの人損してますよ?
揚げ足取りみたいだが、「ロータリーエンコーダの処理」っていう呼称はどうなの。
まあ処理内容については基本的に
>>10 の言うとおり。
それ以上でも以下でもないねこんなものは。
二値化する前の信号AD変換して分解能を上げるうまい方法とかあれば
それについては聞きたいけど。
あと個人的には、「チャタ取り有効論」をぶってた人達がこのAB層信号の処理に関して
何というか興味はあるね。
やっぱりN回スキャンして一致取るの?w
意味ないと思うけど。
13 :
仕様書無しさん :2008/02/24(日) 14:40:44
>>12 > 二値化する前の信号AD変換して分解能を上げるうまい方法とかあれば
> それについては聞きたいけど。
ノイズやチャタは別にして、一般にロータリエンコーダから出力される
信号は、既に二値化されているんだが?エンコーダがボリュームか何か
を使っているとでも?
ちなみに、当然チャタ取りしますよ。メカニカル接点だけではなく、
フォトカプラとスリット板による光学式でも、入力はばたつきますから。
素人の工作レベルなら「仕様です」と済ませるのもありかもしれんけど、
単なるエッジ割込によるトリガだけだと、つまみの触り方なんかで割込が
多発しちゃったりするんだよね。
>>9 タイマによる定期スキャンだと、よほど高頻度でチェックしない限り
厳しいと思うが?
どこまで追従させるかにもよるけど、昔のチューナーなんかでよく使わ
れていたフライホイールみたいなアルミ削り出しのつまみだと、勢い
よく廻すと、簡単に数回転/秒くらいの速さで廻せるので、100パルス
/回転としても、最高で1kHzくらいのパルスが入ってくると想定すべき。
タイマだと最低でも0.5mS以下の周期が必要。
後のビット演算処理を考えたら同一ポートに越したことはないけど、
たとえ別ポート経由で複数ステップ(命令)で読み出したとしても、
その時間差は数マイクロ秒なので、よほど動作クロックが遅いマイ
コンでもない限り、実質的には問題にならないかと。
>>13 >既に二値化されているんだが
俺も偉そうに言えるほど知ってるわけじゃないが、そんなことはないよ。
少なくとも90°ずれた正弦波を出力するセンサもある。
でなきゃ二倍角定理つかって分解能上げるなんてことできないでしょ。
15 :
仕様書無しさん :2008/02/24(日) 14:55:54
>>14 メーカーがどんな商品名で呼んでいるか知らんが、それはあくまで
「角度センサ」で、一般には「エンコーダ」とは呼ばないと思うが?
出力がEncodeされてないし。(w
> でなきゃ二倍角定理つかって分解能上げるなんてことできないでしょ。
理論上の分解能をいくら増やそうが、それ以前に、センサ自体の
出力電圧と位相角の再現性・直線性がどの程度あるかが、一番の
問題だろうな。
>出力がEncodeされてないし。 あのねえw エンコードって量子化することだと思ってるのかな。 例えばRGB⇔NTSCのような変換もエンコード/デコードって言うでしょ。
ロータリーデコーダってステップモータのこと?
19 :
仕様書無しさん :2008/02/24(日) 15:34:41
>>17 デジタル化するA/Dの分解能やアンプの性能はとりあえず考えないとして、
設計する際に、フツーはセンサの性能は調べるんじゃないの?
例えば、同一の固体で、何回も回転させたり、逆回転させて、同じ角度
位置で停止させた時の出力のばらつきや、同一製品の個体差によるばら
つき等。どっちもデータシートに記載されてないけど。(w
データシートを見るだけでも、2Vの最大振幅に対して、振幅のばらつきが
0.2Vpp、オフセットの誤差が最大±5mV(10mV幅)あるので、直線性などを
無視しても、無調整での角度検出精度はせいぜい10度が限界のような気が
するが?
一流プログラマは、ハードのことはサッパリ判りませんってか?
20 :
仕様書無しさん :2008/02/24(日) 15:34:55
>>18 馬鹿は引っ込んでろ
お前ら、信号をハードウェアでノイズ取ったりせずにソフトで何とかしてるのか?
んな馬鹿なことするわけないだろ。
ちょっとずれたってどうってことないおもちゃならともかく、まともな機械が
まともなエンコーダーよりちっと安いだけのお前らのヘボエンコーダを使うとでも思ってるのか?
普通シュミットトリガやL-Cフィルタでノイズ対策するのは常識
それに規模にもよるがいちいちマイコンなんか使わない。
マイコンはお前らと違って忙しいからな。
分かったら工業高校にでも行って勉強しなおして来い
ちょっとずれたってどうってことないおもちゃ も組み込みの内だよねえ。
23 :
仕様書無しさん :2008/02/24(日) 15:39:46
>>20 マイコン使わないで、どうやってソフトと連携すんの?(w
もしかしてPLC?
あ、「パネルに取り付けたロータリエンコーダは接続されていません」
なんてのはナシね。(w
それとエンコータの値段は、民生用と制御用では「ちょっと安い」どころ
じゃなく違うと思うんだけど?
絶対読みまちがえちゃいけない人もいれば、 絶対抵抗一個も増やしちゃいけない人もいるわけだ。
>>23 頭悪い子のためには書いてないんだ。意味が分からなかったらごめんね。
チャタリングがどーのみたいな低レベルな処理はマイコンにはやらせないって言いたかったんだ。
あんたの制御用はまともな制御用の例えば1/10で販売してるの?
もしそうだったらごめんね。そんな怪しげな安物眼中になくて気づかなかったから。
あ、そもそもあんたの仕事はおもちゃ用だったのかな。
前提が違ってたなら話がかみ合わないのは仕方ないね。
おもちゃには詳しくないからこれで降りるわ。
>>19 ごめん何が言いたいのか全然わからないよ。
俺は
>>15 が
『一般にロータリエンコーダから出力される 信号は、既に二値化されているんだが?』
と言うからその反例を上げたのみ。
ついでに、
>>19 は、俺が「二倍角の定理を使って分解能を上げる」って言ってる意味を
理解してないんじゃないの?
まあこれはどうでもいいけど。
28 :
仕様書無しさん :2008/02/24(日) 16:13:58
>>25 扱うエンコーダの性能や価格と、信号処理の方法やアルゴリズム、
ましてやプログラマの能力に違いが出るもんなの?(w
なるほどね。 おもちゃに詳しく無いのが、 組み込みのすべてを語っていたわけか。 そら話もかみ合わんね。
2相のエンコーダのノイズ取りは結構難しい問題だ。 1、ハード上出てくるノイズ A _____________|_|~~~~~~~~~~~~|_|~|__________________ B ____________________|~|_|~~~~~~~~~~~~|_|~|__________________ のように、信号の反転時に来るノイズ。 これは基本的には取らなくていい。 A/Bが同じポートで同じタイミングで取っているなら大丈夫 2、外来ノイズ この手のノイズはヒゲで来る事になる。 2-1 片方の相にだけヒゲが出るなら問題ない。 2-2 両方の相に完全に同期してるなら問題ない(もちろんA/Bがパラレルで取得するなら) CーRで片方が鈍るだけでアンバランスになるから、基本的にどちらかが遅れて来ると思った方がいい。 この場合ビット独立にノイズ取りを行ってはいけない。
最終的に要求される性能が同じなら、精度が悪く安物の部品を使い、 コスト要求も厳しいおもちゃの方が、よっぽど難しいと思うけどなぁ。
32 :
仕様書無しさん :2008/02/24(日) 16:23:25
オモチャが同じ性能を要求する訳が無い。
>>31 それは常識。
値段が高いものは利益率も高いから、後からカバー出来る。
研究室レベルで問題無く動くなんて奴は現場に持ち込むとトラブル多発が当然。
電源は不安定だし、ノイズは飛んでくるのに対策をしてない。
でも開発者はお気楽なもの。 現場がなんとかする問題とドコ吹く風。
でもさすがに
>>33 のような態度を取る奴は殴られるので少数派だけどね。
値段が安いものはソレが出来ない。ミス一つで小さな会社なら潰れるかどうかまでゆく。
>>30 なんかやたらAB層を同時に処理することにこだわっているようだけど、
揚げ足取りに思うかもしれないがそれ正確じゃないでしょ。
正確にはA層のスキャンとB層のスキャンの時間差が、AB層信号の位相が90°以上
進む最短時間より短ければ必要十分だと思うけど。
一応突っ込まれる前に答えておくけど、これ微小範囲で往復が起こる場合を
考慮したってそうだよ。
ん、なんかずっと相が層になってるな恥ずかしw
高学歴って大阪府知事の橋本弁護士みたく、能書きだけは威勢がいいけど、 いざ本番になると、本人自身も、本人が作った製品も、煽り耐性が低くて、 逆ギレして使い物にならなかったりするよな。
>>35 30の
>A/Bが同じポートで同じタイミングで取っているなら大丈夫
は貼り付け位置を間違えた。 その下に書くつもりの文章。
N回不一致捨て処理を入れる場合は、多少ズレても大丈夫。
ただし、90度進む間に3N くらいサンプルする つまり
エンコーダ最大周波数のN*12倍くらいは必要。
そこまでサンプリング周波数を取れない場合はソフト側でノイズ取りを諦めるしかない。
自分の場合、ノイズ耐性は、
・片相の矩形波入力で動かない事
・90度位相差理想波形でどの周波数まで動作するか
・同相の矩形波を入れてどの周波数でどれくらい誤動作するか
だからまあ、結局は自分の測定方法に縛られてしまっているって事だね。 つまり、両方に放電ノイズが入って来た場合 A______|_______________________ B______|_______________________ ヒゲのままなら、片方が読むタイミングがずれていれば読む事はないから大丈夫。 でも試験を A______|~~~~~~~|__________________ B______|~~~~~~~|__________________ こういう信号でやってるから 同じタイミングで見ていないと A______|~~~~~~~|__________________ B_______|~~~~~~~|__________________ となって、ソフトでノイズ取りをしていないと片方に動く確率が高くなってしまう
ん!ストレス解消するために毒を吐いてる奴がいるねぇ
常にイライラして、他者に噛みつきたくなる人には 自分の食生活を見直してみることをお勧めする。
んーNもRもTIもPもOもPIOは入出力切り替えられるなあ
4ビットは入出力切替え出来ないのが多いな。 オープンコレクタで、いつでも読んでいいけどLしか出せない
I/O方向の切り替えとは別に、出力した値(出力レジスタにラッチされた値) を読み出すのか、I/Oピンの状態を読み出すのかという問題もある。 最近のデバイスは別のレジスタ経由で両方可能だったりするが、PICの 一部や昔のMC6821のポートAなんかは、出力した値(出力レジスタに ラッチされた値)を読み出せないので、使い方によっては注意が必要。
確かに。 入力は入力でアドレスを分けてくれと言いたい。 出力ラッチはラッチで読めて欲しいというか、ビット操作は出力ラッチの読み返しにして欲しいな。 結局 方向レジスタ、入力レジスタ、出力レジスタ、プルアップレジスタの4つ必要だと
ビット操作のため、入力レジスタ以外は、そのポートに書いた値が そのまま読み出せることも必要。 んで、出力回路は通常はプッシュプルだけど、方向レジスタが「出力」で プルアップが「有効」の場合に限り、出力回路は自動的にオープンドレ インになるのな。 欲を言えば、方向レジスタで「入力」に指定したポートに対して、入力 信号で割り込みを掛ける機能も欲しい。当然、ビット単位で「エッジ/ レベル」の選択と、「正/負論理(↑エッジ/↓エッジ)」の選択も。 さらに、グローバルな割込マスクや、入力サンプリングするデジタル フィルタの周波数を内部的に動作クロック(Φ)をプリスケーラで選択 するか、内蔵タイマ出力のパルスから選択できるコントロールレジスタ もあると尚良。 リセット状態のプルアップの有効/無効はCPUのコンフィグレジスタ(不揮発) で選択できるか、デフォルト状態がプルアップ有効の仕様でおながいしたい。
もういっそ、1つのポートに1word 割り付けてくれ パラレルとして入出力する時はマトリクスで好きな順に配置出来るようにしてくれ。
変なことを言う人がいるな。 俺は出力ラッチの状態を知る必要性に駆られたことがこれまでないしこれからもないと思うんだが、 具体的にどういう場面で必要になるはずだって言うの? それに方向レジスタって何? だからそんなのいらないでしょ。 というか「方向」って概念にそもそも意味がない。
俺俺主義?
いらないも何も、ひとつのピンに複数の機能を持たせてあれにもこれにも使えまっせーって メジャーなMCUメーカーがみんなやってることなんだが
53 :
仕様書無しさん :2008/02/26(火) 20:26:09
>>51-52 世界の中心は俺って言うタイプみたいだから、スルーの方向でお願いします。
>>53 別でないとヤダ。
>>54 反論できませんって意味だね。
でなければ具体的に反論したら?
出力ラッチを読む必要がある場面ってどういう時?
よくあるread-modify-write命令のみreadがラッチに対して行われる、
という仕様じゃなぜ不満なの?
「方向」ってどういう意味?
その機能を実装している具体的な石ってある?
っていうか「俺俺主義」なことを言っているのは余程
>>48 の方で、
俺は常識的なことしか言ってないはずだけどね。
同じ端子(群)に入出力の組み合わせで 別の意味持たせてるそんなお茶目な石が存在した気がするんだけど。
>>54 ていうかイマイチプルアップと出力をわけたい理由が思いつかないンだけど
プルアップは入力モードのときのレベルじゃなかろうか
二次機能選択とプルアップが同じレジスタってのを使ったことあるぜ 出力時には二次機能、入力時にはプルアップになる
「方向」が74245のDIRと同じ意味ならPIOにその機能がついてないMCUの方が珍しいかと
それ本当かよw
>>55 はいはい、反論できません。これで満足?
>>56 PIC なんかのピン数が少ない奴なら複数の機能を1つのピンに割り当てているのは
珍しくない。例えば、今遊んでいる dsPIC30F2012 のデータシート見ると 11pin に
・SOSCI -- 32KHz クロック入力
・T2CLK -- タイマー2クロック入力
・U1ATX -- UART 送信データ
・CN1 -- 入力変化検出
・RC13 -- ポート
の機能を割り当ていて、ソフトウェアで切り替えられる。
もちろんポートは、入出力切り替え可能 (と言うか、入力は常時可能で、出力を Hi-Z
に制御できる。まあ、入出力方向の制御とはちょっと違うが空気読める奴なら理解で
きると思う。)
読み出しは出力ラッチとピンの状態の両方が読める。
割り込みのエッジの選択はできないけど、上がり下がりの両方で割り込むから、ソフト
で片方無視してくれ。
プルアップは制御できるけど、ディフォルトはなしになってる。
ちょっと物足りないけど、だいぶ
>>48 の求めるものに近いんじゃないかな。
いや、つながれる側のICの話だと思うぞ。
>>50 I2Cを汎用ポートで実現する場合、
I2Cはオープンコレクタだから出力ラッチはLにしたまま方向レジスタで制御する。
抵抗とコンデンサでADCを実現する場合、普段出力にして瞬間入力にしては
入力値反転値を出力しては、その比でアナログ値を読む。
前スレでは入力端子に抵抗を入れて普段出力にしておくという手法があったが
この場合は逆に入力値を出力しておく事で消費電流を減らすのとシュミット特性
が出せる。
というような制御をしてる場合に、
同じポートの別ビットを割り込みで出力としてH/L変更する場合、
この時に、出力ラッチが読めないと、割り込み内で別ビットを操作しようとした場合、
ビット操作命令が使えない。
出力ラッチをメモリ上においておいて、メモリ上で変更しては出力する事になるので
コード効率が悪くなるし処理時間的にも厳しい。
65 :
48 :2008/02/27(水) 09:12:21
>>62 I/Oピンの機能多重化は、なにもPICに限らんと思うけど。
LATxレジスタを持たない古いPICは、PORTxに書いた値が出力レジスタに
ラッチされるが、PORTxを読むとI/Oピンの状態を返し、出力レジスタの
値を読む術がない。TRISxの'0'を書いたビットが出力になるというセンス
も、ちょっとな。古いPICは内蔵プルアップもない。
それより、PIC18F版のmikroCだが、ANSI-C準拠じゃないし、出力される
コードの挙動が変なんだがどうなの?PICkit2で書き込んだ状態で動か
すと問題ないのに、PICkit2を外すと動きが変。
>>64 > 出力ラッチをメモリ上においておいて、メモリ上で変更しては出力する事になるので
> コード効率が悪くなるし処理時間的にも厳しい。
しかも、対象レジスタが割込処理中で操作される可能性がある場合、レジ
スタ設定値とRAM上のコピーの同期を取るため、I/Oのビット操作をして
いる間、割込禁止状態にしておかなければならない。
あと、read-modified-writeうんぬんと言ってる香具師は、
PIO_A.OUTREG&=~STROBE; とか、
PIO_A.OUTREG|=STROBE; と書けば、
必ず
AND.B PIO_A.OUTREG,NOT STROBE
OR.B PIO_A.OUTREG,STROBE
といった(アトミックな)アセンブラコードが出力されると保証されて
いるとでも思っているのだろうか?
>>65 組み込み用のコンパイラは、基本的にビット操作を見つけたら BSET/BCLR 系の
ビットON/OFF命令にしてくれるもの。
PICのCコンパイラもそうだし HEWもそう。 コンパイラのマニュアルでそう規定されている。
>>55 read-modify-writeのみreadがラッチにというのでもあればマシだよ。
でも独立ならもっと気楽だね。
[方向レジスタ]でgoogle検索すれば 普通に使われていると判ると思うのだが?
68 :
48 :2008/02/27(水) 11:24:40
> 組み込み用のコンパイラは、基本的にビット操作を見つけたら > BSET/BCLR 系のビットON/OFF命令にしてくれるもの。 BSET/BCLR系のビットON/OFF命令って、オペランドで操作するビット位置 を指定するので、ほとんどのCPUアーキテクチャ(Z80,H8等)で複数ビットの 同時操作はできないんですが? つまり、 #define STROBE 0x80 #define DEV_READ 0x40 PIO_A.OUTREG|=(STROBE|DEV_READ); を論理演算命令ではなく、無理やりビット操作命令で展開すれば、 BSET #7,PIO_A.OUTREG BSET #6,PIO_A.OUTREG となる。 それどころか、BSET/BCLR系のビットON/OFF命令自体を持っていない アーキテクチャも多数あるし、配列要素に対するビット演算では、 対応するアドレッシングモードがなく、一旦汎用レジスタ経由で ビット演算した後、書き戻すような複数ステップのコードしか生成 できない場合もある。 MOV A,[X] OR A,#$C0 MOV [X],A
69 :
48 :2008/02/27(水) 11:25:03
> PICのCコンパイラもそうだし HEWもそう。 コンパイラのマニュアルで > そう規定されている。 一口にPIC用のCコンパイラって言っても、代表的なものだけで、Microchip 純正, Hightech-C, CCS-C, MikroC等複数あるし、HEWに至ってはPICのMPLAB に相当する統合環境であって、Cコンパイラですらないんだが? 具体的な製品名とソースを挙げてくれるかね?
>>68 そうだよ。 常識だろ?
H8でもH8/500系は OR mem,#imm が出来るけど
H8/300系は OR reg,#imm OR reg,reg しかないから read-modify-writeは出来ない
言ってるのは1ビットの場合に決まってるじゃないか。
ハード毎に、ポートのアクセス方法について考慮するのも当然の事。
それは可搬性のある部分ではまっくないわけで、その部分の為に
コンパイラの仕様として1ビットアクセスやビットフィールドの場合に必ずBSET/BCLRを吐くと
なっているものがあって、それを利用するというだけの話。
組み込みプログラマは現場主義でいいでしょ?
そういう部分はアセンブラモジュールに切り出すなり、 インラインアセンブリのような処理系依存であることが明確な形に しておくなりするのが見通しの良い実装だと思うんだが。
そこまで考えて実装してる人ってあんまりいないんじゃないの? ソースレベルでCPU依存した部分を切り分けしてるみたいだけど...
73 :
48 :2008/02/27(水) 15:00:49
> コンパイラの仕様として1ビットアクセスやビットフィールドの場合に必ずBSET/BCLRを吐くと > なっているものがあって、それを利用するというだけの話。 だから、後学のため、真の一流が使うというその高性能コンパイラの 具体的な製品名と(必ずBSET/BCLRを吐くという)ソースを、この低学歴 プログラマに教えてくれまいかね?
HEWのコンパイラとか?
最適化かけないと吐かないんじゃないかな?
ちょうど今見ているCC78K0Rというコンパイラ(NECの78K0Rファミリー用)のマニュアルに >このビット変数に対してコンパイラは,次のビット操作命令を出力します。 >[~ここにビット演算/転送/分岐命令の列記~] って書いてある このコンパイラは特有のビット型の型定義をするとビット操作命令を使ってくれるらしい
一昔前のコンパイラ使ってるとか?
78 :
仕様書無しさん :2008/02/27(水) 18:55:21
重箱の隅をつついて論点をずらそうとする奴がいるから一応言っておくと ルネサスのコンパイラ・リンカはSHCだな
ルネサァーッス
普通は特定のコンパイラに依存しないコードを書くほうが一流。
口先だけで実践してない人の方が多いみたいだけど
割り込みあたりだとコンパイラ依存バリバリになっちまうんだ そもそも内蔵ペリフェラルをたたくのがメインだと依存しないも何も
割り込み禁止乱発する奴は素人。
>>80 コンパイラ・マイコン非依存コードを書いた上で、マイコン・コンパイラに特化したコードも書く。
>>82 ペリやSFR弄る部分はどうしようもないが、その上の出来るだけ近くで抽象化したいものだ。
>>73 たとえばルネサス純正 H8 の コンパイラパッケージVer.6.01 ユーザーズマニュアル P222
> (7) ビット操作命令に関する注意事項
> 本コンパイラは、BSET、BCLR、BNOT、BST、BIST の各ビット操作命令を生成します。
PICのコンパイラも似たような事を書いてあったと思う。
自分の趣味で買ったのは Wiz-Cだけど、これにも書いてあった。
仕事場に着いたので HEWの他のコンパイラのマニュアルから M16 >外部変数を #pragmaで宣言した場合でかつビット幅が > 1ビットの場合には、必ず直接1ビット操作命令を出力します SHは今使ってないけど、BSET系は無くて、代わりに OR.B #imm,@(R0,GBR) AND.B #imm,@(R0,GBR) が吐かれたように記憶してる
87 :
仕様書無しさん :2008/02/28(木) 08:45:09
>>86 C用にGBR経由の専用関数が用意されてたような?
89 :
48 :2008/02/28(木) 09:30:02
>>86 >外部変数を #pragmaで宣言した場合でかつビット幅が
> 1ビットの場合には、必ず直接1ビット操作命令を出力します
#pragmaで宣言すること自体、コンパイラ依存だけど、それを無視したと
しても、
>>66 が言うように『基本的にビット操作を見つけたら BSET/BCLR
系の ビットON/OFF命令にしてくれる』とは言えないね。
もっとも、
>>66 の言う「組込用コンパイラ」という定義も不明だが、
ROM化可能かどうかは、リンカが絶対番地に置けるバイナリを吐けるか
どうかの違いであって、本質的にコンパイラは無関係だろう。
HEWでコンパイラが一意に決まると思っている香具師もいるようだが、旧
日立系(H8やSH)に限定しても、HEWで動くCコンパイラは、ルネサス以外
にも、KPIT-gcc(H8,SH,M16/M32)がある。
もっとも、HEWもCコンパイラも、ルネサスがKPITに丸投げで(オフショア)
開発させているように思えるけどな。
>>89 コンパイラ依存の話をしてるんでしょ? そしてハード依存の話をしてるんでしょ?
M16のBSET命令はアクセス出来る領域が限定されてるの。
だからコンパイラにBSET命令が使えるかどうか、誰かが教えてやらないと判らないわけ。
GCCのように汎用のコンパイラを移植しましたってのならともかく
組み込み用にワザワザ作られるコンパイラは、ビットアクセス命令があるならそれを吐くように作るのが当然
>>90 > 組み込み用にワザワザ作られるコンパイラは、ビットアクセス命令があるならそれを吐くように作るのが当然
あんたの見解を披露するのは勝手ですが、それで?
議論をする時、処理系依存なら処理系依存と最初に一言断りがなければ、
標準に従って話が進むのはあたりまえ。
そうですね。 組み込みの標準の話をしてるわけですよね?
>>91 ペリフェラル用のbit操作の話をしてるんだから処理系依存にきまっとるがな
もしかして GCCが標準だと言い張りたい奴か?
組込みの標準? JISでもISOでもTRONでもJEITAでもMISRAいいけど、 具体的に明文化された標準仕様を示してくれる? できなきゃ、C言語の話はISO/IEC 9899:1999が標準てことで。
やれやれ。 チャタリング取り無料論の奴も厄介だが、こいつもアレだな。 そんなもんSHみたいなBSET持ってないCPUだってあるし BSETあっても、間接アドレッシング命令持ってないのが殆どなわけで *p|=1; とかまでBSETに展開出来る筈がないわけ。 でも組み込み用に作られたコンパイラで、 そのチップにBSETあるのにBSET吐かないとアホかと言われるわけ。
なんだそのチャタリング取り無料論って。 チャタリング取りは経費がかからないとか、回路は微々たるもんだとかそういう理論? まあ、無料サービスで付けるってのには異論は無いがな。 いまどきチップ抵抗やチップコンデンサだって実装費用に込み込みだしな。
綺麗なツッコミありがと。
OA系の三流の人が湧いてるんじゃないの?
お茶立ちょ茶立ちょ、ちゃっと立ちょ茶立ちょ、青竹茶筅でお茶ちゃと立ちや。
BSETやBCLRってリードされる?
まあ俺は逆に21世紀も最初の10年が経過しようというこの期に及んで、 いまだにチャタリング処理と呼ばれる「例の」無意味な処理を盲目的に踏襲している おめでたいお馬鹿さんがいることが不思議だと思うけどね。 まあこの業界の知能レベルなんて最初からそんなものかも知れないけど。
いまだに、
>>102 みたいなのが存在していること自体が、この業界の
知的レベルと待遇をドカタ並みに引き下げている最大の原因だと思う。
いや、この業界の人間ならこんなこといわんだろう どっかのITドカタ屋さんかちょっとキットをいじったくらいで判った気になってる勘違いさんでしょ
っていうか最初にこのお馬鹿な「チャタリング処理」手法を編み出して広げた 迷惑な奴は誰なんだろう、本当。 でも昔はこれ「(意味あるように思われてるけど)本当は意味ないよ」って 正しい事実をちゃんと書いてる人もいたんだよね一方では。
いちおう、今月発売のインターフェース読んだら?
>>105 確かにリアルにいたな。
火花バチバチ飛ばす試験して、実際に誤動作がどれだけ減るのか見せて納得してくれたけどな。
もう例の奴はスルーでいいんじゃない?
で、2度読みは利くのか利かないのか。誰か結論を出せよ。
110 :
仕様書無しさん :2008/02/28(木) 22:02:08
ね、チャタリングの話は終わって、これからの 組込トレンドについて話さない? どんな感じになるのかな・・・ RTOSのトレンドとか、 いろいろ。
>>111 俺は「チャタリング処理」と呼ばれる処理なんぞに意味はない、
という主張をしている方の人間だが、悪いけどお前さんトンチンカンなこと言ってるぞw
ゆとりって誰のことだよw
お前のことじゃんw
というか、もうこれいろんな所で書かれてるはずだが、
「ゆとり教育」ってのは80年代前半からやってるわけでw
君が40後半以上なら話は別だが、そうでないなら馬鹿な君自身も「ゆとり世代」なんだぞ。
これ常識だからいい機会に覚えておいてねw
113 :
仕様書無しさん :2008/02/28(木) 22:18:23
>>112 それは違う。狭義のゆとり教育は1996年以降。
それが政治的主張(に過ぎない)ものであるから「狭義の」と付くわけだ。 現に学習内容なんか対して減ってないし、学力がそれほど落ちていることを示すデータもない。 例の「円周率を3と教えるようになった」的なメディアのデマを真に受けてる馬鹿が多くて困るよね。
115 :
仕様書無しさん :2008/02/28(木) 22:26:25
>>114 ゆとり教育の話はいいからさ、チャタ取りの話をしようぜ。
どうぞどうぞ
117 :
仕様書無しさん :2008/02/28(木) 23:23:14
そもそもチャタ取りとノイズ対策は別物だろ と、言ってみる。
onからoffに/offからonに 変化する契機を それぞれn回/m回サンプリング一致にすれば チャタもノイズも大体取れるけどな
119 :
仕様書無しさん :2008/02/28(木) 23:38:34
そもそもチャタ取りとノイズ対策を混同 するから話が混乱するんだよな。
前スレの頭にも書いてあったろ。 今のスイッチはチャタリング時間は10ms以下。 だから10msの間隔で読めばチャタリングなんて関係ない。 昔のスイッチは100msもチャタリング時間があった。 じゃ100ms間隔で読めばいいかというと、それじゃ許してくれない。 だから実用的にチャタリングで誤動作しない対策として2度読一致採用処理を入れてた。 チャタリングの後半で出るのは短いヒゲでしか出ない事を利用してたわけだ。 それで、チャタリング対策が必要なくなった今でも ヒゲ状に来るノイズを取る処理の事を「チャタリング処理」として入れてるわけ。
ただ、期待しているような効果は本当はないんだけどねw
もちろん壊れてるポートや、ショートした配線にまで通用するわけじゃない。 でも、おまじないの類としては、チャンと効果はあるから心配するな。
まだやってるのか・・・・前スレ全部使っても終わってない?
もしかして、俺が自明と思うのと同じくらい「チャタリング処理無用論者」も自明と思ってるのか?
>>121 どういう意味なの?
チャタリングが100ms(0.1秒)も続くって、いったいどんな構造の スイッチなんだ?25年くらい前まで遡っても、聞いたことがないな。 石器時代か?(w
まあ黎明期ってのはそんなもの。動力用のスイッチやリレーを使ってたわけで100msなんて可愛い方さ。 そういうい意味じゃ石器時代だわな。 今でもリレーのカタログ見れば動作時間に「接点バウンス時間は含みません」て書いてあるだろ? で、 接点バウンス時間そのものはリードリレーとかでもなければ書いてない。 機械振動で起きるから、複数のリレーがガチャガチャ動いてる環境じゃ 互いに共振したりして読めないからね。 でも減衰振動だから指数的に確率は減る。 まあこの手のリレーを読むならメークとブレークの両方をつなげばいいんだけど コスト的には仕方ない。
いくら石器時代でも、マイコンのポートで読むような小信号を伝えるのに、 動力用のスイッチを使ったり、リレーをかますような馬鹿は、フツーいない だろ。 > まあこの手のリレーを読むならメークとブレークの両方をつなげばいいんだけど > コスト的には仕方ない。 メーク接点が切れた瞬間、ブレーク接点に繋がるとでも思っているのか? おめでてぇな。
そりゃテレビのチャンネルを変えるのに、ツマミでガチャガチャ回してた頃の話。
>>126 メークとブレークが同時にオンにならない事を利用するんだよ。
フリップ・フロップに入れて、チャタリングフリーな信号を作るのと同じ事。
>>126 最初からチャタリング時間10ms以下なんてスイッチが実在したと思ってるわけ?
昔のコンピュータのスイッチパチパチ入れてブートローダコード書いてた時代の
あのスイッチでさえチャタリング時間は、パチパチ音がするくらいの時間だったわけだよ。
でも、昔はチャタリング処理の入ってない時代があったのは間違いない。 家にカシオの古い電卓(表示が蛍光管のもの)があるんだが、 電源は入るんだが、どのキー押しても 普通に押したら111 てな感じで 一瞬で3~4文字押した事になる。 チョンと押すと1文字の時もあるが、確実に1文字入力するのは無理っぽい。
それバラして見た? カシオミニ以前だとリードスイッチ使ってるはず。
ひょっとして、トグルスイッチのパチパチ音(クリック音)が、チャタ リングによるものだと思っている? データシートによる保証はないが、トグルスイッチやロッカースイッチ、 安物の押しボタンスイッチでもチャタリング時間は長くてもせいぜい 20ms~30ms前後だろう。 フツーは、5msとか10msとかの短い間隔で定期的に読んで、最初に状態 変化を検出してから、変化後の値がN回連続した場合に、確定とすれば よいだけ。 仮にチャタリングが100msあったとしても、100ms間隔で読んでいては、 2回一致としても、ポートを読んだ直後に押された場合、スイッチ押下 が確定するまで最悪0.3秒かかる。 10ms間隔で読んでN=10回連続で確定というロジックなら、押した時間から スイッチ押下が確定するまで最悪でも0.11秒で済む。
>>132 最近のタクトスイッチは、わざわざクリック感を付けてるけど
トグルスイッチを上下させてパチパチ音がすろのは、接点がバネになってたり
バネで押さえつけてるから。
このバネが振動してる間はチャタリングの可能性があるよ。
もちろん振動小さくなって出るチャタリングは短いヒゲになる。
>>132 >10ms間隔で読んでN=10回連続で確定というロジックなら、押した時間から
>スイッチ押下が確定するまで最悪でも0.11秒で済む。
語るに落ちてるね。そんなことはない。
だからそういうのを「都合のいい仮定を前提とする結論」という。
>>134 仮説を立てたら、検証するわけ。
実際に2回一致を入れて、入れる前に比べてどれだけ誤動作が減るか検証して効果が出てるなら十分でしょ?
137 :
た :2008/02/29(金) 13:06:32
こんにちは。 俺も参戦していい?(^_^)
> チャタリング時間が100msあっても、後の方で出るのは短いヒゲだから > 20ms程度の間隔で2回一致で十分取れるんだよ。 短いとは、具体的に何μ秒?「短い」とする基準は? 「20ms程度の間隔で2回一致で十分」とする根拠は? たとえ一瞬でもポートを読み込むのは1μs程度のバスサイクルに過ぎない ので、たまたまヒゲがその一瞬と一致すれば、誤った値を読むことになる。 それに、最近のMCUの入力レジスタは外部のピンと直接バッファで繋がって いるわけではなく、CPUの動作クロックで常時サンプリングした値をラッチ して、ラッチ経由で値を読むため、そういう内部構造では、短いヒゲも ますます拾いやすくなる。 定期的にスイッチの状態を読むのは、単にチャタリング対策だけでなく、 スイッチの長押しで別の処理をさせるとか、応用でダブルクリック検出、 リピート処理にも使う、ごくごく基本的な技術だと思うんだがなぁ。
長年アセンブラやCで組み込みをやってきました。 いまになって、C++でWinアプリをすることになって、苦労しています。 なんだか、たんすと家具の配置にたいなプログラムで、すっごい違和感だらけです。。
>>138 接触の瞬間にパタパタするのは数msで、この間はms単位のヒゲが出る。
その後はバネ類の振動のエネルギーで出るので、ヒゲが出る確率は、
P = exp(-a*t) のように減少してゆくし、ヒゲの幅も同じように短くなってゆく。
チャタリング時間が100msという場合、このPがt=100msの時に実用的に問題にない程小さいという事になる
よって20ms毎にサンプルした場合に、以下のような事が起きる確率がP以下であればいい
|<---t-->|
~~~|_|~|_______|____|____________________
↑ ↑ ↑ ↑
0 0 1 1 0 0
t=40ms と 60ms で同時にヒゲを見てしまう確率は
Q=P^(1/5) として Q^2 * Q^3 = Q^5 = P
よって、20ms毎に2度一致を入れれば 十分である。
>>140 流れを考えるんじゃなくて、切り貼りしてるだけみたいな感覚になるんだよな
奴隷向けの道具が充実してるからね。
144 :
141 :2008/02/29(金) 15:02:01
読み返したら、判り難い表現だったので修正 ・ P = exp(-a*t) ↓ ・ P(t) = exp(-a*t) ・ チャタリング時間が100msの時 P(100ms)が実用的に小さい ・Q=P^(1/5) として Q^2 * Q^3 = Q^5 = P ↓ ・Q=P(20ms) = P(100ms)^(1/5) よって Q^2 * Q^3 = Q^5 = P(100ms)
145 :
た :2008/02/29(金) 18:31:25
ストレージオシロで見て二度読みの間隔決めればいいじゃん。
奴隷に高級な道具は使わせたくないみたいだよ。
147 :
た :2008/02/29(金) 18:45:19
ヤフオクで買えばいいじゃん。
奴隷商人は機材に金かけるけど...
ほら吹きな営業には気をつけませう。
150 :
た :2008/02/29(金) 20:46:05
奴隷商人のWebってFlashがすごいよねw
151 :
仕様書無しさん :2008/02/29(金) 21:50:17
お前らは前々スレからチャタリングしっぱなしだなwww
152 :
仕様書無しさん :2008/02/29(金) 22:21:40
↑とりきれない何か
スレがチャタってる。
これはノイズだと思う。
寧ろ、発振してる
お前らはもう既に正弦波の群れに還元されてます。
157 :
仕様書無しさん :2008/03/01(土) 12:06:36
くけぇ
矩形派倶楽部って知ってるかい?
矩形波倶楽部なら知ってるよ
161 :
た :2008/03/01(土) 15:49:32
ゴミが大量に漂着してるみたいだな。 ところでさ、お前らRTOSとか使ってる? ToppersとかT-Engineとか。
短形と思ってる奴がたまにいるとか
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | 先輩、この短形波は結構長めですね | むしろ長形波と言うべきじゃないですか? \  ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ・∀・) ∧ ∧ < 矩形波だろうが!! ( ⊃ ) (゚Д゚;) \____________  ̄ ̄ ̄ ̄ ̄ (つ_つ__  ̄ ̄ ̄日∇ ̄\|i-Book |\  ̄ ======= \
164 :
仕様書無しさん :2008/03/01(土) 17:46:09
165 :
仕様書無しさん :2008/03/01(土) 17:46:17
166 :
仕様書無しさん :2008/03/01(土) 18:53:58
まじか 明日からでめデータベースの勉強はじめよう
まあ組み込みは銀の弾丸屋の最後の市場だモンナ。 CPUも速くなってきたしアリかも。
168 :
仕様書無しさん :2008/03/01(土) 19:41:34
>CPUも速くなってきたし ここに来て進化は止まったと思うぞ もはやこれ以上速くはならないだろ
>>168 そりゃマルチコアとかの最先端の話だろ。
その技術がどんどん安い組み込みに降りてくるんだヨ。
170 :
仕様書無しさん :2008/03/01(土) 20:20:54
実際、組み込みの方がマルチコアが流行ってるよね。 PCみたいな使い方じゃないけど。
ハードリアルタイムが要求される部分以外はHaskellで書ける ようになる日まで進歩は続くだろうな。
172 :
仕様書無しさん :2008/03/01(土) 21:21:17
アセンブラは?
173 :
仕様書無しさん :2008/03/01(土) 22:19:52
最近の若いのはJAVAやVisualStudioやWeb系言語が大好き Cやアセンブリなんて誰もやりたがらない
コピペ君って馬鹿だな、まで読んだ。
>>169 値段もそうだが、熱と消費電力の問題もあるよな
>>173 下回り知らないとそのうち痛い目にあうような?
極初歩的な下まわりだけって人も頭痛くなるぞ
程度もんなんじゃないの?
団塊&ポスト団塊の失われし技術の恐怖をお前らはしらないだろ。 10年はなにも更新してないから何か説明するには10年以上かかる。
最近組み込み系のスレにマルチしてる馬鹿はなんなんだ
お宅の言うように、バカなんだろ?
182 :
仕様書無しさん :2008/03/02(日) 11:57:57
すみません。 門外漢で興味本位なのですが,質問させて下さい。 自動車ディーラー等で車の故障診断をする際に, 故障診断ツールっていう類の物を使ってますよね。 メーカーによって違うと当然種類はあると思うのですが, それらの開発も組込み技術の範疇に入るのでしょうか?
専用箱なら、入るんだろうね。 でも、故障診断をするのは各ノードで、故障診断指示と結果 採録をするだけといったものであれば、ECUまたはメインのユニットとは 専用の(シリアル系かな)で繋いで、PCのプログラムでやるんじゃないの? それはPCのプログラム技術で作れるものだと思うけど 違うのかな。実物詳しく見たことはないけど。 と、通りすがりの門外漢がよこれす。
文字通り、何かに'embedded'されて特定の目的専用のコンピューター(またはソフトウェア) であるのなら「組込み」なんじゃないの
組み込みの定義: パソコン、ミニコン、メインフレーム以外のコンピュータ。
それどんな俺様定義?w っていうか、その主の「否定による定義」は、「俺様」が想定していないアイテムが コンピュータの集合全体に加わったときに破綻すると思うんだけどね。
もちろん俺様定義。 なら他にどういう定義があるのか提案してみたまえ。
クロスコンパイルとリモートデバッグが必要なもの。という俺様はどう?
モニターとキーボードとマウスがないコンピューター
個人的には
>>188 かなぁ。携帯電話だって組み込みに分類されるのが普通だし。
んでも、OSがあるなしでかなり違うから別にしてほしいと思ったりも・・・
制御用でPCを組み込んだりもするしなぁ
>>188 却下。
実機上でコンパイル、ローカルデバッグ出来る組み込み
プラットフォームもたくさんある。
193 :
仕様書無しさん :2008/03/02(日) 17:30:01
>>189 1Uサーバ等はキーボードもマウスもモニタも繋がってないものがあるが。
ROMになってなきゃ組み込みじゃねーナ。 PCでもBIOSは組み込み。
あとで修正が効かないものは組込みかな 遠隔からアップロードでファーム修正を 比較的自由にやってよいのなら組込みとは 考えないようにしてる
はあそんなわけないでしょ。
だから組み込みってのは"embedded"の訳語でしょ。
>>184 以外の定義なんて聞いたことないよ。
198 :
仕様書無しさん :2008/03/03(月) 00:42:04
199 :
仕様書無しさん :2008/03/03(月) 00:42:14
アーキテクチャ云々を言ったらチューリングマシンのころからたいして進歩してない つまり、そういう議論は無意味 2000年だかにModern C++ Designという本が出た あれは衝撃的だったが、今はC#とかJavaの方が優位になってる 今でもアセンブラができるプログラマはわずかながら需要があるし 供給より需要が多いので、かなり重宝がられるけど 大きな流れとしてはJavaができたほうが就職はしやすい
>>196 じゃあ、既に携帯電話は組み込みじゃないって事だな?
>>200 オレはそう考えて組んでる。
「組み込む」っていうことがどういうことかを考え抜いた結果だけど
所詮オレオレ定義だから別に押し付けるつもりは無い。
203 :
仕様書無しさん :2008/03/03(月) 16:10:42
とりあえず組込みは辞めとけ。 現場の叩き上げ(つまり高卒・専門・高専)が多く、単純に物が出来るか確認するにも聞き方一つ間違うだけで電話切られたりするのは当たり前…叩き上げと仕事せざるを得ない中、本当に精神的に苦労するぞ。 奴らはコミュニケーション最悪 鬱病になった奴何人も知ってるし、胃に穴やポリープ出来てるやつ当たり前のよに沢山いるし、精神ぶっ壊れてカミーユみたいになった奴もいたし…夜中1時、2時近くまでの残業も当たり前。平均して残業が無い日は無い。 夢を抱いている学生諸氏には組込みは辞めとけと言いたい。
204 :
仕様書無しさん :2008/03/03(月) 16:11:46
これだから高卒はいらないんだよな。 偏屈者ばかりさっさと死ね
205 :
仕様書無しさん :2008/03/03(月) 16:14:16
組込みなんてDQN高校機械科卒でも出来るくせに自分達には技術があるとかぬかしてやがるw 自分より技術が無い奴は全て糞だと抜かしやがる Web業界の奴に対しても、奴らはハードを知らないから糞だとか、アホかとwwww 脳ある鷹はなんちゃらって言葉知らないのかね
206 :
仕様書無しさん :2008/03/03(月) 16:16:28
枯れた技術しか知らないオッサンは、PCを使えない高齢化じじいと同じ
207 :
仕様書無しさん :2008/03/03(月) 16:35:48
日本で技術者が使い捨てにされるようになったのは ハードウェアエンジニアが原因らしいよ
英語が母語で無いだけでもかなり大きいハンデだと思うんだけどな
組み込み系=ハードウェアエンジニアではないよ。 組み込み系に関わってる人達の中でもハードとソフトが両方こなせる人材は希少だよ。
なんか荒れてるなあ。 組み込みなんてITの底の底だろう? 最先端WEB2.0の人たちの足元にも及ばない んだから、そんなに気にしなくて良いのに。。
本気でそう思ってるとしたら、相当なバカだねあんた。
>>211 は煽りだとは思うが、まあ実際そうでしょ。
プログラマの業界ってどの世界も「勘違いクン」が多そうだけど、
組み込み業界は特に酷い気がするよ。
まあ一口に組み込み業界ってのがそもそも無理があって、
俺が言ってるのはもちろんそう括られているグループの底辺の8割の方のことを
言ってるんだけど。
とはいえ、ひどさからいえば たまたま文系資質で英語読める「宣教師」たちの戯言に 踊らされてる連中も似たり寄ったりじゃ・・・。 協力して住み分けて盛り上げれば戦えるのに わざわざインド中国に門戸開くような真似せんでもいいんじゃねえの?w
>>214 「しない」と宣言すればそうできると思ってるのなら現状認識が甘いよw
別に誰も好き好んでオフショア進めてるわけじゃないだろ。
ひょとして今時マルクス主義者ですか?w
君の家にはないかも知れんが、誰のうちにも外国製の安物製品の一つや二つあるでしょ?
100円ショップで105円で買える包丁が、デパードで売ってる国産の3,000円の包丁と同じ切れ味だったら
誰が国産品を買うんだよ。
216 :
仕様書無しさん :2008/03/03(月) 21:11:27
実際、Web2.0で偉そうに言えるのはアメリカの人だけで、 日本でやってる連中はそれ使わせて貰ってるダケだから たいしたことないよ。 組み込みはJava厨と違って結果出してるからなw
結果出してるのか? じゃ、チャタリングの結論は出たのか?
少なくとも製品はリリースしてる。 チャタは例のアルゴリズムだけどねw
>>216 Web 2.0 にしも、Ajax にしろ「名前だけ」のものを使わせてもらってるって...
ひょっとして、Web 2.0 ってスゲーとかマジ思ってるの?
ふと思ったんだが家庭用ゲーム機のハード内のソフトは組み込みに分類されるのか? 変な日本語だが勘弁してくれw
222 :
仕様書無しさん :2008/03/03(月) 22:17:39
名前だけ使わせて貰ってるんだってw 名前だけじゃなくて、全部だろw 白状しろよw
>>217 おまえ、勘違いしてね?w
組み込みやってて、ここにいる連中の技術主題が
チャタ取りだとか思ってね?
俺達、頭の体操してただけだぜw
まぁWebとかJava厨の連中の俺達を見てる目線って
その程度なんだよなw Webな連中もそろそろ結果
出して欲しいよなぁ。
ここの住民は本当にアホだなぁ 貧乏人は心まで貧しくなるって言うけど本当だなw
225 :
仕様書無しさん :2008/03/03(月) 22:56:00
>>224 あなたは哀れですね。
ここのスレタイが全てを物語っていますよ。
雑魚は雑魚なりに生きればいいんぢゃね?w
226 :
仕様書無しさん :2008/03/03(月) 23:04:39
Java厨&Webな連中 > たまたま文系資質で英語読める「宣教師」たちの戯言に > 踊らされてる連中も似たり寄ったりじゃ・・・。 組み込み系で宣教師ってのは聞いたことない。 つまり、本物は本物を見極める能力を備えている。 原則に「なんだか分からんないけど、この人すごぉい」 とかっていうのが無い。 踊らされてるJava厨&Webな人達ってカワイソスw
最近都合が悪くなると長文だとか文句を言って 逃げる奴が多いね。 反論できないと「コピペだから」 とかいう奴は新聞も読めない餓鬼じゃねえの? まるで脳みそが腐ったバブル世代みたいだね(嘲笑
229 :
仕様書無しさん :2008/03/03(月) 23:15:20
Java厨触って遊ぶの飽きたし、 そろそろチャタ取りの話に戻ろうぜ。
230 :
221 :2008/03/03(月) 23:16:59
俺の疑問がスルーされつつあるorz 携帯電話は組み込みに分類される。(これの議論はまた別の話として・・・) ネットワークに接続でき、そこからパッチ等でソフトウェアの修正を行うことができ、 外部からプログラム(iアプリとか)を取り込み実行できる環境。 となるとWiiやPS3だって組み込み屋さんが必要だよね? アーケード筐体だって組み込みに分類されるし。 DVDドライブだって、車のブレーキ制御だって組み込みだよね? 組み込みが底辺とは到底思えない、ってかWeb系とかと比べるには土俵が違くね?って思うんだが。
まあ、禅とか修験道みたいなものだからな
>>230 組み込みは全てのベースだよ。
Webな奴らも組み込みの技術の上を歩いているにすぎない。
WiiやPS3のファーム開発も組み込み。
>>239 微妙だけど違う気がするよ。
ゲーム機は直のコンピューティングに近すぎると思う。
組み込みはもっと「~のための埋め込まれた専用コンピュータ」というイメージだろう。
>>230 ゲーム機の本体は普通に組込だろ。
PC で言うところの BIOS + α ぐらいの機能しかないんだから。
(と言っても、Wii とか PS3 とかでも、USB や無線 LAN とかもサポート
するので結構大変だと思うが。)
ゲームソフト自体は、組込の要素もあるけど、メインは「ゲームソフト」
と言う違う範疇に属するソフトウェアだと思う。
あと、何を底辺と言ってるのか知らんけど、いろんなものの土台を作るの
が底辺と言うなら、組込屋はかな~り底辺だと思うよ。
まあ、Intel とかで CPU 設計しているエリート技術者の方がもっと底辺
なわけだが。(w
>>233 それはジャンルに拘りすぎ。 Java厨特有の症状。
ゲーム機のファームを組むのは組み込みな人。
これだけは言える。
Java厨にはムリ。
底辺っていうのは能力的カーストにおける底辺だろw っていうか、だからゲーム機みたいなもろコンピューティングそのものって奴が 組み込みなわけないじゃん。 組み込まれて(コンピューティング以外の別の目的のために)縁の下の力持ちとして 働いてこそ組み込みなわけで。
237 :
仕様書無しさん :2008/03/03(月) 23:53:19
よくさ、Java厨とかWebな奴らが上流、上流って 騒いでるけど、実際、低レベルな部分を担う組み込み の方が技術的なレベルは高いからな。 所詮、組み込み系の強固で実績ある技術力にすがって ピーチク・パーチク言ってるだけなのさ。
>>237 だからjavaやってる奴がどうか知らんが、
この業界のレベルなんて相当低いのは本当に本当だぞ。
だいいちこのスレの議論みてりゃわかるでしょ。
そもそもさ、Java厨ごときが組み込みな方々と 話せるだけでも有り難いと思わなきゃいけねー のにな。 慢性的な人不足でレベルが低いのが多いのは認めるが、 本物はJava厨やWebの上位よりも技術レベルが高い。 組み込みの本物はJava厨やWebな奴らの代わりになれる が、その逆はハッキリ言ってムリだ。 技術力のベースが違いすぎるからな。
まあ
>>240 なんか典型だけれども、本当に冗談抜きでこういう
勘違いが甚だしい奴がこの業界は多すぎてリアルに笑えないよw
低水準のことやってりゃレベルが高いっていう大昔のマイコン少年みたいな感覚を
いい歳こいたオッサンになっても引きずってる馬鹿多すぎ。
低水準の技術なんて誰だって理解できるつーの。
>>106 もしかして、あの問題集の回答の件?
あれは確かに回答が訳判らん。
チャタリングから逃げる方法には、
1、チャタリング時間より長いサンプリング時間で単にサンプリングする
2、チャタリング時間の1/5のサンプリングで2度読み一致採用処理。
の2通りある。
今普通に組み込みで使われるスイッチ類のチャタリング時間は10ms。
チャタリング対策だけなら1でも十分だ。
243 :
仕様書無しさん :2008/03/04(火) 00:12:58
それでは、これからJava厨様による 高水準技術についての講義がはじまります。 組み込みな皆様方、ごゆっくりお楽しみください。
>>242 雑誌に記事書く暇があるような奴に
デキル人は少ない。
これ業界の常識。
>>241 みんな待ってるぜ。
早く書き始めろよw
高水準技術!! わくわく
>>241 よし、ではこのスレは2つくらい前から
チャタリング処理の無用論・有用論が延々戦いを続けている。
それを双方が納得する理論展開をやって終わらせてみろ。
>>241 早く書けよw
何が高水準技術なんだよ。
247がいいこと言った!
それやってくれ。
待ってるぞ。
>>245 なんか勘違いしてるようだけど俺はjavaなんかかじった事もないよ。
Windowsプログラミングは製品につけるオマケ用に少しはやるけど、
本業はマイコンのアセンブラをチマチマやってるクチなんだけど。
javaプログラマ(俺は厨だのなんだのガキ臭い言葉は使わん)を擁護してるんじゃなくて
この業界の連中なんて糞ばっかりだって言ってるんだけど。
>>247 だから俺がそのチャタリング処理なんぞ何の意味もないといってる本人だよ。
な、なるほど。 単なる自覚の無いアホだったのか。 そりゃ説得出来ないのが当然だよな。
組み込みが痛いというか、自己中は多いと思う。 決定した仕様を 「仕様のが悪い」 と言いながら、自分の担当分は絶対直さない。<よって動かない 仕方なく、周りが直してコミットしても、次のコミットで何故かもとの仕様に戻ってるとか、 「その辺りの担当は○○だから、こっちは無視して開発進めよう」 無視したら、統合したときに動かないものが出来るつーのに お前ら横の連絡とってくれ、頼むから……
>>237 でも社会的地位は低い。何故なら頭(IQ、学歴、生まれつきの才能)が悪いからだww
便所掃除が上手い清掃屋や体力のある高卒中卒自衛隊が勝ち組ですか?
>>250 とりあえず、
>>241 みたいなレス書く時間あったらチャタリング処理が理解出来るくらいの勉強しろ!
話はそっからだ。
>>254 まあこういう馬鹿が多いんだよ本当。
こっちは理解したうえで「無意味だ」と言ってるんだけどね。
256 :
仕様書無しさん :2008/03/04(火) 00:33:26
>>254 問題意識が無いんだから、理解するのはムリぢゃね?
そんなに今の仕事が気に入らないなら転職すればいいのに
258 :
た :2008/03/04(火) 00:36:37
>>249 RTOSを使ってるの?
遅いCPUならチャタ取りが必要無いことがあるかも。
>>255 確率過程論とか理解出来ないから無意味だといってるんだろ?
260 :
た :2008/03/04(火) 00:49:16
何か面白い、ソフトの話ってしないのかな。 電子・電気板の方がレベルは高い気もする。
チャタリング処理の話ならこのスレが一番面白いんだけどね
262 :
た :2008/03/04(火) 01:01:16
実際、ソフトだけ組み込みやってる人と、 ハード寄りで組み込みソフト開発やってる人を 比べると、どーかな・・・って気はする。 実際、249が言うように100%チャタ取りするのは ムリだし、どの辺りで実用に収まるのかってのを 話しているだけなんだよね。
それは違うぞ。 「鐘の音は永遠に続く。なぜなら減衰関数である exp(-k*T) はTが大きいと小さくはなるがゼロにはならないから」 と言ってるようなもの。 チャタリングも、振動が原因である限り減衰関数。 無限に続くのかい? そんな事はない。 鐘の振動はブラウン運動以下になってしまうと認識出来なくなる。 認識出来ないものは無いのも同じ。 ある程度小さくなると、時間が2倍になると桁数が2倍になるという速度で減少するから すぐに、ブラン運動以下になる。
なんでコテって しゃしゃり出て無知を晒すんだろう
>>228 今更だが、いるだろ
東大や名大やゴマな人たちが
>>265 まず自分でやってみてるから、彼らは立派じゃないのか。
翻訳こんにゃく食ってふがふが逝ってるエヴァンジェリストと比較すんな。
>>263 君は電磁気学や電気回路論以前に日本語の能力に問題があるぞw
だからもう100回は出てる話だが、君が思ってるような意味で「チャタリング」を
語ってる人間はここにはいないと思われるが。
顔を赤くして反論する前によく過去ログを読んでみな。
まあ「チャタリング処理」に彼らが思ってるような効果も意味もないんだけどね。
>>267 なんで効果が無いのか、絵を使って説明してください
269 :
た :2008/03/04(火) 09:49:13
>>263 それって、実用時のチャタリング波形が
1つの減衰関数だけで表現できるって
誤認してるんじゃない?
単純モデル化しすぎなのかも。
むしろI/Oポートに電荷かける際にキャパシタがかかるからウエイトを入れるくらいしかしない。
またアホコテが無知を晒しに来とるし マゾ?
272 :
た :2008/03/04(火) 13:16:25
結局、チャタ取りって意味ないってのはある意味正解で、 解決するには、ユーザの脳ミソから、どーしたいのか読み取るしかないんだよね~ それが簡単に出来るようになるまでは、色々ある対処療法でイイんじゃない? 動けばイイんだよ、よーするにw
少なくとも我が社ではノイズ試験にパスしなけりゃ動いているとは判断されません。
>>273 簡単だろ。
ノイズ試験の為だけに対策入れときゃいいんだ。
そんな実装沢山見て来た。
275 :
た :2008/03/04(火) 15:59:46
>>273 そーいう試験も含めて動いてるって言うよね、ふつうw
>>272 用語は正確に使おう。
チャタリング処理は、現在ではノイズ一般を取るN回一致採用処理の事だが、
チャタリング とかチャタリング取りというのは、スイッチのON/OFF時の例の問題の時に使う。
>>269 モデルは単純だよ。
チャタリングは
1、バネ類の振動を直接の原因や遠因として起きる
2、スイッチが摩れて動く事で起きる
昔のボタンスイッチは、人力で押しつけてるものもあったから、そのタイプだと
押してる間の力の変動でも起きるけど、今ではメカニズムとしてそういうのは無い。
2の場合は、スライドスイッチなんかだけど、これはもっと単純。
1の場合は、バネ類の振動だから、減衰振動モデルは必ず exp(-k*T) という項を持ってて
一定時間後にはこの項がもっとも優勢になる。
2振動モデルろうが3振動だろうが、結局はexp(-k*T)
>>276 随分長いこと議論してたが、いつの間にか
文字通りトグルスイッチ限定のチャタとりに限定した話になったのか?
だったら俺もやらんな、チャタった信号がそのまま見えるような回路で
N回一致やったって意味ねーもん
>>278 オン時間 チャタリング時間(バウンス時間)
|<-->|<-------------------->|
~~~~~~~|_|~|____________||__________|____________
チャタリングがそのまま見える場合って、こういう信号がそのまま入って来るって事?
こういう信号がそのまま入って来る場合に、チャタリング時間がサンプリング間隔より
長い場合に、チャタリング処理を入れるとチャタリングが取れるわけだろ?
意味ねーもんって意味判らん。
サンプリング間隔をチャタ時間より長くするのは常識。 それを逆の状態前提で話されても無意味。
常識? 無意味ったって、 リレーの接点なんか入力して、なおかつ応答時間の要求が付いてくるなんて普通にあると思うが?
ああ、意味が判った。
>>276 で 【スイッチのON/OFF時】 って書いたから
>>278 でスイッチ限定かって聞いてるわけだな
そんなことはない。リレーなんかも、バウンスと名前は違うけどこれはチャタリング類に入れてやってくれ
283 :
た :2008/03/04(火) 19:11:41
なーんだ、スイッチのチャタ取りの話じゃないのねw リレー接点の入力なんかを含めるならモデルは単純かもしれないけど、プッシュ スイッチとかのチャタ取りならモデルは単純じゃないから、あれ~と思ったw
じゃあ、鈍った矩形波にみなければいけない何か、の話にしてくれないか?
285 :
仕様書無しさん :2008/03/04(火) 19:50:52
チャタリング取りとは、時間的局所性のあるノイズを取ることだ。 「スイッチのオン/オフの時間間隔がノイズ期間より十分大きい場合」は、 必ずノイズが発生していないタイミングが存在するから、そのタイミングの出力を 見ることで、ノイズの影響を無効化できる。 「ノイズ期間より大きめのサンプリング間隔での出力の2回連続一致」は有効な手段。 スイッチのオンオフが頻繁に起きないという条件があれば、まず誤動作しない。 それに対してサンプリング間隔を細かくしてn回連続一致というのは、 前述の方法と比べると、出力の変化の検出を素早くおこなえるという利点がある。 ただし、頻繁に入力ポートの電圧を読まなければならず、CPUの負荷が増大する。 さらに、「ノイズ期間は出力が頻繁に反転する」という仮定をしており、 nが小さい場合は、出力を誤検出するリスクが伴う。 ノイズにクセ(ホワイトノイズでない)がある場合は要注意である。 以上の手法は、 ・スイッチの切り替え時間間隔は十分長い ・ノイズの時間的局所性 ・ノイズのホワイトノイズ性 を前提としており、これらの性質を満たさないノイズについては対応できない。
>>285 自分の言ってるチャタを絵で説明してくれないか?
>>277 > 2振動モデルろうが3振動だろうが、結局はexp(-k*T)
チャタの話題は、k = 0 みたいだな。
288 :
仕様書無しさん :2008/03/04(火) 23:05:03
> 2振動モデルろうが3振動だろうが、結局はexp(-k*T) 真空中にバネでぶら下げた重りの自由振動のような状態に近く、接点可動 部の質量(慣性)が無視できるほど小さく、また接点部の反発係数が限り なく100%に近い環境であれば、うんちく理論を適用可能かもしれんが、 そんな(チャタリングを積極的に収束させない)スイッチはまっとうな メーカーは設計しない。 えらそうなこと言ってるけど、オシロで波形を見ることもできんのだろう? 労働力を切り売りする社蓄じゃあ、自前のオシロもロジアナも持っていな いか。(w チャタリングが収束する時間の長さと、チャタリングの振動周期にはあまり 一貫性はない。 実用化されているスイッチやリレー接点のチャタリングの 回数は、チャタリングが収束するまでの時間に関係なく、おおむね数回~ 十数回程度。 チャタリングの周期が短くなっても、H/Lそれぞれの状態にある時間の 幅が短くなるだけで、ある閾値電圧(1/2Vcc等)を基準として見て、'H'か 'L'となる確立はチャタリングの周期の長さとは本質的に無関係。 これがまず間違っている。振幅の幅(接点が飛び跳ねる高さ)や周期が短く なるだけで、チャタリングが発生する確立が下がるわけではない。 また、スイッチの状態(ポート)の読み取りはごく一瞬(μ秒)で、チャタ リング周期に比べて極めて短く、振動の周期(周波数)が変わっても、 ポートがどちらかに確定することにはならない。 ヂューティー50%のクロックを、クロックより十分に早い一瞬だけサンプ リングした場合、'H'になるか'L'になるかは、クロックの周波数とは 無関係に50%なのと同じ。
289 :
た :2008/03/04(火) 23:08:42
ストレージオシロで見ればすぐわかるよw
何このアホ
291 :
仕様書無しさん :2008/03/04(火) 23:18:52
> 「ノイズ期間より大きめのサンプリング間隔での出力の2回連続一致」は有効な手段。 チャタリング最大10msのタクトスイッチをSTART/STOPに使って、1/1000秒 単位で計測できるストップウォッチを作ってくれと言われたら? > スイッチのオンオフが頻繁に起きないという条件があれば、まず誤動作しない。 棚が壊れたら、「棚の上に物を載せたからだろう?」っていう、古典落語 って何だっけ? > ただし、頻繁に入力ポートの電圧を読まなければならず、CPUの負荷が増大する。 > nが小さい場合は、出力を誤検出するリスクが伴う。 20ms間隔で2度読みするよりも、2ms間隔でサンプリングして、10回の一致 (20ms間の確定)で有効判定する方がずっと検出精度は高く、反応速度(最初の 検出から確定判定)までも最適化できるわけですが何か? CPUの負担ってどんだけぇ~? 1MHz動作クロックの6301で、2msのインターバルタイマ起こして、ダイナ ミック点灯とスイッチのスキャンやらしたことあるが、それに比べりゃ イマドキのH8やARMなら、負荷なんて無視できるだろ。(w > さらに、「ノイズ期間は出力が頻繁に反転する」という仮定をしており、 '1'か'0'しかないデジタル回路で、信号に影響を与えるノイズで、出力が 反転しない場合というものが果たしてあるのだろうか? いやない。(反語)w
292 :
た :2008/03/04(火) 23:20:02
ハードが気に入らなきゃ、CRフィルタでも 入れたらいいじゃん。 そんなに目くじら立てることないって。
な、さっきから何言ってんのこの人?
>>291 別に君にだけ文句いうわけじゃないけど、
やっぱり「チャタリング処理有効論」を唱える人って自分の頭で何も考えてないね。
最適化されるっていうけど、たとえばその例で言えばチャタの継続時間を20ms(max)と仮定した場合、
ワーストケースで60ms掛かる検出時間が42msになるだけ。
意味あるのかよそんなのw
それに2回一致なら前回のスキャンとの単純な論理演算で実現できるが、
10回一致って面倒だよ。
少なくとも利得に見合うコストといえるかね。
ひょっとして入力が1つしかない場合を想定してるのかな?w
ついでに言えば、君こそ「1/1000秒単位で計測できるストップウォッチを作ってくれと言われたら? 」
どうするつもりよw
俺は無意味かつ無理な望みだとしか思えないけど、君は意味ある形で実現可能だと思うから
そういってるんだよね?
えーと、まずどんなSWを想定して どんな信号を見ようとしてるか考えてみよう ___||| ̄ ̄ ̄ ̄||||______|||___ ↑ ↑ ↑ SW ON SWOFF ノイズ こういう物を作ろうとしていてON/OFF時のチャタリングを 誤った信号を読んだところで、動くのが1周期遅れるだけで 取ることだけには意味は無いよな? あるとすれば、ノイズ区間がやたら長い(SWならそうは無いだろうが PIOで見てる”何か”として)せいで、何度もサンプリングしてて そう何度も信号が反転されちゃ困るってケース コレは寧ろノイズ("不信頼区間")の入力による誤動作を確率的に回避しようって話 これで絶対何とかなるということは無いが、まぁ無いよりましだし、そこそこ効果はある 逆にノイズ区間が十分に短い場合にチャタリングによる誤検知を避ける理由が分からん。 それこそH/Lの2値なんだし、間違ってたところでN回一致をかけた場合と 検知するタイミングは見劣りしない 誤動作が許されないようなところなら、それこそガッチリH/Wでノイズの除去をして、 S/Wでだけ対策とろうなんて甘い考えは捨てた方がいい
タイマーで数mSごとの割り込みを生成 割り込みルーチンでポートをサンプルしてN回一致で信号確定 これより楽なスイッチ入力モジュールを提示してくれ それ使ってやるから
だからN回一致なんて意味ないって。 単純にチャタの継続時間より長い間隔でサンプルすればよろし。 っていうか、それが信頼できないようなハードなら何やっても基本的に無駄。 ストップヲッチを例に挙げた人が上にいたけど、もし応答時間が問題になるのなら サンプリング周期を短くして、キースキャンのコードをステートマシン仕立てにすればいい。 具体的には、たとえばサンプリングは1msごとに行うが、メイクを検出後20msは スキャンを「お休み」するようにすればいい。
チャタ(・∀・∀・)rリング
35 名前:(-_-)さん 投稿日:2008/03/05(水) 00:49:07 ID:uz6GNNS40 FizzBuzz問題って言うのがあってな とりあえずやってみるといいよ ーーーーーーーーーーーーーーー 1から100までの数をプリントするプログラムを書け。 ただし3の倍数のときは数の代わりに「Fizz」と、 5の倍数のときは「Buzz」とプリントし、 3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 ーーーーーーーーーーーーーーー
//ifと%(余り)を使わないでfizzbuzzを書いてみた #include <stdio.h> #include <stdlib.h> void n( int n ){printf("%d\n",n);} void fizz( int unused ){printf("fizz\n");} void buzz( int unused ){printf("buzz\n");} void fizzbuzz( int unused ){printf("fizzbuzz\n");} // 関数ポインタのリスト void (*f[])(int n) = { n, n, n, fizz, n, buzz, fizz, n, n, fizz, buzz, n, fizz, n, n, fizzbuzz }; int main() { int i; for( i = 1; i <= 100; i++ ) { int c = ( i & 0xf0 ) >> 4; (*f[((i+c)&0x0f)])(i); } return EXIT_SUCCESS; } 213 名前:就職戦線異状名無しさん 投稿日:2008/03/03(月) 01:16:57 fizzbuzzって某社の筆記試験で出たわ。そういえば。
575 名前:仕様書無しさん 投稿日:2008/03/05(水) 00:58:35 プログラミングというより数学だよな プログラミングコンテストって全部数学の問題だけど、数学コンテストに名前変えたほうがいいだろ常考 数学オリンピックに算数オリンピックでやっとけよ
303 :
仕様書無しさん :2008/03/05(水) 01:05:01
日々メモリの節約と高速化を追い求める組込み技術者ってこんなコード書けなきゃいけないんですか? 組込みで就活中の旧帝大だけど自信無いや
n回一致が重要なのはむしろスイッチのON/OFFの間隔そのものが重要な場合くらいかな。 マークシートの読み取り装置とかさ。
>>300 そんなん、3と5の最小公倍数の15個のprint文並べてforでループさせりゃいいじゃん。
for(i=1;i<=100;i+=15){ printf("%d¥n",i); printf("%d¥n",i+1); printf("Fizz¥n"); printf("%d¥n",i+3); printf("Buzz¥n"); printf("Fizz¥n"); printf("%d¥n",i+6); printf("%d¥n",i+7); printf("Fizz¥n"); printf("Buzz¥n"); printf("%d¥n",i+10); printf("Fizz¥n"); printf("%d¥n",i+12); printf("%d¥n",i+13); printf("FizzBuzz¥n"); }
307 :
仕様書無しさん :2008/03/05(水) 02:29:04
308 :
仕様書無しさん :2008/03/05(水) 02:30:06
#include <stdio.h> main() { int i; for(i=1 ; i < 101 ; i++){ printf("%3d %s%s\n", i, i%3 ? "" : "Fizz", i%5 ? "" : "Buzz"); } }
あれ? Fizz-BuzzスレってDAT落ち?
310 :
仕様書無しさん :2008/03/05(水) 02:45:00
FizzBuzz問題になんて、関わらない方が良いよ。 俺達には出来て当たり前。 Java厨の釣りだから。 しかし、Java厨には困ったもんだな。 正直、ウザいよ。
じゃあ、その問題とやらのスタック消費見積もってくれ。 頼むわ。
>>288 メーカーが設計でコントロール出来るにはexp(-k*T)のkの値。
振動はsin(w*T+A)*exp(-k*T) というような、振動*減衰 という格好をしている。
もちろん、リモコンのゴム接点スイッチのように、信号が原因ではなく、押してる間
人間のプルプルが原因の場合もあるので全てではない。
>>292 CRフィルタを入れると、確かにチャタリングの短いヒゲには効果がある。
でも、エネルギーの大きいノイズに対しては逆にパルス幅を広げてしまう事になる。
>>294 チャタリングの継続時間が20msという場合
チャタリングの発生確率はその20ms内で一定なのではない。
振動原因で起きるチャタリングの場合、
チャタリング時間(バウンス時間)
|<----------20ms------------->|
~~~~~~~|_|~~|________|___|_____________|_______________
|<-A+D->|<------指数減衰----^->| A+D:アタック+ディケイ
2ms単位にサンプリングした場合
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1 0 1 0 1 0 0 0 0 0 0
てな感じの入力になる。
アタック+ディケイは、まだ装置が動いている状態。その後の発生確率P(t)は指数減衰する。
P(20ms)が十分小さい時間がチャタリング継続時間という事になる。
サンプリングのワーストケースで考えるべきは、P(20ms)で起きる現象であって
この期間の10回のサンプリングで全部1になる現象ではない。
>>298 メイクを検出後スキャンをお休みするという手法は確かにチャタリングに対してはある程度効果を発揮する。
でも、その処理コストはN回一致採用とそう変わらない。
だから現場では、ノイズも取れるN回一致採用の方が使われる。
でONを優先してるのか、OFFを優先するのか、 誤操作を避けたいのか、レスポンスを優先するのか どの仕様なんですか?
>>314 N回一致採用というテクニックでは
・ ON優先・OFF優先は出来ない。 やるならN回AND/OR
ビットシフトして マスクして0になるかオール1になるかというような手法なら
マスク値を変更すれば対応出来るけど。
・ 誤判断を避けた上で、レスポンスを必要なだけ向上させる手法がN回一致採用
もちろん、信号の種類によっては、サンプリング間隔を短くする事に意味が無い場合がある。
たとえばCRを入れて鈍らせている場合、その時定数以上より短くしても、
連続して同じ値を取る確率が上がる事になり意味がない。
というかチャタスレ作ろうよ、もう (^_^;
>>312 一番最後の節だが、当たり前のことしか言ってないじゃんw
だから何?
>ワーストケースで60ms掛かる検出時間が42msになるだけ。
といったことに対する反論じゃなかったの?
反論になってないんじゃないのそれじゃ
318 :
仕様書無しさん :2008/03/05(水) 09:53:16
>チャタリング最大10msのタクトスイッチをSTART/STOPに使って、1/1000秒 >単位で計測できるストップウォッチを作ってくれと言われたら? 無理です。ハードウェアで対策してください。リアルタイム性という言葉の意味を考えてみ? >棚が壊れたら、「棚の上に物を載せたからだろう?」っていう、古典落語 意味が分からん。例えば10ms間隔でスイッチのオンオフをできる人間が居るというのか? >20ms間隔で2度読みするよりも、2ms間隔でサンプリングして、10回の一致 >(20ms間の確定)で有効判定する方がずっと検出精度は高く そんなことは無い。運が悪ければ間違える。10回一致では確率1024分の1で誤る。 長間隔サンプリング(20msは短すぎ)ではスイッチが壊れない限りは誤動作しない。 >CPUの負担ってどんだけぇ~? ケースバイケースだろ。トレードオフって言葉を知ってるか? 最初の方法は、正確さ、シンプルさ、処理の軽さが優秀であり、 2つめの方法は、反応速度で優秀であり、どっちを取るかということ。 反応速度が重要で無い場合まで2つめの方法を使ってたら、そいつの頭は固いということ。 >ノイズで出力が反転しない場合というものが果たしてあるのだろうか? ホワイトノイズでなければあり得る。低周波成分が強ければ頻繁反転しないことがありえる。 正解がオール0の信号で、 111110000011111 を拾う可能性が無いと言えるかと。
319 :
仕様書無しさん :2008/03/05(水) 09:56:18
>>291 20msサンプルで2度読みするのは最大100ms程度のチャタリング時間を想定した場合。
100msのようにチャタリング時間が長い場合は、指数減衰が優勢だから1/5の時間でいいからね。
ここで、チャタリングを1回検出した時、dT後に再度チャタリングを見る確率がやはり指数的だとすると、
20ms毎にノイズを見る確率をPとすると、
2ms毎に10回ノイズを見る確率は P^(1/10)^10 =Pで同じ。
もちろん、指数的というのは恣意的な想定。
でも実際、完全に指数的とはいえないけど
ある程度ノイズが出た後に再度見てしまう確率が上がってしまうので、
あまり観測頻度を上げる事は有効ではないのさ。
321 :
仕様書無しさん :2008/03/05(水) 10:05:18
>>318 >>チャタリング最大10msのタクトスイッチをSTART/STOPに使って、1/1000秒
>>単位で計測できるストップウォッチを作ってくれと言われたら?
>無理です。ハードウェアで対策してください。リアルタイム性という言葉の意味を考えてみ?
でも、「チャタリングの発生」=「スイッチを押された」と決めつければ、実現できそうだな。
この場合は0.5ms間隔でサンプリングするのだろうか。
そこまでするのならば、割り込み(マスクできる方)にした方がスジがよさそう。
いずれにしてもこの場合は長間隔2回も短間隔n回も不要。
>>320 ソレって 10回連続が出るか出ないかの条件付き確率だから
1が連続するのは 1/1024の組み合わせで 1/1024に改善はされてるんじゃないの?
普段は0.5mSサンプルにして L を見た時から5msサンプルに変更、同時にタイマーを仮記憶 次のサンプルでLを見なければ0.5msサンプルに戻す。 次のサンプルでLを見た後、Hを2回連続で見れば採用。記録したタイマー値で計算する。 これでどう?
まてよ 1/5って事は、 5msでなくても2msでもいいのか?
325 :
仕様書無しさん :2008/03/05(水) 11:38:45
>>323 >L を見た時から5msサンプルに変更
チャタリング区間が10msなので、5msサンプルでは、チャタリング中にサンプリングすることになるが。
チャタリング除去を狙うならばせめて20ms以上の間隔が必要。
これより、仮に、タイマ記憶後のサンプリングを20ms間隔にするとして
その次のサンプルでLにならない場合ってどんなケースがあるだろうか?無いと思うのだが。
また、Lを見た後でHを確認する理由は何だろうか?
それをすることで、具体的にどんなメリットがあるのだろうか?
チャタリングスレ立てれば?
Q1 チャタリング時間が10msの場合、2回一致採用を使うとして適切なサンプリング周期は? A1 1/5 のサンプリング周期で、同等になりますから、それ以上にするといいでしょう Q2 チャタリング時間より長いサンプリング周期にしてるんだけど意味あるの? A2 チャタリング処理として2回一致採用が入っている理由の多くは チャタリング対策ではなくノイズ対策で入っているものと推察されます。 Q3 可変サンプリングで、Lを見た後でHを確認する理由は何だろうか A3 Lを確認しただけでサンプリングを戻してしまうと、 ~~~~~~~|__|~|_________|_____________________ ↑↑↑↑ ↑ ↑↑↑↑↑↑↑ 0 0 1 このようにチャタリング・ノイズ対策になっていない事が判りますか? ~~~~~~~|__|~|_________|___________________|~|_|~~~~~~~~~~~~~~~|~~~~~~~~~~~ ↑↑↑↑ ↑ ↑ ↑ ↑ ↑ ↑↑↑↑↑↑↑↑↑ 0 0 1 0 0 1 1 このように、オフまで確認してからサンプリング周期を戻す必要があります
329 :
仕様書無しさん :2008/03/05(水) 12:45:03
>Q1 チャタリング時間が10msの場合、2回一致採用を使うとして適切なサンプリング周期は?
>A1 1/5 のサンプリング周期で、同等になりますから、それ以上にするといいでしょう
普通、2回一致を使う場合はチャタリング時間の2,3倍の周期が必要だが。
2回一致で周期が1/5ってなんてハイリスクな実装。唖然。
>Q2 チャタリング時間より長いサンプリング周期にしてるんだけど意味あるの?
>A2 チャタリング処理として2回一致採用が入っている理由の多くは
> チャタリング対策ではなくノイズ対策で入っているものと推察されます。
一発目がチャタリングによる誤ったデータだとすると、
2発目3発目はチャタリングの影響を受けていないクリーンなデータだからだろ。
>A3
なるほど、ボタンが戻ったことを確認するために必要ということだな。
逆に言うと、ボタンを押したタイミング検出のためにはHHを見る必要は無い。
つまり、LLと確認した時点で、タイマは確定でありその処理をすればよい。
後処理としてボタンがもどったことを確認する処理を入れれば良い。
この2つの処理を結びつけているのが問題と言えば問題。
>>327 の波形では00の後で1が連続しなかったので、
ボタンを押された事実そのものまで破棄されてしまう。問題だと思うが。
>普通、2回一致を使う場合はチャタリング時間の2,3倍の周期が必要だが。 これは、チャタリング時間の定義の問題かもしれないね。 チャタリング時間を「単純サンプリングでチャタリングによる誤入力が無視出来る時間」と定義したのなら チャタリング時間より長い周期に「しなければならない」理由は何もない。 まあCRをチャタリング時間に時定数を合わせて入れるの前提なら理由はあるわけだけど Q2に対するレスは意味が判らないので解説をお願い チャタリング時間より長い周期で取っているのなら ~~~~~~|___|~|______________________________ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ と、どこで取ろうとチャタリングで誤動作する事はない。
電波やスパークノイズ拾うような回路は、何をやっても無駄です。 ましてや隣の配線の信号拾うとか、おバカさんなハードは捨ててしまいましょう。
332 :
た :2008/03/05(水) 13:58:04
ノイズでCPU止まっちゃうかもしれないのに、 精度が要求されるなら、ハード側で対策するのが 普通だよね。
なにをいまさら・・・
ノイズでCPU止めない為には、遠くのインピータンスを上げて、CPU近くでインピータンスを下げることが一番。 CPUの近くでインピータンスを下げる一番簡単な方法はポートを出力ポートにしてしまう事。 方向レジスタを弄って読まない時に出力モードにしてしまえば、数10Ω これに直列に抵抗を数10KΩ入れてやれば抵抗分圧で数千Vの電圧でもCPUのポート では1V以下になり、保護ダイオードに電流を流さないでスム。
335 :
仕様書無しさん :2008/03/05(水) 16:44:01
>>330 >チャタリング時間の定義
「チャタリングにより論理値が誤る可能性の高い期間」で良いと思うが。
論理値が反転しない程度のノイズは無視して良いと思うが。
具体的には、「スイッチを押してから、チャタリングによるノイズの振幅が
論理の反転に影響しないレベルまで落ち着くまでの期間。
「単純サンプリング」というのが具体的にどんなことを言ってるのか分からないので
反応できないのだが。
CRをかますならば、ソフト側でのチャタリング対策は不要でなかろうかと。
>Q2に対するレスは意味が判らないので解説をお願い
チャタリング中の信号を使ってはならないと考えていたので、
2サンプル以上必要と思っていたのだが、確かに1サンプリングだけでも、
うまく動きそうな気がしてきた。
336 :
仕様書無しさん :2008/03/05(水) 16:48:10
出力ポートに入力信号線を繋げるだなんて、やって良いのか? それと、ノイズに強くするにはロー出しハイ受けだと思うのだが。
最近の1チップマイコンの内蔵ポートは大抵方向レジスタというのを持っていて、 入出力を切り替えられるのさ。
338 :
仕様書無しさん :2008/03/05(水) 18:18:05
>>334 プルアップ用電源とマイコン電源とが共通(ほとんどのケース)の場合、
ポートはノイズで壊れないかもしれんけど、プルアップ抵抗経由で電源
にノイズが混入して暴走orリセットするヨカン。
対策としては、プルアップ用電源とマイコン電源との間にLCフィルタ等
を入れて、プルアップ系電源とマイコン電源間のインピーダンスを上げる
必要がある。
コネクタじゃ防ぎようがないが、スイッチ含めた操作系の金属部から、
内部回路との間に十分な絶縁距離を取るなり、全部プラ製にした方が近道
かも。
いずれにしろ、信号に混入するノイズによる誤動作対策とは無関係。
339 :
仕様書無しさん :2008/03/05(水) 18:28:23
>>318 > >20ms間隔で2度読みするよりも、2ms間隔でサンプリングして、10回の一致
> >(20ms間の確定)で有効判定する方がずっと検出精度は高く
> そんなことは無い。運が悪ければ間違える。10回一致では確率1024分の1で誤る。
> 長間隔サンプリング(20msは短すぎ)ではスイッチが壊れない限りは誤動作しない。
こういう馬鹿は、どこまで自分に都合よい方にしか考えられないんだろう。
20msでも100msでもいいよ。時間を空けて2回読んだとして、最初に読んだ
状態が、ノイズ要因でないという保証がどこにあるんだ?
2回一致では、運悪くスイッチ押下と誤判断してしまう可能性は1/2だ。
340 :
仕様書無しさん :2008/03/05(水) 18:37:19
>>318 > >CPUの負担ってどんだけぇ~?
> ケースバイケースだろ。トレードオフって言葉を知ってるか?
> 最初の方法は、正確さ、シンプルさ、処理の軽さが優秀であり、
> 2つめの方法は、反応速度で優秀であり、どっちを取るかということ。
オマエの言うほど、最初の方法に正確さも、シンプルさもない。処理の
軽さは、無視できるほど小さいし、こういうコードは毎回書くのでは
なくライブラリ化しておくものだよ。
一発目が有効なトリガ(チャタリング開始)だという根拠は、都合の良い
思い込み以外の何者でもない。
2回読み(一致は1回のみ)による判定は、10msでも20msでもいくらチャタ
リング時間に対して十分な時間を待っても、運悪く偶然ノイズが入る
ことによる可能性を、N回一致ほど厳密には排除できない。
最初に変化を検出した時点では、単発ノイズかチャタリング開始か判定
できないので、数ms間隔でN回一致を条件に追加することで、より信頼
性を高めている。
341 :
仕様書無しさん :2008/03/05(水) 18:43:56
>>339 2回「一致」なのだが。
0から1に切り替わった瞬間に、運悪く一発目がチャタっていると、
111...
011...
のいずれかになる。
※ 一発目はノイズにより0にも1にもなり得るが、
十分な時間間隔があれば2発目3発目はチャタらないから11。
111の場合は2発目で信号の変化を検出する。
011の場合は3発目で信号の変化を検出する。
いずれの場合もチャタっているタイミングでは反応していない。
したがって誤動作しない。
342 :
仕様書無しさん :2008/03/05(水) 18:59:34
>>340 正確さの話は
>>341 参照。ライブラリ化しても正確さの問題は直らない。OK?
単発ノイズ取りは別の話だ。チャタリングノイズ取りを混ぜないで欲しいもんだ。
そもそも論として、単発ノイズが入らない回路設計をすべきだ。
どうしても単発ノイズを取りたいのならば、ノイズの統計的性質が分からないことには、
手段の正当性を判断できない。n回一致を取ることでノイズを取り去る可能性は上がる
だろうが、それが許容範囲に納まっているかどうかの判定ができない。
また、そんなに単発ノイズが乗る回路だとしたら、こんなレベルでなく、
もっと大きなレベルで不具合が多発すると思うが。
未回答の指摘がまだ残っているけど、そっちには反応してくれないのですか?
343 :
仕様書無しさん :2008/03/05(水) 20:03:16
オマイラ年収いくら
>>343 年収もチャタってる。2回一致すらしたことない。
>>335 >「チャタリングにより論理値が誤る可能性の高い期間」で良いと思うが。
これでは不十分。
たとえばCR時定数という時の時間は 0⇒1Vへ入力が変化した時に出力が63.2%に達するまでと
正確に定義されている。
こういうふうに確率値が規定されているなら、たとえば
「チャタリングにより論理値が誤る可能性が1/100」
というふうに決まっているなら、チャタリング時間の2倍にすれば1/100^2 に、3倍にすれば1/100^3と
計算出来るのだけどね。
まあ、でもこのあたりは実測と経験で対応するしかない。
CRを入れたとしても、CRは時定数より十分短いパルスノイズ+チャタリングは取り去ってくれるけど
そうでない場合は逆に増幅さえする。 だからノイズを取る頻度を十分小さくしたい場合、
CR時定数は短く、インピータンスを下げて、N回一致採用に頼った方が結果がよくなる場合もある。
もうCR時定数回路+シュミットトリガで決まりだろ ついてなかったらハード屋をシバいてやれ
348 :
た :2008/03/06(木) 03:30:56
>>346 そうそう、2度読みで気に入らなきゃ、LPFと
シュミットでいいんじゃないかと思うけど。
入ってくる波形の性質を特定しないで、あれこれ
共通の解決策を模索するのは組み込みっぽくないよ。
未踏界隈にでも任せておけば?
キチガイは巣に帰れ
350 :
た :2008/03/06(木) 03:34:36
351 :
た :2008/03/06(木) 03:36:25
それよりさ、RTOS何使ってるか・・とか、 組み込みのソフト屋っぽい話しない?
チャタ(・∀・∀・)リング
>>346 そういう遺物をいまだに使ってるのか?Z80にPIO付けてた頃の技術じゃないか。
今はCRを付けても昔とは接続が逆。入出力ポートの方向切り替え使ってでシュミット特性を出す。
場合によってはCも節約出来る。
>>348 お前は仕事は細かく命令されてやるものとでも思ってるのか?
仕事は自分で創るものだろ?
>>351 何使ってるかってるかって話題が何か面白のか?
アマチュアなら何か面白いのかもしれんけど、組込屋にとったら道具は道具。
355 :
仕様書無しさん :2008/03/06(木) 08:11:13
>>318 > ノイズで出力が反転しない場合というものが果たしてあるのだろうか?
> ホワイトノイズでなければあり得る。低周波成分が強ければ頻繁反転しない
> ことがありえる。
自分に都合の良い部分だけを引用して、勝手に文章全体の意味を改竄するな。
そもそも「ホワイトノイズ」という言葉の意味がわかって使っている
のか?「ホワイトノイズ」とは、全ての周波数帯域においてエネルギーが
均一に混入した雑音のこと。
デジタル回路において、信号レベルが変化するかどうかは、ノイズの
振幅によって振られた信号電圧が、閾値レベルを超えるかどうかによる。
ノイズの周波数や、その周波数分布にはまったく関係ない。
閾値を超えないノイズは結果としてポートのH/L変化に現れないので、
プログラム的には、判定できないのは当然である。
356 :
仕様書無しさん :2008/03/06(木) 08:12:05
>>315 > N回一致採用というテクニックでは
> ・ ON優先・OFF優先は出来ない。
そんなコトはありません。そもそも「優先」の定義自体が明確化されて
いませんが、「On→Off検出」時と、「Off→On検出」時で、N回一致の
「N」の値を変えることで、OnとOffそれぞれの確定までの時間(重み)を
変えることは可能です。
N回一致は、変化はできるだけ早く確実に拾いつつ、ノイズは極力拾わ
ないことを目指しており、どちらか判定しかねる状態を認めません。
(短時間のOn⇔Offは、その回数に関係なく状態変化なしとみなす)
> やるならN回AND/OR
> ビットシフトして マスクして0になるかオール1になるかというような手法なら
> マスク値を変更すれば対応出来るけど。
左脳が腐っても、そんなアフォな手法は使いません。
直前に読んだ値と最新の値をXOR演算で比較して、不一致(XORの結果が!=0)
ビットを検出したらレベル変化と判定。これで同時に複数ビット(スイッチ)
の判定が可能。
状態変化があれば、Nを初期化。
状態変化がなければ、Nの値が0でない(前回以前に状態変化を検出)時、
Nの値をデクリメントし、0になった(N回一致成立)時、状態変化を確定
とする。 このとき、先にXORした結果で'1'のビット(スイッチ)のみ、
最新の値を調べ、変化のあったビット(スイッチ)の状態変化の方向
(On→Off/Off→On)を判定する。
>>355 まあ、おっしゃる事はその通りだけど、最後の行
抵抗1本入れるだけで閾値レベルはコントロール出来るよ
CPU---R---inp
CPUの内蔵ポートを出力にしておいて方向レジスタを入力に変更すると、
端子の既成容量とRで時定数が出来るから、
方向レジスタを変更してから実際に入力するまでの時間で閾値をコントロール出来る
>>356 その実装だと、結局 N をカウントするためのカウンタがM個必要になる。
FixedPort ^= (~(OldPort ^ NewPort)) & (FixedPort ^ NewPort);
の2回一致採用に比べたら、結局ループで処理しなければならない。
だったら、ループでビット回転した方が分岐回数が少なくなってコストが安価になる
8回一致なら
for(i=0;i<8;i++){
PortShift[i] <<=1;
ROL(NowPort); // msbをlsbに持ってくるビット回転
PortShift[i] |= NowPort &1;
assurd <<=1;
assurd |= ((PortShift[i]-1)&0xFF) >= 0xFE; // 0x00と0xFFの時だけ1 それ以外は0
}
その後、
FixedPort ^= assurd & (FixedPort ^ NewPort);
まあ、ロータリデジスイッチのように4ビットが一度に変化する場合や、キーマトリクス
のエンコード結果なんかはカウンタも使えけどね
3回一致なら assurd = (~(now & old1 & old2) ) & (now | old1 | old2) FixedPort ^= assurd & (FixedPort ^ now); old2=old1; old1=now; だったかな
and した結果と andして orした結果とorする実装でもいいのかも
あ、逆だ
362 :
仕様書無しさん :2008/03/06(木) 09:59:00
>>355 なんか鬼の首をとったようなことを書いているが、仮にホワイトノイズの意味がおかしかった
として、本論のどこに影響してくるのだ?
長間隔2回一致より、短間隔n回一致の方が正確さで上回るとでもいうのか?
どう影響するかをを書いてないから「だからどうした」となるのだが、私がそれを書いてみる。
普通は、ホワイトノイズの平均レベルと、01の閾値が同じ場合を仮定する。
つまり、これを閾値処理したデジタル領域では01が同頻度でかつ完全ランダムに現れる。
これだデジタルで言うホワイトノイズ。
逆に言うと、ノイズの平均レベルと、01の閾値が異なる場合は01の頻度が偏る。
偏った場合に信頼性が落ちるのはn回一致の方だ。
>>285 に書いているが、ホワイトノイズ性を前提にしているのは短間隔n回一致方式だけ。
だからホワイトノイズ性や、平均レベルのずれが起きると、性能(正確さ)が落ちる。
長間隔2回一致方式は、ホワイトノイズ性を利用してないので、性能は一切落ちない。
自爆したな。むしろ、長間隔2回一致方式の優秀さを示す結論になってしまうのだが。
重箱の隅というか自爆つっこみでなくて、もっと本質的なつっこみをできないのかね。
仕事でも「話の筋が見えてない」とかなんとか言われて苦労しているだろ(邪推)。
363 :
仕様書無しさん :2008/03/06(木) 10:29:31
>>358 監視するスイッチの数(ビット数)が増えても、カウンタは1個で対応可能
です。
>「ホワイトノイズ」とは、全ての周波数帯域においてエネルギーが 均一に混入した雑音のこと。 この定義だと、パルス状に来るノイズもホワイトノイズになるぞ さらに、時間的にも分散している事が要件に入れないといけないな またエネルギー均一といっても、その分布がどんな分布かも言わないと 後半の閾値を超える確率等の議論にならない。
>>363 って、もしかしてどのポートが変化しても無視するわけ?
ちょっとその部分のコード書いてみてよ。
もしかしてロータリスイッチとか、 DIPSWとか、キーボード限定の話?
366 :
仕様書無しさん :2008/03/06(木) 10:43:42
>>362 まず、ホワイトノイズの意味を理解してから書き込んでくれ。
「デジタルで言うホワイトノイズ」など存在しない。
N回一致による判定は、ノイズの成分を特に限定しているわけではない。
>>285 で指摘している
> ・スイッチの切り替え時間間隔は十分長い
> ・ノイズの時間的局所性
> ・ノイズのホワイトノイズ性
> を前提としており
は、まさに、長間隔2回一致方式にあてはまる欠陥そのもの。
(スイッチ押下/解放とポート読み込みは非同期なので)2回読む長間隔の
2倍以上の時間幅でスイッチが押し続けられていることを前提にしており、
なおかつ、その2回読むタイミングでは、都合よくノイズが混入しない
前提になっている。
N回一致では、N回中(N-1)回のノイズやチャタリングの混入でも誤動作
せず、実際にスイッチが押され(離され)続けていればいずれN回一致は
成立するので、(サンプル周期が短いので)2回一致方式よりも早くかつ
確実にスイッチ(信号)の状態を読み取れる。
「ノイズのホワイトノイズ性」は書いている本人が説明できないので、
意味不明。(w
なんかすさんでるな。
組み込みの現場っていつもこうなんだろうな。
ご苦労なことです。
>>303 旧帝大ならこの業界には踏み入らない方がいい。
情報や電気なら仕方ないが機械なら他に道はいくらでもあるよ。
もうちょっと精密に考えよう。 スイッチやリレーは、操作を始めてから最初に接点が反転するまでの時間(ON時間/OFF時間)と 最初に接点が動作してから安定するまでの時間(バウンス時間とかチャタリング時間という)がある 接点が動作してから安定するまでの時間は、 1, 接点が擦ってる時間 2, 接点を支える系の振動を遠因として起きるもの となる。 1については短時間であり、その区間の確率は一定で近似してよい。 長いチャタリング時間のものは主に2が長くなる。 2については、系の振動は指数減衰をするので、その頻度も指数的に減衰する。 つまり、exp(-k*T) とか exp(-k*T^2) なので、減衰速度の遅いexp(-k*T)で近似する。 「チャタリング時間の1/5をサンプリング時間にする」というような場合は、この指数減衰で近似して 論理展開したもので、昔のチャタリング時間の長いスイッチの頃の話。(今ではリレーくらい) 現在のスイッチは小型でありバネ類の機構も金属ではなくプラスチックとなり 振動原因の時間はどんどん短くなっている。 よって、チャタリング発生確率が等確率なので、サンプリング間隔を短くしN回一致のNを大きくする 程に、チャタリングに対して時間精度を上げる事が確かに出来るという事になる。 ・・・・が、スイッチの時間精度そんなに必要じゃないし、 そもそも接点が擦り終わったらチャタリングそのものが終わってしまうからなぁ
369 :
仕様書無しさん :2008/03/06(木) 11:34:22
>>364 >どんな分布
355では無いが、「全ての周波数帯域において」と明記されている。
>>366 >「デジタルで言うホワイトノイズ」など存在しない。
まあいいや。分からなかったら、「完全な乱数」と読み替えてくれれば問題ない。
きっとあなたは電気屋さんだな。
完全な乱数だと10回一致では1024分の1の確率で誤動作するが、
偏りのある乱数になると、さらに悪化する。
>N回一致による判定は、ノイズの成分を特に限定しているわけではない。
頻繁にLow-Hilghレベルが反転するノイズに限定してる。
>長間隔2回一致方式にあてはまる欠陥
ほんと
>>362 を理解してないな。
2回一致方式が使ってるのは「ノイズのホワイトノイズ性」以外の2つのみ。N回一致は全部使ってる。
それと、最後のまとめだが、おおむね問題ないが以下の2点が問題。
・チャタリング以外のノイズまで取ろうとしていること。(別の方法で対策すべき)
・n回一致方式が運だのみの方法で、ランダム性の低いノイズには特に弱くなる。
370 :
仕様書無しさん :2008/03/06(木) 11:42:41
>>369 (N回一致と銅条件の)完全な乱数だと2回一致方式では4分の1の確率で
誤動作するが、 偏りのある乱数になると、さらに悪化する。
2回一致方式は、チャタリング以外のノイズには対策なし。
2回一致方式が運だのみの方法で、無対策でノイズに極めて弱い。
2回一致方式は、チャタリング時間よりわずかに短い時間のチョン
押しを取りこぼす可能性がきわめて高い。ダブルクリックなども
拾えない場合が高い確立で起こる。
2回一致方式は、サンプル間隔が長いので、確定までの時間のばらつき
が大きい。
>>369 全ての周波数帯を含むというのは周波数軸での話。
時間軸での強度分布とは別の話だよ。
たとえば、時間軸で1~-1の一様分布でも、正規分布でも、周波数軸ではフラットになりえる。
デルタ関数も周波数軸ではフラットになるのだからね。
時間軸で1~-1の一様分布なら、当然あるレベルまでノイズは入力されないし
正規分布ならどんなに小さくても分布に応じた確率でノイズが入力される事になる。
372 :
仕様書無しさん :2008/03/06(木) 11:57:17
>>370 あのな、「長間隔2回一致方式」は、運頼みではない。(
>>341 参照)
それとあなたの考える「チョン押し」って具体的にどの程度の時間?
また、この場合もチャタリング対策が必要なのか?
いずれにしても、トグルスイッチには関係のない話だな。
>>370 ちょっとオカシナ事を言ってるよ。
そもそも、完全なノイズが入っていたらスイッチのレベルなんて識別出来ない。
それはもう壊れているのさ。
電磁ノイズはパルスで入って来るもの。 短いパルスで入って来て、その頻度確率Pが変化するわけ。
だから、N回一致を採用すれば、そのノイズを拾う確率をP^Nに下げられる。
Nが2でも P^2 には下がるわけ。
あと、2回一致のチャタリング処理は、
そもそも100msもチャタリング時間があった昔のスイッチ対策で入れられたもので、
その時のサンプリング時間は1/5 で20msで良いという事。
確かに今のチャタリング時間10ms以下保証のようなスイッチでは
>>368 で書いた理屈で2ms
サンプルでよいという事にはならないけどね。
チャタ(・∀・∀・)タタタタリング
チャタ以外の話題がノイズなスレですね
376 :
仕様書無しさん :2008/03/06(木) 12:38:21
確かに確率Pが大きいと、特に1/2で変な結論になるよな 間違っている確率P=1/2の時に4回一致採用で 1/16に間違ってる確率を減らせる? でもP=1/2なら、本来1が入力されるべきなのに 0,1が同じ確率で出るって事だよな? 1111の出現頻度は 1/16だけど 0000も1/16。
>>368 ねえ、根本的なこと聞いていい?
時間のマイナスn乗で変化する物理量って何なの?
振動の振幅なのかエネルギーなのか、はたまた振動の周期なのか。
っていうか、理解してない癖に背伸びして数式振り回してるのがバレバレだよw
378 :
仕様書無しさん :2008/03/06(木) 12:46:39
ははぁ、判った。 N回一致採用だから、確率は正しくは 誤りが連続する確率/(誤りが連続する確率+正解が連続する確率) だな。 Pn = P^N / ( (1-P)^N + P^N ) だからP=1/2なら やっぱり Pn = 1/2 Pが十分小さいなら分母を1で近似出来ると
>>377 指数に付いてるマイナスは、ようするに逆数って事 exp(-k*T)=1/exp(k*T)
減衰振動だから
Σ(sin(wn*t))/exp(k*t)
という格好をしてるわけ。
振動項と減衰項に分けて、それを遠因としてチャタリングが起きるから
物理量は振幅でもエネルギーでも、kの値が2倍になるかどうか程度の事だから
exp(-k*t) でいいわけ。
で、 「遠因ったってメカニズムが判らないんだから 必ずその式になる筈がない」 というのに決まっているから そのメカニズムを 演算子Fだとすると Fと exp(-k*t) の畳み込みになる。 Fがリニアだとすれば 結果は、 ΣAn*exp(-k*t)^n = Σexp(log(An)-n*k*t)
381 :
仕様書無しさん :2008/03/06(木) 14:49:38
>>366 意味判らん。
「全ての周波数帯域においてエネルギーが 均一に混入した雑音のこと」
の「全て」を数学的な「全て」と定義したら、ホワイトノイズなんてそもそも実在出来ない。
実在したら無限大のエネルギー=無限大の出力がそこに出来るわけで人間も実在出来ないぞ。
観測可能なとか、そういうのが当然に前にくっついてるわけ。
たとえデジタルサンプリングだろうが、2値しか取らないだろうが、ホワイトノイズはホワイトノイズだ。
組み込みっていっても所詮プログラミングだろ
コード置いただけで動くと思ってるの?
>>379 指数のマイナスの意味ぐらいは知ってるけどさw
ごめん結局何がいいたいのか良くわからん。
確かに時間の指数関数に一般化していい理屈はわかったけど。
ちょwwwwwwwwまだチャタの話してんのかよwwwww バカばっかりwwwwww
笑っておままごとしたい人がいるんじゃないの?
団塊に何も教わったことがなかった。 団塊がバグだらけのゴミ作っておいてったのを保守するハメになった。 ポスト団塊が凄まじい旧式組み合わせてもの作るとのたまう 戯言に付き合わされてる。 もうどうでもいいや。逃げ道探そう。
団塊世代の発想じゃ、今のコンピュータはまともに動かないんじゃないの?
動いてないから凄まじいバグ出して、 人たらねえたらねえわめき散らして、時間稼ぎの人狩りに引っかかった。 連中の20年に渡る努力の欠落分を今無理やり吐かされてる。 理解してるとは到底思えない。
おまけにPLDデバイスの中身回路図で設計してやがる。 勘弁してくれええええええええええええええ;;;;;;;
それは日進月歩で変化してる所で仕事してたらしょうがないだろ。 俺達だって10年先には同じ事言われるのは間違いない。 今使ってるコンパイラを走らせる為にIA32エミュレータを使ってるんだろうよ。 10年先にはどんな技術が主流か判らんけどね。
今は入力をCRで鈍らせてシュミットトリガゲートで受けてなんて言うと笑われるもんな。 10年先には、どんな手法でポート入力してるんだろうな
その前に消滅する予感がしてならない。 団塊やそれ以前のでたらめのしりぬぐいばかりだ。
395 :
仕様書無しさん :2008/03/07(金) 05:20:51
39 名前:仕様書無しさん 投稿日:2007/05/16(水) 23:54:51
まずは人月単価50万とか
無茶な値段で仕事をとるような会社が絶滅してくれないとな
40 名前:仕様書無しさん 投稿日:2007/05/17(木) 00:50:24
>>39 喫煙所で立ち聞きしたときの事。
研修という大義名分でタダで案件とろうとしている会社があるくらいだしな。
内訳は
・SE(単価40万) × 2
・新人(定額使い放題無料) × 3
仕事を投げる方は月400万(80×5)元受から貰って
下請けには80万払うだけ。
単純にその1時請けは月に320万の粗利が出る訳だ。
この業界馬鹿らしすぎる
396 :
た :2008/03/07(金) 12:58:54
静かになったね。
最近の若い者はアセンブラを知らん。 わしならば超絶技巧で通常の倍で動かしてみせる。 こうですか?
コンパイラの最適化をバカにしちゃいけないよ。
状況によりけり 今風なRISCだとコンパイラの最適化で十分だけど、変態アーキテクチャだと人の手を入れるとかなり速くなる場合がある。
変態アーキテクチャでバグ入りchipとかっていうオチ?
バグはともかく、レジスタの直行性がないくせにレジスタいっぱいみたいな奴とかだと 意気地のないコンパイラはレジスタに変数を割り当てたりしない。 そのての奴には「俺はレジスタだけで完結してみせる!!」みたいな人力最適化が結構有効になる。 こういうのに限ってメモリアクセスが遅かったりするんだよね。 当然だが、全体の処理時間のほとんどがこの関数一つ、みたいな時しかお勧めしない。
Fかな?
割り込みの中はアセンブラ
今時?
奴隷商人はアセンブラがお好き?
割り込みよりホントは、マルチコアというか8つくらいのレジスタバンクを時分割で切り替えられるようなのが欲しいな 32MHzで動くなら 4MHzのが8個あるような感じ。 割り込みの代わりにSleepの解除で同期する。 SIOとか説明書読むのメンドクサイの無くても、命令数数えて実装すりゃいいんだし
自分でFPGA上に実装しろよ・・・。 シリアルIO面倒っておまえ・・・・。 何考えて生きてるんだ?
> 命令数数えて実装すりゃいいんだし 詳しく説明乞う
409 :
仕様書無しさん :2008/03/08(土) 02:20:31
ここの人たちって派遣ではないんだよね?
>>406 それありかも
いろいろ周辺のせるぐらいなら、
同じCPU並べて乗せたくれたほうが、
汎用性が高いし量もはける。
>>410 本気で言ってるのかな。
そんなの使いにくくてかなわんと思うぞ。
「人月の神話」に書いていることは人をマシンの置き換えてもそのまま成立する。
経済学の言葉で言えば収穫逓減の法則という奴だけれども。
移植性考えて作ってる人が何人いるんだか?
移植性なんて考えなくても デバッグ時の手間を考えて ハードディペンドな部分とフルロジックな部分を分けて設計してれば 勝手にそうなるんじゃないの?
いきなりって感じの人がまだいるような?
>>408 例えば調歩同期の受信なら端子がLになるまでSleepさせておいて
命令数で時間作って、一定時間間隔でポート見るだけ
I2Cとかも、どうせ今でもCPUで実現してる場合も多いでしょ?
その場合時間はnop入れて調整してるでしょ?
>>411 ソフトで作って、NOP調整した方が早いと思うけどな
一度作っておけばライブラリ使いまわせるわけだしさ。
マニュアル読む時間あったらSIO/UARTとか作れてしまうでしょ?
通信舐めてる人がいるね?
I2Cのレジスタは面倒な上にあまりご利益ないな
シリアル出力はできるが、入力は案外難しいのよ。
>>415-416 ようするにソフトで UART とか作るって言ってるわけね。
まあ、がんばれ。
>>417 他のプロセサにどうやってデータ渡すのか知らんけど、データ
渡してる間にも次のデータが来ることを考えてなさげだし、
HDLC とかの同期式シリアル通信とかは知らなさそうだから、
妄想のまま放置しとけばいいんじゃね。
むかーーーーーし(6800、6502、8080)昔の大昔 無手順垂れ流しの通信しかできないころ、そういう実装を 一応タイマ割り込み基準でステップ数えてやる、というのが あって、そういうのを受け継いで実行時間数えてって 古式泳法みたいなソフトは現存するんだよ、多分。 作ってる本人たちは俺たちハイスキルとか思ってるんだろうが すでに周辺IP拡充し、割り込み使うの当たり前、DMAすら枯れてる そんな状況下では廃スキルなんだろうね。 製品も廃なんだろうが、ニッチで代替品が存在しないとか そういうのだね。みるとゲッ!となることうけあい。
珍しい、わかってる人がいる。
>>421 シリアル通信があとひとつ足んねー!
ってときには便利だけど、それ以外の場面で
役に立ったことはまず無い。
>>423 今、まさにその状態。
dsPIC30F2012 で赤外線通信をやろうとしているけど、1ch しかない UART は
PC の接続用に使ってるので、赤外線側をソフト (と言っても、取り込み自体
は InputCapture と Timer を使ってるが) でやろうとしている。
ちゃんとやろうとすると、結構面倒だよ。特に受信側は。
>>424 うん、めんどうだよね。
オレがやったときは対象が2400bpsだったので
速度に余裕あって 適当に組んでも許されたけど
赤外線って結構速いからやだよね。
>>425 まずは、携帯から赤外線で送信して 9600bps で一応 XID フレームの
機種とかが取れるところまでは確認できた。
PIC と言っても、30MIPS だから、9600bps なら1ビット毎に3,000 命令
ぐらい実行できるからCで割り込みルーチン書いても楽勝のようだ。
赤外線モジュール (秋月のやつ) は、上限 115.2Kbps までいけるけど
115.2Kbps では1ビット 260命令ぐらいになるので、対応できるかは
ちょっと微妙。(アセンブラでカリカリチューンすれば何とかなるかな?)
まあ、趣味の領域だからできることだけど。
その上 (0.576Mbps, 1.152Mbps, 4.0Mbps) だと、流石にハードの支援が
ないと無理だろうな。
俺そんなのやりたくないw
趣味でやるならなんでもありだと思うけど、仕事としてだと最低だな。 UARTが足りないなら足りてるCPUに変えるか16550みたいな石を追加するのが当たり前。 何らかの原因でそれができないならそのプロジェクトやチームや会社は腐っている。
でもまあ、数十~百バイトぐらい確保できれば、 送受信割り込みと少々のFIFOぐらい準備できるよな。 それすらケチって、バックグラウンドの処理は動かなくなるわ 通信はこぼすわで客に不評喰らうなんてのが いまもあるとすると不幸だな。 なんか。
>>420 4bitでHDLCも送信はやった事があるよ。CRCの計算もやって2400bps
受信は8bitが必要だった
最近のマイコンはHDLC持っる品種探して使ってもすぐ廃品種になるんだから
命令でペリフェラル実現出来る方がありがたいよ。
うちは少ロットだからさ
FPGAつかえよ・・・。
>>427-429 純然に趣味の領域、パズルみたいなもんだよ。
流石に趣味とは言え、命令数数えたり NOP で調整とかのバカなことを
やってるわけじゃないけどね。
dsPIC30F は、入力信号が変化した時にタイマーの値をキャプチャして
割り込みを掛けてくれる機能があるので、これで信号波形を取り込んで、
後はソフトでバイト列に直して、PC に送信している。
>>430 同期シリアルのクロックの生成はどうやったんだ?
2400bps とは言え、結構大変なはず。
詳しく説明してくれ。
>>431 今時なら、それが正解だよね。
全ての機能を FPGA に入れなくても、ビットシフト関連をハードでやっ
てくれるだけでも、ソフト側は相当楽になるしね。
433 :
仕様書無しさん :2008/03/09(日) 05:59:33
LSIのSPGAとかで、組み込みPGって面白そうだなと思っている 就活している大学3年ですが、LSIの設計でも給料とか残業ヤバイ? いまなら、製造業で30で年収600万位の選択もあるんだが 組み込みPGで30で600が難しいのだろうか? 将来性(中国やインドに・・・)も含めて教えて下さい。
2chなんかで聞くよりリクルーターに聞いたほうがいいんじゃね?
>>432 クロックはデータと合わせて、ソフトでパタパタさせるわけ。
送信データ固定の部分があるからその固定の部分に
CRCとかの処理を書いた後で命令数数えて、
H/Lさせるコードをを入れてゆくのさ。
で、この時はMFM変調だったから時間分解能は2*2400Hzでも、間隔は1/2400 長い所はその2倍あるから 4ビットマイコンでも数100命令入るんで、そう大変でもなかった。 命令数数えるのは1回やればすむからね。 赤外線通信はボーレートの16倍の時間分解能 3/16の時間間隔が必要になるね。 それとPICはBCF/BSF使う時にバンク合わせの必要があるのが4ビットより面倒そうだ
パイプラインとキャッシュで容易に破綻しそう。
心配するな。 その手の技術で高速化されてるようなCPUで命令数えようなんて誰もしないから。
それが・・・それがね おrz いるんだよ。まだ。 Orz
440 :
仕様書無しさん :2008/03/09(日) 09:48:36
>>431-432 ビットシフトくらいなら、FPGAどころか、GALで十分だろ。
っていうか、HC322あたりと、HC74(半分)の組み合わせだけ
で、スタートビットから8bit分のデータ取り込んだら割り込み
掛けるくらいのことできるし。
オナニー覚えた猿や、道路利権を維持したい国土交通省の官僚と
一緒で、何かと理由をつけてFPGA使いたいだけだろうな。
いまどきGALだのPALだの使う奴いるのか? CPLDと言うべきだったかね。 TTL組み合わせでバカでっかい基板起こされて OPアンプでノイズ乗った乗った干渉したわめき散らされてるよりは 建設的なのかもしれんけど。
>>433 > 組み込みPGって面白そうだなと思っている
> LSIの設計でも給料とか残業ヤバイ?
いったいどっちに行きたいんだ?
いずれにせよ、所詮リーマンエンジニアだから給与水準は会社によってだいぶ違うよ。
年収 600 なら、そんなに高いハードルとは思えないけど、残業もそれなりにあるし
(会社や仕事にによるけど) 納期間際の修羅場もあったりするかも知れないので、正直
好きじゃないとやってられないと思う。
まあ、どんな仕事でもそうなんだろうけどな。
>>435 ああ、送信側のクロックじゃなくて、受信信号からのクロックの抽出方法を聞きたかっ
たんだ。ハードなら PLL でやってるところ。
>>436 3/16 については、dsPIC30F の Output Compare 機能を使えば、任意のパルス幅を出せ
るので、ソフト側は1ビット毎にレジスタを設定するだけですむ。
て言うか、パイプラインを持った CPU で命令サイクルを数えるなんて趣味としても
やってられない。
>>441 「
>>440 は、GAL なんかも知ってるんだぜ。偉いだろう。」って言いたいだけでしょ。
俺は金が安い所の場合、手を抜くことに決めてる。 みんなそうだろ?w
444 :
433 :2008/03/09(日) 11:02:14
>>442 thx
LSIの設計する人って組み込みPGと言わないのか・・・
これは何屋と言うのでしょうか。面接で、それをやりたいとプッシュしたいので
名前だけでも教えて下さい。
FAEというんだよ、坊や。
>>444 超大手は分からんけど普通の大企業程度ならFPGA専業なんていないんじゃない?
回路屋やソフト屋が必要に応じて自分で作る程度じゃないかな
447 :
433 :2008/03/09(日) 11:14:48
>>446 なるほど。LSIの設計をやっているという会社を狙って受けてみます。
しかし、中小は売り上げ/社員数が1000万切ってて大手じゃないと
給料が非常に少なそうですねorz
あのね。PC>>組み込み>>FPGA>>ASICの人口比率なんだよね。 だから、本気のツールの価格は中小で背負いきれないぐらい高いんだよ。 LSIの設計をやっているといいつつ、各種IPのライセンスを購入できず 大手の下請けで検証(これが・・・)、常駐という名の派遣になる例が 非常に多いことは頭に入れておいたほうがいいよ。 もうFPGAって絞った時点である意味FAEなんだけど・・・。 どうでもいいけど、理系院生臭いなあ。
FPGAなんてつまんねーし 狭いから受けないほうがいいぜ 製品単価1年で200万とか下がるからなw それが給料にダイレクトに反映もあるし
450 :
433 :2008/03/09(日) 11:31:07
>>448 死臭がしますか・・・
ICやLSIに携われたらなと思っていたのですがASICは
そんなに少ないのですか。高いらしいしなー。
PCというのはデバイスドライバのことですか?
451 :
433 :2008/03/09(日) 11:33:32
>>449 把握。
今から10年後まで考えるとするとお薦めの分野を教えて下さい
・俺がしらないハード屋か何か
・脱ITで営業
・脱ITで製造業
>>451 バイオで農業がおぬぬめだな。
学校もっかいいったほうがいいよ。おまいさんは道を誤った。
斜陽産業になるんじゃないかな。多分。
>>444 LSI の設計 (と言うか FPGA の論理設計) と、組込 PG の区別もついてないのに、
それプッシュするって ... 技術系の面接舐めすぎ。
FPGA の設計ってソフトに比べると領域が狭いから、付け刃の知識だけだとすぐ
メッキがはがれるよ。
って、書いてからからリロードしたら…
>>450 PCというのはデバイスドライバのことですか?
かよ! こんな場末の釣堀で釣りしてるんじゃねーよ。
>>446 回路屋が FPGA も合わせて設計するのが普通だと思う。
ハードもソフトもわかる両刀使いのカリスマエンジニアがいるとか、超零細でソフ
トもハードも手配も1人でやるとかでない限りは、ソフと屋が FPGA の設計する事
はないと思うな。
454 :
433 :2008/03/09(日) 11:38:32
>>452 東芝とかが超リストラしてて、DRAMも安すぎるし
やばいかなーと最近思っていたんだけど
斜陽産業ですか・・・
家電やmp3プレイヤに乗せるチップとか開発したかったのですが
斜陽かあああ
>>453 まさにそれ、面接対策でもあります。
具体的なことを言えると熱意を伝えられるので
聞いておいて本当に良かったよ。FPSGとか聞きかじっただけでは
部長や役員クラスの面接は突破難しいか
相手の土俵だから、質問攻めで5分で丸裸にされそうだと感じた。
だってここですら全然話が出来ない俺なのだから。
>>454 じゃあもう少し背中をおしてあげる。
おまえさんの夢見るチップのコアはARMというプロセッサIPコアが
ほぼ一人勝ちしてて、その周辺のデコーダ云々のサードパーティも
海外ベンダが非常に盛況。日本で息をしてるのは家電で
業界団体の締め付けが激しいところぐらいじゃないかな。
それも中身はアレでやっぱり海外・・・・。
製造は台湾が一人勝ちで中国持っていって焼き込んでるようね。
ってことでガンバレルネ○○(フォローにもなってない・・・)
ノキアに就職がいいと思う
>>455 体育会の海苔で行けば大丈夫じゃないかな。
面接官< うちはお客さんとの付き合いが・・・
おまい< はい、よろこんで!
面接官< 英語の文献大丈夫か?
おまい< はい、よろこんで!
面接官< よし、おまい採用!
おまい< はい、よろこんで!
突破簡単そうでよかったな。
459 :
433 :2008/03/09(日) 11:47:36
>>456 >それも中身はアレでやっぱり海外・・・・。
俺の心を激しくえぐった
なんか冷めてきたわー。どうする俺
460 :
仕様書無しさん :2008/03/09(日) 11:55:11
461 :
仕様書無しさん :2008/03/09(日) 12:11:57
店頭での販売価格が1万円~数万円ほどに過ぎない、激安家電やMP3プレ ーヤなんて、年間数十万台(月産数万台)規模売れるものでさえ、末端の 市場規模で、せいぜい数十億円止まり。 それに使われる1つの部品に過ぎない半導体デバイスに、たとえシリコン の原価がタダ同然だったとしても、年収1000万円超の技術者を投入して コストに見合うわけがない。 しかも、昔のように一人でソフトもハードも全部こなすならまだしも、 頭デッカチなだけのトッチャン坊や。 おまけに、MP3規格が世に出た当初ならまだしも、デバイスの種類や機能 がこれだけ豊富な現在、わざわざコストとリスクをかけて新規に設計・ 開発しなきゃならん理由がない。 技術者や研究職での採用なら、学生気分の延長で、入社後も自分の オナニーが一生続けられるとでも思っているんだろうか?
462 :
た :2008/03/09(日) 12:43:40
業界全体が斜陽産業だよね。 趣味で色々楽しむくらいが丁度いいような気がする。
企業規模に関わらずおなぬーできる会社も多いよ。 色々知ってるとやべーここだめだOrzってことも多く・・・。
>>461 何が言いたいのかよくわからんが、まあ君が非常に恨みがましい奴だということだけは
よくわかったよ。
>>458 面接官< うちはお客さんとの付き合いが・・・
おまい< はい、よろこんで!
面接官< 英語の文献大丈夫か?
おまい< はい、よろこんで!
面接官< 帰れ!
おまい< はい、よろこんで!
こうじゃないのか?
466 :
仕様書無しさん :2008/03/09(日) 15:25:34
> 企業規模に関わらずおなぬーできる会社も多いよ。 独立行政法人?
>>443 オレは逆だな。
安くて小さい案件には、許されるギリギリまで時間をかける。
そうすると、次に少し大きい案件が来る。
最初に作った印象だけで、たいした営業無しでも仕事が作れる。
足が出そうな分は他社の大き目の案件で水増ししておく
468 :
仕様書無しさん :2008/03/10(月) 00:04:06
>>455 いや、まあ、FPSGはおいておいて・・・・
「英語と高次数学とコミュニケーションを徹底的にやりました・・・・」
それだけいえばいいんだよ。
なに、それだけがあればシリコンの絵描き屋ぐらいにはなれるよ。
ただし、本当に半導体屋をやるならさらに勉強がいるけど・・・・
469 :
仕様書無しさん :2008/03/10(月) 00:08:14
>>461 ばかこけ、シリコンの原価がただみたいなものという時点でロジックがおかしくなるだろうが・・・・
>技術者や研究職での採用なら、学生気分の延長で、入社後も自分の
>オナニーが一生続けられるとでも思っているんだろうか?
日本の半導体はほとんどオナニー製品ですけどなにか?、
そのオナニーの仕方そのものが低レベルだし、女(市場の)ことを考えないことばっかりやっている
から市場からそっぽを向かれるのです。
470 :
461 :2008/03/10(月) 00:38:04
>>469 「原材料としてのシリコン」であって、技術という付加価値の付いた
半導体そのものを指しているのではないのだが?
つまり、「タダ同然の材料に付加価値を付けて=完成品に付く価格の
ほとんどが付加価値(=技術者コスト)だったとしても」と言っているのだ。
ゆとり世代にはそこまで手取り足取り説明せにゃならんのか?
ダメだコリャ。
>>461 ソフトしか触れない組込み技術者としては三流な俺はお門違いなんだろうけど、
ちょっと気になったんで。
>デバイスの種類や機能 がこれだけ豊富な現在、
>わざわざコストとリスクをかけて新規に
>設計・開発しなきゃならん理由がない。
会社バレると思うけど、うちの会社に「半導体社」ってのが有って、
そっから自社製チップなるモノが届いて来るんだけど、
設計開発してなきゃコイツらは何をしてるんだ?
MP3プレイヤでは無いんだけど、一応家電。
あと微妙にインフラ関係とか。
472 :
た :2008/03/10(月) 01:38:24
>>471 もっと面白い石を作ってって伝えといてくれると
嬉しいですw
473 :
461 :2008/03/10(月) 01:49:27
>>471 「半導体社」って呼び方は東芝か?(w
> 設計開発してなきゃコイツらは何をしてるんだ?
車輪の再発明でしょ?
デジタル回路でも、新しい通信規格、画像処理、セキュリティでてきて、まだやる事は沢山あるだろうけど、 やっぱ、だれでもできる開発手法になっている。 アナログ回路は、企業の時代遅れとの勘違いにより、人を育てることをしなくなくなった。 今、各所で重宝されるアナログ・高耐圧などのノウハウをもった技術者は高齢者ばかり。 企業にアナログノウハウがなくなって、このじいさん達はアナログの神と呼ばれ、一目置かれている。 とっとと、彼らに定年まで高額な給与保証をし、若い層にノウハウを伝授する人になってもらわないと、 ものづくりが破綻すると思う。 ノウハウない客は目先の商品の為に、彼を実開発に抱えるから、後継者育てる暇も無い。 10年後を見据えたら、彼らを抱えて、アナログ設計のノウハウ教育に当たらせるべき。 いったん、目先の仕事ができなくなっても。 私はソフト側なので、プロセスとかを除けば、デジタルLSI設計者は対等ぐらいに思うが、 アナログ設計者は神かノウハウを一人で抱え込んだDQN職人なのか判断できない。
475 :
た :2008/03/10(月) 02:34:58
デジタル三年、アナログ五年、高周波は十五年って言うよね。 組み込み系は奥が深い。まだまだ勉強することが沢山あるよね。 車輪の再発明ってのは、バブルが弾けて今から大変なWeb界の人達が好む用語で、 このスレの品位を汚すよ、気をつけてね。
穴だらけのWeb界?
>>473 >車輪の再発明でしょ?
知財なんて関係ない会社は気楽そうで良いな
あえて言うが いまだにWeb系がバブル期だとかつい最近弾けたとか思ってる時点で「遅れてる」 品位も何もあったもんじゃない台詞を吐くな屑コテ
>>478 元締が弾けたことに気付いてないみたいだね。
本当の不況は今からだよ。
後ろの席の人が終端抵抗も付けてないRS485使用の装置のデバッグやらされてるよ 案の定うまく動いていないらしい。 電気担当者ど素人だからなぁ・・・南無南無
>>481 ど素人なのに人の意見を聞かない基地外だから困る。
「付けてないんだけどね~」とか言っている模様。
もしかすると終端抵抗付けられる設計になってなかったりして・・・。
もしくは何Ω付ければいいか分かんないとか・・・。怖い怖い。
> ど素人なのに人の意見を聞かない基地外だから困る。
案外、
「
>>480 さんが、終端がないって言ってたんですけど...。」
「あ~、あの人いつも頓珍漢な指摘するから、聞くだけ無駄。
受け流しときなよ。」
って言うオチだったりして (w
それはありがちだな
>>480 がいるようなアホがいる会社に一人だけ頭のいい奴(
>>480 )が混じってる可能性は少ないからな
485 :
仕様書無しさん :2008/03/11(火) 22:58:30
ある求人を見て応募しようと思ったのですが、 「QMS」って、どんな仕事をするのですか? その求人先がファームウェア開発会社なもので・・・。 品質管理って事は「テスター」って事なのでしょうか?
たぶん、、後だし仕様書書き。
>>471 ゆにふぃえか?
ゆにふぃえならいろんな製品に搭載される
プラットフォームやけん、ある程度金かけて開発する意味あるよな。
うちはゆにふぃえとか高くて使えん。
やっぱりチャタリングの例の人が来ないとツマランな。
召喚しようとせんでよろしい
チャタ(・∀・∀・)リング♪
チャタ様を崇めよ
スレがチャタるからやめろw
チャタテムシの噺はどう?
うむ。許す
そういやドコモのDやSOの撤退で組み込み屋が大量に出回るのかね?
>>495 携帯の現場は95%以上が組み込みプログラマの名に値しない連中だから
それはないだろう。
業務系に戻るわけ?
携帯の現場ってエキスパートの集団じゃないの?
>>499 エサに魅力がないなw
可哀相だから釣られておくよw
karoushi(世界に例が無いので英語になっている) のエキスパートかもしれんが。
>>501 > karoushi(世界に例が無いので英語になっている)
嘘書くなよ。
普通に、"death from overwork." で通じる。
>>501 英語になっている’という日本語の意味は日本語がそのまま英語圏で通じるということだろ。
英語版wikipediaにkaroshiがちゃんと載ってるよ
日本語を英語に訳すことが出来るのはわかったからその前に日本語を覚えろよ。
504 :
503 :2008/03/18(火) 12:52:13
harakiri
だからdie()をharakiri()にするんじゃねえ外人
otaku
>>503 wikipedia なんて言う、信頼性のないもの引き合いに出されてもな。
sushi とか tsunami ぐらいになってからでかい口叩けよ。
>>508 おいおい"karoshi"が英語化してるって話は"tsunami"以上に有名な話で、
単にお前さんが無知なだけだろw
っていうか君
>>502 "death from"ってそんな変な英語があるのかよ本当にw
普通に考えれば"death by"だろ
普通に考えれば death from/by~ は単語ですらない
>>511 君もかなり頭悪そうだねw
単語か否かなんて話誰もしてないと思うぞ
kumikomi
>>509 karoshi は、研究社 新英和中辞典、プログレッシブ英和中辞典、三省堂 エクシード
英和辞典 のいずれにも載ってませんが何か?
ちなみに、tsunami は全て載ってる。
> "death from"ってそんな変な英語があるのかよ本当にw
おいおい、お前が見たって言う英語版 wikipedia の一行目すら訳せないのか?
| Karoshi (過労死, karoshi), which can be translated quite literally from
| Japanese as "death from overwork", ...
バカはおとなしくしてればいいのに、なんで墓穴掘ってしまうんだろうか (w
>>515 母国語うまくつかえない奴がいるのは日本語も英語も一緒。
"from overwork"なんて表現は明らかに変だ。
まあその記事ネイティブが書いてるかどうかも本当はわからないけど。
>>516 >>508 >>517 > "from overwork"なんて表現は明らかに変だ。
from には「~から」の意味しかないと思ってるバカは黙ってればいいのに...。
~よりの って訳し方もあるね。The Thing from Another World. とか
ここは英語を日本語訳にするスレか? 関係ない話するなら出て行け スレが汚れるわ
便所の落書きにきれいも汚いもあるか
いや、いまノイズが乗ってるだけ。 で、ノイズ調べようとするとそこからさらにひどいノイズが乗る。 最後はなかったことにしてごまかす。
だれか信号増やせよ。
>>520 お前もアホかよwそういう問題かよ
byと同じように「原因を表す」用法があるかどうかだろ問題は。
で調べてみると確かにfrom~で原因を表す場合もあるようだねその点はすまん俺の勘違いだ。
やはり"death from overwork"というのは違和感ある表現だとは思うが。
違和感があろうがなかろうが意味が通じればいいわけで、 その辺グダグダ言い出したら切りはない。 欧米で組み込みソフトウエアエンジニアの扱いはきっと 日本のそれよりかなりマシなんだろうと簡単に推測はできるけど 過労死なんて言葉は定義しないですむ社会の方が きっとまともなんだろうと誰でも思うだろ。 ということで、過労死英訳ネタは破棄に送っとけ。
kuikomi
> やはり"death from overwork"というのは違和感ある表現だとは思うが。 from には「~から」の意味しかないと思っていたバカは黙ってればいいのに...。
529 :
仕様書無しさん :2008/03/20(木) 15:11:25
てめえらみんな死ね なにが一流だよw 関係ないことで数日に渡ってギャーギャー言ってる餓鬼
530 :
仕様書無しさん :2008/03/20(木) 17:11:26
このスレの住人なら知っていますね、あの糞開発ツールのことを ・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている ・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる 糞だけど、政治的な理由で無理やり使わされているんですよね。 もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。 ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
コピペ君って馬鹿だな、まで読んだ。
>このスレの住人なら知っていますね、あの糞開発ツールのことを 知らん
ツールが信用できるってのが 組み込みでどんだけ仕事の効率を上げるか って実体験したよ。 コンパイラバグのためのコーディングとか知らんでいいし リファクタリングも思い切りやれるし。
じゃあ、マイコンが信じられなかったらどうすればいいのん?
>>534 信じられる部分と信じられない部分を
根気よく切り分けていくしかないだろ。
開発はそれからだ。
>>535 開発の最後のほうになっていろいろ動き出したら
CPUのバグ、コンパイラのバグ、ツールのバグ
とか色々出てくるからなあ。
その部分だけ切り分けると正常とか、もう最悪。
マイコンを作っている企業の体質が信用できない場合は?
普通は、信用出来る部分と信用出来ない部分を切り分けて、蓄積解析することで、 信用度の高い製品に仕上げて行くんだろうに。 だいいち、何が一番信用置けないって、自分のプログラムだろうしな。
他社品で完全動作してるからそこは信用できる蓄積もあるんだよ。 問題は、そこの企業の製品、という一点。
>>536 >開発の最後のほうになっていろいろ動き出したら
こういうことがあると困るので
最初のうちから機能単位で切り分けて
細かくテストすることが大事
組み込みで 一番信用置けないのは ハードウエア。 いいよな。ハードが動くって前提のPC系は
>>541 出来合いのハードウェアなら大抵問題ないだろ
問題なのは自作ハードウェア
だけど、PCでも拡張ボードが自作ならそれは同じこと
むしろ、巨大すぎて把握しきれないOSが間に挟まる分PCの方がたちが悪い
糞だとわかってる開発ツールを政治的な理由で使い続けるって、、 マネージャーはよほどの能無しなんだろな
>>543 確かに無能かも。キックバックウマーだから変える気は無いが
そういう奴は上の受けは良くて出世するw
>>544 人間的には最低な奴だな
見返りもらって糞開発ツールを部下に押し付けか
さぞかし嫌われているんだろうね
経営者の夢はプログラマーのない開発だモンナ。 このツールを使えば効率が上がって 生意気なプログラマを解雇できます! って何度だまされたら判るんだか。
そういう馬鹿経営者の社員はやってられないよな 糞ツールの会社にモルモット/テスター扱いにされて
そういう事やるのは経営者じゃない管理屋だよ。
筆に見える何か別な物では弘法大師も字は書けまいて。
卓球のプロはスリッパでもレシーブが打てるよ
そうだね、プロなら糞開発ツールでもサーブが打てるね、きっとw そんな屁理屈で糞開発ツールをごり押しすれば嫌われるわな
好かれてもお小遣い増えないしね。 だったら嫌われてもお小遣いもらった方がいいよね。
もっと上の人間に「あいつは小遣いの為に糞開発ツールを 押しつけて開発効率と士気の低下を招いてる」って報告す ればいいんだよ。
そうそう、糞開発ツール推奨する馬鹿上司のさらに上司に直訴すればいい 糞な開発ツールを無理矢理使わせる上司の下じゃ働けません! ってな
けど上の上の人は下っ端の意見など聞かない
経営者→管理者→技術者だからな。 管理者は板ばさみになるか、YESマンになるしかない。
上の上の人も無能な場合はそうだろうね
コンサルタント → 経営者→管理者→技術者 こうなってると最悪の経路。
糞もなにも、 「タダだから」という理由でGNU系のツールか自作しかありませんが何か?
仕事で工数をかけて自作する以上、タダはありえない それをタダと認識する管理職は辞めたほうがいいな
GPLでズバッとアルゴリズム大公開を狙ってる。 むろん事がおわったらずらかる。
564 :
仕様書無しさん :2008/03/22(土) 13:49:06
仮にお前が会社で使うツール作れと言われたら 間違ってもタダで作るなよ 規模によるがそれだけで100万はいただける
俺は作らずに同業者に仕事回したよ。
>>564 ツール作るのに1人で一か月かけたらもう100万超えるよ
その後のメンテ、各担当者のサポート工数、開発した社員が辞めた時の
リスクを考えたら、数百万円のツールなんざ、買ったほうがよっぽど安い
>>562 きっと、家で作って持ってくるか、研修扱いか何かの業務時間外で作るかするんだろ。
>>567 それはもはや「ビジネス」じゃないだろ
学生の「会社ごっこ」だw
>>566 オイラの会社は50万円/月計算 orz
571 :
仕様書無しさん :2008/03/23(日) 16:01:44
私が高校生の頃のお話です。 いつものように学校に行くため、駅のホームで電車を待っていました。 すると、向こうのほうから40代くらいのおじさんがこちらにやって来ます。 ものすごい速さで・・・・ しかも私のほうに向かって来る・・・ 私の目前に迫った瞬間ーー。持っていた新聞紙をクルクルっと丸めて 「この~!!あばずれ女っ!!」 と言って殴りかかってきたんです。 「おぉー!!」 私はとっさに頭をかがめ、おじさんの新聞棒は空振りに終わりました。 そのおじさん。。何もなかったようにさっさと去っていきました。 朝のラッシュでたくさんの人がいたのに 誰もが見知らぬふり・・(そりゃ~私のことなんざ~知らないだろうーが。。) それとも、中年男をだました本当の ”あばずれ女子高生” に見えたのでしょうか?
コピペ君って馬鹿だな、まで読んだ。
やっぱり駄目だな このスレはチャタリングを語らないともたない。
喪舞らのCPUのRAMは何バイト? 漏れは最近リッチで12kバイトなんだ
256バイト~32Kバイトまで、いろいろ使ったよ。たいてい足りない目で苦労させられるが、 最近、倍ぐらい余裕のあるサイズ使わせてもらって、ringバッファなんかぜいたくに取れて よかった。ringが小さいと、メッセージ出すとき一々前の奴が出ていったか調べたりせんと いかんのでめんどう。
自分でCPUの選定もすることが殆どだから 出来るだけRAMの大きいものを選ぶ ワンチップでも最低12Kバイトだな。
俺もう面倒くさいから SDRAMどかーーんと積んでくれ。ついでにMMUとそこのOSテキトーに見繕って。 あ、おばちゃんおしぼりとTCPIPあとでもってきてね! もう居酒屋でいいや。
居酒屋にしちゃ高いものになるな
組み込みソフト開発でカーナビ部門扱ってる企業への転職を考えてます。技術レベル的には問題ないか似たような境遇な人がいたら教えて欲しいではす。 大丈夫ですよね? 今はOA関連機器の組み込みソフト開発やってます。 ちなみに両方C言語。
カーナビなんて上の方やるのか下の方やるのかでまったく違うんじゃない?
カーナビは上位層がターゲットのつもりで現在応募してます。 望ましいスキルにゲームの画面まわりの開発経験とかかかれてました。 今のOA機器も上位層でアプリケーション開発がメインでイベントの管理などもやってます。 下の方を企業が求めてるなら見込みゼロに近いですよね… 下位層の経験は皆無なので。 一応下位層などのハード絡みの開発者は分けて募集してるようなので 下位層の経験は問われないなぁと楽観視してるんですが…
まぁ、どうせ組み込みLinuxあたりが乗っかってるんだろうから 「魔法の箱に呪文を唱えるとなぜか動く」 程度の認識でもいいんじゃね?
コピペ君って馬鹿だな、まで読んだ。
>>582 WindowsAutomotiveでの画面周りってactiveXプログラミングだぜ?。
いずれエンジンの部分に入れてもらえるかもしれないけど。
んでも、VWとGoogleがナビで提携とかってニュース出たときから、
DB屋に目をつけられたら絶対勝てないと思った。
ActiveXは馬鹿でもできるがDBは手馴れてないとできないからでは?
ナビって地図検索、ルート検索なんだから、 DBの考え方をベースに作った方が柔軟性、速度ともいい物ができそうじゃね?。 国内ナビって8bitマイコンでねちねちやってた延長だろ。 この県を選ばれたから、このファイルを開いて・・とかやってそう。
>>589 おまいはルート検索の何たるかを解ってねえな。
名称検索や電話番号検索はDBそのものだろうが、ルート検索だけはアルゴリズムが違う。
やれやれ、専門家サンを怒らせてしまったようだ
>590 ルート検索のアルゴリズムってもう確立されてんじゃないの?。 これからは、他の情報と、地図を関連づけて如何に提供するかだと思う。 俺も、グーグル参入のニュース見て、そういう所は日本のメーカーはかなわないだろうなと思った。 つか、ナビが普及して道路の渋滞格差広がった気がする。 空いてる道はガラガラ、渋滞してる道は動かず。 地図派の俺としてはうれしい限りだw。
局所情報は現地スタッフがいないと一方通行の情報さえ得られないがな。
カーナビ積んだ自動車同士にスレ違い通信させればいいんだよ
ホンダはそんなようなことやってなかったっけ
597 :
仕様書無しさん :2008/04/01(火) 01:28:56
組込みと独立どっちがいい??
組込みで独立
599 :
仕様書無しさん :2008/04/01(火) 03:51:40
組込みは馴れ合いだから人付き合い苦手な奴はやめとけ
OA見たいなことやってるとこがあるんだ。
そりゃ、プリンタとか複写機やファックスだって誰かが作らなあかんやろ。
602 :
仕様書無しさん :2008/04/02(水) 01:48:16
富士ゼロックス 経団連会長のキヤノンどうよ ニコン リコー 沖 デジカメ プリンタ
金勘定の発想で組み込みやってるとこがあるの?
そうそう、丸投げ君はいい加減な実装しても見抜けないみたいだから、相当ぼったくられてるみたいだよ。
>>580 企業によって違うだろうけど、ちなみに俺んとこは某ポータブルNaviを作っている
うちは開発プロセスはラショナル統一プロセス。ユースケース駆動モデルを知らないと話にならん
C++はGOFを知らないようでは話にならず
そもそも、NaviほどにもなるとC言語では複雑すぎて大変そうだ
普通C++じゃないんだろうか??
メモリは64MB、ストレージは最近フラッシュロムを使う傾向だな。CPUはうちんとこはARM9で
Linuxベース
>>589 んなわけあるまい
DB使ってるよ
ましてや、今はポータブルでも数千万件の位置情報を持ってるんだぜ
カテゴリ検索や名称検索とそれの組み合わせなんかはDBが殆どだよ
とはいっても、PCじゃないから如何に高速化するかってのが課題なんだよ
実現可能性を評価して、要求されているスペック満たせないときなんかはロジックからなにから
治すんだぜ
>>590 ルート検索は凄いとおもうよ
俺はルート検索処理に携わってないからkwskわからんが…
ルート検索と自車位置表示無かったら、Naviなんて単なる地図にすぎず
組み込みのCPUはARMがメインみたいだね 俺は日本語資料が充実してるSH使ってるけど
今後はAtomかねぇ… 組み込みのメーカには売ってくれないか、な
充実してるけどバグ情報がこっそりすぎて困る ARMは変な仕様やバグ多いけど堂々と公表してるからある意味楽だ 地雷丸見えなら地雷原も怖くないからな
んなこたーねぇ
611 :
仕様書無しさん :2008/04/03(木) 05:02:23
俺もパソコンでインターネットするのがすきって理由と人付き合いが苦手tっていう 理由でSEになりたいんだけどやめたほうがいい? でも最初から底辺PGなるより大手SEのほうが転職強くてよくね?? と思うんです せっかくの旧帝卒が勿体無い
僕が小さい頃、割り込みつきのx86でプログラムしたくて 割り込みのないtronプロジェクトを強要されたのを拒否して殴られて記憶が飛んで それっきりプログラムの世界から足を洗うことになったのは、やっぱり間違った選択ではなかったようだ。 いまだにそんなひどいってことは。 小規模のやつはシミュレータが自動的に配線設計やってくれるから作ることは大変なことではないと思うんだけど 結局しっかりしたものをちょっといい値で売ろうとしても、安物の粗悪品ばかりが売れてしまって・・・てことか。
Cって言語仕様コンパクトだから仕事にできれば結構平和にできそうかなーって勝手に思ってる。
結局コミュニケーション能力に尽きる まぁ仕事なら当たり前のことだけど。 どんなに深い専門知識を身に付けてもその多くは自己満足にしかならない。 だけど日本中飛び回る営業の上手いコンサルタントなら年収1000万も簡単
SEになって良かったと思うこと ①人間関係が楽 ②座学を業務に生かせる ③給料それなり SEになって損をしたと思うこと ①超絶激務 ②性欲減退 ③人生の目的を見失った
デザインパターンより アンチパターン知ってたほうが慰めにはなるよ。
>>607 コンシューマ向けではなかったが、SH-4が某ドリキャスの売り上げ不振で日立で大量に
余ったらしく、それを突いて業務用VoIPルータにSH-4を大量に導入したことがあった
>>613 恐らく、その考えは誤りだ
言語仕様は確かにシンプルだが、シンプル故に規模がでかくなるとメンテも大変だぜ
関数ポインタでコールバックの嵐になって、なおかつVxWorksのSendMessageなんかで
メッセージが何処に行くのかソース上では追えずに苦労したことある
>>616 GOF以外も確かに必要だな
functorとかさ
それにしても、うちんとこはクラスのインスタンスを永続化するってだけでSingletonを
やたらめったら使う
確かに、GetInstance()して、後始末はDeleteInstance()で済むから楽だしインスタンスの
唯一性は保証されるんだが
AbstractFactoryとSingletonの合わせ技がどうもトレンドなんだろうか?
>>617 お前の勤めてる会社名がわかったかもしれない
>>618 組み込み系じゃ基本スタイルだよ。
他にあれば紹介すればいいだろ。使う奴がいるかもよ。
懸命に並べてみてはいるが、アンチパターンが何だか分かってないことは分かったよ。
アンチパターンってなんなの?
NEC 通信
『アンチパターン』とりあえず読め
>>623 アンチパターンはいはい、わかったけどさ
確立されたロジック使うことだということくらい俺だってわかるわ
リファクタリングの基本だろがw
アンチパターンの一言ばっかり逝ってると厨房とか言われるぞ
>>605 すげえ、RUP使っている人って実在したんだw いや、結構うらやましいんだけど。
プロジェクトメンバが全員RUP知っていて、業務に投入できるくらいに習熟するのに
どれくらいかかった? 「知っている」だけなら漏れの周囲にもちらほらいるんだけど。
629 :
605 :2008/04/04(金) 22:06:36
>>628 PJ参入当初は、俺も、RUPは噂には聞いていたがこんなにもウォーターフォールと違うとは思いもしなかった
何から何まで、全てが違いすぎて驚いたよ
まず、根本的に理解するには、3箇月は絶対に必要、いやもっと必要かも試練
それと、PJメンバー全員が理解するなど、セミナーに出ても恐らく無理だよ
それに、設計者さえ理解していれば、あとは実装者にその術を守らせることだけ実施できればなんとかなる
それより、IBM Rationalのスイーツを駆使しまくるから、それも理解しないとキツいかも
ソース管理はClearCase、モデル管理はRose、文書管理や問題管理はRPMやRequisitePro、テスト実施は
TestRealTimeってな感じだよ
俺んとこは、更にイヴァー・ヤコブソンのコンサルティングモデルを導入してる
http://www.ivarjacobson.com/home.cfm UIに橋渡しするApplication層、共通ロジックを提供するDomain層、ハードウェアを含めたサービスを提供する
Infrastructure層って3階層に分けるのがユースケース駆動モデルなんだが、それをもっと明確化してるよ
支離滅裂だが、既に導入しているPJに参入するとなると、そりゃもう大変だよ
要件、基本設計、詳細設計、実装、テスト、納品
っていう従来の流れとはまるで違うからなぁ
新規PJで導入するには、コンサルティングが必須だよ
>>629 それだけのコストをかけるだけの効果はあるんだろうなぁ
もし効果があるならうらやましい
631 :
605 :2008/04/05(土) 06:16:38
対効果を見いだすにはリスクがつきものかもしれん どっちにしても、コンシューマ向けの大規模PJでないとRUPは余りにも金が掛かりすぎるよ Rationalソフトを1PCに幾つも入れるから、1人あたりのライセンス料が数百万にもなる ユースケース駆動モデルってことであれば、他のソフト使えばむしろ、中規模PJでも 導入はできるだろうとおもうが
最近車載の案件が増えてるのはなんでかな うちも携帯の案件が減って、余剰PGを送り込もうとしてるが、 携帯の低スキルPGが流れてやばいと思う UIなら携帯のカスPGでも大丈夫だろうと任せて、 走行中いきなり計器の表示が消えたらどうする 携帯なら緊急呼以外は人命にかかわることはないけどね
今年から戦車の 案件やります がんばるぉ
> 走行中いきなり計器の表示が消えたらどうする
どうもしない。
あきらかに故障とわかればそんなにパニックなったりしない。
むしろ表示系でやばいのは誤表示。
と言うことすらわからん
>>632 はカスPG
誤表示くらいならまだいいだろ アクセル踏んでないのにエンジンがガンガン回ったり ブレーキ踏んでもアシストが掛からない悪夢よりマシ
> 表示系で
> 表示系で
> 表示系で
>>635 は文盲か?
そういやあ、戦車って、Windowsなんだよね? 青画面出たら顔面も蒼白だねぇ
戦車で つこうた
>>638 そうなの?
前にサイパンに遊びに行ったときに、空港の離発着案内の画面がWindows95起動画面だったのは
驚いたことあったんだが…
ローソンのロッピーも確かWindowsだな
ブルーバック出ると笑えるなぁ
戦車でブルーバック…再起動するまでマニュアル操作、ここでエヴァ風に「マニュアルモードに切り替え出来ません」
死亡みたいなw
>>605 組み込みでRUPは重い気がするけど因みにintervalはどれくらい?
車載の組み込み・・・ 生産後に不具合発覚したら余裕で氏ねる
644 :
605 :2008/04/05(土) 21:05:10
>>642 そうでもないのがInfrastructure層の設計の品質なんだろうと思うよ
intervalってハードウェア割り込みの?ポーリングは0.5秒らしいけど、画面なんかはビデオメモリにOpenGL
(ハードウェアではないかも?)で描いてるっぽい…
正直、Infraは使用者であって設計にも作成にも携わってないからわからない
MinimalModelの段階でパフォーマンス計測を行って、メモリ使用量とオーバーヘッドを計測してるから
ループやら特定のハードウェアを叩く処理は最適化する、それも「依存」で、MinimalModelでは無限の
リソースと無限の処理能力を想定するから、extensionとして実装する際に解決するってな具合
>>643 発生してるけどねw
そんなのは、暫くしてからフィックスとしてwebからDLしてもらう
645 :
仕様書無しさん :2008/04/05(土) 23:38:27
組み込み業界に入りたいと思ってるんだけど ハードは全くわからない ソフトは少しわかる これでもやっていけるかな?
一口に組み込み業界と言っても幅が広いから、なんとも言えない。 やりたいジャンル (ケータイ、カーナビ、家電/AV機器、OA機器、 FA機器 etc...) はあるの?
>>645 回路図がなんとなく読めればおk
入力がHIのときポートにビットが立つのか降りるのかがわかれば
それ以上の知識はむしろ無いほうが幸せだよ
回路図は読めないけど、制御対象ハードのデータシートは文章と絵で書かれてるから、 それ読めば判るよ。PLLとかRTCとかEEPROMとかFlashROMとかサーマルプリントヘッドとか モノは違っても大抵はbit入出力ってだけ。
>>644 >>643 のいう車載はクルマ本体のエンジン制御やABS制御とかだろ。
コストや温度仕様の関係でマスクROMタイプマイコンを使うこともしばしば。
ユニット作り直しや交換の作業工賃負担を考えると死にたくなるが、改修しないと
本当に人死にが出るかもしれないので死ぬ気でやるしかない。
650 :
643 :2008/04/06(日) 08:58:30
>>649 あたり
ボディやパワトレはラインオフ後の半年は心配。
メモリがFlashになっても、車両システムの影響を考えると
簡単に書き換えできんし。
売れ筋の車種でやらかすと、会社の存亡にかかわる・・・
そのうえ重圧のわりに給料安いんだwwww
デジタル家電、携帯電話、志望。 最後に残った牙城の車載か。がんばってくれー。
まだ人的被害が出てないのが不思議なくらいだよな。>車載 エンジン制御でトラブってもブレーキで何とか回避できそうだけど、ABSは緩め側に 誤動作すればアウトだしょ。
サニティーチェックとフェイルセーフぐらい付いてるでしょ っていうかバグとグリッチというか、設計の不具合と故障の区別はしなきゃ
>>653 「フェールセーフ処理」をちゃんと知らない設計者が多い。
「セルフチェック」が入っていれば「フェールセーフ」だろ、って感じ。
JIS Z で「フェールセーフ」が定義されたのも6~7年前だし。
フェールセーフって、細かい所では swith()文で必ずdefault項を入れておくとか、 if()文では必ずelse側の処理を入れておくとか、 そういう事だよね? 本来はスイッチが壊れた時に停止側に傾くような回路設計みたいな感じなんだけどさ。ソフトウェアみたいな仮想空間でフェールセーフとか言われてもなぁ・・・。
>>655 違うだろソフトでOSに割り込んで
システム全体を危険なら落とすし
そうでなければソフト全部殺すような
処理だろ。
モータ産業は主導権持ってるのは機械屋さんだろうからね。 そもそも最初から電子制御を100%信頼した設計をするなんて余程の間抜けでもない限り ありえないと思うけど。
>>656 危険って判断を行う部分が良く分からない。
それはフェールセーフじゃなくて、自己診断処理じゃね?
>>655 違う。
IECやJISの規定では「構成要素に故障が発生した場合に,装置の喪失,装置への障害及び
運転員への危害を減じる計算機システムの動作。」
すなわちハードを含むシステムの全ての故障に対して、人身・財産への損害を与えないこと。
細かい例でいうと、PLCでソレノイドを制御するような回路があって、出力状態をフィードバック
してチェックできるような構成になっていた場合に、外来サージでPLCの出力トランジスタがON
故障に・フィードバックチェック用センサがOFF故障になるとPLCのCPUはOFF命令・出力はON
・フィードバックはOFFでCPUが覚知出来ない不正出力が出ることになる。
(フィールドで事故ったことはないんだけど、現場では運良く人が通りかかってなかったとか、
社内の耐環境試験ではしょっちゅうあるんだな、これが。)
明らかに制御が死んでるなら分かりやすいが、死んでるんだけど一見生きてるってのが厄介だな
>>659 結局ソフトウェアの方では何も出来ないって事か。
バスラインがショートしてCPUが暴走を始めたとしても、出力を止めないとならない。
まあ、狂った奴が自分は狂ってると自覚出来ないってのと似てるな。
>>663 そう。
そのロジックを組むのに各国のそうそうたるメーカーがいろいろ技術開発している。
今は対等な立場のCPU・周辺を2組組んで、相互監視するのが多いかな。
1個のCPUに同一機能で異なるソースのソフトを実装して、それぞれのソフトが相手
を監視しているものもある。
宇宙線の影響も許さないってやつか。 オイラは人死に関係ない分野でよかたy。
>>660 そういうときは安全側に倒れつつアラートをビービー鳴らす
ボーマン船長の悲劇が現実に起こらないようにしないとなw
エラーなら自爆にしてるけどね 火力発電のシステムでそれやって 怒られたけど 全部のシステムクリーンで消して ぶっとぶようにしたんだけどさ 何がいけなかったんだろうw
原子力でやれよ
670 :
仕様書無しさん :2008/04/06(日) 19:59:10
>>663 のような真性は平気な顔でバグを埋めるから注意汁。
デイジー、デイジー・・・
672 :
605 :2008/04/06(日) 20:46:44
>>655 ちょい、違う
あるタスク(スレッド、プロセス)からの応答が無くなったら、OSがそのタスクをkillしてサービスを
再開することだよ
携帯電話なんかは国内はNEC、Panasonicを除くと殆どSymbianを使ってるらいしが、
フェールセーフをOSがサポートしてるって訊いたことある
1分応答がないとサービスを再起動する。
現に、俺の携帯は電池の劣化で電圧降下が激しいのだが、携帯を開くと液晶が明るくなって
電圧降下の所為でたまにiチャネルが落ちるのだが、1分後に復帰する
いわゆる、基本ルート(Basic Flow)以外の代替ルート(AlternativeFlow)に対する処理を入れるか
どうか、それはそのパスを通る可能性が僅かでもあれば実装しておくというのは基本だよ
それは仕様の段階で本来洗い出されているべきで、洗い出されて無くてUTで発見されれば、
そりゃ「設計漏れ」だよ
673 :
仕様書無しさん :2008/04/06(日) 20:48:42
悲しいかな現実は フェイルセーフを作りこみたいからOS入れましょう>お前プログラム落ちるつもりで作るのか、ふざけんな ・・・こういう悲しい例もあるんだよねえ・・・。
674 :
605 :2008/04/06(日) 20:51:57
>>659 基本的にソフトでは検出出来ないよ
ハードウェアがタスクを監視して、応答が無いことをOSが通知を受けて該当タスクをkillするからね
交換機なんかは、システム自体が多重化されてる
フェールセーフとはちょい違うが、デュアルスタンバイやらホットスタンバイというやつ
稼働系(Active)と待機系(Deactive)が同一構成で存在し、障害発生時に待機系を稼働系に切り替える
その間に障害が発生した待機系に切り替わった側を再起動なりで復帰させるんだが、ハードウェア異常
は保守システムに通知が来て、ハード交換やらリモートでリブートを掛けてやったりする
675 :
605 :2008/04/06(日) 20:56:21
>>673 フェールセーフはOSが標準サポートしてるとは限らないよ
Linuxなんかは、フェールセーフを行うハード割り込みを用意しているみたいだ
それに、組込みでは物理メモリは制限されてるから、テスト環境で連続稼働試験(耐久試験)を
行って、メモリリークを監視したりするけど、どの機能でメモリのオーバーフローを起こすかは
定かじゃないわけで、メモリシステムを大抵の組込み系では実装してるよ
auto以外、つまりnew/deleteする場合は operator new()、operator delete()、operator new[]()、
operator delete[]()をオーバーロードして、メモリ使用量を逐一機能ごとに監視して、閾値を
越えた時点でログを出したりなんかする
メモリシステムのソースには #define new new とか気持ち悪いソースあるけどねw
676 :
仕様書無しさん :2008/04/06(日) 21:08:37
プロセス分離しておくだけでも監視はできるんじゃないの?
677 :
605 :2008/04/06(日) 21:11:40
>>676 出来るだろうけど、そもそもCPUは1つしかない。それをOSがタイムスライスしてあたかも
複数同時に実行してるかのように見せかけてるわけでさ、死んだタスクがいると占有率に悪影響を
及ぼすから、やっぱハードによる監視も必要なんだろうとおもうが
そこらへんは機器の耐久性の重要度とコストなんだろうとおもう
>>672 > OSがそのタスクをkillしてサービスを再開することだよ
それってフェイルセーフじゃなくてシステムリカバリだろ?
フェイルセーフは名前の通り「障害時に安全側に倒す」ことだろ。
プロセスを再開して動作を継続する方が安全なのか、機能を停止させて
しまう方が安全なのかは場面で異なるだろ。
例えばエンジン制御で、動作異常を検出したらとにかくエンジンを止め
るようにするべきだろ。1分後に再起動なんて怖すぎる。
結局、フェイルセーフがうまく効いてもただの保険 フェイルセーフが効くことになった原因がある限り プログラムかハードを修正する必要があるからな
>>675 それもJIS Zのフェールセーフの定義と違う。
例えば一昨年のテクニカルエンジニア(エンベデッド)で踏切制御の問題が
出題されたけど、単純に再起動をかけると初期(警報を止めて列車が接近
するのを待つ)状態になるんで、すでに列車が接近中の場合に踏切が開い
て横断者と列車が衝突する危険性がある。
先月の25日に仙台で警報が鳴り止んで、開いた踏切に電車が60km/hで
突っ込んできた事故があった。
幸い被害は無かったけど、人身事故になるとプログラマまで警察から呼び
出しが来るよ。(先輩で取調べを受けた人がいる。)
踏み切り制御も組み込みなのかア。 ほんとピンキリだな。
踏み切りはいわゆるソフトじゃなくてワイヤード(リレーシーケンス)のような気がする 広い意味ではソフトなんだろうが
ああ、2レス前も読めてなかったわ 2度寝してくるノシ
フェールセーフそのものじゃないけど、uITRONでも、最近は、メモリ保護機能の 実装がぼつぼつでてきますね。 不正メモリアクセス --> 例外発生 --> タスク例外処理 コールバック処理でどうかする。 みたいな処理だそうです。MMUじゃなくとも、ハードウエアの対応が必要ではあるのですが。 イキナリ死亡ではなく、タスク単位でkillできるみたいですね。
>>672 そもそも、OSでサポートしきれるものじゃないし。たとえば予期せぬ不具合が
起きて再起動をかける場合、起動中の状態をどうするのが一番安全なのかを考
える所までが含まれなければ本当のフェイルセーフとは言えないでしょう。
>>678 車のエンジンだったら、走行中に止めたらそれこそ重大事故につながるから、
制御としては「エラーが起きたら一切のコンピュータ制御をしないようにする」
がフェイルセーフなんじゃないかなぁ。
エンジンじゃなくてABSだと分かりやすいよね。ロックしかかったらブレーキ
ON/OFFを繰り返す訳だけど、フェイルセーフの考え方としては、制御異常が起き
たら常にブレーキペダルが有効になるようにする、と。無制御状態がデフォルト、
という事ね。逆にブレーキ無効がデフォだったら怖くて仕方ないw
>>679 まぁ、全てを予見する事は不可能だ、という考え方に基づく設計だよね<フェイルセーフ
でも、現実的にバグを0にする事は不可能に近い訳だし、人命に関わる事や重大事故に
つながりかねない施設制御なんかは「ただの保険」では済まされないと思う。
686 :
605 :2008/04/07(月) 19:46:48
>>682 む、確かに…
フェイルセーフってくらいだから、落ちた、再起動!ってのは短絡的だよねぇ
落ちた、より安全な方法へ遷移させるが正しい?
って言っても、落ちるのはソフトだけじゃないし、OSが落ちることもあるし、ハードが落ちることも
あるわけでw
落ちる時に、安全側に落ちること...って言葉そのままだな。
フールプルーフも大事だよね
689 :
仕様書無しさん :2008/04/07(月) 23:10:02
>>686 車に限ればだけど車体(ハード)に異常がある時もフェールセーフ働くよ。まあセンサーとかで感知できるような異常だけだけど。
フェールセーフは単純に落とせばいいわけじゃないから難しい。ちょっとの故障でエンジン停止する車なんか怖すぎて乗れね。
690 :
仕様書無しさん :2008/04/08(火) 04:25:49
お前等オープンシステムって知ってますか?w なんでわざわざ汎用性がない仕事やろうとするのかね
自動車はオープンじゃないからじゃない?
仕事を選り好みできる職種ならこの板そのものがとっくに寂れてるだろ。
車でオープンな取り組みってあるの? あるならあるに越したことはないけど。
694 :
605 :2008/04/08(火) 09:25:11
>>690 >>692 も言ってるけど、仕事をえり好み出来ないしw
オープンシステムは興味あるけど、機会がない
もう、二度と交換機、SIPサーバはやりたくない!という逆のえり好みはあるんだけどさw
>>690 オマエみたいなのがいるから、PGは製造業だと勘違いされる。
世の中汎用部品さえ使っていれば事足りる仕事だけで成り立っている訳じゃ
ないんだよ。ちょっとは想像力を働かせたまへ。
汎用システムってそれに携わるPGが汎用なんでしょ?
汎用な奴隷?
698 :
605 :2008/04/08(火) 11:16:29
>>697 いい表現だw
汎用な奴隷SEは業界で重宝されるw
というより汎用SEってスペシャリストだとおもう
でも自動車なら、世界規模で部品の共通化とかしないとヤバくね? 特に挙動やその時の操作方法を共通化しないと。
>>698 SEってのがまだいるのが信じられないんだけど...
>>699 共通化されると逆にヤバイ。中国製の部品だらけになるぞ?
どこの製品だろうと規程の品質をクリアさせるのが標準。 中国をパージしたけりゃ連中に達成困難なレベルに設定すればいいだけの話。 追いついてきたら改訂すんだよ当然。
組み込みは適当に隠蔽されてるから 日本で仕事があるんじゃないか。 オープンだとチャイナ、インドに勝てんよ。
ほら吹きな営業?が徘徊してるみたいだよ。
コンシューマ向けの組込みはヤバいとおもうよ、これからの日本は 携帯は日本の事情は欧米とは違うからまだいいのかも知れないが、携帯は俺よくわからん カーナビなんかは、最近PNDが流行りだしてから欧州のシェアでは完全に日本は除外されてるし 組込みの性質上、オープンにはしづらいよね 誰でもかれでも、JTAGやらCOMやらUSBからデバッグモードに入られたらたまらんしw SONYのDVDナビなんかデバッグモード晒されてるもんなぁ ゴメン、全然話の流れと関係ないなorz
カーナビ、携帯は組み込みか?
ドライバとかOSとかにかかわってない部分はもう組み込みとは呼べないかも
組み込みの開発って面白そうなんだけど… あれってどーなってるの?OSとかチップに入ってそれを制御するの? 全然、開発の想像つかないんだけど…
OSはある場合も無い場合もある。無ければ割り込みとメインループだけの素っ裸で作る。 (小さいシステムはOS無いほうがチップをこき使える) チップのマニュアルをしこしこ読んで、リセット処理とか割り込みベクタ部とか全部自分で書く。 当然、搭載されるハードのドライバ層もデータシート読んで自分で書く。
>>710 そういう仕事やってみたいと考えてるwebプログラマなんですけど・・
どの程度知識が必要ですか?
自分は組込み系っぽい知識といえば、この前USB接続のEtherチップがあったので、
それをLinuxカーネルで動かそうとしたらドライバ対応されていなかったので、
自分で(曲がりなりにも)動くドライバを書けるぐらいなんですが。
もっと深い知識(OSの内部構造やハードの回路図とか)が必要でしょうか?
ちょっと聞くけど。 マゾ?
ドライバをスクラッチから書ける位なら大丈夫と思う。 組込だからと言って、OS の内部構造をどうのこうのはあまりない。 ハードの回路図はデバッグ時に読めるに越したことはないけど、 データシートが読めるなら (デバイスドライバ書いたんだから、 読めるんだよね?) まずは大丈夫。
>>713 >>データシートが読めるなら (デバイスドライバ書いたんだから、
>>読めるんだよね?) まずは大丈夫。
それはOKです(シートを手に入れる方が難しいです・・)。
ただデジタル回路の方は読めるんですけど、アナログになると
どうもさっぱりです・・・。
>>712 マゾ・・かもしれませんw
同僚に
「その知識って(自分達の)業務に関係ないじゃん」
と言われた事もありますけど、全然平気でしたw
知っていた方が、プログラミングがもっと面白くなるはず・・だと
信じているので。
組み込みもピンキリだからねえ。 キリのほうは、ユーザが少なかったり出来立てで バグだらけのコンパイラやOS と格闘できないとだめだったり。
ピンの方も聞いてみたいんだが
組込みってったって、ハード叩くドライバ周り以外はさほどハードの知識は要らなくね? 割り込みとかは知っておきたいが 最近は組込みですらOOPだもん 俺の中では組込み系はOS載ってて、制御系がOS無しってイメージなんだけど、これは明らかに 正しく無さそうだw
>>714 アナログ読める奴は、このスレでもあまりいないと思うよ。
俺もよくわからんし。
そもそも ADC/DAC を除けば、アナログを直接扱うわけじゃないし、
ADC/DAC にしても、マイコン側はビット操作だから特に問題なし。
オシロでみれりゃいいじゃん Windowsのバグがオシロ で解るからそれみてエラー番号とか 推測できるようになればいい程度 だから簡単だと思う オシロも安い7,8万の1個買えばいいだけだし
どうでもいいじゃん。
>>718 なんつうか、制御系的?な考えだと、ハード監視って殆どAD変換した結果なんだよね
I/Oがアナログなら当たり前なんだろうけど
ADC/DACが何のことかさっぱりだと、さすがに組込みはやはりキツいんだろうか?
でも、俺ナビやってるがGPS、LCD、タッチパネル、ジャイロ、圧力センサー…
結局AD/DAしててもインフラが吸収してるから知識は不要だw
>>719 シンクロスコープやロジアナ使ってると組込みって感じするよなぁ
コンシューマじゃなかったけど、交換機のときはロジアナとプロアナとにらめっこしてた
だけど、個人でシンクロスコープ買ってもハード組む気にはならないなあ
TTLも74HCが廃止になったり、そもそも信号の速度が最近はあまりに速すぎて
新しいシンクロやロジアナじゃないと見られない、ロジックICが追従できないw
最近はアナログ回路出来なくても、ディジタル回路の基礎とFPGA操れるとカコイイ希ガス
アナログは共振やらで余りにも難しすぎる…
未だに電源回路が組めない俺参上 もちろんラジオも作れません
>>722 俺も無理
アナログだと電話レベルの音声で精一杯だな
>>721 正確に言うと74HCはTTLレベルで動作はしていても、
TTLではない訳だが、、、、
まぁ言いたいことは分かるし、それでも十分といえば十分なんだが
時々大きな誤解をしてる奴がいるので一応
しかし、交換機の開発て、一体組み込み何年やってんだ?
NS8000だって相当前だろ
ハードウエア技術者がヘボで作れないからという理由で、恐ろしいほど低機能で旧式、かつ不具合の塊の 代物を平気な顔で売るという商売にかかわっておりまふ。 ソフトウエアの中身も、まったく設計しないで殴り書いている為俺様フラグの塊で、 一定期間たつと不具合爆弾が炸裂するという代物。 電源落とすから何とかごまかせているのもありますが・・・。 無事に逃げ出せたら、自主出版化したいぐらいのネタがたまりました。
プログラムを全く楽しく感じないんだが、そういう俺はこの業界止めたほうが良いかね?
5年以上組み込みで装置関係やってるけどいまだOS使う案件をやってないなぁ。
そもそもタスクを動的生成しなきゃならないような案件をやってないし・・・。
静的な複数タスク回すだけならOS無くてもいいし。
でもそうも言ってられないから、勉強でuItronで遊んでみるかな。
>>724 俺の会社ですか?w
>>725 がどんな物対象にしてソフト作ってるか分かんないけど、
ドライバだけとかソフト部品だけ作ってたら俺も脱落するわ。
装置物は動くと面白いと思う。
装置への組み込みもやってるが、動いたら安心するだけでそんなに楽しさは感じないんだ。 できないことはないんだが、むいてないのかな。
>>727 人に主導権を握られてやる仕事は楽しくない
自分が主導権を握ってやる仕事は楽しい
特にプログラムはね、それが原因じゃないのか?
なるほど、それもあるかもしれんが、主導権というか全部任されてる仕事だと 設計段階が1番嫌なんだよなー。
ちょっと吐き出させてください 趣味で一般のPC向けにC++でSTL使いまくりでマシンパワーに任せた力業コードしか書いてこなかった俺様が 何故か仕事で自社物の開発とは言え組込系にorz CとC++の違いに四苦八苦 CはCでも組込系だとまた一味違った癖があって更に四苦八苦 メモリの配置やスタートアップすらまともに理解するもてんやわんやorz こんなんでこの先大丈夫なんだろうか
いっぺんソープ逝ってくれば落ち着くから気にスンナ。 大丈夫何とかなるさ。
C++からCで悩むなんて羨ましい。 誰がC++教えてくれ...orz
無理してC++でかく必要ないんじゃないの?
734 :
721 :2008/04/10(木) 20:05:20
>>723 74HCはTTLじゃなかったか!orz
でも、伝えたいことが伝わって嬉しかったよ!
交換機というと語弊あるけどさ、某Nの局用交換機61ΣにVoIP組み込むってのがあったんだよ
既にi486ベースで出来てたんだけど、ドリキャスの売り上げ悪いおかげで、SH-4が大量に
流出してアーキテクチャ変更したって経緯があったよ
VoIPとISDNとでロジアナ、プロアナ見ながらがりがりやること「だけ」は楽しかったよ
だけど、N社はBPの扱い酷すぎ!
>>724 ナビの開発してるのだが、ARM9の320MHzなんだよ
おいおい、これってハードの限界なんじゃね?って思う状況でのパフォーマンス向上はかなり
キツいお
単にクロックアップすりゃ処理速度は速くなるが、PNDなんつうのはストレージはフラッシュROM
なわけで、そもそもコイツが遅い…
ハード設計者の技量というよりはコスト面なんだろうけど…
>>725 仕事と趣味が別という意味では寧ろ健全なんじゃね?
俺も仕事やり甲斐こそ多少持っても、楽しいなんて思えない
苦痛じゃなければ続ければいいんじゃないの?
>>728 それだ!
でも、それと同時に、主導権を握ると言うことは責任を負うと言うことであって、大量のdefectを
抱えて出荷判定落ちるのもいやだなぁ
735 :
721 :2008/04/10(木) 20:08:47
>>730 ハードに関わるレベルに依るんじゃないか?
組込みはアドレスのアライメントを無視したアクセスは顕著に落ちるから、今まで正しいと思ってた
コーディングを見直さないといけないことある
PRJによっては、C++だけどCの標準ライブラリを当たり前のように許容していたりするしね
俺のPRJもstdio.hなんか使いまくりだよ
だけど、暗黙のルールはあるらしく、STLはvectorとstring、Cライブラリはファイル系とか決まってる
それ以外は独自のフレームワークを使うことになってる
>>735 ハードもゆくゆくは・・・と言うことらしいです
いままでピュアなCは殆ど使ったことが無くて
ソフトの方も最近までchar*とchar[]の違いを理解してなくて
文字列リテラルを直接操作してコンパイラ怒られる始末なレベルだし
STLはコードが膨れるから使わない方向で・・・と言う事みたいですし
それにしても本体のコードより初期設定がめんどくさい
orz
初期設定?リセットベクターからmain()? SPセットしてmain呼んじゃえばいいんだよ。
SPの見積もりとか入出力ポートの設定とか 関数のプロトタイプ宣言とか スコープの範囲の違いやオブジェクト指向な設計が出来ないとか とにかく勝手が違いすぎて('A`)ヴァー
>>738 オレだって組込み屋なのにサーバのラッキングとかやらされてヴァーだぜ
なんで半田ごて握りながらロードバランサの選定とかやらされんだよ
>>738 低水準のコーディングの方が高水準のものより一般には理解が容易だから
心配はいらんと思うけど。
っていうか、オブジェクト指向の設計は言語関係なくできるでしょ。
>>737 プリセットデータをROMからコピーするくらいはやっておかないとダメじゃん?
クロックとバスとキャッシュメモリをセットアップしてから 初期値データをRAMへ転送、プログラム本体を外部RAMへ転送、 キャッシュのコヒーレンシを確保してからmain呼び出し。 フィールドアップデートに対応するなら、ローダー部分はさらにヴァーだな。
743 :
仕様書無しさん :2008/04/11(金) 00:23:00
まずメモリマップの設定だろ
スタックポインタの設定を忘れちゃダメだぞw
main()までが組み込みの仕事
つーか、組み込みの場合はmainがあるとは限らないし。まぁ、それに近い名前
にする事が多いとは思うけどね。
>>737 はスタートアップルーチンの存在を知らないのだろう。組み込み経験が
ないか、誰かがmain()の中で最初に初期化してくれていたか、どちらかだろう
ね。
>>734 ちょっとうんちく。(という程の物でもないけど)
TTLはTransistor-Transistor-Logicの略。つまり、トランジスタを使って組んだ
論理回路の事。おそらく言いたかったのはTI準拠の標準ロジック(74シリーズ)と
いう事だと思うのだけど、そういう意味ではHCも当てはまるから話は通じたと思う。
ってか、仲間内でも標準ロジックの事を普通に「TTL」って言ってたし。
74xx(74とxxの間に英字がない)が最初期のTTLかな?こいつはオイラも使った事がない。
使った事があるのはS,LS,F位かな。Sはたまたま部品があまってたから試作で使っただけ
で、LSがメインだった。
ちなみに、HCはHighspeed CMOSね。ハイスピードといっても、それが出た当時のCMOSロジ
ックと比べての話だから、せいぜい20MHz程度の動作だったかな。よく覚えてないけど。
>>723 さらに余計なうんちく。
HCはTTLレベルじゃなかったよ。閾値が違うので、TTL出力を受けたい場合はHCTを使う必要
があった。(HCの出力をTTLで受ける分には問題なし)まぁ、電源が同じ5V系だから、実際には
HCをそのまま繋いでも動く事は多かったけどね。
と、こんな知識は今では思い出話にしかならんのよね・・・。
ALSとかACの高速系、LCXとかVCXの低電圧系もあったね
748 :
721 :2008/04/11(金) 19:21:37
>>736 const char foo[] = "ぬるぽ!";
const char* const = "ぬるぽ!!";
これで少しはわかりやすくないか?
業務用組込み系は依然としてCが多いけど、これからは生産性、メンテ性、可読性どれを
とってもC++に移行していくんではないかとおもうよ
>>739 半田ごて握りながらアスペクト指向を強引にC++でやろうとしている今のPRJを多少謳歌
したいぜ
>>745 そそ。
main()が暗黙に動くなんて思って貰っちゃぁ困る!ってのが組込みか?w
とはいえ、ブートローダがどうだのってのはうざいけど…
>>746 自分で工作やってた頃は74HCなんて秋葉原でいくらでも入手できたのに突然だもんね
1980年代初めのオフコンやらの壊れたのから抜いてきたと思われるボードがジャンク屋
で結構売られてて、部品取りに使ったよ
今みたいにFPGAなんつう便利なモンは無いし、ICと名の付く物の殆どは2.54ピッチの
所謂DIPパッケージってやつ
基盤も両面基盤で多層ではなかったから、吸い取り機で十分に引っこ抜けた
そんなんで論理ひっくり返したりして遊んでたのだけどそれももはや過去の話だねー
機械的なスイッチあったりでチャタリング防止とかやってたよ
確か、74Fとか74AFってシリーズが比較的クロック耐性あるシリーズだったような?記憶違いかも?
どちらにしても、あの頃はバスを通る信号は早くてMHzだったから十分にTTL系でいけたんだけど
今のPCのバスなんかはもはや無理w
>>747 それのが早いんだっけ??
749 :
721 :2008/04/11(金) 19:46:56
>>748 どうでもいい自レス
const char* const = "ぬるぽ!!";
じゃなくて、
const char* const foo = "ぬるぽ!!";
だったorz
750 :
仕様書無しさん :2008/04/11(金) 21:01:20
組み込みに一歩踏み込む勇気がなかったが ここ最近のレス見て何か俺もやる気出てきた 俺は組み込みで生きることにする
え? 生きる? ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・。 虚無の世界にようこそ。
752 :
仕様書無しさん :2008/04/11(金) 21:10:48
使わない機能はオフにしとけば消費電力抑えられるぞ ちょっとだけ
乾電池モノでは必須だな
754 :
仕様書無しさん :2008/04/11(金) 21:30:34
2 ち ゃ ん ね る 各 板 に 散 ら ば る 有 志 各 位
ア パ ッ チ 祭 り を 開 催 ! 参 加 お 願 い し ま す !
◇日時:
4月11日22時15分ごろに攻撃開始を予定。
<備考>
2次攻撃以降がある場合は必ず00分・15分・30分・45分開始とする
◇場所(祭り会場):
【反日中国を】 対中華アパッチ祭りinVIP2【撃墜せよ!!】
http://yutori.2ch.net/test/read.cgi/news4vip/1207916191/ ◇重要事項:
串は刺すなよ?漢なら生で突撃だぜ!携帯はテンプレの宣伝汁!!!
◇攻撃方法:
本スレで
>>1 で説明
◇攻撃対象:中華サイト
◇指揮官:
自動保守 ◆KAWORUKOFI
等詳しくは本スレ参照
注意:
基本的には指揮官のみ信用するように!!!(天安門事件)
これは戦争だ!戦争だ!戦争だ!
>>748 でもC++にはいかないと思う
むしろ一足飛びにJavaにいくと思う
756 :
仕様書無しさん :2008/04/12(土) 00:06:20
日本NO1プロジェクト始まる・・ CreateGame~陸海空オンライン~ ただ今、メインPG募集中。
757 :
仕様書無しさん :2008/04/12(土) 00:45:49
オンラインってw むしろ、ここにいる人たちは本物の戦闘機や戦車作る人たちだよw
>>757 そういわれると、組み込み系のプログラマすげーよなw
でも、戦闘機や戦車の組み込み開発してるやつは、2ch見るほど暇じゃなさそうw
俺の想像だけどねw
意外にWeb系のほうが暇じゃなかったりするのよ? 基本的にスケジュールがタイトだから
何を今更 それがデフォの業界です
先日某半導体メーカーの講習を受けてきた 基礎コースを受けてやっと ホビー向けの本では飛ばされるような割り込み処理やハードの初期設定が書ける程度か・・・ 先は長いなぁ
>>762 PC上のシミュレーションソフト作成から組込み入った俺にすれば
>割り込み処理やハードの初期設定が書ける程度か・・・
ここまでが組み込み特有の仕事
あとは基本的にPC上で動くプログラムと大差ない
ま、ハード上の都合でPCプログラムほど抽象化できないとかそういったのはあるけどね。
関係ないが、10数年ぶりに回路設計をすることになって論理ICを探してたら
AS、ALS、HCあたりが軒並みなくなっててALVCとかHCTとか
見たことないシリーズばかりになって面食らった。
世の中いつまでも5Vじゃないんだな・・・
いまどきはCPLD使うのが普通だしな
>>758 魚雷の制御ソフト組んでる人が、最近新機種開発がないからヒマだって言ってたよ。
昔のCPUの製造中止対応で最近のデバイスに合わせた移植作業ばかりだって。
>>763 テキサスがBCT製造中止にしたんで先祖返りさせてALSに変更したら、
コスト・納期とも改善されたw
>>765 戦車や戦闘機はともかく
ミサイルや魚雷作るってのはどういう気分なんだろうな?
言ってみりゃあれって、狙ったところこ壊れるのが目的の装置だろ?
花火職人と同じだよ
日本語で桶
花火打ち上げもマイコン制御なんだってな。
当たり前だろw 花火本体は推力持ってないのに何を制御するってんだよ
>>773 爆発するタイミングとか
連鎖爆発する花火は正確に同期取らないと美しくないし
そのあたりは量子コンピュータ
>>775 火薬類取締法の煙火関連で2002年から
打ち上げ花火の高度規制を花火本体でも
行うことが義務付けられてるよ
ブザー音の録音データこないのに テスト始まってしまった。どうしようか 困っていると、新人が初音ミクで作って きた。 クライアントがこれを気に入った場合で ライセンスどうなるのW?
初音ミクってブザー音なんか作れるの?
ぶっぶー ゆうこりん、まちがえちゃった、てへっ♥
C/C++コンパイラを用意してると各半導体メーカーは謳ってるけど 自分の周りでは結局Cでしかコードを書いてない 元々C++から入った人間だから便利なC程度でいいからC++使いたいのだが やはりメモリのサイズやパフォーマンスに劣るのだろうか? 関数先頭でしか変数宣言できないとか、スコープの関連が違和感あってねぇ・・・
>>781 gccじゃなくてg++でコンパイルするだけで良くね?
>>781 ハードを直でアクセスできるイメージがあるんじゃないかな。>C
>>782 純正品でもC++用コンパイラは用意されてたりする
>>783 Cでできることは大抵C++でもできそうな気がするのだが・・・
>>784 じゃC++コンパイラでコンパイルするだけで良くね?
>>781 >関数先頭でしか変数宣言できないとか
これに関しては C++ の方が自由度が高いけど、
この機能で必要になるたびにローカル変数を定義するよりは、
個人的には {} を使って自前でローカル変数のスコープを
制御するほうが好きだったりする。
インデントの段数(?)が増えがちだけど。
>>785 C でできることは大抵 C++ でできるけど、一部同じソースで動作が異なる
ケースがあるから注意してね。
if(sizeof('a') == 1){
printf("C++ 言語でしょ\n");
} else {
printf("C 言語でしょ\n");
}
>>787 それはCとC++の違いではなく、コンパイラの差
>>787 これ動作違うのか・・・はじめて知ったわorz
>>788 いや言語仕様の差だろ
Cの文字リテラルはint型
main() { char str[] = "a"; printf("size = %d¥n", sizeof(str)); } Cだと1だよな?
終端文字列が自動に挿入されるから2じゃないのか?
cでもc++でも2じゃね?
4だと思ってた orz
796 :
仕様書無しさん :2008/04/13(日) 09:01:56
4? プログラマやめたら?
8だろ
はぁ? 実装依存だろが
ここも int *i; i = 5; 並みのバカばっかりw 日本は終わってるw
ここまで言語仕様を確認してみた奴 → 0人 これが「真の一流」クォリティ
なんでOO屋とかWEB屋とかの王様の仕立て屋が こんな僻地に絡んでくるのか不思議だったが、 「真の一流」というタイトルが良くないのか。
バカが寄りつきそうなバカっぽいスレタイだからな
ところで、シングルクォートとダブルクォートじゃ意味が違うよな? printf("Single: %d¥n",sizeof('a')); printf("Double: %d¥n",sizeof("a")); これで実行してみたら、 Cは Single: 4 Double: 2 C++は Single: 1 Double: 2 だったよ。
オマエ何言ってんだ 大丈夫か?
組み込みはバカばっかりw
なにをゆう 組み込み屋にとっては言語規約よりコンパイラの挙動のほうが重要だ
変なCPU向けのコンパイラ使ってれば、言語仕様が単なる飾りだと言う事に、嫌と言うほど気付かされるからな。 実際にコンパイルして出た結果が全て。
今使ってるコンパイラの挙動が重要なのはいいが、それが全てとか言ってる 奴は単なるアホだろ。 一生そのコンパイラしか使わないなら、それでもいいのかもしれないけど。
コンパイラのバージョンが大事だってところもあったよ。
>>808 いろんなコンパイラを使うからこそなんだよorz
組込用CPUでコンパイラのバリエーション広いのって少なくない? デバイスメーカ純正品かOSベンダのバンドル版くらいしかないと思うけど。
コンパイラの評価とかやらないの?
それでもアセンブラでやるよりは たしかにコーディング効率が上がるしな。 あとは自前ツールでアセンブラコードをオプティマイズ。
>>808 言語規約は「基礎知識」。当然、知らないやつは死刑だよ。
でもそれだけじゃ組込み屋は務まらないのも事実。
> 言語規約は「基礎知識」
そうであればいいんだけど、コンパイラの癖を覚えるのが技術とか
勘違いしてる
>>810 みたいな人もいるわけで...
>>815 こら。勝手に勘違いしてるとおもうんじゃねーよ
そうしなけりゃ物が作れねーから仕方なくやってるんだよ
817 :
仕様書無しさん :2008/04/13(日) 18:13:13
Tシバのコンパイラは危険が一杯だよ!
>>811 組み込みの世界にはgcc原理主義者もいる
CPUメーカーの純正品より最適化がへっぽこでも
対象CPUへの最適化が長らく放置されていたとしても
gccなら正義だという狂信者がいるんだ
組み込みじゃないが、みかかだと iccが危険という人間すらいるからなぁ おいおいwって思うが
>>818 電電板の某R社系CPUのスレは酷いよな
ARMコンパイラ不要論とか 講演ででっちあげる人もいるからなぁw
正直な話、よっぽど糞なコンパイラでない限り 純正コンパイラの方が良いと思うのだがなぁ・・・w
823 :
316 :2008/04/13(日) 19:15:02
GPL怖クネ?
名前ミスった
GCC使ってるといずれ金請求される からなぁ。アメリカや欧州主要国が 破産した場合はおそらく権利を主張し 金をもぎ取られる。怖くてgccなんて使えないね。 根拠がないと思う輩もいるかも知れんけど gccはここ15年近くデバッグ用の構造や Syntax追加用の構造や仕様を完全に外に 公開していないんだよ。改造も不可能 なほど複雑だし
826 :
仕様書無しさん :2008/04/13(日) 19:42:57
>>825 そうなのか
一応GPLだしソースは全公開されてるから
ときどきソース見るけど ドキュメントのうんこっぷりは
GNU文化だと思ってあきらめてたが
実はそういう政治的思想もあったのか
つっても有志wが勝手にyet another gccとか
作りそうだけどな
プログラマとは関係ないかもしれないですが、プロパってなんですか?
ググれカス 正社員のことだよ
>>826 結果をフリーにしてるけど
詳細設計やアルゴリズムは特許
取ってる物とかもあり結構知らないほうが
いいことも多々ある。
実際研究成果にして踏み台にしてるのも
多いし、大学や企業に残る口実に利用している
輩も多いからGPLの本来の思想よりも
自己利益向上のためってのが多いよ
>>825 > gccはここ15年近くデバッグ用の構造やSyntax追加用の構造や仕様を完全に外に
> 公開していないんだよ。
ソースがあるのに何を言ってるんだか。
まあ、ドキュメントがわかりにくいのは昔からのことだけどな。
> 改造も不可能なほど複雑だし
能力がないことをわざわざ公言しなくてもいいぞ。(w
# そもそもやばいのは GCC じゃなくて、glibc の方だろ。
# GCC は、最悪金要求されるようになったら、使わなきゃいいだけだけど、
# glibc の方は既に販売している奴にも難癖つけてロイヤリティを要求さ
# れるかも知れないし。
>>830 じゃああの糞まぞい
AST作ってる部分の仕様含めて
ドキュメント作ってよ?
手付金で200万やるよ?
きちんと設計書にして解析できるなら
少なくとも数百万以上の価値あるからねぇ
2ヶ月とりあえずやるから、6月13日までに
どっかに途中までの資料うpしてくれないかな?
内容見て妥当性があればフル版買い取るから
任せたよ
832 :
仕様書無しさん :2008/04/13(日) 21:58:34
>>830 お前のように「ソースが仕様書です」とか言い切っちまうクソがいるから
OSS関係は いつまでたってもウンコ扱いなんだよ
仕様書があって、初めてソースが出来るんだ。
逆は、本来あっちゃいけないんだ。
>>831 200万?
せめて手付 500万を FSF に振り込んで、その証拠を
どっかにアップしたら、考えてやるよ。
>>832 ウンコと思ってるなら、使わなきゃいいだろ。
バカですか?
組み込みって数学や物理(ニュートン力学、電磁気)の知識は必要でしょうか? センター試験レベルで大丈夫でしょうか?
834です。 あと、ポインタ、構造体の知識は入門書レベルで大丈夫でしょうか?
834です。たびたび申し訳ございません。 C++の知識、といいますか、 オブジェクト指向の知識(カプセル化、継承、オーバーライド、オーバーロード) は必要でしょうか? 何度もすみません^^;
質問が曖昧過ぎて答えようがない 組み込みって言っても色々あるし とりあえず高校中退で物理とか数学さっぱりだった俺でも十分やっていけてる
834です。組み込みって if(時間が来た) { 録画開始 } こんな感じなんでしょうか? あとビデオテープの頭出しなどでは for(;;) { if(頭出しの部分が来た) { break; } }見たいな感じなんでしょうか?
>>838 void 頭出し();
void 録画開始();
void 録画停止();
for(;;){
switch(status){
case 1: 頭出し(); break;
せめてcase 1:のところは#defineしようぜ
IOポートをキャストするときどちらのスタイルでやってる? (*(volatile union PORT *)0x適当なアドレス) ((volatile union PORT *)0x適当なアドレス)
>>838 その辺りのデザインを自分でできるようになれ
すみません。834です。 物理、数学の知識レベルはどのぐらい必要でしょうか?
>>843 だから携わるモノによる。
ミサイルの弾道計算するなら相当の物理・数学の知識がいると思う。
秋月のセットを使ってH8を勉強しようと思うのだが 3048とか3664とか3052とか3069とか色々開発キットがあるがどのセットがオススメかな?
64はIIC周りにバグがあるのでおすすめしない。Fix版として3694が出てる。 その中であれば使いやすいのは3052とかかな。ROMもたんまりあるし。
ん~、入門だったら3664かな。
でも3664は
>>846 の言ってる通りだし、ルネサスも3694に移行してくれと言ってる。
ピン互換だしクロック早いから3694お勧め。
まぁたしかに入門ならば使いやすい3694かも。 RAM少ないのでちゃんとしたものつくるとなるといろいろ節約しないといけないけどね。
仕事で3664使ったことあるけど、内蔵モジュールフルに使うようなコード書くとROMもRAMもパンパンw JTAG繋げるとRAMを半分持っていかれるんで、機能抜き出してデバッグしたりとか でも素直に動くから悪い印象はなかったな、趣味なら機能不足を感じてから別の探してもいいし
電源はどうしてる? 安定化電源持ってんの?
秋月ならマイコンにも使えると謳ってる安定化されたACアダプタなかったっけ?
組み立てて即実験出来る、というなら3048のキットなんだろうが 実験環境(LEDやらスイッチ)を自分で組み立てられるなら3694+3664用マザボもありなんじゃないかな
>>844 ミサイルクラスになるとその辺のアルゴリズムなんかは専門の人がやるだろ。
組込み屋にはそれほどその手の知識は要らないと思うよ。
強いて言えば、必要なのは物理・数学より人とコミュニケーションが取れる
能力かと。
>>834 ,
>>843
大学行ってない奴の方が多いぐらいだから高校数学+αで十分だと思うよ
38年マやってきて、四則演算以外使ったのはsin/cosだけだ。それもintの表引きですませたし。
数学より、英語が必要。
英語より日本語が重要
根性が必要
>>850 >>851 スイッチング形のけっこう電流流せるACアダプタを売ってる。
秋葉原に行けるんだったら千石に寄ればコネクタとか雑部品がそろう。
H8のRAMはワークテーブルに使うことしか考えてない容量しかないから、 バッファとかに使う場合は外付けRAM必須でない?
>>855 math.h 使うこと自体がめったに無いよなぁ
絶対値求めるので math.h 使って abs() 使ってるのがあって、気にくわなかったw
ゲームのマやってたころは、sin値をシフトして整数化したテーブル使ったことがあった
>>862 念のため訊くと、DBじゃなく、dB(デシベル)?
それなら log は頻繁に使うかも試練
そういや昔対数グラフ紙使ったことあったなぁ
>>862 >>863 A/D変換値からテーブルでdB値求めている。
12bit A/Dくらいならこれで十分。
>>864 テーブル参照ってなんか無駄なことしてる気がするよ。
2の底の対数は簡単に求められるのはわかるよね?
なら後は底の変換公式を使うだけだと思うけど。
>>865 そうなん?
数学に弱い俺にも分かるように説明してくれないか?
テーブル検索って 計算処理の軽減と処理記述の簡略化がメインで 式が簡単とか関係なさ気なんだが・・・気のせいか?
処理時間とROMサイズとのトレードオフだよね。 リアルタイム処理が必要ならばテーブルにせざるを得ないでしょう。
log2 256 = 8 log2 128 = 7 : bit位置?
底が2の対数って2乗の計算だから 符号無しならシフト演算でも可だわな これなら物によっては軽い処理で記述が出来るかもね
開平算でルートの計算をしたことならある。
>>861 型番によってRAMサイズも結構違うからH8だからどうってのはいえないが、
3694なんかだとある程度のことはできるよ。
バッファとしてはそんなにサイズとれないがw
SINもテーブルより級数の方が速い。
いつの間にか流れがハード→算術→算術の簡素化とかそういう流れになってきたねw 少なからず、組込みでインフラに携わっている人たち つまりソフトよりのハード技術者、ハードよりのソフト技術者は両方の知識を持つ必要があるから 必然なんだろうか
>>870 > 底が2の対数って2乗の計算だから
おいおい、頭大丈夫か?
>>873 > SINもテーブルより級数の方が速い。
まあ、君の環境ならそうなんだろうね。
>>874 組み込みだとハードが貧弱な事が多いから、算術の簡素化が必要となるケースが
多々あるから、この手の話題はちょっとだけ盛り上がったりする。
三角関数なら CORDIC だろ常考
877 :
仕様書無しさん :2008/04/16(水) 23:21:12
プ なんだこのスレ 馬鹿ばっかじゃん
このスレっつうか、板全体がネタ板みたいなもんだから。
ぷ馬鹿の理由を書く奴っていないよな。
サイン波を出す必要がある事は多いけど、サイン関数を計算する必要があることはあんまりないよな
>>864 1%程度の精度なら
log(128)*20~log(255)*20の128個のテーブル作っておいて、
テーブル引くときはMSBの位置を合わせて、位置を合わせる為にシフトした回数を6倍して加算すれば
十分だね
>>880 そこまでするのはもはや過去の話なんじゃないか?
組込みのCPUはそりゃPCに比べれば格段に性能が低いが、それだって算術演算命令も
そこそこ早くなってるとおもうが?
まぁ、logやらsin値やらを値の正確性はともかくとして、数千万回計算するようなもので
しかもコンシューマ向けやらパフォーマンス重視ならテーブル化すべきだろうが…
いまだにNOTや符号反転命令すらない16bitCPUも有るんだぜ
NOTは確か論理演算組み合わせると出来るんだったよなぁ 昔x86でMMX命令使ったときにNOTが無かったw
>>884 そらそうだ
NOTなんて0とXORすりゃいいだけだからな
え?なんか書き間違ってね?
> NOTなんて0とXORすりゃいいだけだからな さすが真の一流 常人には思いもよらぬことを言ってのける そこにシビれるアコガれるぅ~
notも符号反転も無くて SUBR という Reg = #n-Reg という定数からの引き算をする命令があるなんてのもあるよ SUBR #0 で符号反転 SUBR #-1 でnot
たぶん -1とXOR
世の中2の補数ばかりだと思うなよ
1の補数はNOTで代用出来る でも1の補数をわざわざ使うなんて事はまず無いな。 ABS を 1の補数で代用するDSPというのは実在したけど これは1の補数と2の補数が1しか違わないし、 -0.5 を中心と見れば1の補数の方が良いという判断なんだろな
組み込み系って就職しやすかったりします?
>>893 今は人手不足らしいからそこそこに仕事ができれば。
> でも1の補数をわざわざ使うなんて事はまず無いな。 まあ、お前はそうなんだろうね。 > ABS を 1の補数で代用するDSPというのは実在したけど 参考までにその DSP の型名教えてくれ。
暴力団お断り
世間に命令セットもアーキテクチャも公開されてないDSPだってあるじゃない。 K5とかK6とかいってるあれとか。
898 :
仕様書無しさん :2008/04/19(土) 11:09:56
NOT命令がないCPUでは自分でプログラム組むわけだけど 予め用意されてるNOT命令 と 自分で組んだNOT命令 はどっちが早いの? CPUによるのかNOT命令は決まった処理するのか
>>898 たいがいのCPUだとNOTは基本演算と同じクロック数で実行できるから、
レジスタを1フィルする分ソフトで組んだほうが実行時間がかかるとオモ。
>>895 >> でも1の補数をわざわざ使うなんて事はまず無いな。
>
>まあ、お前はそうなんだろうね。
何?この具体的な事例も挙げずに相手を小馬鹿にした態度
小馬鹿にするやつほど実例を出せない法則。
だってコンパイラおまかせなんですもの みつを
>>895 DSPの型番なんて言える筈がない。
資料が公開されているのはテキサスかアナデバくらいだろ。
後は型番言うだけでも契約違反。
ABS を論理演算だけでやる場合は 1の補数が楽って話なんだろ? 符号拡張かbit幅だけ算術左シフトしたのとxorすりゃいいんだからさ。
それはうそだね。
コンパイラは、ABSマクロを符号拡張した結果とXORしてさらに加算するコードを出すね
組み込み系は会社選びさえ成功すれば天国のような仕事 顧客ベースのweb系と違ってひたすらPGに没頭出来るしね
>>898 NOT が無いとしたら XOR か SUB で代用するしかない
でもNOTが無い命令体系だと、ACC = 即値 - ACC が出来るのが多いように思う。
この命令1つあれば NOT と NEG の代用になる。
>>908 それすらなくて頭を抱えた俺が居るぜ
結構数が出ているらしい安い組み込み用CPUだけど
XORとDECでNEGの代わりにしたんだぜ
C言語でNANDの演算子って見たこと無いけど、どうしてないの?
NANDあって
>>910 そんな命令(演算回路)付いてないのにいらんだろ
ビットのセットは OR だけど 同じビットをリセットする時用に NAND が欲しい時はあるね。 そういや俺、昔、NAND 命令を持った CPUを使った事があったように思う。 いや、XOR+AND だったかな
それの書き方がわからないの?
ごめん 914は勘違い。 同じビットをセット リセットするには NOT して AND だから NANDとは違うな。
>>880 昔、スペアナ表示するために、そうやってテーブル作って複素対数化して
対数化したままFFTを計算させた事があったよ。 位相は0~255の1バイト、強度も1バイト
当時のCPUは掛算が遅かったから 対数化してたら掛算を加算で代用出来たから。
e^(i*w) の掛算は 対数化したら位相角を回すだけだから
そんな創意工夫が必要なほど絶望的に計算が遅かったの?
「昔は」そうだったってことだろ。
昔の石はいじった事無くてね そこまでってことは相当遅かったんだろうな テクノロジーの発達って凄いなぁ そういや昔は80386乗っけたPCをありがたがってたんだよなぁ
乗算器があるCPUが珍しかったからね。 単純な制御に使うにはそっちのほうが楽だったりするけど。 一時期はZ80よりも組込みに多用されてた8085もNOT命令がなかった記憶があるんだけど。
AND-NOT は MMX にあったな
>>921 8085のNOTは、XRI 0FFH でできました。 だからNOTが無かったのでしょうね。
イミディエイト値を入れなきゃならんなんて、クロックサイクル無駄に しているよな。
コスト関係で回路減らしたんじゃないの?
つ トレードオフ
>>917 これだって8bitで8MHzとか12MHzとかのマイコンじゃないの?
まだ、これくらいはやるような気がするけど。