制御系なら俺に聞いてもいいぜ(6)at TECH
制御系なら俺に聞いてもいいぜ(6) - 暇つぶし2ch550:デフォルトの名無しさん
05/01/12 01:22:07
つか、組み込み屋がIOアクセスするのにビットフィールドを平気で使うこと
自体が折れには到底信じられないんだが・・・・。使わないことが常識だと思ってたよ。

>>519
書き込み可能なデバイスで、書き込み中に電源断しても、デバイスのその後の動作に問題が
発生しないことを保証するものはあまりない。SDカードやCFなんてのも普通は全くの保証外。
壊れても文句言えない。少なくとも、ちゃんとデバイスメーカーに確認してから使えよな。
ま、保証してくれるかはわからないが(w

551:デフォルトの名無しさん
05/01/12 03:20:02
>>550
> つか、組み込み屋がIOアクセスするのにビットフィールドを平気で使うこと
> 自体が折れには到底信じられないんだが・・・・。使わないことが常識だと思ってたよ。

しかし、組込屋が使わないとなると誰が使うんだ?

552:デフォルトの名無しさん
05/01/12 04:50:09
おう、組み込み屋じゃない漏れはよく使うぜ。

553:379
05/01/12 05:26:37
>>551
むしろ組み込み屋じゃないほうが良く使うと思う。

554:デフォルトの名無しさん
05/01/12 06:45:49
俺もビットフィールドは嫌いだが、メーカーの提供しているヘッダファイルの
IO定義がビットフィールドを使ってるしなあ( SH/H8)。

555:デフォルトの名無しさん
05/01/12 13:03:34
まあ、取り込み作戦なんだろうけど、それを使ってもさらに抽象化しとくべきだろうな

556:デフォルトの名無しさん
05/01/12 13:26:12
>>553
ドライバ屋さんはI/Fは用意してくれるがビットに詰めるのこっち任せだったりするからね。


557:デフォルトの名無しさん
05/01/12 13:32:08
質問です。
デバイスドライバを書くときに、デバイスのどういうことを調べていくのが一般的ですか?

558:デフォルトの名無しさん
05/01/12 19:01:21
デバイスドライバを書くときは、デバイスがどういうものかを調べていくのが一般的です

559:デフォルトの名無しさん
05/01/12 19:26:26
>>558
参考になりました!ありがとうございます!!!

560:デフォルトの名無しさん
05/01/13 00:35:39
なったのかよ!

561:デフォルトの名無しさん
05/01/13 01:22:49
>>560
いいえ、皮肉です。

562:デフォルトの名無しさん
05/01/13 06:33:58
むしろ果肉

563:デフォルトの名無しさん
05/01/13 12:48:41
>>557 マニュアルはたいがい「このレジスタにこれを書くとこう動く」式で書かれてるね。
その中から、「アプリからこう使えれば便利だな」を抽出するように読もうとしてるよ。
機能レベルでそれを把握してから、時間的な条件(割り込み発生のタイミングとか、
許されるディレイ)、制約条件(この使い方のときはこっちがダメとか、書き込みと
割り込みが同時に起きたときどっちが優先、とか)の所と照合すると、間違った使い方
しようとしてないかの検証になる。

564:379
05/01/13 18:07:44
>>557
どう動かすかということはもちろんだけれども、
どう抽象化するかが上手い下手になると思う。
そのために操作の単位がどうなるのかを調べる。
そんな風に、設計してます。

565:デフォルトの名無しさん
05/01/14 21:44:36
はじめまして、一つ伺いたいのですがよろしいでしょうか?

あるRAMエリアに対して0でクリアしたあと本当に0になってるか
チェックする処理を作りたいのですが、とにかく処理時間重視と言われました。

処理能力を気にしないので良いなら悩まなくても良いんですが、
どういうロジックを組めば最も高速にクリア&チェックできるか私の頭ではわかりませんでした。

言語はCですが、処理能力考えるとアセンブラで組んだほうがいいような気もします。
何かよい知恵がありましたら教えてください。

566:デフォルトの名無しさん
05/01/14 21:45:34
あと、使ってるのはSH-2です。

567:デフォルトの名無しさん
05/01/14 21:51:01
>>565
どうやったらいいのか
どこで差がつくのかわからん

568:デフォルトの名無しさん
05/01/14 22:05:17
クリアした後
本当に0になってるかチェックした後
本当に0になってるかチェックした後
本当に0になってるかチェックした後
本当に0になってるかチェックした後
本当に0になってるかチェックした後
……

569:デフォルトの名無しさん
05/01/14 22:45:21
・・・・・よし、明日の朝はトーストとハムエッグにしよっと。

570:デフォルトの名無しさん
05/01/15 00:44:15
埋める方をDMAのバースト転送を使ってやる。
ただし、転送元は内部レジスタで0になってるとこ。

チェックはソフトで地道に。

これで、全体的には速くなる(w

571:デフォルトの名無しさん
05/01/15 01:39:09
>>570
CPUからメモリへの書き込みパスがチェックできてない。
…ということを考える必要があるかな?

572:デフォルトの名無しさん
05/01/15 02:22:53
私は普通にmemsetで0にクリアして、その後そのRAMエリアを読み込んで
0と比較すれば良いと思ったんだけど、処理能力、処理能力いうんですが
やっぱり大きく変わるんですかね~?

一番大きいバッファでもクリア&チェックする領域は64KBぐらいです。

573:デフォルトの名無しさん
05/01/15 03:35:19
どれくらいの速さが要求されているのかにもよるな

574:379
05/01/15 04:01:11
>>565
なんで?

575:デフォルトの名無しさん
05/01/15 05:20:41
>>565 >>572 memsetでいいよ。それの中はASMで作られているから。ただしその後の
memcmpで64KBのゼロと比較するとしたら、あまりにもサイズのムダなので許せない。
#define CLRTOP 0x100000
#define CLRLEN 65536      /* 100000h番地から64Kクリヤするとして */
memset((char*)CLRTOP,0,CLRLEN);
if( 0==memcmp((char*)CLRTOP,(char*)CLRTOP+1,CLRLEN-1) ) で、クリヤされたと判定

576:デフォルトの名無しさん
05/01/15 05:44:56
指示出した奴が評価できるとは思えんので、なにやってもヨシ

577:デフォルトの名無しさん
05/01/15 06:44:27
バッファの先頭・終端addressが共に4 byte alignされてるとして、
int is_zeromemory(char *start_address, char *end_address)
{
  int result = 0, *p;
  for(p = (int *)start_address; p < (int *)end_address; p++) {
    result |= *p;
  }
  return result == 0;
}
あたりが定番か(4 byte alignされてない時は前後に補償コードを追加)。


578:デフォルトの名無しさん
05/01/15 09:34:50
ゼロになってるか判定するコードだね。確かにバイトでやるより速い。
どうせならforの中で、resultが0でなければreturn 0、forが終わったらreturn 1に
してほしかった。 もっと速さを要求されるなら、書き込んで読みそれがゼロか見るループを
書けばいいが、そのとき最適化によって書いたメモリを読まずに書き込んだレジスタのほうを
判定するコードが出されることがよくあるので注意が必要。

579:デフォルトの名無しさん
05/01/15 11:02:18
その程度の処理ならタコな書き方しなければ大差ないだろ。
それより0書いて0読んでテストできた気になってる方が問題 ヽ(´ー`)ノ 


580:デフォルトの名無しさん
05/01/15 11:07:44
>>578
> どうせならforの中で、resultが0でなければreturn 0、forが終わったらreturn 1に
> してほしかった。
せっかくビットORを使ってループ中の分岐を減らしてるのに、それじゃ意味がないと思う。

値が0でないメモリが見つかる(= 書き込みが失敗していた)ケースは
滅多にないはずだし。 

581:デフォルトの名無しさん
05/01/15 11:26:46
>>578
volatile

582:デフォルトの名無しさん
05/01/15 12:10:45
みなさんありがとうございます。

・・・というとCでもアセンブラでも大差はないということでしょうか?
0でクリアした後0でチェックするのは、ちょっと他の所で問題があったらしいのです。

なので私は最初あるバッファに対し0xB6を書いて読んでチェック、0x49を書いて読んでチェック
その後0でクリアして0でチェックという関数を作った矢先、処理能力云々言われ
今に至っているんです。

消すバッファが最初は2つぐらいで良いといってたのに、
最終的には処理の中間に生成するバッファも含めてやばそうなバッファ全部消せ
ということで処理速度をさらに重視した次第・・・らしいです。



583:デフォルトの名無しさん
05/01/15 13:10:09
素朴な疑問。
書き込みに失敗してたらどうするんだろ。

584:デフォルトの名無しさん
05/01/15 13:13:52
マーチングテスト最強

585:デフォルトの名無しさん
05/01/15 14:28:55
582>キャッシュのことは考慮済み?

586:デフォルトの名無しさん
05/01/15 15:15:03
SH2はキャッシュがあったかどうかしらんが
キャッシュがあるCPUだとキャッシュに書き込んでいるだけになることもあるよな

587:デフォルトの名無しさん
05/01/15 16:00:34
そこでランダムリプレースアルゴリズムのキャッシュですよ。

588:379
05/01/15 16:26:19
で、どうして、書いたものが保証されないという事態がおきる?
RAMに書いたものが保証されたないって、スタックも保証されない?

589:デフォルトの名無しさん
05/01/15 16:33:37
>>582 584の言ってるのは55,AA,FFを書いた後00にする検査のことね。585,586,587はそこまで
問題にならないとおもう。583のギモンに対して特に対処策がないなら、単にmemsetでゼロを
書くだけでいいと思う。B6/49という値に何か意味はあるの?

590:デフォルトの名無しさん
05/01/15 16:36:42
たしかに、書いた物が保証されないって、RAMが別チップでチップセレクトがちゃんと出てないとか、
そんな事態ぐらいしか想像できないね。そんなのハードのアドレスデコード部分のバグだから
よっぽどのことがないとお目にかかれないぞ。

591:デフォルトの名無しさん
05/01/15 16:59:24
PCのBIOSがメモリチェックやるのはあれは何のため?

592:デフォルトの名無しさん
05/01/15 17:54:53
あれは「仕事してま~~す」というデモンストレーション」なだけ

593:デフォルトの名無しさん
05/01/15 17:57:40
>>591
PCのメモリは、
ソケット着脱式だから、
 メモリをユーザが取り替えているかもしれないから、少なくとも容量はチェックしないといけない
 もしかして接触不良があるかもしれない


594:デフォルトの名無しさん
05/01/15 18:23:24
>>590
バグと言うか、製造後の不良品のチェック用に商品に検査モードを搭載してるけどな。
RAMのアドレスバスのショートのテスト、データバスのショートの検査とかも入ってるよ。
55,AA,FF、00もそうだし、0x01,0x02,0x04,0x08,0x10・・・・・の様にデータバスのビット
立てたり、書いた後でアドレスバスがショートしてた場合の該当アドレス参照したり。

595:582
05/01/15 18:53:33
大きなことではいえませんが
昔はそのバッファは消していませんでした。
次の取引で「上書きされるだろう」とのことで・・・(処理時間を気にした結果、消さなかった)

しかし、前回のバッファが上書きされること無く悪さしたため大変なことになりました。
よって今回、いちいちそのバッファに情報を書き込む前に前回情報を消して、
本当に消えてるかチェックするという事態になりました。



596:デフォルトの名無しさん
05/01/15 19:28:15
ありがちな話だ…

597:デフォルトの名無しさん
05/01/15 20:31:30
要はバグを修正せずに小手先で逃げているわけか。
桑原桑原。

598:デフォルトの名無しさん
05/01/15 20:40:07
>>588
RAMは良く壊れます。ハードエラー(故障)だけでなくソフトエラー
(α線などによる)もあります。
RAMだけECCやパリティチェックを入れたりしているハードウェアもありますよね。

>>595を見るとそういう話でないようだけど。チェックの意味ないじゃん。


599:デフォルトの名無しさん
05/01/15 21:24:10
>>582
気が弱そうだな。そんなんで やっていけるのか?心配だな。
・・・・・・・・・・・・・・なんか小腹がすいたな。>>582よ。メロンパン買って来い (・∀・)ノシ

600:デフォルトの名無しさん
05/01/15 21:36:42
オレ午後ティー

601:デフォルトの名無しさん
05/01/15 23:46:35
>599
いえ・・・まだ新人なのもで社会人として一年も経験してませんし。
組み込み系に流れ着いたのも何かの縁、がんばります。

ところで制御系といっても同期はなにやら違うことをやってます。
なんていうかGUIでなにやら作っている感じです。(詳しくはわかりませんが)
なのでアドレスのことやI/Oのことなど特に意識してないようです。

私はSH-2でモータとか回してます。制御系といっても色々あるんですね。



602:デフォルトの名無しさん
05/01/16 04:39:02
いろいろあるよ。俺はリレーの開閉とか無線の周波数作るシンセの制御が多い。
どの分野でもシリアル通信のプロトコルは勉強しとくといいよ。割り込み、リングバッファ、
ACK/NAK、チェックバイト、再送云々・・・殆どの機器で付いて回るから。

603:デフォルトの名無しさん
05/01/16 13:22:13
>>602
>無線の周波数作るシンセの制御
これってDDS?

604:デフォルトの名無しさん
05/01/16 15:24:06
DDSにしても直接プログラムで作り出すのは無理っぽいね

605:デフォルトの名無しさん
05/01/16 15:31:28
DDSコントローラーのレジスタに書き込んで
あとはおまかせポン
ソフトだけじゃ周波数合成に専念させても数十kHzが限度

606:デフォルトの名無しさん
05/01/16 17:05:51
>>601
>なんていうかGUIでなにやら作っている感じです。(詳しくはわかりませんが)

多分、操作画面を作ってるんじゃないの?
タッチパネルとか、PCからコントロールするためとか。

607:デフォルトの名無しさん
05/01/16 19:46:19
「画面屋」にされると悲惨。なにもわかってないアホの出来上がり

608:デフォルトの名無しさん
05/01/16 21:48:18
>>607
ユーザーインターフェイスの部分は割りとスキルの面ではコアな部分じゃないからな

609:デフォルトの名無しさん
05/01/16 22:27:35
>>608
あら、ヒューマンインターフェースはそれだけで研究価値があるものだよ。

610:デフォルトの名無しさん
05/01/16 22:36:16
>>609
研究するならいいんだけど
ただ仕様に沿って実装するだけってなると
得るモノが少ない鴨。


611:デフォルトの名無しさん
05/01/16 23:00:29
>>609-610
どっちも言えてる
ヒューマンインターフェイスと言っても、自動車の制御などのように
人間の感性に関わるようなところは一つの研究テーマになる
しかし、普通の仕事をしていると、お客様苦情受け付け窓口になるw

612:デフォルトの名無しさん
05/01/17 13:52:19
>>597
バグと言うよりも最初の設計が間違ってたんだな。

>>595
>次の取引で「上書きされるだろう」とのことで・・・(処理時間を気にした結果、消さなかった)

「~だろう」ってのが技術屋として失格。ハードだろうがソフトだろうが
検証してない事を仕様にしちゃあかんよ。だから今回のような問題が
起きちゃう訳で。

613:601
05/01/17 20:53:13
みなさんご意見ありがとうございます。
明日、工場へ行ってレビューらしいので先輩についてレビューに参加します。


あと・・・やっぱり、アセンブラの知識は持っていたほうが良いのでしょうか?
一応ICE上でデバッグするとき、たまに見たりはします。SHのマニュアル見ながら。

あと春に無謀ですがエンベを受けようと思っています。
もし、新人(理系以外の人)に対して、これは知っておけ!!みたいなものがありましたらご教授お願いします。

614:デフォルトの名無しさん
05/01/18 00:06:57
>>613
エンベは無謀
午前で足切りされるぞ



615:デフォルトの名無しさん
05/01/18 00:22:53
>>614
・アセンブラがわかる ..... 言わずもがな
・データシートが読める ... 必須
・回路図が読める ......... 当然
なんてのは普通でしょ?
と言い放つもラダーチャート組めとか云われた日にゃ四苦八苦
まぁあれだ、制御系にも色々あるってこった

616:615
05/01/18 00:25:51
あぁ、すまん
>>614>>613 の間違いです

617:379
05/01/18 08:22:20
>>613
アセンブラは、できればこしたことはないが必須ではないと思う
ICEでデバッグするときにマニュアルをみながらわかるなら十分じゃないだろうか?
機械語によって動くという仕組みだけは理解しいればいいと思う

つねに他の方法でできないだろうかと考えることが大事
上の方でパソコンでという話もあったが、なにかにとらわれずに
SHでやるか、PICでやるか、パソコンでやるか、PLCでやるか。。。
頭の体操にもなるし、たくさんの札があったほうがいい

618:デフォルトの名無しさん
05/01/18 13:39:05
ハードをソフトで置き換えてうまくいった例を教えてくれ。

619:デフォルトの名無しさん
05/01/18 16:17:50
シュミットトリガーが付いてたのを、代わりにCRにしてもらってソフトで実現するとか?


620:339
05/01/18 19:13:56
以前USBの通信について質問したものです。(キーボード)

LED状態は、Set_Report(Output)Request経由でセットされるそうですが、
エンドポイントに意図するデータがセットされません。
Set_Report(Output)Requestは来るので、
ディスクリプタの設定は問題無いと思うのですがなぜでしょう。
よろしくお願いします。



www.usb.org



621:デフォルトの名無しさん
05/01/18 20:32:09
>>619
んだなぁ。うちもチャタリング除去はソフトでやる事が多いわ。


622:デフォルトの名無しさん
05/01/18 20:48:28
シュミットでチャタリングが除去できるわけではないが

623:デフォルトの名無しさん
05/01/18 22:02:34
LPFだろ。
アナログフィルタからディジタルフィルタに変えたわけだ。


624:デフォルトの名無しさん
05/01/19 06:58:22
フォトカプラのような実際はアナログな信号の場合、デジタルポートで受けるけど
途中にR-C-Rと入れておいて、読む直前まで出力ポートにして、
実際のスレッショルドを変化させるというテクニックは使うね。
出力ポートを入力ポートに変更してから実際に読むまでの時間で調整出来る

625:デフォルトの名無しさん
05/01/19 12:58:05
>>621
だから計算中はキーの入りが悪いのね。

626:デフォルトの名無しさん
05/01/19 12:59:49
チャタリング除去するとき、
サンプリング2回一致したら、2回目を取り込む?
それとも1回目を取り込んで、2回目はキャンセル?

627:デフォルトの名無しさん
05/01/19 13:27:56
>>626
「サンプリング2回一致したら」って前提なんだから
どっちでも同じじゃないの?
それとも入力された時間情報も取り込むのかな?

628:デフォルトの名無しさん
05/01/19 14:04:09
>>626
スペックは
(1)30ms以上同じ正常なキーデータが継続したら有効キーと認める
(2)15ms以上(1)と異なるキーデータが継続したら無効キーとみなす。
合ってますか?

629:379
05/01/19 23:45:34
>>628
以上となっていますが、何msごとに取り込む?
15msごとでしたら、以上ではないのでは

630:デフォルトの名無しさん
05/01/20 23:59:04
>>625
計算中にキー入力の反応が悪くなる原因の全てが
チャタリング除去にあるとは限らないけどな。


631:デフォルトの名無しさん
05/01/21 03:00:22
オブジェクト指向は制御系の仕事に役に立ちますか?

632:デフォルトの名無しさん
05/01/21 03:13:32
>>631
オブジェクト指向的考え方はそれなりに役に立つことも多いが、オブジェクト指向しか知らない奴は役に立たない

633:デフォルトの名無しさん
05/01/21 06:43:45
オブジェクト指向的考え方で作るとデカくなるので、メモリに制約がある場合は
知っていても使えない場合がある。未だにROM2K,RAM256バイトとか平気であるからね

634:デフォルトの名無しさん
05/01/21 07:50:08
>>633
ROMとRAMのサイズが逆じゃない?

635:デフォルトの名無しさん
05/01/21 07:56:21
>>634

636:デフォルトの名無しさん
05/01/21 08:17:12
>>634

637:633
05/01/21 08:24:28
RAM256Kじゃないよ。RAM 2 5 6 バ イ ト スタックも通信バッファも制御用変数も全部この中

638:634
05/01/21 08:58:57
>>637
あ、思いっきりその勘違い(^^;)
スマソ

639:デフォルトの名無しさん
05/01/21 09:43:26
>オブジェクト指向的考え方で作るとデカくなるので
オイオイ

640:デフォルトの名無しさん
05/01/21 11:59:17
>>633
そこまで小さいとCで組むのも大変だと思うが

641:デフォルトの名無しさん
05/01/21 12:13:25
>>640
Cの方が楽だよ。
それにどういう風にコンパイルされるか想像できる人なら極力高級言語で書くべきだと思う。

642:デフォルトの名無しさん
05/01/21 13:18:29
想像だけで確認しないような奴は困る。

643:デフォルトの名無しさん
05/01/21 13:33:31
まぁ、コンパイルっていうのは演繹的に考えられるので想像だけで良いと言えば良いの
かもしれないが、人間、間違えることもあるもので、確認するのは当然だろうね。

644:デフォルトの名無しさん
05/01/21 17:53:04
アセンブラソースをC言語を使って書いたらC言語で書いたことになるんでは
ないか?

645:デフォルトの名無しさん
05/01/21 17:57:44
>>644
いいえ。

646:デフォルトの名無しさん
05/01/22 02:42:53
ラダーはのんびり描くに限るよ
ラダーラダーダラダラ

647:デフォルトの名無しさん
05/01/22 02:54:44
>>646
お前は生きる価値が無い人間だ

648:デフォルトの名無しさん
05/01/22 02:55:40
>>647
カチンと来たね。価値だけに。

649:デフォルトの名無しさん
05/01/22 03:00:20
シャキーンと来たよ(`・ω・´)


650:デフォルトの名無しさん
05/01/22 04:38:35
分割によるオーバーヘッドと関数入口出口のオーバーヘッドぐらいなら許容できてcで書く。
資源を抱え込んでそれにアクセスする手続きだけを公開する手法を持ち込むとさすがにきつい。
そこで妥協してRAMを外部参照して変更したりする。

651:デフォルトの名無しさん
05/01/22 17:26:10
もうROMのサイズとかRAMのサイズとか気にしてプログラム組むの嫌だ~

652:デフォルトの名無しさん
05/01/22 17:32:37
それより内蔵Flashの書き込み回数気にしながら
デバッグする方が嫌だ~


653:デフォルトの名無しさん
05/01/22 18:46:24
>>652
 チップ面積どんどん小さくなってるんだから、RAM 16kくらい標準にして欲しいよね
これくらいあれば使う関数のエントリーをRAMにおいてそっから分岐させれれば
RAMデバッグ出来る

654:デフォルトの名無しさん
05/01/22 19:24:31
>>652
Flashに直接書き込んでいたら100回くらいであぼ~んじゃない?
逝ってしまったら基板ごと廃棄してるの?

655:デフォルトの名無しさん
05/01/22 21:24:54
>>652
内臓RAMのマイコンがあるからそれを使え。

656:デフォルトの名無しさん
05/01/22 22:48:39
>>550
> 書き込み可能なデバイスで、書き込み中に電源断しても、デバイスのその後の動作に問題が
> 発生しないことを保証するものはあまりない。

そのレベルはハードで書込み禁止すればいいだけだろ。
まさかそんなことは考えてないのか ?

657:デフォルトの名無しさん
05/01/22 22:49:54
デバッグ方法考えて設計してないの?じゃ、ICE買え。

658:デフォルトの名無しさん
05/01/22 23:15:56
>>655
サイバーパンクだな。

659:デフォルトの名無しさん
05/01/22 23:23:28
ICEがあればデバッグも楽々~
ハーゲンダッツじゃないぞ

660:デフォルトの名無しさん
05/01/23 00:01:56
みなさんはICEに何を使っていらっしゃいますか?

私たち(といっても、所有者は工場でうちらでない)はソフィアを使ってます。

661:デフォルトの名無しさん
05/01/23 03:20:05
開発するターゲットによるだろ。

662:デフォルトの名無しさん
05/01/23 03:57:54
マ板とマルチになっちゃってすいません
就活中の理系院学生なんだけど
組み込み系ソフト作っている大手会社でいいところってどこ?
部品メーカー?大手電機メーカー?精密機器メーカー?他ある?
やはりハードに立脚しているところがいいですよね?
とするとメーカーですかね?
成長性あるものがいいです
あとなるべく高度(数理、物理的)な仕事ができるところ
あと、なにか参考になる
いい本ないですか?
あまり知らないもので・・・

663:デフォルトの名無しさん
05/01/23 04:00:02
>>662
ここで聞く内容じゃありません
氏ね。

664:662
05/01/23 05:09:55
>>663
???

665:662
05/01/23 05:11:08
一応組み込み・制御ということで
(2つの違いはあまりよくわかりません)

666:デフォルトの名無しさん
05/01/23 06:19:00
>>662 作るのはみんな「下請け」だよ。作る上でのハウツー的なごたごたが好きならいいけど、
メーカーに入ったら、「何を」作れば売れる/儲かるを企画しては下請けに出すのが仕事になる。
数理・物理的な仕事がしたかったら研究所みたいなとこ行かなきゃね。
ソフトで重要なのは数理・物理よりコミュニケ-ション能力だよ。木村泉の翻訳書でゴースとか
ワインバーグの本でも読んでみれ。面白いよ。

667:デフォルトの名無しさん
05/01/23 07:49:11
>>660
ただの奴

668:デフォルトの名無しさん
05/01/23 18:36:29
>>628付近
スイッチのチャタリングキャンセルするのに2回読んでAND取る、
なんて操作は全然必要ないよ。

チャタの最大継続時間より長い周期でサンプリングすればいいだけの話。

ちょっと前に電気電子板でも話題になってたし、コレ実際勘違いしてる人が多くて
苦笑させられることが多いんだけど。
こんなの理解するのに別に難しい数学モデルなんて必要ない、というか
よく考えれば小学生でもわかるはずだと思うんだけどねえ。

669:デフォルトの名無しさん
05/01/23 19:04:32
チャタが長い短いで語れるならいいけど
たまにそれじゃ語れないときもある
最大継続時間が1秒とか。その間微妙にON/OFFの繰り返しが

670:デフォルトの名無しさん
05/01/23 19:10:01
>>669
意味わかりません。
それすでにチャタリングと違うと思うんだが。。

671:デフォルトの名無しさん
05/01/23 19:11:48
インターロックをはずしたパイプラインプロッセサ
を使う気力はありますか?

672:デフォルトの名無しさん
05/01/23 19:12:42
チャタリングスペシャル

673:デフォルトの名無しさん
05/01/23 19:43:52
>>671
意味わかりません。酔っ払い?

674:デフォルトの名無しさん
05/01/23 21:20:18
>>668
> チャタの最大継続時間より長い周期でサンプリングすればいいだけの話。

そうすると、最大継続時間×2 (+マージン) の遅れが生ずる場合がある。
これが許容されない場合もある。

そもそも、使ってるリレーが衰退部品になったので交換したらチャタの最大継続時間が変わっててソフトも見直しが必要と言うのはあまり賢いやり方とはいえない。
(複数読みなら反応が遅れるだけだけど、>>668 の方法だと御検出につながるからな。)

> よく考えれば小学生でもわかるはずだと思うんだけどねえ。

確かに >>668 が小学生並みによく考えないと言うことがわかったよ。(藁

675:デフォルトの名無しさん
05/01/23 21:34:37
チャタリングの持続時間より長い周期でサンプルするのは当然だけど

「すればいいだけ」 って部分にひっかかるね。

いわゆるチャタリング取りの処理は、単にチャタリングだけを取ってるわけじゃなく
サージとか、瞬間入ってくる短いパルスノイズも取っているんだよ。

例えばリレー接点から少し長い配線なら、隣のリレーが動く事で電磁誘導されて短いパルスが入ってくる。
操作スイッチにも、冬場は操作する人から静電気火花が飛んで短いパルスが入ってくる。

こういうノイズも取る処理を総称してチャタ取りと称してるんだと思うのだが?

676:デフォルトの名無しさん
05/01/23 21:51:47
ノイズについては確率的に誤検知を減らせる効果はあるけど、誤検知を0にはできない
サンプリングしたときにたまたまノイズが乗れば、誤検知になるから

677:デフォルトの名無しさん
05/01/23 22:16:45
>>676
もうっ!だから複数回サンプリングするんでしょ!
サンプリングはパルス幅の半分の周期でやるって
高校で教わったでしょ! 授業で何聞いてたのよ!

678:デフォルトの名無しさん
05/01/23 22:25:57
>>675
> チャタリングの持続時間より長い周期でサンプルするのは当然だけど

はぁ ? >>668 の仲間なの ?

679:668
05/01/23 22:43:29
電気電子板では私の言ってることが理解できない人が「高卒」扱いされてたけど
ここだと正しいこと言ってる私のほうが小学生扱いか(w
なんてこったい。(笑)

まあ、小学生でいいけど物事論理的・定量的に考えたほうがいいよ。
論理的・定量的に、っていっても小学校の算数レベルの話だし。

しかし、チャタリングキャンセルを複数回AND取って行うってヨタ話を
最初に考え出したのは一体誰なんだろうか?

>>674
>使ってるリレーが衰退部品になったので交換したらチャタの最大継続時間が変わってて
そういう場合問題が発生するのは複数回スキャンしてAND取る場合だって同じこと。

複数回スキャン方式(?)とスキャン周期を十分長くとる方式の違いは、
ただ複数回スキャン方式の方が立ち下がりエッジ(?)が検出されるまでの平均時間を
短く出来るって点だけ。

>>675
普通そういうのはチャタリングキャンセルとは言わない気がする。

680:デフォルトの名無しさん
05/01/23 23:57:45
>>677
アホだな
複数回やっても何回やっても同じだろ
確率的にしか減らせないんだよ
チャタリングはスイッチングのときにしか発生しない
発生しても一定時間で落ち着く
それがわかっているから、一定時間以上でサンプリングすれば、
ソフトでも除去できる
ノイズはランダムに発生するだろ
ランダムに発生するものをどうやって一定周期のサンプリングで完全に除去するんだ?

681:デフォルトの名無しさん
05/01/24 00:01:06
そもそもスパイク状のノイズをソフトで取り除けると思う方がおかしい
usecオーダーのノイズをソフトで除去しようとしたら、
それだけで処理時間が終わるだろ

682:デフォルトの名無しさん
05/01/24 06:20:22
>>679
> そういう場合問題が発生するのは複数回スキャンしてAND取る場合だって同じこと。

はぁ ?
わざわざ「(複数読みなら反応が遅れるだけだけど、>>668 の方法だと(御→誤)検出につながるからな。) 」ト書いてやってるのに理解できてないのか ?
さすが小学生レベルだな。

683:デフォルトの名無しさん
05/01/24 06:23:37
>>680
> 確率的にしか減らせないんだよ

確率的でいいんだよ。
俺たちは算数やってるんじゃなくて物作ってるんだからな。

684:デフォルトの名無しさん
05/01/24 06:39:08
>>668
制御系は、人によって状況が様々だからね。

RTOSとか、入力スキャン専用にタイマ割り込みが使えて、
スキャンタスクが他の処理と独立したサンプリング周期で
実行できるってな環境ばかりではないとおもわれ。

非リアルタイム系で、ハードのリソースが乏しい場合、
(たとえば、2行LCD程度の情報表示とスイッチ数個のインターフェースとか)
処理によって周期不定なループ内で
キーの状態も読み込むってなこともあると思う。
少なくとも、昔は多かった。

こういう場合に複数回読み込みって処理は
普通に使われるのでは?

685:デフォルトの名無しさん
05/01/24 07:51:53
>>677
サンプリングした時点にたまたまスパイクが連続ヒットするんだなこれが
わざとやれることは必ず起こるこれ現場の常識



686:デフォルトの名無しさん
05/01/24 07:53:30
ANDよりEXNORが良いよ。

687:668
05/01/24 08:25:05
>>682
しょうがないですな。
実際現場でもこういう馬鹿なクセに頑固で、
物事を数学的に考えずに昔々聞いた話を訓詁学よろしく「馬鹿の一つ覚え」
している人が多くて困ったりあきれたり。。。

>複数読みなら反応が遅れるだけだけど、>>668 の方法だと(御→誤)検出につながるからな。)
SVOが不明確ななんだか酷い文章だけど、まあそれはいい。
これ、間違ってますよ。

チャタを確実にキャンセルできるかどうかはチャタが持続する時間より
サンプリングの周期が長いかどうか、それだけで決まる。

10回スキャンしようが100回スキャンしようがN回スキャンしようが、
N*T(Tは一回のスキャンの間隔)がチャタの最大の持続時間より短ければ
やはりチャタを拾ってしまうの。

と、まあ一応反論したけど、君はきっと理解しようともしないでしょうな。
そうでなければ既に自分の愚かさを悟っているはず。

688:デフォルトの名無しさん
05/01/24 08:32:37
>>683
いったい何を保証したことになると思ってるんだ?
確率的に誤動作することを保証したソフト
そんなもの誰が受け取るんだ?

689:デフォルトの名無しさん
05/01/24 08:39:39
>>687
>チャタを確実にキャンセルできるかどうかはチャタが持続する時間より
>サンプリングの周期が長いかどうか、それだけで決まる。

正解

690:デフォルトの名無しさん
05/01/24 10:02:10
安物のプッシュボタンを押し続けた状態で
指をグリグリ動かしたらどうなるかとか考えたらいいんじゃない?
>>675の書いてることを踏まえた上で

691:675
05/01/24 11:49:38
少し引き伸ばした信号線に、ノイズが入ってくるのは避けられない。

当然、それを回避するCR+シュミットのような処理は必要だが、それで完全というわけにはゆかない。
隣のモータが配線の切れかけて連続して物凄いノイズを発生してくる可能性だってある。

そういう突発的な状況の悪化で100サンプルに1回ノイズが入るような状況でも
2度サンプルし、比較すれば1万回に1回に誤判断を減らせる。
ソフトで、何の対策もしない隣の装置が1分に1回誤動作しまくりの中、片方はチャント動くわけだ。

また、テンキーのようなダイナミックスキャンされる信号線では、ハードでCR+シュミットを入れられない。
ノイズによる誤動作を軽減するには、必ずソフトで2度比較する処理が必要だ。

もちろんこれはノイズ取りであり、チャタリング取りではない。

チャタリング取りは、>>687が書いた通り、チャタリング周期よりも長くサンプルする必要がある。
ただ、チャタリング現象は確率的現象だから、では絶対これ以上の長さでは起きないという長さというのは存在しない。

しかし、確率的に接点寿命回数で1回しか起きない長さは規定出来る。
しかし、その長さでも、確率的には、2台に1度は平均的に寿命内で起きるわけだ。
その長さを2倍にしても、せいぜい1/10、1/100に改善されるだけだろう。
しかし、その長さでサンプリングしてなお、2度サンプルして比較する手法で、その確率がありえない程小さいと、保証出来る。

692:675
05/01/24 11:58:28
つまり>>668の言うことは理論的には正しい。
しかし実用的ではない。
チャタの最大継続時間を規定できないならだ。

どの程度の頻度で発生するかは規定出来るが、絶対に発生しない時間を規定するのは現実的には不可能だ。
例えばリレーなら、数万台並べて寿命回数まで動かして最大値を求める事は出来るが、それは最大継続時間ではない。
そして、その最大値は、異常に長い時間になる可能性がある。

であれば、発生頻度をコントロール出来る時間でサンプリングして、2度採用することで確率を2乗分の1に下げる方が余程実用的で
なおかつ実際に問題が発生しない実装になるわけだ


693:675
05/01/24 12:17:17
あっと、

×2度採用することで確率を2乗分の1に下げる方が余程実用的で

この部分は、もっと考察が必要だな。 2乗分の1になるかどうかは実験してみないと判らない。

694:690
05/01/24 19:19:02
Highが5回続いたらONにする
Lowが5回続いたらOFFにする
バタついてる間はON/OFFは変化させない。
ようは簡易LPFを作りたいんだよ。
複数回サンプリングってのはそういう事でしょ。

>>668みたいな単純な処理で済んじゃうことがほとんどだし
俺自身もそうしてる事が多いけど。
電気・電子版のスレは見てないけどヨタ話扱いになっちまってんの?

695:デフォルトの名無しさん
05/01/24 20:39:46
>>685
サンプリングの1/2以上の周期の成分はLPFで取っておかないといけない。
サンプリングってのはそういう物だ。(分かって言っていると思うけど)
とはいうもの、色の付いたノイズでないとそういうことにはなりそうもないな。
白色ノイズなら平均化で確率的に消せる???

まあ、ノイズとチャタリングの話は分けて考えよう。

696:デフォルトの名無しさん
05/01/24 21:00:07
>>695
サンプリングも無限小周期でやれば、どんなノイズが来ても取り除ける
それかノイズが純白超真っ白けならサンプリングでも可

697:デフォルトの名無しさん
05/01/24 21:15:54
>>692
>チャタの最大継続時間を規定できないならだ。

スイッチメーカが出してるチャタ収束最大時間を
目安にするってのじゃだめなのか?

チャタ取りはチャタ収束最大時間以上でサンプリング,
ノイズ取りは2回同データだったら確定ってやってるんだが.


698:デフォルトの名無しさん
05/01/24 21:27:15
>>697
リレー回路で、たとえば2段にリレーが入ってたりすると、色々考えないといけないね

699:デフォルトの名無しさん
05/01/24 22:14:50
現在はチャタリング除去をソフトで行っている事例が大半だと言うことが分かった。



700:デフォルトの名無しさん
05/01/24 22:19:39
ーR-C-R-を入れて、ソフトでシュミットを実現するのも含めてね

701:デフォルトの名無しさん
05/01/24 23:05:58
>>687-688
> 確率的に誤動作することを保証したソフト
> そんなもの誰が受け取るんだ?

君の使ってる HDD も確率的に誤動作するんだけど、まさかそんなことも知らないの ?

例)
URLリンク(www.hitachigst.com)

Reliability
Error rate (non-recoverable) 1 in 10E14

702:デフォルトの名無しさん
05/01/24 23:15:52
ECCがあるさ

703:デフォルトの名無しさん
05/01/24 23:16:42
>>701
おつ!
一生懸命確率的に誤動作するものを探してきたんだね
で、ソフトでノイズ取りすると、1 in 10E14までノイズが取れるのかい?
それと、これこそハード的な破壊で、ソフトで手の打ちようがない好例じゃないのか?

704:デフォルトの名無しさん
05/01/24 23:20:49
数学的・論理的に物事考えられない奴がエンジニアやって
給料もらうのは泥棒に近いな。

大槻教授だったらここで「そんなこといったらあーたトンネル効果で……」
と始まるところだ。

705:デフォルトの名無しさん
05/01/24 23:42:13
まだやってたの?
>>695で結論に一票。

706:デフォルトの名無しさん
05/01/25 00:04:03
>>703
> 一生懸命確率的に誤動作するものを探してきたんだね

あのね、通信回線とかストレージデバイスなんかだと常識なの。
君が知らないだけの話。
(と言っても、俺もスペックとしてすぐに出せるのはこの二種類ぐらいしか知らんけどな。)

> で、ソフトでノイズ取りすると、1 in 10E14までノイズが取れるのかい?

用途によって、10E-14 が必要なものもあるし、10E-3 ぐらいでいい奴もあるだろ。
リモコンのキーが千回に一回入力ミスしても問題ないだろ。

> それと、これこそハード的な破壊で、ソフトで手の打ちようがない好例じゃないのか?

はぁ ? ECC かけまくってこの値にしてるんだぞ。
生のディスクのエラーレートはもっと高いよ。

で、君が得意げに書いてた

>>688
> 確率的に誤動作することを保証したソフト
> そんなもの誰が受け取るんだ?

はどうなったんだ ? (藁

707:デフォルトの名無しさん
05/01/25 00:35:06
>>706

あのね、それ知ってて言ってるの
悪いけど
根本的にノイズの話と合わないんだけど
これ、定量的に確率が出せてるじゃない?
なぜか?
ハードで誤りの確率が決まっていて、それをソフトで除去できる確率もわかっているからだろ?
それをやらなければ、ソフト屋の怠慢だよ
で、ノイズはどうなんだよ?
ノイズ除去は、ハード屋の仕事だろ
ハード屋の仕事までソフト屋が無理にやろうとするのがおかしいんだよ


708:デフォルトの名無しさん
05/01/25 00:51:34
>>707は定量的な確率が明らかじゃなければソフトは書けないと言う事が
明らかになってしまいましたね。

訳の分からない事象は全てハード屋任せですか。楽でいいですね。


709:デフォルトの名無しさん
05/01/25 01:18:58
>>708
何を寝ぼけたこと言ってるんだ?
ノイズの問題はハード屋に任せるしかないだろ?
入力ポートに入ってきたものはチャタリングを除けば「信号」として扱うしかないんだよ


710:デフォルトの名無しさん
05/01/25 01:23:25
ハードかソフトかは、どちらが安く上がるか等で考えるなあ

711:デフォルトの名無しさん
05/01/25 01:32:27
>>708
君の負けだと思うよ。
文脈を忘れて、そもそもの議論の前提をすりかえようとしてないか?

再送とかエラー訂正スキームの話なんてしてなかったでしょ?
そういう「仕組み」がない前提で、純粋に数値的な処理で
ノイズを完全に除去できるかどうかって話だったはず。

数学的にはそれはありえないのは君にも分るでしょ?
ていうか何ボルトのシステムを前提としているにしろ、
ゲートが誤動作するような外来ノイズ拾っちゃうハードって問題あるだろ(笑)

712:デフォルトの名無しさん
05/01/25 02:50:39
>>711 はチャタリングを知らんのか?

713:デフォルトの名無しさん
05/01/25 06:46:17
>>711
基板上のパターン配線でさえ、ノイズをゼロには出来ないし、
ましてや配線として外部から引き込んだらノイズは必ず入るものと考えないと。

静電気や電磁誘導、切れかけた配線から連続して出てくるノイズ・・・

完全に除去は理論的に出来ないけどさ、ようは、キミが作ったソフトの入った装置が
1分に1回誤動作するのに、同じハードでソフトの違う片方が平気で動いてる状態だと
どうなるかって事さ。

714:デフォルトの名無しさん
05/01/25 07:01:18
>>712
チャタリングとノイズは別問題


715:デフォルトの名無しさん
05/01/25 07:08:08
>ノイズ除去は、ハード屋の仕事だろ

最近は、ハードは
in--R-C-R----CPU
     |
    ///
だけつけて、後はソフトでコントロールしてねって場合も多いよ。

716:デフォルトの名無しさん
05/01/25 07:39:57
話についていけない・・・勉強することが多すぎる。_| ̄|○

やはり理系大学出てないとこの仕事はつらいのかな?

717:デフォルトの名無しさん
05/01/25 07:48:07
>>716
別にいいんじゃない?プログラムするダケならさ。
近くに詳しい人間がいないのならダメだろうけど。

718:デフォルトの名無しさん
05/01/25 09:16:37
>>716
大丈夫、理系出てもついていけない香具師はごろごろしている。

719:690
05/01/25 10:12:40
ノイズと一口に言っても実際はいろんな要因があるわけで。
それに対してハード/ソフトどちらで対処するかなんてケースバイケースだと思うんだけど。
処理する必要のない場合もあるだろし。
大体チャタリングだってノイズの一種なんだから、それがソフトで対処できてるのに
他のノイズはソフトじゃ無理だっていうのはおかしいよ。

720:デフォルトの名無しさん
05/01/25 10:43:35
CPUの気持になって考えろ!

721:デフォルトの名無しさん
05/01/25 11:43:40
CPUの立場としてはヒステリシス特性持ったバッファ通して欲しいな。


722:デフォルトの名無しさん
05/01/25 12:00:31
>>715の方法は、まさにソレをソフトでやる方法

CPUが出力ポートでH/Lを出力した後で入力ポートにして暫くしてから読み出す。
すると、時定数で決まる値だけスレッショルドをコントロール出来る。

つまり、
 CPUが現在Lと認識してるなら、出力時にHを出して スレッショルドを持ち上げ
 CPUが現在Hと認識してるなら、出力時にLを出して スレッショルドを下げて ヒステリシスを実現出来るわけだ。



723:722
05/01/25 12:08:08
ゴメン 逆書いた

724:デフォルトの名無しさん
05/01/25 12:10:03
>>719
たしかにチャタリングもノイズの一種だけど、
チャタリングはいつ発生していつ収束するか読めるから、
ソフトだけでも対処できる。
でも、いわゆるノイズはいつ発生するかは読めないところが違うよ。

725:デフォルトの名無しさん
05/01/25 12:20:03
>>715
>最近は、ハードは
>in--R-C-R----CPU
>     |
>    ///
>だけつけて、後はソフトでコントロールしてねって場合も多いよ。

これでノイズ除去が出来て、さらに
チャタリングはソフトで除去出来るってこと?


726:デフォルトの名無しさん
05/01/25 12:37:23
>>725
出来る環境にあるなら出来る
出来ない環境なら出来ない
でしょ

727:デフォルトの名無しさん
05/01/25 12:45:08
話の腰を折ってしまいそうなんだが、
そういうCやRの大きさってどうやってきめてるんだろう
ハードは門外漢なのでいつも不思議に思ってるよ

728:デフォルトの名無しさん
05/01/25 12:50:45
(√CR)とCPUの特性から流したい電流で鸚鵡の法則


729:デフォルトの名無しさん
05/01/25 12:55:00
>>727
これ読んでみ
URLリンク(www.cqpub.co.jp)


730:デフォルトの名無しさん
05/01/25 12:55:15
>>728
嗚呼、なんとなーくイメージできました。サンクス

731:690
05/01/25 12:56:40
>>724
違うから対処できないという結論は導かれないよね(論理学)
チャタリングがいつ発生するか読めるってのもツッコミたいけど・・・
とにかくノイズでも対処できる物があることを分かって欲しいです。
理由もなく「出来ないんだ」の一点張りではソフト屋のプライドが。。。

インパルスノイズみたいな高周波ノイズだと単純にローパスフィルタを通してやるだけで
除去できる事もあるけど、その場合それがハードである必要は別にない。
ソフトでもフィルタとか書けますからね。簡単な例は既に示したし。

#とりあえず>>668さんが理解してくれたらそれでいいや^^;これで終わりにしよう

732:デフォルトの名無しさん
05/01/25 12:57:24
>>729
おお、こりゃおもしろい。これまたサンクス

733:デフォルトの名無しさん
05/01/25 13:14:18
>>725
CRの値を最適にすれば、ノイズと同時にチャタリングも取ってしまう事も出来るよ。

これは一見タダのCRフィルタのようだけど、実はスレッショルド可変ポートや簡易ADC
入出力切り替え可能なポートの特性を使って、時間軸で制御するわけ

734:デフォルトの名無しさん
05/01/25 14:22:17
ハードって面白そう

735:デフォルトの名無しさん
05/01/25 16:20:40
>>729
シンク電流、ソース電流はPICマイコンの消費電流になりますか?

736:デフォルトの名無しさん
05/01/25 17:14:04
>735

なりません。

737:デフォルトの名無しさん
05/01/25 17:36:28
>>733
メタステーブルも取れますか?

738:デフォルトの名無しさん
05/01/25 18:10:37
>>735
電流計をPICの電源ピンに直列に入れたら、片方は針はふれないけど、片方はふれる。
GND側で計るかどうかで反転するけどね

739:デフォルトの名無しさん
05/01/25 20:15:15
>>731
……なんか釣りっぽくない気がするんだけどひょっとしてマジで書いてる?
論理学ってどこの星の論理学だよ。

前提が違えば結論は違いうる、これが論理だよ。
ていうかこれまでの議論は何(以下略

740:デフォルトの名無しさん
05/01/25 20:34:51
>>739
>ていうかこれまでの議論は何

=chatteringむだ話

741:デフォルトの名無しさん
05/01/25 20:38:13
>>739
ていうかこれまでの議論は何

=noise雑音

742:690
05/01/25 20:43:24
>>739
はい大マジですけどね・・・
仮に「いつ発生していつ収束するか読める場合はソフトで対処できる」という
条件が与えられた場合、「いつ発生するか分からない」物に対しては
「ソフトで対処できるか出来ないかは分からない」であって「ソフトでは対処できない」では
ありません。。。という意味のことを書いたのです。
もっとも「いつ発生していつ収束するか読める場合はソフトで対処できる」の条件は
>>724さんが勝手に持ち出しただけでそれが正しいという保証もありませんが。

まぁ横道にそれた感があるし、ノイズの議論を続けてくださいな。

743:デフォルトの名無しさん
05/01/25 20:53:06
>>715の回路はノイズ取りだけじゃなく、他にも面白い事が色々出来るよ

例:一つのポートにスイッチを2個つないでしまう。

  +-s2---R2-+
  +-s1---R1-C-R3----CPU
  |        |
 ///      ///

R1!=R2
R3<R1+R3にして、 CPUからHを出しておいて 入力ポートに変更してGNDに落ちるまでの時間で
どっちがONなのか、2個共オンなのか判る。

744:デフォルトの名無しさん
05/01/25 20:54:22
「動作するかしないか分からない」ものは「動作しない」ものではありません
だから出荷してもいいんです

745:デフォルトの名無しさん
05/01/25 21:05:30
いままでのまとめ

・チャタリングを取るにはその最大持続時間より長いサンプル周期でサンプルするのが必要十分条件である
 └ただし、真の最大持続時間は規定しえない
   └よって管理された頻度のサンプリング間隔で2度採取し比較する方法は実用的には優れた手法である

・滅多に入って来ないノイズを取るのにも2度採取し比較する方法は優れた方法である
 └理論的には確率に頼った方法であり、確実でないのではないか?
   └正しく考察すれば2度採取する事で実用的に問題無いレベルに抑える事は可能



746:デフォルトの名無しさん
05/01/25 21:14:57
もう一個あるんじゃない

・ノイズ処理はハードでしか出来ない
 └ソフトで出来るものもある
   └どっちでやった方がいいかはケースバイケース

747:デフォルトの名無しさん
05/01/25 21:50:24
>正しく考察すれば2度採取する事で実用的に問題無いレベルに抑える事は可能

すでに書いたけどこれに関してはそもそも議論の前提がおかしい。
ゲートの論理ひっくり返すような外来ノイズが乗るハードなんて腐ってるでしょ。

なんか学校の実習かなんかのでやったADC使ったLPFの実験かなんかの話と
混同してる学生さんがいるとしか思えない。

748:デフォルトの名無しさん
05/01/25 21:52:05
>・ノイズ処理はハードでしか出来ない
これはそもそも正しくないでしょ。
ハードでしか出来ないのは、サージ等からCPUを保護する事。

実際に処理したい信号の周期よりも早いサンプリング=オーバサンプリングさえすれば幾らでもノイズは減らせられる。

749:デフォルトの名無しさん
05/01/25 21:57:28
>ゲートの論理ひっくり返すような外来ノイズが乗るハードなんて腐ってるでしょ。
 ゲートの論理ひっくり返すようなのをノイズと呼んでは可哀想だよ。
 現実はそういうのを理論的に防ぐ事は出来ない。
 可能なのは「このノイズ試験をして大丈夫」 というレベルのみ。
では、それで大丈夫だからOKなのか?

まあ、基板のレイアウトで、CPUのすぐ横にリレーおいて、リレーが動く都度CPUが暴走するなんてのは
良くある話だけど、それはソレ。 一緒くたに考えるのはどうかと思うよ



750:デフォルトの名無しさん
05/01/25 21:59:31
>>749
だから「議論の前提がおかしい」といっているんですが。。

751:デフォルトの名無しさん
05/01/25 22:03:26
CR組んである入力にノイズ対策のために何回もサンプリングかける意味がわからない。
CRで取り切れてなければ時定数が間違えているか、信号の周波数領域までノイズが侵入しているかだと思うが。
いずれにせよハードに問題ありと言うことになる。

752:デフォルトの名無しさん
05/01/25 22:07:11
>>751
CR+シュミットトリガならその通りだけど

CRが入ってるだけだと、それは意味がないよ

753:デフォルトの名無しさん
05/01/25 22:11:27
もうやめようかとも思ったけど、
>実際に処理したい信号の周期よりも早いサンプリング=オーバサンプリングさえすれば幾らでもノイズは減らせられる。
だからこれデジタル信号に関しては間違ってますよ。

754:デフォルトの名無しさん
05/01/25 22:15:40
CR+シュミット というのが理想的なのは間違いないけど、やっぱり実用的じゃない。
装置が完成してから、細かな仕様が決まったり、
そもそも相手の仕様が設計時には判らない事も多いからだ。
実際につないでみてから、C/Rを調整なんて現場でやるわけにはゆかないだろう。

そういう時にCR+シュミットをやる手法として>>715 の方法がある。
CPU側から時間をコントロールすれば好きな特性が作れる
といっても、これをヤレといわれてすぐにやれる奴は少ないのが問題。

だから、バカチョン式に、CR+シュミットをある程度甘く設計しておいて
それ以上のノイズはソフトで取るという方式には十分実用的なメリットがある

755:デフォルトの名無しさん
05/01/25 22:18:22
>>753
どうして間違ってるの?

信号が0,1だろうがアナログだろうが、デジタルフィルタを設計すれば
ソフトで処理しようがアナログで処理しようが同じですよ。

実際は、ノイズ取りにIIRフィルタやFIRフィルタをわざわざ使うメリットはないでしょうけど
考え方も、理論面も同じですよ

756:デフォルトの名無しさん
05/01/25 22:18:55
>>753
だからオーバーサンプリングを無限にかければノイズは取れるだろ?

757:デフォルトの名無しさん
05/01/25 22:26:38
デジタル信号をCR+シュミットで処理してるなら

オーバサンプリングすれば、等価な処理が理論的にも可能だし、
CRよりもっと急峻で特性が良いフィルタを作る事も可能だ。

758:デフォルトの名無しさん
05/01/25 22:27:27
ああ、無限に早くする必要はないという意味ね

759:デフォルトの名無しさん
05/01/25 22:31:13
>>756
無限にオーバーサンプリングしたのをアナログと言う
たぶん・・・

760:デフォルトの名無しさん
05/01/25 22:38:53
>>759
有限でもいいでしょ?
無限に近くオーバーサンプリングすれば
それはデジタルですよ。

761:デフォルトの名無しさん
05/01/25 22:40:53
>>760
それを屁理屈と言う
間違いない

762:デフォルトの名無しさん
05/01/25 22:45:25
>>755
なんか昨日のハードディスク廚と同じ臭いがするな
なんでチャタリング取りとノイズ取りは同じか?という話をしているところに
そんな自分でわざわざ使うメリットもないと書いてある理屈を持ち出してくるんだか・・・
msecオーダーの話じゃなかったのか?

763:デフォルトの名無しさん
05/01/25 22:47:25
>>740-741
ワロス


764:デフォルトの名無しさん
05/01/25 22:56:45
>>743
限られたポートで多くの接点を認識したい場合に使うよね。


765:デフォルトの名無しさん
05/01/25 23:22:43
>>762
書いた意味は、
わざわざ FIRフィルタやIIRフィルタを使わなくても、
単純に2度比較やANDを(1/z + 1) と考えて使えばいいじゃない 程度の意味ですよ

外部のCRを近似したいなら  b/(1/z+a) のデジタルフィルタで十分良い近似が得られますよ。



766:デフォルトの名無しさん
05/01/26 14:17:15
>754

>そもそも相手の仕様が設計時には判らない事も多いからだ。

おいおい、堂々とそんなことを書くなよ。
その方がはるかに大きな問題だろう。



767:デフォルトの名無しさん
05/01/26 14:29:49
>>766
ユニバーサルなインターフェースだとそういうことはよくある


768:デフォルトの名無しさん
05/01/26 17:18:48
>>766
あんまり現場(設置場所)へは行かないの?
または恵まれた環境なのかな。
うらやましー。

769:デフォルトの名無しさん
05/01/26 17:52:05
チャタリングとノイズの除去かー。
SWのチャタリングは 15ms × 2回 (おいらは 3回) が一般的じゃねーの?
Digital In(TTLレベルでの外からの入力) のノイズ除去はしてないね。
実際できないのが多い。
ある条件後、数ms~数十ms以内に Hi/Lo を検出して即座に
Out ってのがほとんどだからか。
汎用のソフト作るならまだしも、特定の機器に接続ってのが
ほとんどだからあんまし気にしてないし、上の方法で実際問題ないね。
ほとんどが検査装置+ロガーだから特殊かな?


770:デフォルトの名無しさん
05/01/26 18:08:01
数マイクロ要求されたら無理だけど、数ミリなら
レベルで動作して、問題ない信号なら無理にノイズ取りはしないけど
エッジ処理(カウンタとか)をする場合は、最低2回は取る処理を入れてる。


771:デフォルトの名無しさん
05/01/26 20:11:21
>>745
必要十分でなくて十分だろ。

>>747
あるスレでは、リセットラインのノイズ対処でLSI/FPGA設計者が盛り上がってました。
あなたは非同期リセット派ですね。

>>753
信号帯域のノイズは消せない。

>>769
だからチャタは2度読み必要無いって。


772:デフォルトの名無しさん
05/01/26 20:25:13
このスレ読んで、理論と実践の両面で高レベルな人間は貴重だなと思った。

773:デフォルトの名無しさん
05/01/26 21:53:45
センサ→R→C→ CPU とやるのは
これはサージからCPUを保護するのが主な目的で
CPUの入力ポートがシュミット特性を持っていなければ
ノイズ取りは結局はCPUがやらなければいけない。
Cが大きいと逆にCPUにとってはノイズ取りが難しくなる場合もある。
よく勘違いがあるので注意。 =>『CRが入ってるからノイズ取りはしていません』
ノイズ取りはCR+シュミットが必要なのよ。

似ているが、
センサ→R1→C--R2⇔CPU とやるのは シュミット特性までソフトで実現しようというもの
当然サージ保護の機能も兼用されている。 R1<<R2にしてADC代わりに使う事さえ出来る

リレー接点やスイッチの場合はR1を小さいか無くして、Cから接点クリーニング電流を流す
事まで兼用してしまう。

774:デフォルトの名無しさん
05/01/26 23:21:37
うーん、数レスROMってたけど、
2度読み必要ないってのは、誤認識(スイッチ押されたのに押されたと覆わない)しても
次のサンプルタイミングでは必ずチャタが落ち着いて正常認識できるはずだから
必要ないって認識でよい?

775:デフォルトの名無しさん
05/01/27 00:56:00
電気の基礎が分かっていないな。

776:デフォルトの名無しさん
05/01/27 07:21:29
>>770
カウンタなのにそんなことしたら・・・

777:デフォルトの名無しさん
05/01/27 09:56:01
>>776
一定周波数以上のパルスは打ち切りってことでしょ。
ハードウェアなんかだと、シフトレジスタ組んで、XORやANDをとったりってのは
ノイズ除去のためによくやる方法。
入力が断線したりした場合に不正なパルスを拾っちゃったりするので、
そういうのも考慮すると必要だと思う。

ノイズでゲートの論理が反転してしまうのは、ハードの問題ってレスがあったけど、
ケーブルへの輻射ノイズならよくある話で、
ハードだけでの対策はなかなか大変。
大抵は上で書いたようなのを、PLDなんかで組んじゃうんだけど、
(もちろんCRフィルタも入れて)
直接CPUのI/Oポートに入力だと、ソフトでやるんだろうね。

778:デフォルトの名無しさん
05/01/27 10:04:04
分解能は何で定義されますか?

779:デフォルトの名無しさん
05/01/27 20:03:57
>>774
HとLが変わるときに、1回だけHかLどちらかの値が読めてしまう可能性がある。

なんか問題あるか?


780:デフォルトの名無しさん
05/01/28 00:39:02
>>707
> ハードで誤りの確率が決まっていて、

はぁ ?
メディアの種類によって誤りの確率なんか全然違うぞ。

そんなあほなこと書いてて

> あのね、それ知ってて言ってるの

なんて、言ってるのはちと恥ずかしいね。(藁

781:デフォルトの名無しさん
05/01/28 07:26:18
>>780
メディアによる違いを含めて一定以下ということじゃないの?

782:よねちん。
05/01/28 09:24:29
OSitron、言語C++
Aタスクでthrow()を抄出した直後に、
割り込みが発生し割り込みでset_flgをおこなったあと、
ディスパッチが起こり、Aタスクに戻ってきたときに、
terminateしてクラッシュしてしまい、catch(...)に捕捉されません。
なんか制約があるのでしょうか・・・?


783:デフォルトの名無しさん
05/01/28 17:09:12
マイコン組み込み系、主に8bit経験者です。(20年)
シーケンサは見たこともないのですが、キーエンスのPLCをプログラムしてみないか
と打診が来ました。経験が生かせるでしょうか?

784:デフォルトの名無しさん
05/01/28 17:47:16
>>783
Let's try.

とは言ったものの、年齢相応に頭が固くなっているならお勧めしない。
私のように二度目の成人式でも常に新しいものについていける自信があればお勧め。

785:783
05/01/28 18:21:37
即レスthksです。とりあえずユーザマニュアルをひとつダウロして読んでみて、
適応できそうか考えてみようとおもいます。

786:デフォルトの名無しさん
05/01/28 18:48:08
すいません。お聞きしたいのですが、OPから制御系の技術者にシフトチェンジすることは、可能でしょうか?

将来は、SEやPMの仕事がしたいです。


787:デフォルトの名無しさん
05/01/28 18:50:17
>>782
OS:itron
って言っても、itronは一般的な動作とAPIの仕様が決められてるだけで、
実装は環境やメーカーによって違うから…
もちろんC++コンパイラもね。
使ってるitronやコンパイラの
メーカーやディストリビューターに聞いてみたら?

788:デフォルトの名無しさん
05/01/28 18:53:24
仕事でVBAを使っています

789:デフォルトの名無しさん
05/01/28 19:04:08
>>786
年齢と環境とやる気次第。
就職フェアで待ってますw

790:デフォルトの名無しさん
05/01/28 19:21:00
>>789
レスありがとうございます。w
いつの日か、御縁がありましたら、どうぞよろしくお願いします。w

791:デフォルトの名無しさん
05/01/28 21:47:55
>>786
OPってのはOperational Amplifierのこと?
PMはPulse Modulationだよな。PWM(Pulse Width Modulation)ともいう。
大ジョブじゃねぇの。やる気さえあれば。

792:デフォルトの名無しさん
05/01/28 22:21:01
じゃぁ、SEは?

793:デフォルトの名無しさん
05/01/28 22:28:41
>>791
全然違うと思うよ

794:デフォルトの名無しさん
05/01/28 22:32:24
OP=オペレーター
Sヨ=システムエンジニア
PM=プロジェクトマネージャ

795:デフォルトの名無しさん
05/01/28 23:59:54
今は役割分担をぐだぐだ言う奴はつかえねえ。

796:デフォルトの名無しさん
05/01/29 00:14:50
>>795
役割分担すらしてない会社なんて、たかが知れている。

797:デフォルトの名無しさん
05/01/29 00:19:37
>>795
大局を見ることができない下っ端は文句を言わず手を動かせ。

798:デフォルトの名無しさん
05/01/29 01:24:23
名刺に訳分からないカタカナ肩書きが付いてる
詐欺くせぇただの能書き垂れになりませんように>>789


799:789
05/01/29 01:27:34
私の肩書きは主事補だ。それがどうした。

800:デフォルトの名無しさん
05/01/29 02:14:04
なんだ、決裁権もないただの屑か。

801:デフォルトの名無しさん
05/01/29 04:39:19
スレッショルドとかいうのを実装すればいいんじゃないの?
もちろん大声で叫びながら。 全裸で。

802:デフォルトの名無しさん
05/01/29 08:26:07
私の名刺の表は代表取締役、裏は英語でCEOとなっている。
外国のお客と名刺交換するとすぐ分かってくれていいよ。

803:デフォルトの名無しさん
05/01/29 16:18:45
代表取締役は President じゃないっけ?
はやりで最近は CEO っていうんかい?

804:デフォルトの名無しさん
05/01/29 17:05:08
>>803
URLリンク(www.atmarkit.co.jp)

805:デフォルトの名無しさん
05/01/29 18:39:36
>>803が可哀想です。やめてください。

806:デフォルトの名無しさん
05/01/30 13:50:28
チャタリングの話しようぜ

807:デフォルトの名無しさん
05/01/30 14:11:30
>>806
チャタリングなんかどうだっていい。

808:デフォルトの名無しさん
05/01/30 14:16:41
UFOでも呼ぶのか?

809:デフォルトの名無しさん
05/01/30 14:17:31
>>806はチャタリングだけに、ってオヤジギャグを。。

810:デフォルトの名無しさん
05/01/30 14:42:03
チャタリング夫人の恋人

811:デフォルトの名無しさん
05/01/30 16:13:47
ベントラベントラスペースピープル

812:デフォルトの名無しさん
05/01/30 17:17:56
   ○ ,                   ○>
   / ̄'☆                   )  
  / >                    /


☆をダブルクリックするとかめはめ波が出るぞ
だまされたと思ってやってごらん。感動するよ。


813:デフォルトの名無しさん
05/01/30 17:18:59
>>812
すげー

814:デフォルトの名無しさん
05/01/30 17:43:56
>>812
感動した!

815:デフォルトの名無しさん
05/01/30 17:44:59
頭の○の右の,とか足の>とかクリックしてもなるなw

816:デフォルトの名無しさん
05/01/30 17:55:44
>>812
おまえマジ頭いいな

817:デフォルトの名無しさん
05/01/30 18:04:41
でも、>>812はコピペしてきたんだよね。

818:デフォルトの名無しさん
05/01/30 21:29:28
コピペしてきます (・`ω´・)ノ

819:デフォルトの名無しさん
05/01/30 22:27:13
>812
しかも、背中をクリックすると亀ハメ波リバースwww
アタマが・・・wwwww

820:デフォルトの名無しさん
05/01/30 22:34:30
何年前のネタで盛り上がってんだよ。。

821:デフォルトの名無しさん
05/01/30 23:47:47
10年前のネタで盛り上げちゃってどうもすんません

822:デフォルトの名無しさん
05/01/31 03:08:00
ドラゴンボールは今が旬を迎えております

823:デフォルトの名無しさん
05/01/31 04:57:13
ドラゴンボールうんぬんよりもコピペに対してかとおもた

824:デフォルトの名無しさん
05/02/01 05:44:01
マ板の連中が大挙して嵐に来てるのか

825:デフォルトの名無しさん
05/02/03 19:49:41
お~~い、ちょっと前の議論活発状態フカーツしてくれ~~

826:デフォルトの名無しさん
05/02/03 19:55:15
ネタがないと議論にはならず…

827:デフォルトの名無しさん
05/02/03 20:07:45
情報処理技術者試験や電気工事士試験受けてる人いますか?

828:デフォルトの名無しさん
05/02/03 20:13:35
資格全般板
URLリンク(school4.2ch.net)

829:デフォルトの名無しさん
05/02/03 20:17:31
>>827
このスレ的にはエンベデッドシステムとかかな?

830:デフォルトの名無しさん
05/02/03 20:56:41
>>825
よし、じゃあチャタリングの話をしよう

831:デフォルトの名無しさん
05/02/03 20:58:43
なんでチャタリングなんだ?何か深刻な問題でもあるのか??

832:コンテナによって解釈されてはいけないEL式をエスケープする為に
05/02/03 21:09:07
ジャグリングのほうが難しいだろ。

833:デフォルトの名無しさん
05/02/03 21:09:16
なぜソフトでハードの置替えができないか?についてまじめに議論して欲しい。

834:デフォルトの名無しさん
05/02/03 21:10:44
>>833
ソフトとは?ハードとは?

835:デフォルトの名無しさん
05/02/03 21:15:30
ちょうどこれからスイッチの状態取得のコードを書くんだが
もう議論はいいや

836:デフォルトの名無しさん
05/02/03 21:33:56
ここに書いて

837:デフォルトの名無しさん
05/02/03 21:35:08
採点してやろう。

838:デフォルトの名無しさん
05/02/03 22:11:47
FPGAなんかいじってると
ハードでやればいいのにと思うことがしばしば

839:デフォルトの名無しさん
05/02/03 23:00:12
>>838
ディスクリートIC組み合わせてハード組むより、FPGAに書いた方が
シンプルだし小型化出来て(・∀・)イイと思うけどなぁ。

つかFPGA自体ハードじゃないかと(ry


840:デフォルトの名無しさん
05/02/03 23:07:52
>>839
> つかFPGA自体ハードじゃないかと(ry
FPGAの設計はプログラムだから…ソフトだと思う。

841:デフォルトの名無しさん
05/02/03 23:09:59
焼いた後は第三者から見たらハードだよな

842:デフォルトの名無しさん
05/02/03 23:20:53
>>834
ハード=物質
ソフト=情報

でどう?

843:デフォルトの名無しさん
05/02/03 23:25:41
チャタリング除去には情報を使わずに物質を使えという事か

844:デフォルトの名無しさん
05/02/03 23:27:44
よし、敵は電子だ!!!

845:デフォルトの名無しさん
05/02/03 23:30:56
>>840
じゃあCADで設計したメカや回路はソフトなのかと

846:デフォルトの名無しさん
05/02/03 23:50:54
>>845
>>842

847:デフォルトの名無しさん
05/02/04 00:10:13
ソフトウェア(ROMに書かれてるプログラム)をハードウェアにすることは可能?

848:デフォルトの名無しさん
05/02/04 00:21:54
>>847
不可能

849:デフォルトの名無しさん
05/02/04 00:22:46
>>847
マジレスすると可能だけど。

850:デフォルトの名無しさん
05/02/04 00:22:54
ハードウェアをネットワークで転送する事は可能?

851:デフォルトの名無しさん
05/02/04 00:24:47
>>850
不可能

852:デフォルトの名無しさん
05/02/04 00:25:19
>>850
可能

853:デフォルトの名無しさん
05/02/04 05:34:48
凄いな、同時に1と0の入力が・・・ 「作り方」をネットで転送して向こうで組み立てるのはできるね
でも850が言いたいのは違うかな。現金書留と振り込みの違いみたいなもんかな

854:デフォルトの名無しさん
05/02/04 06:00:40
>>853
> 凄いな、同時に1と0の入力が・・・
複数回サンプリングしてノイズを除去。


855:デフォルトの名無しさん
05/02/04 06:42:14
>>850
可能

856:デフォルトの名無しさん
05/02/04 07:28:31
>>854
>>848>>851 をサンプリングした場合と
>>852>>855 をサンプリングした場合の違いは?

857:デフォルトの名無しさん
05/02/04 08:31:34
>>856
忘れずに排他的論理和かけとけよ。

858:デフォルトの名無しさん
05/02/04 08:43:04
>>854
>>851-852はノイズじゃなくてチャタリングだろ。
チャタの最大継続時間より長い周期でサンプリングすればいいだけの話。

859:デフォルトの名無しさん
05/02/04 10:15:22
>>858
あふぉですか?

860:デフォルトの名無しさん
05/02/04 11:37:59
>ハードウェアをネットワークで転送する事は可能?
⇒ CPUから内容を更新出来るプログラマブルなハードウエアに限定すれば可能

そのような例としては PLD/FPGA ispPAC FPAA


861:デフォルトの名無しさん
05/02/04 19:40:43
誰か並列処理と逐次処理くらい言わないのか?

862:デフォルトの名無しさん
05/02/04 19:44:32
>>861
何の話?

863:デフォルトの名無しさん
05/02/04 20:03:51
>>858
ワロタ

864:デフォルトの名無しさん
05/02/04 20:57:40
お、スレが伸びてる…
と思って覗いてみたら、ネタ合戦かよ

865:デフォルトの名無しさん
05/02/04 21:18:33
FPGAってソフトか?

866:デフォルトの名無しさん
05/02/04 22:25:33
FPGA自体はハード
FPGAに目的の動作をさせるにはソフトが必要になる

∴FPGA≒CPU

867:デフォルトの名無しさん
05/02/04 22:40:48
PC自体はハード
PCに目的の動作をさせるにはソフトが必要になる

∴PC≒CPU

868:デフォルトの名無しさん
05/02/04 22:42:28
ファミコン自体はハード
ファミコンに目的の動作をさせるにはソフトが必要になる

∴ファミコン≒CPU


869:デフォルトの名無しさん
05/02/04 23:19:37
転職面接で
「マイコンのプログラムとFPGAのデジタル回路設計の経験があります」と言ったら
「ああ、どっちもソフトみたいなもんですね」
と言われて落とされた_| ̄|○

870:デフォルトの名無しさん
05/02/04 23:31:05
>>869
よかったな。そんな会社に入らないで。

871:565
05/02/05 00:05:47
その節は色々と質問に答えてくださりありがとうございました。
とりあえず、現在プログラムを作って処理時間を計っています。

DMAをバースト転送でメモリに0を書き込んでその後リードするやり方と
for文を使って、書き込み&チェックをするやり方の2種類を作りましたが
処理時間はあまり違いはありませんでした。

ある処理に利用するバッファを0クリアしてチェックした結果620msほどかかりました。
・・・ということでさらに早くするためアセンブラにしたほうがいいのか検討中です。


ちなみに一番大きいバッファは・・・
unsigned short AAA[33000];
こんな感じなものです。


もしアセンブラで組むならアドバイスはありますでしょうか?
ならべく、今後も使えるような形にしたいと考えております。


872:デフォルトの名無しさん
05/02/05 00:30:38
無い

873:デフォルトの名無しさん
05/02/05 00:41:40
>>871
そんなの上で出尽くしてるよ。
コンパイラが吐いたコードがどんなのか見た?
そんな程度の処理に、多分手で書いても殆ど同じになるよ。

大体、シテムの性能的に620msは高速化の余地があると評価出来てるの?
論理限界は何ms?


874:デフォルトの名無しさん
05/02/05 00:44:01
シテオク

875:デフォルトの名無しさん
05/02/05 01:12:51
>>869
ハードが出来るマイコン技術者募集という求人だと
だいたいマイコン周辺のハード=アナログなので
デジタル回路ができてもアピールポイントにはならない
これ常識

876:デフォルトの名無しさん
05/02/05 02:30:00
やっぱこれから注目される言語は制御系なのかな?
制御系覚えたら職人になれる?

877:デフォルトの名無しさん
05/02/05 02:32:47
>>875
でもその辺って中途半端なんだよな…
大した電子工学の知識も要らないけれど、大したプログラミングの知識も要らない。

878:デフォルトの名無しさん
05/02/05 02:37:29
>>876
海外へ丸投げが多いから仕事は無いぞ
俺は辞めてしばらくたつから、今はどうかわからんが。

879:デフォルトの名無しさん
05/02/05 02:42:06
今はさらに悪化している

880:デフォルトの名無しさん
05/02/05 05:56:33
え~、そうなの? フリー化して6年ほぼ途切れなく仕事貰えてる俺はよっぽどお客さんに
恵まれてるんだな。

881:デフォルトの名無しさん
05/02/05 08:58:50
>>880
制御系PGだけで食ってるですか?
どれくらい稼げるの?

882:デフォルトの名無しさん
05/02/05 09:02:44
需要だけはあるだろうから地方なら喰えるだろうけどねぇ…

883:デフォルトの名無しさん
05/02/05 09:16:57
意外と九州に多く分布していまつ


884:デフォルトの名無しさん
05/02/05 13:31:51
工業地帯だからね

885:デフォルトの名無しさん
05/02/05 14:08:04
熊本なんですけど

886:880
05/02/06 03:55:16
俺は首都圏、某・上場企業より。子育て終了、家・教育・車の3大ローン無しなので、
4~6h/日ぐらい働いて\600~900/年。 あとはスポーツしたりお気楽してます。

887:デフォルトの名無しさん
05/02/06 10:43:58
>>886
\600/年はM\6/年の間違いかな? いいなぁ、ローンがない分私より余裕があるわけだ。

888:880
05/02/06 18:18:17
うん、メガ円のことね。そのつもりで書いてます。いくら何でも\600yen/年 じゃ
新宿西口のあの辺でも生きて行けませんがな(^o^)
車は二輪しか乗れないし、家は妻の父上から貰ったし、子供はパープリンで大学なんて
行けなかったし・・・で、へたれのオヤジでもなんとかなってます。
趣味に合う仕事ばかり来るのも嬉しいことです。

889:デフォルトの名無しさん
05/02/07 19:14:08
偶然のこのスレを見つけた通りすがりのものですが、君らの書いた
難しい文章を読んできたら脳みそがわけわからない事になって気持ちE~♪

890:デフォルトの名無しさん
05/02/07 20:51:08
>>889
スレリンク(tech板)

891:デフォルトの名無しさん
05/02/08 05:08:36
で、結局職人に成れるんですか?
Cとかjavaとかだと普通だから将来不安な気がしてる。

892:デフォルトの名無しさん
05/02/08 07:21:29
普通のことを普通にするのが職人

893:デフォルトの名無しさん
05/02/08 13:21:46
そのジャンルにおいておよそ全ての「普通」を
「熟知」していることが最低条件だよな

894:デフォルトの名無しさん
05/02/08 13:35:41
職人と呼ばれたら終わったと思ったほうが良い。

895:デフォルトの名無しさん
05/02/08 13:58:14
>>891
てか,「言語」なんて部分にこだわってるようじゃ無理.
お前みたいのはこっちに来るな.


896:デフォルトの名無しさん
05/02/08 16:26:45
言語より下のレベルでやりくりする業界だし。
口よりは手を動かす業種だからな。

897:デフォルトの名無しさん
05/02/09 09:36:35
シーケンサのプログラムの仕事に応募して断られてきました。
マイコンの基板も作るからそのときは来てね、とリップサービスはありました。

898:デフォルトの名無しさん
05/02/09 09:57:20
>>897
マイコン制御の経験があれば、ソフトのセンスと簡単な電気回路は理解できると見なせる。
シーケンスはそれほど難しくないから、電装設計込みでも、1、2年やれば身につくと思う。
よほど異業種とか年齢行ってるか、超即戦力が必要だったかだな

899:デフォルトの名無しさん
05/02/09 10:13:53
騒音110dBの中で耳栓無しでデバッグした人居ますか?

900:デフォルトの名無しさん
05/02/09 10:44:42
5m先で小爆発があったときは110dB超えたと思う。

901:デフォルトの名無しさん
05/02/09 18:12:48
Finding a transfer function...
--------------------------------------------------------------------------------
The frequency response of a linear time invariant system has been
measured and can be seen in the attachment file below.
A feedback element with a transfer function, H(s), is to be
chosen so that the sysytem steady-state error to a unit step input
is equal to 0.07. What is a suitable transfer function to achieve this???

これで、frequencyとmagnitudeとphase angleの数値をざっと各30個ずつ
ぐらいもらってるんだけど、まったく分かりません。どういう過程で
transfer functionを求めていけばいいのでしょうか? matlabを使ってtransfer
functionを求められると聞いたんですけど、どういう風に数字を入れていけば
いいのでしょうか?

902:デフォルトの名無しさん
05/02/09 18:17:51
これ以降に書き込みするときは、名前欄に数字の901を入れるといいらしい

903:デフォルトの名無しさん
05/02/09 23:20:35
>>899
110dbどのくらいだっけ?
耳元で怒鳴りまくってやっと会話が成立する環境でならやったことあるぞ
もうへろへろ

904:デフォルトの名無しさん
05/02/09 23:23:19
>>898
高級言語プログラマーにラダーシーケンスやらせたら制約の多さにぶちきれることうけあい(w


905:デフォルトの名無しさん
05/02/09 23:41:46
>>904
それを言ったらアセンブラをやらせても似たりよったりかと

906:デフォルトの名無しさん
05/02/09 23:55:59
>>905
アセンブラは、ライブラリやマクロが使えるし全然違う。ラダーは、基本的には自己拡張できない。

907:デフォルトの名無しさん
05/02/10 07:12:00
ラダーって元々はリレーによるシーケンスの 回路図 だからね。
最近はいろんな関数が使えたり、階層化したりもできるけど、
プログラム言語としてみると、たしかにアセンブラ以下だよね。

自分のいる環境では、
メカ屋が機械を動かす際に、プログラム言語を知らなくてもイイってことで、
だいぶ重宝されているみたいだが・・・・。
あと、動作中にリアルタイムでどこがONしているか見られるってのがイイのかな。

やってることは、基本的に、ココとココがONしたらここをON
てな感じだから、HDLとかで書いて、変換できないものだろうか?
FPGAだって最近はC言語でプログラムできるんだから・・・
と思う今日この頃。

でも、プログラマブルな制御装置を提供する側からしたら、
C言語をサポートするより、ラダーツールの方が都合いいんだろうな。

908:デフォルトの名無しさん
05/02/10 07:30:21
ロボットメカをTVで見てブルブル震えて
病気みたいだけどなぜ?

909:デフォルトの名無しさん
05/02/10 11:29:41
>>908
手抜き

910:デフォルトの名無しさん
05/02/10 11:44:08
モータの力が強くて、軽くて、でも何かに触ると突然重くなるという条件なんで
静止はそもそも難しい。

911:デフォルトの名無しさん
05/02/10 12:27:14
>>899
画面が歪むほどの強磁界の中でデバッグしたことはある。
ガキができなくなるかと思ったよ。

912:デフォルトの名無しさん
05/02/10 15:04:22
原子炉の冷却水配管の直近でデバッグじゃないけど動作試験したことはあるなぁ。
日が当たるところに居るよりも放射線量少ないのさ。

913:デフォルトの名無しさん
05/02/10 15:25:10
ものすごく口が臭い客の前でデバッグしたときは苦痛だった。

914:デフォルトの名無しさん
05/02/10 15:26:55
>>913
くだらない事でスレ上げるな

915:デフォルトの名無しさん
05/02/10 19:09:51
デバッグ中に火を出したことならある。
「119へ電話だ!」と一瞬頭をよぎったが、程無く自力で消火できた (^_^;

916:デフォルトの名無しさん
05/02/10 21:03:20
ロボットを暴走させたことならある
クビになるかと思った

917:デフォルトの名無しさん
05/02/10 21:08:57
>>916
くだらない事でスレ上げるな

918:デフォルトの名無しさん
05/02/10 22:34:37
ロボットを暴走させたことならある
クビがちぎれるかと思った

919:デフォルトの名無しさん
05/02/10 23:11:59
>>918
暴走してないけど殴られたり刺されたり挟まれたりしたよ
いて~よ

920:デフォルトの名無しさん
05/02/11 00:25:51
ケコーンするまえは、三原則を守っていた妻が最近暴走します。

921:デフォルトの名無しさん
05/02/11 00:49:27
>>920
その三原則をうpしる

922:デフォルトの名無しさん
05/02/11 02:30:26
持たず
作らず
持ち込ませず

923:デフォルトの名無しさん
05/02/11 03:34:31
>>920の家庭が気がかりで眠れません。

924:デフォルトの名無しさん
05/02/11 17:43:35
ケコーンできない俺の暴走ぶりに勝る者などいない。
なんぴとたりともー。

925:デフォルトの名無しさん
05/02/11 18:38:42
三原則:1.ロボットは人間に危害を加えてはならない。また人間に降りかかる危害を看過しては
ならない。 2.ロボットは第1条に反しないかぎり人間の命令に従わなければならない。
3.ロボットは第1条、第2条に反しないかぎり、自分を守らなければならない。

920の家庭で、ロボット=妻、920=人間に置き換えて理解すれば相当意味が通じるでしょ。
でも、妻はその逆に理解していると思われ。

926:デフォルトの名無しさん
05/02/11 18:45:11
>>920は妻の写真をうpしる

927:デフォルトの名無しさん
05/02/11 19:05:14
下のそれぞれの場合、妻はどういう挙動を示しますか?
2.「俺を殺してくれ」って命令した場合
3.「おまえ氏ね」って命令した場合


928:デフォルトの名無しさん
05/02/11 19:58:45
>>927
夫を人間と見ているかどうかで決定されると思われ

929:デフォルトの名無しさん
05/02/11 20:50:53
夫は人間です

930:デフォルトの名無しさん
05/02/11 21:56:36
実は妻が人間ですた

931:デフォルトの名無しさん
05/02/12 01:04:07
>>527
2.その命令には従えません
3.私が死ぬことはあなたの損害に繋がりますのでやはり従えません

932:デフォルトの名無しさん
05/02/12 02:51:24
2でも3でも俺が殺されるな

933:デフォルトの名無しさん
05/02/12 09:05:39
・・・・・・で、妻はどの様に暴走している?ん?詳しく話を聞こうじゃないか。 
|・∀・)ニヤニヤ

934:デフォルトの名無しさん
05/02/12 16:08:46
ロボット作って見たいんですけど..。

935:デフォルトの名無しさん
05/02/12 16:10:28
アンドロイドがコンビニで買える日はいつですか?

936:デフォルトの名無しさん
05/02/12 16:11:52
ロボットを作って、何を見たいのですか?

937:デフォルトの名無しさん
05/02/12 21:44:33
ロボット板
URLリンク(that3.2ch.net)

938:デフォルトの名無しさん
05/02/16 18:38:15
CPUが8085、3MHz、8251を4CH、8259,8253, RAM,ROMは、まあそこそこ必要なだけ、っていう
システムで、シリアル4CHの入出力を加工するシステムを何個も作ってます。
現代のチップで似たようなもの作るとしたらH8/8bit系の10~19MHzぐらいが適当だと思いますが
uartを4CH載せてる機種はありませんね。どんな構成がお奨めでしょうか?

939:デフォルトの名無しさん
05/02/16 18:42:43
ボーレートは幾らくらい?
3CHのUSARTを持ってる機種を選んで、
1CHだけなら割り込み端子使ってソフトで受信する方法も使えるよ。




940:デフォルトの名無しさん
05/02/16 20:55:10
使ったこと無いし、よく調べてないから分からんけど、
PSOCって使えないの?高い?入手性悪い?
(個人的にちょっと興味あり)

外部バスになにやらつなげてOKなら、
安価なPLDやPICで送/受信してみるとか。
通信バッファも持てそうだし。

>>939
38.4k以上とかで、連続でデータ(連続0x55とか)が来たら
かなり重くなりそうだね。
「入出力を加工」ってのがどの程度の処理なのかによるな。
あと、送信もするんだったら、
タイマ割込みとかでI/Oポートを定期的にスキャン&出力
って方法になるとおもう。

941:938
05/02/17 06:01:56
すんません、ボーレートは元は4.8K、上げても9.6K程度。私も>>939案がよさそうに思えます。
加工は行単位で、sscanf,sprintfの整数型変換機能だけ使ってました。3Mの8085だと、
実数型変換を使うと重くて変換が間に合わなくなりました。19.688MのH8なら実数変換も
使えると思います。 >>940 送信も割り込み+ringバッファでやります。
内蔵RAMが8Kあるとイイけど、4Kでもなんとかできそう。ただし輻輳に弱くなりそうです。
このクラスのH8だと内蔵は4Kどまりだと思いましたけど、もうちょい載ってるのはありますか?

942:デフォルトの名無しさん
05/02/17 06:30:12
M16のシリーズならメモリ豊富だったと思うよ

943:デフォルトの名無しさん
05/02/17 13:22:58
割り込んでスイマセン。
教えて欲しいんですが、VC++でI2Cの制御ソフトをプリンタポートのデータビットの
いずれか2pin使って作ろうとしているんですが、パルスの出力方法がわかりません。
_outp()を使ってやる方法以外に何か良い方法はありますでしょうか?

944:デフォルトの名無しさん
05/02/17 15:58:08
>>943
自分もプリンタポートでIICやってる(Delphiだけど)

結局は出力命令を使うしかないから outpでいいんじゃない?
時間待ちはoutpが遅い事を利用してプリンタポートへのoutpで時間待ちしてるよ。

あと、
双方向にする為に in2 out2の4ピン使う必要があると思うよ。
それからオープンコレクタにする為にバッファが必要だと思うよ。


945:デフォルトの名無しさん
05/02/17 16:32:59
>>944
やはり_outp()使うのですか。
この場合に、clockはどのように生成すればいいんでしょうか?


946:デフォルトの名無しさん
05/02/17 16:57:02
どうするって・・・・outpを並べるしかないじゃん。

947:デフォルトの名無しさん
05/02/17 17:30:26
いろいろ調べたところ、こんなのありました。
URLリンク(japan.maxim-ic.com)
いま解析してますが、かなり役に立つと思います。

948:デフォルトの名無しさん
05/02/19 02:39:09
>>940
いっそPICを4個並べてしまえ

949:938
05/02/20 08:04:05
PICって8251みたいな奴のことを言うの?それだと内蔵uartを使うより実装スペースも割込線も
ムダに使うと思う。内蔵が3CHあったら、同時に7CHも使うアプリもあまりなさそうだし。

950:デフォルトの名無しさん
05/02/20 08:41:19
PICは1チップマイコンだよ。
8ピンのパッケージもあるから
割り込みでシリアル通信実現してPIC同士で通信して処理させようって事でしょ

951:940
05/02/20 11:17:54
PIC = Programmable Interrupt Controller
の方だと思ってたわけね。

>>940 で言っている PIC はワンチップマイコンの方。
16F84とかがポピュラーかな。18pinで小売300~400円程度。

PLD,FPGAも、最近は値段が安く、容量大きくてパッケージは小さいってのが
結構あるから、単純なシリアル送受信2~3CH入り程度なら、
数百円くらいで、それほど難しくも無く作れそう。

まぁ、ワンチップで全部済ませられるなら、それに越したことはないと思うけど。

952:938
05/02/20 18:58:28
なるほど。PIC=周辺ICって思ってました。でも、1CHto1CHで内容を変換するだけならいいけど、
4CHから1Chへの合流とか、1chから4CHへ行ごとに分けるとかの操作があるので、
1チップにしたいです。H8で3CH+RAM4K積んでる奴は、\700ぐらいでありますよね。
3MHzの8085+8251,8253,8259+ROM+RAMという構成があまりにもアレなので、
作り直せば?ってけしかけてるのですが、ハード屋さんがめんどうくさがってるのですよ。

953:デフォルトの名無しさん
05/02/20 19:42:50
コストダウンとして上司に提案できれば、ハード屋の意見など聞かずに済む。
怨まれてもしらんが。

954:デフォルトの名無しさん
05/02/20 22:29:54
>>952
ROM,RAM外だししていいなら
FreescaleのQUICCなんてどう?

少なくとも↓の構成よりは安くなるだろうし、
処理性能差は天と地
3MHzの8085+8251,8253,8259+ROM+RAM

955:デフォルトの名無しさん
05/02/21 06:49:44
まあ、この件は、H8かM16のフラッシュマイコンで決まりでしょ。
足りない1CHはタイマー割り込みで十分実現出来る。

956:938
05/02/21 09:40:14
>足りない1CHはタイマー割り込みで十分実現出来る。
これはAduCで書いたことあります。ボーレートに合わせたタイマ割り込みで、startbit~8bit,parity,stop
を取り込むんですよね。インターバルタイマなら1mS以下はあまり使いませんが、9600BPSでも100μ
ぐらいの割込になるので、けっこう重たくなります。それよりは1CHだけ外付けのほうが融通が
効くと・・・あ、ソフトでカバーできればハードは少ないほうがいいってことですね。なるほど。
こんど、「外付けの石無しでできるよ♪」って提案してみます。ありがとうございます。

957:デフォルトの名無しさん
05/02/21 10:54:29
4ch同時通信って有り得るの?

958:デフォルトの名無しさん
05/02/21 12:07:10
>>956
色んな方法があるけど
たとえば、割り込み端子に割り当てておいて
タイマーは割り込みはTの間隔に設定しておく

割り込み許可状態で立下りエッジで割り込みをかけ、割り込みを禁止
エッジから 0.5T になるように タイマー割込用のカウンターをリセット。

後はタイマ割り込みが 0.5T後から1T毎にかかるから1回目はLを確認
8ビット読んで、パリティ・ストップ確認。

タイマー割り込みの負荷はそれほどじゃないよ。


959:デフォルトの名無しさん
05/02/21 21:14:41
>>958
送信も考えたらタイマ2CH必要になるな。
多重割込みや割込み禁止区間が発生した場合の
(他の3CHのシリアルからの割込みも含めて)
タイミングのズレは、心配ない程度なのかな?

960:デフォルトの名無しさん
05/02/21 22:09:23
>>958
たとえば10MHzのクロックで動くCPUならば、9600bpsのとき、
タイマー割込だけだと50usecに一回=500クロックに一回のタイマー割込になるのが、
割込端子を使うと、100usecに一回=1000クロックに一回の割込で済むということかな
PICなんかで、それしかやらせないんならいいけど、
ソフトでシリアルを扱うのって、ちょっとおっかない


961:デフォルトの名無しさん
05/02/22 01:37:07
とりこぼすよ

962:デフォルトの名無しさん
05/02/22 02:52:57
SIO使うべきだな

963:938
05/02/22 07:56:53
競合するいろんな割込があるとタイマ割り込みで1bitずつ取る/送るのは苦しくなります。
uart回路がレベルの真ん中でサンプリングしてくれるのに、ソフトだとどうしてもふらつくし、
取りこぼしも出るし。その辺は外付けか¥との相談ですね。

964:デフォルトの名無しさん
05/02/22 14:51:59
>>961
4倍サンプリング根性でカバー

965:958
05/02/22 15:31:40
>>959
うん。この方法で送信もやるなら2CH必要だね。でもタイマー沢山あるから大丈夫でしょ。
ボーレート9600で他の処理しないんならSIO送受信はメインで処理しても十分間に合うと思うよ。
割り込み使う場合でもFIFO処理だけなら問題にならないでしょう。

>>960
そうなんだけど、
あと、受信を一定時間のタイマー割り込みで処理するとなると、2倍は厳しい。
最低3~4倍じゃないと難しいですね。


>>963 >>958の方法は>>960さんが解説してる通り、だいたい真中でサンプリングする方法ですよ。


966:デフォルトの名無しさん
05/02/22 16:04:22
涙ぐましい努力だな。大手客ならメーカーに
「4.CHのをカスタムで作ってくれば採用するけど、どーする?( ´ー`)y-~~」
って言えば終わりなのに。


967:デフォルトの名無しさん
05/02/22 16:57:51
小ロットだと、標準品で市場でいつでも手に入るというのが一番大事な要素になるからね。

今は外付けのUSART使うくらいなら 外付けにPICマイコン使った方が安全だったりするからなあ

968:デフォルトの名無しさん
05/02/22 17:52:24
>>965
4倍サンプリングとなると、やはり他の処理はやらせられないな
シリアル送受信に専念させるなら、PICかH8の一番安いクラスが妥当か?

969:デフォルトの名無しさん
05/02/22 18:11:00
26マイクロ周期だから、無理という程じゃない。
割り込みベクタを毎回書き換える方法でやれば・・・

970:デフォルトの名無しさん
05/02/22 20:26:39
>>969
くあしく

971:デフォルトの名無しさん
05/02/22 20:45:23
>>970
単純に状態遷移式にベクターを書換えながら遷移するだけだよ
4倍なら(自分なら5倍にして中の3状態で多数決取るけど)
4*(S+8+P+1)=44状態のコードを作って、割り込みベクターを書換えながらシーケンスを実現するわけ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch