2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

制御系なら俺に聞いてもいいぜ(6)

1 :デフォルトの名無しさん:04/11/04 22:27:12
俺は俺であり、それはお前の事だ。
ハード寄りの話も大歓迎だ。
道具話も楽しくやれるならやってくれ。

過去ログ
制御系なら、俺に聞け!
http://pc3.2ch.net/tech/kako/1002/10021/1002176627.html
制御系なら俺に聞いてもいいぞ(2)
http://pc2.2ch.net/tech/kako/1038/10380/1038094914.html
制御系なら俺に聞いてもいいぞ(3)
http://pc2.2ch.net/tech/kako/1059/10594/1059488975.html
制御系なら俺に聞いてもいいぞ(4)
http://pc5.2ch.net/test/read.cgi/tech/1068869894/
制御系なら俺に聞いてもいいぜ(5)
http://pc5.2ch.net/test/read.cgi/tech/1079102543/
関連過去ログ
●●●くみこの組み込み相談室●●●
http://pc3.2ch.net/tech/kako/988/988084737.html


2 :デフォルトの名無しさん:04/11/05 00:10:32
>>1


3 :デフォルトの名無しさん:04/11/05 00:49:37
VBしかやったことないけど制御系に移れますか?

4 :デフォルトの名無しさん:04/11/05 00:55:50
>>3
そんなこと人に聞いてる時点で無理

5 :デフォルトの名無しさん:04/11/05 01:37:34
フラッシュメモリの操作でちょっと質問。
フラッシュメモリはバッドブロックがあってやっかいだけど、
このバッドブロックがどこにあるのかという情報は、どうやって記憶したらいいの?
バッドブロックの場所を記憶するブロックもまたバッドブロックで・・・

考え出すと夜も眠れない・・・

6 :デフォルトの名無しさん:04/11/05 05:51:04
一瞬バックドロップ・・・ってプロレス板かよ(^o^)
起動時総ざらいして動作中はRAMでしょ、やっぱり。
ブロックをbitに割り当てればたいした分量じゃないし。
地下鉄は「入口になる下り坂の線路」から入れます。

7 :デフォルトの名無しさん:04/11/05 06:56:58
ファイル構造を参考にして複数箇所に保存したらどう?
2箇所が同時に壊れる確率は1個の確率の2乗だから無視出来る確率になるよ。

8 :デフォルトの名無しさん:04/11/05 08:04:54
ブロック0は不良でないことが保証されてるぞ

9 :デフォルトの名無しさん:04/11/05 08:28:32
H8に乗ってる中途半端な奴じゃなくて、
全部ブロック保証・書き換え可能回数100万回・データ保持期間100年
みたいなちゃんとしたもの使うべきでは?

どうしてもソフトでやるなら、ブロックごとに「目印」つければ
いいんじゃない?4バイトの目印ならバッドを良と誤認する確率は
1/2^32になる。

それでも心配ならチェックサムも入れとくとか。

10 :デフォルトの名無しさん:04/11/05 08:56:00
パリティのないメモリー使ってるの?


11 :デフォルトの名無しさん:04/11/05 09:47:57
あー

12 :デフォルトの名無しさん:04/11/05 09:48:22
>>5
考えたことなかった。
CPU内のもあるってこと?プログラムが乗っていたらアウトだね。

13 :コピペ推奨:04/11/05 10:13:55
生活保護人員数(厚生統計要覧 平成13年度)では日本人114万人に対し、
人口比では圧倒的に少ないはずの外国人が42万人も
生活保護を不正受給・違憲受給しています。
http://www.geocities.co.jp/WallStreet-Bull/2487/
在日韓国朝鮮人の5人に一人は違憲な生活保護不正受給者であり
彼らの生活費は日本人の税金によってまかなわれています。


外国人が日本国内で 生活に困窮したり 行き倒れになりそうになれば
その国の大使館に救いを求めたり帰国すのが道理であり、
日本国に生活保護を求めるべきものではありません。
この日本に寄生し日本国民の税金を吸血する外国人への
生活保護不正受給・違憲受給を停止すべきだ。
http://news17.2ch.net/test/read.cgi/news2/1093261927/
http://news17.2ch.net/news2/kako/1093/10932/1093261927.html


14 :コピペ推奨:04/11/05 10:23:52
http://www.geocities.com/naverchat/CyberTerrorism01/
特にヨーロッパ・アメリカ・オーストラリアなど先進国たちの一部ネチズンたちはチャット空間で韓国人だと明らかにすれば弾き出す
とか集団的に退場して捨てるなど韓国人に対して反感を持っていることで現われた.
バンクフェワンドルの海外ペンパル(http://www.prkorea.com/vankop10_5.html)と海外チャットサイト訪問経験(http://www.prkorea.com/vankop10_4.html)
を打ち明けた掲示板には外国ネチズンたちに ‘門前薄待’当ぎりネチズンたちの事情が並んでいる.
海外チャットを始めてからひと月頃なったと言うバンクフェワン精米領さんは
“韓国出身だと言えば有り難がらない場合が 70%ほどされた”と “その時ごとに気持ちが悪かった”と打ち明けた

15 :デフォルトの名無しさん:04/11/05 13:04:43
そう言えばマイコン内蔵のフラッシュなんかはバッドブロック対策はどうしているんだろう?
フラッシュ書き込みツールに何か仕掛けでもあるのか?

16 :デフォルトの名無しさん:04/11/05 13:15:11
2つ同じチップを載せて、必ず同じ内容を書き込む。


17 :デフォルトの名無しさん:04/11/05 15:42:34
WindowsでCのアプリしかやったことない40歳すぎぐらいの人を制御系の人にするには
どうすればいいでしょうか。
アプリ時代(20年ぐらい?)の評判はそれほど悪くなかった筈なんですが、「何でこんなこと知らない?」
って言うことが何度かあり、理解に苦しんでいます。
(例えばC言語のポインタにはsignedとunsignedがあり、signedの場合はアドレス空間も+2000番地
 とか-6000番地など、±のアドレス値で表現される、とかマジで言う)

本人にやる気も感じられませんが、それでもやらなければならないんです。 (;´д⊂
神のみなさん、よろしくお願いします。



18 :デフォルトの名無しさん:04/11/05 15:53:37
>>17
>本人にやる気も感じられませんが、
この時点で、やめたほうがいいですよ。いや、マジで。
どうしてもプロジェクトにいれるなら
とりあえず仕様書やソースのコメントや関数ヘッダでも書かせておいたほうがよいと思う。

19 :デフォルトの名無しさん:04/11/05 16:23:14
>>17
窓際でマインスイーパかソリティアでもやらせとけ

20 :17:04/11/05 17:13:12
いやね、その人、きっと面白くないんだと思うんですよ。
アプリやってりゃベテランだったのに、分野が違うし電気の知識ないしで。
専門用語(って言っても「ラッチ」とか「ポーリング」とか「位相」っていったレベル)も
理解できてないし・・・・・・・本人も「今更 そこまで違う勉強なんか出来ないよお」って感じ。

しかし、タイマ割り込み1本制御するプログラムが自作出来ないのが不思議。
これで工数は新人の倍 (゚听)




21 :デフォルトの名無しさん:04/11/05 17:36:23
クロス環境も初めてなんだね
ちょっと辛そう

22 :デフォルトの名無しさん:04/11/05 17:39:40
そりゃ面白くないだろうな。
その人に同情するよ。

23 :デフォルトの名無しさん:04/11/05 17:54:30
まあ、そういう人を使いこなすのも技術のうちさ。
SE系の仕事に就いてる以上、明日は我が身・・・

24 :デフォルトの名無しさん:04/11/05 19:10:41
>>17
ネタでしょ?
まず今どき生CでWinアプリってそんな奴はいねえよ。

俺はWinアプリも制御系(?)のコードも両方書いてるけど、
制御工学の難しい理論実装するような高度な奴ならともかく、
たいていの制御系のコードなんてWinのアプリ作るより全然簡単じゃん。

Winのアプリがある程度のレベル以上にかける奴に制御系のコードが書けないとは思えない。
逆はありうるが。

25 :デフォルトの名無しさん:04/11/05 19:53:22
いや、多分本人がやる気になれば、かなり使える人になると思う。

26 :デフォルトの名無しさん:04/11/05 20:04:01
俺は関わり合いになりたくないな。そういえば、昔、printfで何も表示されないんです、とか言ってきた外注いたな。
そのターゲット、表示機能ないんですけど・・・・w。どこに表示されると思ったのか小一時間(ry


27 :デフォルトの名無しさん:04/11/05 21:01:40
低予算でリアルタイム処理させるなら今だと何がベターかな?

28 :デフォルトの名無しさん:04/11/05 21:04:48
>>27
低予算で旅行するなら何がベターか答えてくれたら考えてやる

29 :デフォルトの名無しさん:04/11/05 22:01:42
>>26
さきにprintfを書いてくださいと返事してあげようよ

30 :デフォルトの名無しさん:04/11/05 22:05:21
>>27
自転車とカラオケボックス

31 :デフォルトの名無しさん:04/11/05 22:09:19
>>30
自転車とカラオケボックスで、どんなリアルタイム処理作るの?

32 :デフォルトの名無しさん:04/11/05 23:01:47
PICとアセンブラ

33 :デフォルトの名無しさん:04/11/06 01:20:46
>>5
初期不良ブロックでないことしか保証されないから、そのうち死ぬ可能性はあり得る。
だから、ブロック0に論理物理変換テーブルを固定で置くのは、デバイス的に御法度。
趣味でやるならいいけどね。
取りあえず、スマートメディアの物理フォーマットをみてみ。参考にはなるよ。

RAMに割り当てるのはワークとしてはいいけど、後天的に発生した不良管理もしなきゃなら
んから、結局は変化した不良情報を保存することを考えなきゃならんよ。

○芝の最近のだと、ブロックの先頭セクタの517byte目がFF以外ならbadblockだから、
その情報を生かした形の物理フォーマットにするのが一番簡単。
LargeBlockタイプは、また違う位置にあるから注意ね。
つか、いま丁度その手の部分設計しとるわ(w


34 :デフォルトの名無しさん:04/11/06 15:11:46
不良ブロックは滅多に出ないからと、ノーガードで使っている。
あとでどうなっても知らないよ。

35 :デフォルトの名無しさん:04/11/06 16:58:25
>>34
おっかねえな、オイw

36 :デフォルトの名無しさん:04/11/11 11:36:55
あのですね、テキサスインスツルメンツルメンツラのMSP430とですね、
マイコロチップのPIC18系、制御系で使うならドッチ?

37 :デフォルトの名無しさん:04/11/11 14:51:21
正気ならPIC18系、マゾで苦しみたいならMSP430

38 :デフォルトの名無しさん:04/11/11 19:18:34
狂おしいのでMSP430開発評価ツールキット
なるものを手配しようかと(15kほど)。
やはりマイコンはPIC,H8あたりが無難ディスか?
PICとAVRはそろそろ卒業したくなってきますた。
H8はなんとなくスルー。

39 :デフォルトの名無しさん:04/11/11 20:18:44
H8は「いざとなったら○○」の○○に相当する部分の選択肢が多いので
楽だ

40 :デフォルトの名無しさん:04/11/11 21:17:16
はじめてH8/300を見たときは幕の内弁当みたいなMCUだと思った。



41 :デフォルトの名無しさん:04/11/11 21:33:11
質問です!!
学校などにあるPCをまとめて制御しているセキュリティシステム
(Bessなど)を解除させる方法ってありますか?
ただし制御している本体のPCは使わないで
 端末のPCでやる方法を教えてくださいm(_ _)m

もし話題とズレていたら無視してください!
制御だったのでいいかなと思ってみただけなんで(汗)

42 :デフォルトの名無しさん:04/11/11 21:47:30
板違い

43 :デフォルトの名無しさん:04/11/11 23:16:01
>>41
氏ね

44 :デフォルトの名無しさん:04/11/12 00:22:52
言葉が悪いな
ヒソヒソ( ゚o゚)ヤダァ(゚o゚ )ネェ、キイタ?( ゚o゚)オクサン(゚o゚ )アラヤダワァ

45 :デフォルトの名無しさん:04/11/12 00:33:00
Win系、MFC、32API、DirectX、アセンブラ(x68000とx86)、
C++とCとJava(Servlet、JSP、EJB)と、PHPが出来るのですが
制御系はやったことないのですが、大丈夫でしょうか?

ちょっと難しそうなんだけど(バッドブロックの処理とか)、
出来れば、そちらの方もやってみたいのですが・・・

よろしくお願いします。

46 :デフォルトの名無しさん:04/11/12 00:39:35
>>45
俺はオセロがそこそこできる
お前は俺が将棋が上手くなるかわかるか?

47 :デフォルトの名無しさん:04/11/12 00:44:32
ニートなんですが制御系プログラマとして就職するには
あらかじめその分野の技術をもっていないと駄目ですか?

48 :デフォルトの名無しさん:04/11/12 00:45:03
>>46
オセロと将棋を知ってる人に将棋ができるのならオセロはどうかなと
思ったんですが・・・?

オセロを覚えられても将棋が覚えられない場合もあると思いますが・・

49 :デフォルトの名無しさん:04/11/12 00:47:11
>47
駄 目 で す

50 :デフォルトの名無しさん:04/11/12 00:51:16
>>49
そうですか…。状況が好転するまでじっとまってみます。

51 :デフォルトの名無しさん:04/11/12 00:52:28
>50
一生ニート決定かよ
他の職種か技術つけろよ

52 :デフォルトの名無しさん:04/11/12 00:56:22
>>45
回路設計出来るようになってからまた来てね


53 :デフォルトの名無しさん:04/11/12 00:56:45
>>51
他の仕事についたり勉強したりすることは現状の負けをみとめるということですよね。
僕はこのまま社会と戦い続けるつもりです。

54 :デフォルトの名無しさん:04/11/12 01:00:15
>53
ワロタ

55 :デフォルトの名無しさん:04/11/12 01:01:21
>>50
我が社に来ないか。

56 :デフォルトの名無しさん:04/11/12 01:25:26
>>55
御社にはネコミミ、もしくは、セーラー服(へそチラ)の女子社員はいますか?

57 :デフォルトの名無しさん:04/11/12 01:26:44
ネタもあまりダラダラやると面白く無い

58 :デフォルトの名無しさん:04/11/12 01:28:49
申し訳ありません。あきらめます。

59 :55(鼬害ゴメン):04/11/12 09:12:53
>>56
惜しい、ネズミミミ(TDLのあれ)の女子社員やピタTへそちらの女子社員ならいるんだが。

冗談さておき、うちは制御系と言ってもGUI周りを作ることが多い。
デバッグなどの都合で電気/電子系の知識はあるに越したことはないが
そんなもんはその場で身に付ければいいレベル。
むしろ必要なのは「他人の話を聞いて理解する」能力と「自分のやるべきことを見つける」能力だ。
探すのは大変かもしれないが、就職フェアで待っているからよろしく。

60 :デフォルトの名無しさん:04/11/12 09:22:42
制御系の仕事にしてもなんにしても、プログラムってーのは
言語の知識と若干の電気的知識あれば結構渡り歩くことが
できるものなのかなーと思うこのごろ。
じゃ、どこで同業との差をつければいいのかなと。
やはり、扱える言語の豊富さだろうか。

61 :デフォルトの名無しさん:04/11/12 09:26:30
いや、コミュニケーション能力。

62 :デフォルトの名無しさん:04/11/12 09:35:29
すまぬ。VxWorks の焦げついた仕事の尻ふきをやらされている。漏れは VxWorks 知識が
無い。基板制御用のライブラリ作成らしいけど、できあがった libHoge.a はどうやって
使えばいいの?単体でダウンロードしておけばいいだけ?

今は評価用プログラムとライブラリ関連もひっくるめて dounloadable appli にして
動かしているらしいんだけど、評価の意味がないと思うんだが、、、しかも月曜納期で
この状態って、なんて素晴らしい。



63 :デフォルトの名無しさん:04/11/12 10:38:35
>>60
>じゃ、どこで同業との差をつければいいのかなと。
ソースのコメントの質と量

64 :デフォルトの名無しさん:04/11/12 12:29:25
もうこうなったら、女子社員を造るしかないんじゃないか?

65 :デフォルトの名無しさん:04/11/12 20:11:29
>>62
事故解決しますた。

Tornado Version 2.2.1 (Wind River Systems, Inc.) の downloadable だと、

Workspace -> Builds タブ -> build Properties -> Macros -> LIBS に
フルパスで指定。

でつか。IDE は難しいのね。

66 :デフォルトの名無しさん:04/11/12 20:22:31
VxWorksってまだ使ってる所あるんだ・・・・

67 :デフォルトの名無しさん:04/11/12 23:18:11
>>64
今から作っても20年は掛かります。

68 :デフォルトの名無しさん:04/11/13 18:27:52
>>67
オレは14年くらいでいいよ。
新品未使用の美品限定だけどな。

69 :デフォルトの名無しさん:04/11/14 11:08:31
お父さんは30年ぐらい発酵させた、腐る少し前のがいいなあ。美品限定だけど。

70 :デフォルトの名無しさん:04/11/14 11:17:13
30じゃあ2度目の食べごろです。

71 :デフォルトの名無しさん:04/11/14 18:00:54
すいません。質問です。
例えば、プログラミングが出来て会社に入社したけど、回路図書いてる。とかだったら職業はなんて言うのかな?
制御系エンジニアでいいの?SEとは違うの??


72 :デフォルトの名無しさん:04/11/14 18:27:03
>>71
人事に聞いて来い

73 :71:04/11/14 18:37:59
>>73 逝ってきまつ

74 :デフォルトの名無しさん:04/11/15 01:04:18
ソフトウェアでハードウェアのような並行動作を実装するにはどうしたらよいのでしょうか?
言語はCです。
擬似的にしかできないと思うのですが、実装例はないでしょうか?
よくC++などで、オブジェクト間でメッセージを出し合って、
協調動作させると言う話を聞きますが、OSの支援なしで、そのようなことは出来るのでしょうか?

75 :デフォルトの名無しさん:04/11/15 01:06:03
>>74
スレ違いだ

76 :デフォルトの名無しさん:04/11/15 01:06:45
>>74

77 :76:04/11/15 01:07:24
>>74

78 :76:04/11/15 01:10:37
>>74
何度もすみません。書き込みがうまくいかなかったです

もちろん、完全な平行動作はできないけど
OSがなくても、いろいろな方法があると思う
割り込みを使ったり、プログラム内で状態を遷移させたり
詳しくは、別スレの方がいいかもしれないけど
私的にはきらいじゃない話題


79 :デフォルトの名無しさん:04/11/15 01:11:41
>>74
マルチタスクのこと?
だったら、
プログラミング言語SCHEME エンジンによるマルチタスキングの項でも読んでみては?
Schemeでの解説だけど、言語は関係ない。

80 :74:04/11/15 01:50:55
もともとハードウェアの設計をやっていたので、
疑似ハードウェアというイメージがプログラムにもほしくなったのが、
この質問のきっかけです。
ハードだと、放っておいても、入力や内部状態に応じて、ステートマシンが回り出してくれるけど、
ソフトだと放っておくと、何も起こりませんよね?
この辺をどう記述したらよいのかと思って質問しました。

81 :デフォルトの名無しさん:04/11/15 02:08:11
割り込みテーブルレジスタに関数のポインタ入れてあげたら飛ぶかな

82 :デフォルトの名無しさん:04/11/15 04:01:03
ふたつのプロセスが排他的なメモリ領域をつかって
割り込みでレジスタの値などをぜんぶ入れ換えて、
べつのルーチンにうつる
レジスタの値などは、共通の領域に保存する...
とか言ってみたかっただけてすと。


83 :デフォルトの名無しさん:04/11/15 07:02:51
>>74
C++やオブジェクト指向のメッセージングについての誤解がある模様


84 :デフォルトの名無しさん:04/11/15 11:15:31
ITRONを使ってみてはどうですか?

85 :デフォルトの名無しさん:04/11/15 17:17:26
ここは定番の関数ポインタを使った状態遷移では?

86 :デフォルトの名無しさん:04/11/15 18:00:42
fork();

87 :ステートマシン:04/11/16 23:56:50
>>80
void main()
{
 while(1){
  for(int state=0; state<3; state++){
   switch(state){
    case 0:
     //ステート0の処理
       :
     brake;
    case 1:
     //ステート1の処理
       :
     brake;
    case 2:
     //ステート2の処理
       :
     brake;
   }
  }
 }
}

88 :ステートマシン:04/11/16 23:59:21
×brake
○break

89 :デフォルトの名無しさん:04/11/17 09:53:14
>>5 遅レスだが、フラッシュメモリの原理については、今月のInterfaceに
載ってた。
http://www.cqpub.co.jp/interface/contents/2004/200412.htm

メモリっつーから単純なものかと思ってたけど、裏方では結構複雑な
ことをしてんのな…。

90 :デフォルトの名無しさん:04/11/18 20:48:12
ET2004も明日で終わりか・・・ここの住人は展示会とか興味ないんですか?

91 :デフォルトの名無しさん:04/11/18 21:27:19
君にとっての展示会の意味とは?


92 :90:04/11/18 22:06:46
出展企業なんで、仕事なんです。

93 :デフォルトの名無しさん:04/11/18 22:41:40
出展中にコード等に足引っ掛けて転ばないようにな

しゅってんころりん とか言ったりしてな

94 :デフォルトの名無しさん:04/11/18 23:03:21
>>90
明日逝く

95 :デフォルトの名無しさん:04/11/18 23:03:34
>>93
おもしれ〜ぞ  ゴルゥァ

明日、トッパーズの出し物にいきまつ

96 :デフォルトの名無しさん:04/11/19 01:17:31
>>5
ついでに亀レスだが、不良ブロックの対策案。

ブロック使用状況と不良ブロックの状況などのブロック情報をまとめたブロックを用意しておく。
ブロック情報ブロックには、通常のファイルブロックとは区別できるフラグを埋め込んでおく。
ブロック0をデフォルトとする。

消去、書込を行ったら、必ずベリファイする。
ベリファイに問題があったら、ブロック情報ブロックを参照して、
空いているブロックにファイルを書き出す。
そして、ブロック情報ブロックに、そのブロックがエラーだったというフラグを書き込む。
ブロック情報ブロックに不良が出たら、空いている正常なブロックに、ブロック情報ブロックを移動する。

ブロック情報ブロックは、それ自体が不良ブロックになっている恐れがあるので、
ブロック0からスキャンしていき、正常かつブロック情報ブロックのフラグの立っているブロックの情報を信用することとする。

と言ったところでいいのでは?

97 :デフォルトの名無しさん:04/11/19 01:34:56
ブロック情報ブロックへのアクセスが一番頻度が高いので
ブロック情報ブロックが最も壊れやすい
ブロック情報ブロックが読み出せなくなるとその他が生きていてもパー

98 :デフォルトの名無しさん:04/11/19 01:44:34
>>96

物理ブロック番号と論理ブロック番号の変換テーブルは必要だけど、
ブロック情報ブロックには不良ブロックのフラグはいらないでしょ?
要するにオリジナルのファイルシステムを作ることになるんだね

>>97
アクセスのたびに不良ブロックが発生するわけじゃないから、
それほど心配しなくてもいいのでは?
不良ブロックが発生することがあるのは、消去と書込オペレーションのときだけだよ
読み出しのときは発生しない

99 :デフォルトの名無しさん:04/11/19 01:49:15
どうせ消耗品だ。
フロッピーより長持ちする程度の。

100 :デフォルトの名無しさん:04/11/19 07:35:24
どうでもいいが、CPU内蔵のフラッシュはNOR型
バッドブロックはない

101 :デフォルトの名無しさん:04/11/19 10:35:15
>>100
へー。安心した。

102 :90:04/11/19 20:50:11
ET2004 終了。
主催者発表で本日の来場者数、7768人。
・・・・・・・ぐやじい。あと9人くれば、スゴイ事になってたのに・・・・・。



103 :デフォルトの名無しさん:04/11/19 21:04:51
うちの1歳半になる娘がどうにも最近制御できなくなってきたんですが
どうすればいいのでしょうか・・・

104 :デフォルトの名無しさん:04/11/19 21:11:19
リセットボタン最凶

105 :デフォルトの名無しさん:04/11/19 23:14:22
>>103

ウォッチドッグタイマ最強

それでも、だめなら監視サブマイコン最強

もう一匹増殖しる

106 :デフォルトの名無しさん:04/11/19 23:16:34
大容量が欲しいなら、DRAMやNAND型フラッシュ、
扱いやすさなら、SRAMやNOR型フラッシュ
と言うことでOK?

107 :デフォルトの名無しさん:04/11/20 01:13:55
DRAMがめんどくさいのはハード屋だけ

108 :デフォルトの名無しさん:04/11/20 11:09:38
ソフトでDRAMリフレッシュする場合もあるけど

109 :デフォルトの名無しさん:04/11/21 17:59:30
ソフトでDRAMのリフレッシュ???
どうやるの?
なんてCPU?

110 :デフォルトの名無しさん:04/11/21 18:03:10
>>100
バックドロップかと思った ...orz

111 :デフォルトの名無しさん:04/11/21 18:17:15
>>109
一定間隔毎にハード屋さんに言われたアドレスを読まなくてはならないんだよ
cpuにdramインターフェース機能なんて付いてなかった頃のお話

112 :デフォルトの名無しさん:04/11/21 18:25:24
昔はリフレッシュコントローラをプログラムして、リフレッシュサイクルの挿入選択、
ウエイト数、挿入周期とかを決めるMCUがあったな。HD64180とか。

最近はチップセレクトコントローラがかねてるんじゃない?リフレッシュコントローラ
とは呼んでないけど・・・SHなんかでもCSnに何を接続するか選択するでしょ。
DRAMを選択し、データーシートにしたがってパラメータ設定したらリフレッシュ
サイクルも挿入されるんじゃなかったっけ?

113 :デフォルトの名無しさん:04/11/21 18:25:29
リフレッシュレジスタ

114 :デフォルトの名無しさん:04/11/21 20:28:46
パチスロで使われてる奴な・・・・・

115 :デフォルトの名無しさん:04/11/21 20:59:42
カルマンフィルターってどう?

116 :デフォルトの名無しさん:04/11/21 21:14:35
>>115
猫まっしぐら

117 :デフォルトの名無しさん:04/11/21 23:39:25
>>111
タイマーインターラプトでリフレッシュ?
リフレッシュしないと、メモリーがあぼーんですか?

118 :デフォルトの名無しさん:04/11/21 23:43:38
コンデンサをほったらかしにしたようなもの

119 :デフォルトの名無しさん:04/11/22 09:14:30


120 :デフォルトの名無しさん:04/11/22 10:21:23
>>119はリフレッシュのつもりらしい

121 :デフォルトの名無しさん:04/11/22 13:13:18
今時のマイコンでDRAMコントローラー積んでないのなんかあるのか?

122 :デフォルトの名無しさん:04/11/22 13:14:59
PICってDRAMどうなの?

123 :デフォルトの名無しさん:04/11/22 14:45:06
リフレッシュ書き込み

124 :デフォルトの名無しさん:04/11/22 14:46:17
>>122
DRAMどころか外付けメモリ全部

125 :デフォルトの名無しさん:04/11/22 16:48:06
>>119=>>120

126 :デフォルトの名無しさん:04/11/22 17:32:20
そもそもPICに外付けメモリが必要になるほど
プログラム書いたり、データ扱ったりと言う用途があるのかと

127 :デフォルトの名無しさん:04/11/22 18:49:55
リフレッシュ書き込み

128 :デフォルトの名無しさん:04/11/22 19:00:59
PICで外付けメモリからデータを読んで、バイナリインタプリタを動かす

129 :デフォルトの名無しさん:04/11/22 21:11:21
>>123>>127
リフレッシュするのに書き込みは不要
読むだけでリフレッシュされることを覚えとけ

130 :デフォルトの名無しさん:04/11/22 21:11:47
>>111
懐かしいな。DRAMが放電し切っちゃう前にアドレス読んで必要なら
書き直せばいいだけだしな。ソフトでリフレッシュなんて久々に聞いたよ。

つか、最近じゃDRAMがシリコン上に実装したコンデンサで記憶保持
してるって事を知らない奴がいるんだな。せめて制御系やるなら知っ
てなきゃ不勉強だと言われても反論出来ないと思うけど(´・ω・`)


131 :デフォルトの名無しさん:04/11/22 21:34:54
>>130
知ったかぶり乙

132 :デフォルトの名無しさん:04/11/22 22:30:41
最近はソフトしか知らないソフト屋が増えてるよな

133 :デフォルトの名無しさん:04/11/22 22:32:24
>>132
ハードもやりたいんだけど、どう勉強したらいいかわからないんだ。
ソフトよりもお金かかったりしない?

134 :デフォルトの名無しさん:04/11/22 22:35:27
>>133
ttp://akizukidenshi.com/
一度覗いてみるといい

135 :デフォルトの名無しさん:04/11/22 22:36:59
>>133
ソフトよりも金はかかると思う
で、どーゆーのがいいんだ?縛り?スカトロ?

136 :デフォルトの名無しさん:04/11/22 22:58:59
>>132
禿堂。

>>134
秋月キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

子供の頃トラ技やCQ誌の広告見て通販で部品買ってたよ。
就職してからは会社の金でハード組むので欲求が満たされ
てるから疎遠になってるけどなぁ。

千石電商やカホ無線も使ってたなぁ。

137 :デフォルトの名無しさん:04/11/22 23:09:42
>>135
言葉攻めにスパンキングと蝋燭を絡めて欲しいです・・・
行為をビデオカメラやデジカメで撮られると更に感じます・・・


138 :デフォルトの名無しさん:04/11/22 23:11:59
きも

139 :デフォルトの名無しさん:04/11/22 23:13:44
わけわかんないエロ話すな

140 :デフォルトの名無しさん:04/11/22 23:16:16
制御系ソフト屋はMと言う事でFAですか?

141 :デフォルトの名無しさん:04/11/22 23:51:01
FAってなんだよ?
俺は制御系ソフト屋だけど、Mじゃないぞ。
縛られて、ムチでばちーんってたたかれたり、裸にされてハイヒールで
背中をぐりぐり踏まれた事はあるけど、Mじゃないぞ。

142 :デフォルトの名無しさん:04/11/22 23:56:16
FAはファクトリーオートメーションと言う事でFA?

143 :デフォルトの名無しさん:04/11/23 00:05:30
>>142
ファックアナルのFAでつ。

144 :デフォルトの名無しさん:04/11/23 00:06:53
あなるというかえいのーですな。

145 :デフォルトの名無しさん:04/11/23 13:25:28
かいーの

146 :5:04/11/24 03:27:20
フラッシュの件ですが、フラッシュコントローラというデバイスを使うのがいいみたいですね。
ソフトでファイル処理などをやろうとしていたのですが、難しいです・・・

147 :デフォルトの名無しさん:04/11/24 03:29:27
>>146は一歩進んで二歩下がった

148 :デフォルトの名無しさん:04/11/24 08:46:51
2ちゃんねる電気・電子板
http://science3.2ch.net/denki/

149 :デフォルトの名無しさん:04/11/24 10:23:16
>>146
ハードウェアの設計変更ができるなんて羨ましい

150 :デフォルトの名無しさん:04/11/25 11:17:02
初歩的な質問ですがお願いします。

HEW使ってますが、ある構造体のstatic変数をグローバルにしたところスタック領域が足りなくなったのか実行時に飛んでしまいます。
externしたいためstaticが外されたみたいです。
この場合、構造体のstructをclassにしたらスタックじゃなくてヒープが使われるようになるんでしょうか?
それともスタック領域増やすべきなんでしょうか。

実はHEW環境でヒープ/スタックが分かれてるのかも知らない...

151 :デフォルトの名無しさん:04/11/25 11:22:55
>>150
グローバルはほっといてもstatic
スタックじゃなくヒープ増やせ

152 :デフォルトの名無しさん:04/11/25 11:40:15
サンクスでつ>>151

ちょっと質問し難いですが、




ヒープの増やし方キボンニュ

153 :152:04/11/25 11:44:46
>sbrk.h : #define HEAPSIZE 0x2000

これでつか?

154 :デフォルトの名無しさん:04/11/25 20:50:31
ヒープは動的配列領域じゃなかったっけ?
DATAセグメントやBSSセグメントもヒープにとられるんだっけ?

155 :デフォルトの名無しさん:04/11/25 22:44:40
>>154
だれも i86 の話なんかしていない

156 :デフォルトの名無しさん:04/11/26 00:25:53
なんか勘違いしてんのかな?↑

157 :デフォルトの名無しさん:04/11/26 06:35:34
>>153
それでOK。ただし余り大きくしすぎるとシミュレータ実行前の初期化に時間がかかるので
ほどほどに。

158 :デフォルトの名無しさん:04/11/26 10:32:45
今更で申し訳ないのですが・・・

>>66
>VxWorksってまだ使ってる所あるんだ・・・・

うち,まさに今使ってます。
それにしても,今は何が標準的なんですかねぇ


159 :デフォルトの名無しさん:04/11/26 18:51:39
トロン協会のWebサイトによると、ITRON、LINUX、Vxworksの順ですね・・・・・
Vxworks 頑張ってたんだ・・・・・
  ttp://www.assoc.tron.org/jpn/

160 :デフォルトの名無しさん:04/11/26 18:57:57
航空機やスペースシャトルなんかの
高い信頼性が必要な用途にはVxWorks以外ありえないわけだが。

161 :デフォルトの名無しさん:04/11/26 20:32:39
自分の作ったバグが原因で航空機やスペースシャトルが墜落したら
どんな気分なんだろう?

162 :デフォルトの名無しさん:04/11/26 20:48:18
>>161
最高にハイってやつだ

163 :デフォルトの名無しさん:04/11/26 20:58:18
だれか、4ビットマイコンで
有名なもの、実績のあるものを教えもらえませんか?
パッと思いつく範囲で羅列してもらえると助かります。

あと新発売のものや、世に広く出回ってないものは不要です。


164 :デフォルトの名無しさん:04/11/26 21:01:07
六本木ヒルズの回転式自動ドアの奴は嫌だったろうな
最高にハイとか言ってられん。辞めるんじゃないか?

165 :デフォルトの名無しさん:04/11/26 23:16:22
4004

166 :デフォルトの名無しさん:04/11/26 23:17:58
>>164
いま六本木ヒルズ界隈はドアの取り外し工事がそこら中で行われています。


167 :デフォルトの名無しさん:04/11/26 23:25:51
>>163
まだ出てるけど、業界標準みたいのはないと思う
開発ツールは当然アセンブラだし、かと言って標準はないからデバイス変えるごとに覚えなおさないとならない
その割にできることは少ない
だからデバイスメーカーにソフトごと丸投げしてたりする

168 :デフォルトの名無しさん:04/11/26 23:32:01
腕時計とかはまだまだ4bit

169 :デフォルトの名無しさん:04/11/26 23:32:53
>>163
78k0

つーか、そのクラスは殆ど用途別の専用品だろ
世の中に広く出回ってるって時点でoutじゃないか?

170 :デフォルトの名無しさん:04/11/26 23:43:34
>>168
ちょっと話逸れるんですが、腕時計でLEDの2進表示みたいなのありますよね?
たとえば 2004/11/26 23:40:15 とかだったら
●●●●●○●○●○○
●○●●
●●○●○
●○●●●
●○●○○○
○○●●●●
みたいに表示されるやつありませんか?
卓上タイプのだと見たことあるんですけど・・・

171 :デフォルトの名無しさん:04/11/27 00:03:05
>>170

172 :デフォルトの名無しさん:04/11/27 00:12:56
>>170
知らないな…
でも実世界では10進数の方が都合がよさそうだね^^;
時刻表も10進数で書かれているし、クリスマスはあいかわらず12月25日だし。

173 :デフォルトの名無しさん:04/11/27 04:02:12
>>170
知らない
つーか明らかに不便そうなんだが?

174 :デフォルトの名無しさん:04/11/27 04:03:07
****** 重要 ******
 
クリスマス中止のお知らせ

2004年12月25日に開催予定のクリスマスは諸事情により中止になりました。
この決定により、クリスマスイブも中止ということになります。
中止、ならびにこの告知が遅れたことにつきまして、
楽しみにしておられた方々・関係者各位には謹んでお詫び申し上げます。



175 :デフォルトの名無しさん:04/11/27 04:05:07
>>174
うわ、やられた。
小泉政権もおしまいやな。

176 :デフォルトの名無しさん:04/11/27 12:32:42
質問。
ROMにあるプログラムをそのまま実行しないで、
RAMに転送してから実行した方がよいのはなぜでしょうか?

177 :デフォルトの名無しさん:04/11/27 12:53:18
>>176
誰が言ったの?それ。
フラッシュROMの時は読み取りスピードの関係でRAMに映してやったりはしたが。

178 :デフォルトの名無しさん:04/11/27 14:00:02
>>176
構成による
RAMのほうが高速に動くシステムとして組まれてるならRAMに移したほうがいいけど
別に高速性を要求されないのならどうでもいい


179 :デフォルトの名無しさん:04/11/27 16:28:44
>>176
プログラム中に変数領域を設けるために、RAMに移すと言う手は使った。

180 :デフォルトの名無しさん:04/11/27 16:42:30
>>176
内部RAMだとアクセスウェイトが短かったりするから。

181 :デフォルトの名無しさん:04/11/27 17:20:24
>>163
4ビットは各社それぞれヘンテコなアーキテクチャで出してるよ。
松下のサイクルスチールで2つCPUがあるかのように動く奴は面白かったな。

日本で比較的買い易く、小ロットでも使えるOTPものは
東芝TMP47シリーズだったけど・・・・なんか最近様子がおかしいからお勧めは出来ん。


182 :デフォルトの名無しさん:04/11/27 18:28:23
0番地から実行されるCPUは0番地にROMがあることが期待されるが、
そんなCPUの上で動くとあるメジャーなOSは0番地から始まるアドレスを
ジャンプテーブルとか割り込みベクタとかに(ry

183 :デフォルトの名無しさん:04/11/27 19:26:28
それをRAMにリマップするのも制御屋の仕事

184 :デフォルトの名無しさん:04/11/27 19:53:57
たぶん一番大きな理由はROMだと実行速度が得られないと言うことだろ
高速ランダムアクセス可能なFLASHでも出来れば一々転送などしなくて済む

185 :デフォルトの名無しさん:04/11/27 22:14:21
お前らどんだけでかいFLASHやら
どんだけ早いRAM使ってんだ?

キャッシュが貧弱なCPUでSDRAM
使うならNOR型のFLASHでも大して
変わらなくないか?

186 :デフォルトの名無しさん:04/11/27 22:29:05
大して変わらないと思うのならRAMに転送しなくてOK

187 :デフォルトの名無しさん:04/11/27 22:35:43
>>185
>大して変わらなくないか?
この「大して」がとても大した事の時もある。
ホントにクロック単位で削らなきゃならないこともある

まったく>>186 の言うとおり、そういう環境ならそれでいい

188 :デフォルトの名無しさん:04/11/27 23:15:57
デバッグの時毎回フラッシュ書き換えるの?

189 :デフォルトの名無しさん:04/11/27 23:24:36
ICEで単体〜組み合わせ試験
FLASHで組み合わせ〜システム試験
納品先でワンタイムに焼いて検査される
が多いかと思われ

190 :デフォルトの名無しさん:04/11/28 01:24:48
ICE使えるなんてうらやますぃ

191 :デフォルトの名無しさん:04/11/28 01:53:20
>>188
書き換えてるけど何か?

192 :デフォルトの名無しさん:04/11/28 01:56:52
あっという間に寿命来るよ


193 :デフォルトの名無しさん:04/11/28 02:56:59
フラッシュって
10万回くらい書き換えられるんじゃなかった?

194 :デフォルトの名無しさん:04/11/28 10:12:43
MCU内蔵のヤツはメーカのデータシート上 100回とかのもある。

ってか、消去→書き換えって遅くね?ICEで設定するブレークポイント数に
制限あるし、ウザイ。試作機はフラッシュとRAMをスイッチで切り替えられる
ボードでデバッグしてる

195 :デフォルトの名無しさん:04/11/28 19:58:35
>>194
普通、そういうデバッグ方法でしょう。
最初から内臓フラッシュを当てにしない人はROMとRAMの差し替えでもいいけど。

196 :デフォルトの名無しさん:04/11/28 20:40:35
>>195
グロいやん。

197 :デフォルトの名無しさん:04/11/28 21:15:08
最近のCPUはフラッシュ内蔵してるのが多いのか?

198 :デフォルトの名無しさん:04/11/28 22:46:48
内臓とかグロとかいうから、
その手のグロ画像でも貼ってあるのかと思った

199 :デフォルトの名無しさん:04/11/29 00:01:42
>>197
H8しか知らないけど、H8はそれが売りでした。

200 :デフォルトの名無しさん:04/11/29 03:57:08
>>199
V850もな
つーか、このクラスのワンチップマイコンなら、フラッシュとRAM内蔵は常識じゃないのか?

201 :デフォルトの名無しさん:04/11/29 06:47:43
>>188
使うサブルーチンへのジャンプテーブルをRAM上に確保
あちこちでRAM上でパッチできるようにして、モジュールが安定させていってる。

202 :デフォルトの名無しさん:04/11/29 20:38:46
今、車載用16/32ビットのプロセッサで、
人気のあるのはどれでしょうか?

203 :デフォルトの名無しさん:04/11/29 20:42:40
athlon

204 :デフォルトの名無しさん:04/11/29 20:45:51
>>202
H8

205 :デフォルトの名無しさん:04/11/29 21:12:07
>>202
車載と言っても、エンジン制御、ボディ制御、オーディオ・ナビ系では
まったくスペックが異なります
オーディオ・ナビ系では32ビットがデフォになりつつあります。
V850、M32R、SH3/4などが多いです。(私の知る限り)
ボディ制御なら16ビットで、>>204氏のH8やM16Cやモトローラなんかも
多いです。
車載用は各社CAN内蔵マイコンを採用することが増えてきています
(海外向けは特に)

206 :デフォルトの名無しさん:04/11/30 00:11:44
>>205
国産のCPUがほとんどだけど、海外でも日本のCPUが主流なのかな?
もっとも、海外のCPUだとARMかPower PCくらいしか思いつかないけど

207 :デフォルトの名無しさん:04/11/30 12:55:29
この辺の話はインターフェイスの最新号に載っているね
ROMモニターの話ばかりだけど
たまには各社最新ICEの徹底比較とかやればいいのに

208 :デフォルトの名無しさん:04/12/02 08:39:06
シリアルポートについて伺いたいのですが。
C++相談窓口でスレチガイとの指摘でこちらのほうが適切かと。

VC++6.0でCreateFileでCOMポート開いて、通信速度を
1bpsに設定して、オシロスコープで波形観測してみますた。

本当は、通常のCOMポートって、デバイスマネージャ等で設定
できる値以外にどんな値がセットできるかを確認するうえで
プログラムをしたのですが、幸い1bpsに関してもポート設定
ができましたもので、ならばこの糞遅いボーレートの観測を
してやろうと思いまして。

しかし、です。どうみても1秒間隔でビットが送られているように
みえません。送ったデータは&hAAで、ビット的に10101010となる
ものです。つまり、ハイ・ローの間隔が1秒毎にしたわけです。

擬似的に1bpsが実現していて、ハードウェア的に1bpsは実現して
なかったということでしょうか?
しかも、RS232の最大速度はGetCommStateでかえる値は256Mbps?


209 :デフォルトの名無しさん:04/12/02 09:00:41
そこまで測定できる環境があるなら自分でアレコレやってそこから理屈を予測し予測を裏づける実験をする。
それが制御系流。

210 :デフォルトの名無しさん:04/12/02 09:03:03
>>208
300bps辺りから1/2ずつ下げて実験してみな。シンクロスコープあるなら充分見えるだろ。

211 :デフォルトの名無しさん:04/12/02 10:44:12
>>208
C++っつーか、windowsというOSのAPIがどうかということですよね
ハード的に、1bpsの設定ができず、APIが1bpsに対応していないものと思うけど
ボーレートというものがどういう仕組みで決まるか、
H8かなにかのCPUのマニュアルを見てみることをお勧めする。

212 :デフォルトの名無しさん:04/12/02 12:38:09
>>209
その前に、きちんと設計をしておこう
>>209は設計をきちんとした上で、それでもなお問題が出たときの話だよな?

213 :デフォルトの名無しさん:04/12/02 14:22:20
>208
16550のボージェネって115200の整数分の1でデバイダレジスタも16bitだったと思うので
1bpsはできないんじゃないの?

214 :デフォルトの名無しさん:04/12/02 21:37:48
つーかAA送っても周期的な波形は得られんだろ。

215 :209:04/12/02 21:42:55
っか、1bpsて何かの実験だろ?
まさか通信するわけあるまい。
実用な用途なら、今の季節、TxDにLEDつけてイルミにするか?ドライブできるか知らんけど。

ところで皆の衆、
Windriverのカンファレンス逝きましたか?



216 :デフォルトの名無しさん:04/12/02 21:50:41
1bpsを目で見たいって気持ちはよくわかる

217 :デフォルトの名無しさん:04/12/02 22:17:47
またまたフラッシュ絡みの質問ですが、CFIと言うのは、
nor型にもnand型にも適用される規格なのでしょうか?

218 :デフォルトの名無しさん:04/12/02 22:57:05
>>208
windowsのAPIでしょうか?
どうやって 1 bpsの設定をするんでしょうか?
不勉強ですみません、SetCommState()では出来ないように思いますけど
ドライバを書いている?だとしたらコントローラチップ(16550?)を見ての通りだと思うけど。

219 :デフォルトの名無しさん:04/12/02 23:19:32
>>217
規格なら、その規格出している所へ訊くのが筋たろ。
規格なんだから。

その前に、その規格を読んだのか?

読んで、書いてなかったら
それについての規定はしていない。ってこと

220 :デフォルトの名無しさん:04/12/02 23:52:56
>>219
インテルのを読みました
書いてなかったです

221 :デフォルトの名無しさん:04/12/03 00:02:04
>>215
APIが糞で範囲チェックがいい加減に1票

ちなみにUARTでAA送ってもStartBit/StopBit/Parityが
絡むし出っ放しになるわけではないので、
昔ながらの同期とってリアルタイムに波形観測するような
アナログオシロで観測は無理

222 :デフォルトの名無しさん:04/12/03 00:14:11
>>220
じゃあnorかnandなのか規定していないってことなんだろ。
でもIntelってことは、デフォルトでnorかもしれん。

Intelに訊くのが一番。
訊いたらここに発表してね♪

とおもってよくよく読んでみたら、
ftp://download.intel.co.jp/design/flcomp/applnots/29220404.pdf
byte programingとかいってるじゃねぇーか。
実際問題、これがnandで可能か考えて見れ。

>>221
デジタルストレージお城かもしれん。


223 :デフォルトの名無しさん:04/12/03 00:58:51
>>222
まさにそれを読んでたところで、これってAMDの255とか書くやつと同じ?どう見てもnorだよな
と思っていたんだけど、
リムーバブルメディアを想定したようなことも書いてあるから、
納戸でも間に何かインターフェイスのハードを挟んで、
ソフトから見ると、フラッシュのタイプの違いを意識しなくて済むような仕掛けでもあるのかと思いました

224 :デフォルトの名無しさん:04/12/03 21:48:36
周期的な波形は得られんが、パリティとストップビット込みで10ビット。
転送に10秒かかるから、目視でパタパタやってるのは見えそうな希ガス・・・・
奇数パリティならパリティビットは1。転送はLSBからなので、
0101010111 となる


225 :デフォルトの名無しさん:04/12/03 22:07:14
>>224
スタートビットは?

226 :デフォルトの名無しさん:04/12/03 22:48:58
010101010111 

227 :デフォルトの名無しさん:04/12/03 22:56:06
FFHを送り出したほうがかんそくしやすいずら


228 :デフォルトの名無しさん:04/12/04 08:19:40
結局 >>208 はどこに行った?

229 :デフォルトの名無しさん:04/12/04 09:16:23
PLCとかの話しても良いの?

230 :デフォルトの名無しさん:04/12/04 10:38:07
良いとも

231 :デフォルトの名無しさん:04/12/04 10:49:02
>>229 に便乗して。
三菱のMELSECでシリアルでデータ交換する時、
一括読み出しなどで連続で長いデータを要求すると、途中で切れていたりしません?
たとえば、400ワード要求してるのに200ワードしか返さないとか
もちろん、伝文は正しく200ワード分の伝文を返してくる。
OMRONやHITACHIではありえなかったのだけど。

232 :デフォルトの名無しさん:04/12/04 11:47:50
Aシリーズの計算機リンクなら仕様だったような?
前にSCADA作ってる人が、一気に全部とれないから分割して取ってるよ。と
言ってた気がします。

Qシリーズのユニットはどうか知らないです。

233 :デフォルトの名無しさん:04/12/04 11:59:05
>>231
Qシリーズなんですけどね。
仕様で取れる範囲でも返すときと返さない時があります。
PLCの勝手な都合の長さを正しい伝文形式、手順で返してきます。
結局、受け取ってから要求した分だけあるかどうかチェックが必要です。

234 :デフォルトの名無しさん:04/12/05 00:35:14
>>233
今度、シリアル通信やるらしいんだけど
その辺気をつけないといけないですね。
相手がPCだとまだいいけど、空調のコントローラーだし。

235 :デフォルトの名無しさん:04/12/06 12:55:03
PLCは楽そうなんだけど、組込には高いし、向かなそう
ソースとかだけ組込用にないかね

236 :デフォルトの名無しさん:04/12/06 13:00:10
制御ってcontrol systemの事ですか?

237 :デフォルトの名無しさん:04/12/06 17:03:47
>>235
イミフ

238 :デフォルトの名無しさん:04/12/06 18:38:21
>>235
PIC用ならある
が、あれが使いやすいかと言うと・・・

239 :デフォルトの名無しさん:04/12/08 00:00:40
ぼるじょあスレから誘導されてきました。
電気工学実験でパソコンとH8マイコン学習セット(H8S/2144)
ttp://www.yellowsoft.com/products/h8gset.htm
ttp://www.renesas.com/jpn/products/mpumcu/16bit/h8s/2100/2148_2144/l    を用いて行ったものです。
マイコンからのデジタル量をD/A変換器に入力し、
数値に対応させた直流電圧に変換して、その電圧をテスターで測定する、というものです。
以下、Cのソース


#define DADR0    (*((unsigned char*)0xfffff8))
#define DACR     (*((unsigned char*)0xfffffa))
#define MSTPCRH  (*((unsigned char*)0xffff86))

main()
{
     MSTPCRH&=0x3b;
     DACR=0xc0;
     DADR0=0xff;
}


D/A変換器によるアナログ出力電圧を以下の画像のような周期波形を発生させるには、
上のソースをどのように変更すればいいのでしょうか?
ttp://49uper.com:8080/html/img-s/27242.jpg

240 :239:04/12/08 00:01:31
すみません最初はageでしたね。

241 :デフォルトの名無しさん:04/12/08 00:04:13
フーリエ級数

242 :239:04/12/08 00:10:51
>>241
すみませんこの分野全然得意じゃない学生なので…
教えて頂けますか

243 :デフォルトの名無しさん:04/12/08 00:14:24
>>239
両方NotFoundなのはイヤガラセか。
タイマでやるか、適当でいいならforループで時間取って出力を変えていくか。

244 :239:04/12/08 00:17:59
>>243
うわ、コピペミスすみません。
ttp://www.yellowsoft.com/products/h8gset.html
ttp://www.renesas.com/jpn/products/mpumcu/16bit/h8s/2100/2148_2144/

245 :デフォルトの名無しさん:04/12/08 00:19:06
>>239
絶句。。。電気工学実験って、工業高校?まさか大学じゃないよね。
宿題回答スレじゃないし、どこから説明していいかわからん。
まず第一に、グラフの見方はわかるのだろうか?

246 :デフォルトの名無しさん:04/12/08 00:23:29
main()
{
  int output;
  MSTPCRH&=0x3b;
  DACR=0xc0;
  while(1){
    for(output=0; output<0x100; output++){
      DADR0=output;
    }
  }
}


247 :239:04/12/08 00:33:59
>>245
学部の選択を間違えたスーパーDQN大学生です_| ̄|○

>>246
ありがとうございます。感謝します。

248 :デフォルトの名無しさん:04/12/08 00:47:03
入力値の変化が速過ぎてD/A変換機の処理が追いつかないから
ダミーループでも入れて適当にウェイトさせるがいい

249 :デフォルトの名無しさん:04/12/08 01:35:21
>>246
for文の条件が微妙に違ってないか?

それだと0〜Vcc/4[V]で繰り返しそうな悪寒

250 :デフォルトの名無しさん:04/12/08 02:37:23
>>249
そのくらいは自分で直す。
ヒント程度ということで。

251 :239:04/12/08 03:12:39
よく分かりませんが100をFDぐらいにしたらいいんですか?

252 :デフォルトの名無しさん:04/12/08 07:28:39
いや、ここはタイマー割込かタイマーをポーリングして、
出力周期を整えてやるのが模範解答だな

253 :デフォルトの名無しさん:04/12/08 07:45:11
この課題の波形の、横軸の単位がわからないし、時間の精度もわからない

そもそも>>239は、>>246を見て 「なるほど」と思ったのか?
全く訳わからずにコピペして提出するつもりなのか。

254 :デフォルトの名無しさん:04/12/08 11:20:37
>>239
学部の選択を間違えた事に気付いたんなら大学やめて受け直すか転部しろよ。
ここのみんなにも学校にも迷惑かかるだろ。

255 :デフォルトの名無しさん:04/12/08 12:24:09
そもそも学校のお友達に聞けよ

256 :デフォルトの名無しさん:04/12/08 14:41:55
当然オシロで波形を確認するよね

257 :デフォルトの名無しさん:04/12/08 20:11:06
テスターで測定らしい

258 :デフォルトの名無しさん:04/12/08 22:12:09
てすたでも測れそうな希ガス

259 :デフォルトの名無しさん:04/12/08 22:39:30
>>258
何を?

260 :デフォルトの名無しさん:04/12/08 22:40:05
サーキットテスターで希ガス類は検出できないと思うが。

261 :デフォルトの名無しさん:04/12/09 01:19:48
>>253
後者にI

>>251
0で0V
0x3FFでVcc

あとは自分で考えろ、つーかマニュアルぐらい読め


262 :デフォルトの名無しさん:04/12/09 01:20:30
>>255
友達いないんだよ

263 :デフォルトの名無しさん:04/12/09 01:26:10
>>262
僕もいないよ

264 :デフォルトの名無しさん:04/12/09 02:09:15
H8のDACってそんなに簡単に使えるのねw
知らなかった

265 :デフォルトの名無しさん:04/12/10 00:11:20
なぜ8ビットのレジスタに0x3FF?

266 :デフォルトの名無しさん:04/12/10 00:48:31
>>261
大学の教材で日立のあのマニュアルなんか置いてあるのか?
まあ、教授にマニュアルを見せてくださいとでも言えば、ポイントアップかな?

267 :デフォルトの名無しさん:04/12/10 00:49:58
ネットとPDF見られる環境であればマニュアルダウンロードできるだろ

268 :デフォルトの名無しさん:04/12/10 00:51:06
日立って何だよ

269 :デフォルトの名無しさん:04/12/10 00:51:22
おいおい、データシートはウェブからダウンロードして見るって時代になって
ずいぶん久しいと思うんだけど。。

270 :デフォルトの名無しさん:04/12/10 01:41:42
>>265
さっとしか眺めてないが、
A/Dは10Bitと書いてあったようだが見間違いか?

271 :266:04/12/10 01:44:39
>>267-269
スマソ
H8は「日立」時代に使っていただけなのだ
あの頃は、日立に電話すれば、無料でその日のうちにマニュアルを送ってもらえたものでした・・・

272 :デフォルトの名無しさん:04/12/10 13:46:01
>>270
A/DとD/Aの違いが分からん奴発見

273 :DACだろ:04/12/10 23:06:49
いかん、なんでA/Dとかいたんだろ?
酔っ払ってたせいだと思いたい。。。。orz

274 :デフォルトの名無しさん:04/12/10 23:47:44
A/D 10bit
D/A 8bit だな

275 :デフォルトの名無しさん:04/12/10 23:52:42
1qubitで十分

276 :デフォルトの名無しさん:04/12/11 04:00:57
10bitって意外と分解能足りないのね。ボリュームつまみぐらいには使えるけど
ロータリーエンコーダの替わりにまではならない。
この頃は8bitチップでも12bit 8CH くらい内蔵してるのに。

277 :デフォルトの名無しさん:04/12/11 04:29:37
オープンドレインってどういうこと?8051系のポートは←これで、H8みたいに書いた所を読むと
違うことがあるそうなんだけど。オームの法則しか知らない俺に誰か教えてください。

278 :デフォルトの名無しさん:04/12/11 04:39:48
>>277
http://www3.kcn.ne.jp/~chikara/contents/denkou/memo/memo.html

279 :デフォルトの名無しさん:04/12/11 04:41:26
>>277
疑問があるなら、まずは検索しろ。

280 :277:04/12/11 05:45:42
みんなもずいぶん早起きですね。それ見てもやっぱりわからない(^o^)
1を書いたらLが出て0を書いたらHi-Zが出るポートということらしいですね。
でも自分でH書いてLが読めることもあるってところがなんで?

281 :デフォルトの名無しさん:04/12/11 06:08:46
>>280
オープンドレイン+プルアップ抵抗のポートは
 Hレベルのポートの電圧を、外からLレベルにすることは出来る
 Lレベルのポートの電圧を、外からHレベルにすることは出来ない

282 :277:04/12/11 07:53:10
あ、そういうことか。だから自分でHを書いても読むとLが読める場合もあるわけね。
そういうポートを扱うときは何を書いたかメモリに覚えておかないといけないですね。

283 :デフォルトの名無しさん:04/12/11 12:54:15
277がWired ORに行き着くのはいつだろう

284 :デフォルトの名無しさん:04/12/11 13:24:25
>>283
ワロタ

285 :デフォルトの名無しさん:04/12/12 00:22:38
>>281
そういうレベルじゃなくて
NOTゲートを知らないようにみえるが?

286 :277:04/12/12 18:33:07
ゲートの意味は知ってますが、たくさん並んでると見間違えます。縁が曲がってるのがORで
まっすぐがANDでしたっけ?あれ?そうするとXORは?とかなっちゃいます。三角がNOTですよね

287 :デフォルトの名無しさん:04/12/12 19:05:50
>>286
>三角がNOTですよね
 ↑このへん勘違いしている

288 :デフォルトの名無しさん:04/12/12 19:18:28
三角はバッハでしょ

289 :デフォルトの名無しさん:04/12/12 19:32:06
>>277
あんまりソフト屋さんでは意識する場面は無いネタかも試練。

オープンでないゲートの出力って、HでVccにつながって、LでGNDにつながるの。
だから出力同士をつなげることはできない。

ゲート1とゲート2の出力をつなげた場合どうなるかっていうと。

ゲート1の出力:H(Vcc) でゲート2の出力:L(GND) →VccとGNDがショート 危険!
ゲート1の出力:L(GND) でゲート2の出力:H(Vcc) →VccとGNDがショート 危険!
ゲート1の出力:H(Vcc) でゲート2の出力:H(Vcc) →Vccどうしで電位が同じなのでセーフ
ゲート1の出力:L(GND) でゲート2の出力:L(GND) →GNDどうしで電位が同じなのでセーフ


290 :デフォルトの名無しさん:04/12/12 19:32:38
オープンドレインの出力はHの場合はオープン。Lの場合はGND

■用途1 Wired OR


    --・-- Vcc
       |
      R
       |
OUT1--・------|>
       |
OUT2--・

出力同士をつなげても

ゲート1の出力:H(オープン) でゲート2の出力:L(GND)   →GND
ゲート1の出力:L(GND)   でゲート2の出力:H(オープン) →GND
ゲート1の出力:H(オープン) でゲート2の出力:H(オープン) →オープン ※
ゲート1の出力:L(GND)   でゲート2の出力:L(GND)   →GNDどうしで電位が同じなのでセーフ

で、※の場合、そのまま入力につなげちゃうのは違反。
電位をGNDかVccにしなくちゃいけない。
ので抵抗はさんでプルアップしておけば、オープンでVcc。GNDでGNDになる。


291 :デフォルトの名無しさん:04/12/12 19:33:19
■用途2 I/OのOUTPUT
    --・-- Vcc
      |
     R
      |
OUT--・------|>

出力で電流たくさんとりたいとか。。。説明が面倒になった。だれか頼む。
(ってか、CMOS全盛の今。出力インピーダンス気にする必要ってあるの?
その辺があいまいなので止めておく)

292 :デフォルトの名無しさん:04/12/12 21:45:18
>>291
ゲートの電源よりも高い電圧のスイッチングに使ったりするね。

293 :デフォルトの名無しさん:04/12/12 22:42:39
TTL全盛の時代に育ったから
CMOSになっても「オープンコレクタ」
って言ってしまうな

294 :デフォルトの名無しさん:04/12/12 23:02:47
>>293
7401とか?w


295 :デフォルトの名無しさん:04/12/12 23:36:57
7438 だろ > OC の定番

296 :デフォルトの名無しさん:04/12/12 23:51:12
74S05最強伝説

297 :デフォルトの名無しさん:04/12/12 23:57:07
74HC05

298 :デフォルトの名無しさん:04/12/13 00:15:57
*


299 :H/W屋:04/12/13 04:40:28
回路図読めとは言いません
お願いですから論理演算ぐらい
分かる人間を付けてください

300 :デフォルトの名無しさん:04/12/13 04:49:39
電子工学科卒なら大抵大丈夫なんじゃないの?良く知らないけど。

301 :デフォルトの名無しさん:04/12/13 04:57:09
全然w

302 :277:04/12/13 05:39:04
皆さんいろいろ教えてくれてありがとうございます。今回の出力端子は送信機やアンプの
オンオフをするらしいので、>>292さんのような使い方にあたるのでしょうね。

高卒文系なのに1985年頃8085の仕事やらされてからなぜかマイコンの仕事ばかり。
高校生に集合とBOOL代数を教える最初の試験授業をされました。今じゃ小学生でも知ってますね。
回路図読めないので、ハード屋さんには信号の性質について(自然言語で)聞きまくります
うるさがられるけど、いいかげんな仕事されるよりはましだと思って相手してくれてるみたい。

303 :デフォルトの名無しさん:04/12/13 05:55:05
藻いらもオープンコレクタって言ったほうがしっくり来る。
ソフト屋なんでこの言葉を使う機会はほとんど無いけど。

ところでオープンコレクタに対してTTLレベルって言ってたけど
最近はなんて言うのがオサレなの?

304 :デフォルトの名無しさん:04/12/13 09:03:30
いまはBOOL代数は教えてないらしいよ


305 :デフォルトの名無しさん:04/12/13 10:24:55
0と1だけじゃないZがあるから。

306 :デフォルトの名無しさん:04/12/13 10:29:16
え?

307 :デフォルトの名無しさん:04/12/13 11:36:28
トライステート出力ね。Zっていうか、Hi-Z(つまりオープン)ね。

308 :デフォルトの名無しさん:04/12/13 18:52:26
また一人来たよ

309 :デフォルトの名無しさん:04/12/13 19:21:54
>>303
TTLレベルはC−MOSレベルに対して使ってたんじゃない?
今はおしゃれとか言う問題ではなく、ちゃんと規格の名前で言わないと
動かないものができてしまう

310 :デフォルトの名無しさん:04/12/13 21:04:52
つうか、ハードオンリーの問題なら
http://science3.2ch.net/denki/
へ行ったほうが良くねぇ?

311 :デフォルトの名無しさん:04/12/13 21:19:24
ハード寄りの話になったね。そこまで知らなくても出来るが、全然知らないのも困る。
そのギリギリのバランスで成り立ってるのがファーム屋の面白く、難しいところですねw

312 :デフォルトの名無しさん:04/12/13 22:09:10
>>309
オープンコレクタに対してはトーテムポールか?
>>310
つーか、ファーム屋だとそこそこ回路図も読めねぇと話になんねぇからな〜
ある程度経験を積めばハード屋のスキルも逆に評価できるってもんよ

313 :デフォルトの名無しさん:04/12/13 22:09:58
>>312
違う、ポニーテールだ。

314 :デフォルトの名無しさん:04/12/13 23:13:00
HEWを使用していますが、バックトレースの方法がよくわかりません。
で、KPIT-gccを使って__builtin_return_address()を使おうと思ってます。

ところで、gccで生成したオブジェクトとHEWのそれとは、
うまくリンクできるのでしょうか?

簡単なCのプログラムではうまくできたのですが、
複雑なC++ではリンクできませんでした。
この場合、Cのインターフェースを用意してやればうまくいきそうなんですが、
C++のままだとうまくいかないのでしょうか?


315 :デフォルトの名無しさん:04/12/13 23:23:40
>>314
バックトレースを取りたいのか?
それとも、gccの__builtin_return_address( )の問題を言っているのか?

リンクできませんって、できないでどうなったんだ?

316 :315:04/12/13 23:49:00
>>314
ふと思ったが、extern "C" すれば解決しない?


#オープンドレインの話からいきなりC++って、
#制御系って範囲が広いな〜とつくづく思った。

317 :デフォルトの名無しさん:04/12/14 00:05:29
あ?

318 :デフォルトの名無しさん:04/12/14 14:13:35



319 :デフォルトの名無しさん:04/12/14 15:14:56
TRUEとFALSEの他にNULLがある。
次世代ブール値?が必要な夢を見た。
何故か涙が止まらなかった。
もう俺はダメだと思う。

320 :デフォルトの名無しさん:04/12/14 21:06:37
そんなことで。
俺はおまけにUNDEFINEDもあるのを考案してた。

321 :デフォルトの名無しさん:04/12/14 22:13:46
>>319
Ruby がそうだよ。

322 :314:04/12/17 01:11:30
KPITの__builtin_return_addressは引数が0しかとれないようで、
バックトレースには役立ちそうにありませんでした。
異なるコンパイラのオブジェクトはなんとかリンクを通す事はできたけど、
動かしてみるとダメだったり。関数の呼び出し規則が違ったのかもしれないけど。
リンカが何やってるかあんまり知らないので無駄に困っただけで終了でした。
HEWがまともなら妙な事も考えないのになぁ・・・。

323 :デフォルトの名無しさん:04/12/17 12:24:38
gccのオブジェクトがHEWでも使えるって知らなかったな

324 :デフォルトの名無しさん:04/12/17 16:35:14
>>323
コンパイラが違っても、ターゲットとオブジェクトフォーマットが同じならば、
リンクはできる。

325 :いなむらきよし:04/12/17 20:48:03
レベルの低い奴らばかりだキケー!

326 :デフォルトの名無しさん:04/12/19 12:43:21
GP−IBのことについてお聞きしてもよろしいでしょうか?

327 :デフォルトの名無しさん:04/12/19 12:46:47
>>326
まずは質問を書け。スレ違いなら無視か誘導されるだろ。

328 :デフォルトの名無しさん:04/12/19 18:02:00
>>319, >>321
DB とかやってると当たり前だったりするし。

>>320
VB の Variant でも使ってろ。

329 :フナ太郎:04/12/19 20:55:00
>>328
別にVBプログラマだからってなにも気後れすることはない。
堂々と胸をはっていきなさい。バカにされてもくじけちゃダメだよ!

330 :ちょっと遊んでみるかな。(藁:04/12/19 21:00:44
べつに VB でプログラムぐらい組めるけど、VB プログラマって...。

なんか、コンプレックスでもあるんですかぁ ?

331 :デフォルトの名無しさん:04/12/20 02:00:34
nullはブール「値」じゃないだろ

332 :デフォルトの名無しさん:04/12/20 08:21:12
printfの%fは 四捨五入ありですか? 切り捨てがデフォですか?
符号つき小数部8bitのintを sprintf(wk,"%4.2f",int/256.0)で小数部2桁に編集しますが
少数3桁目が切り捨てられるなら、負の場合-0.005、正の場合0.005を足さないといけませんね?

333 :デフォルトの名無しさん:04/12/20 09:11:20
>>332
The proof of the pudding is in the eating

334 :332:04/12/20 14:49:19
すいません、整数の計算でなんとかなりました。

335 :デフォルトの名無しさん:04/12/23 00:11:22
>>323
gccのオブジェクトフオーマットにHEWが対応してるわけです。
Linux関連ソフトを捨てられないからね。


336 :デフォルトの名無しさん:04/12/23 00:20:02
Linux関連のソフトって、SHやH8で使うことある?

337 :デフォルトの名無しさん:04/12/23 00:20:46
ある

338 :デフォルトの名無しさん:04/12/23 12:05:04
PCと組み込み機器の垣根があいまいになりつつあるからな。
PC上のMP3コーデックとかの音声、画像処理ソフトは大きな魅力。
ケータイなんか特にそうじゃね?

339 :デフォルトの名無しさん:04/12/23 13:46:23
USBキーボード(HID)の仕様では、
CAPS LOCK,NUM LOCK,SCROLL LOCK,COMPOSE の情報(状態)の維持は
ホストで行われるようですが、キーボード側がその情報を得る具体的な方法を教えてくれませんか?

340 :デフォルトの名無しさん:04/12/23 23:34:32
PC上のソフトなら、ソースレベルでの互換性があれば充分じゃない?
つーかオブジェクトは互換性ないだろ?
CPUが違うんだから

341 :デフォルトの名無しさん:04/12/23 23:54:18
>>340
gccで作ったH8のオブジェクトの話だろ
頭使え

342 :デフォルトの名無しさん:04/12/24 00:22:33
HEW用に提供されたソース無しのライブラリを、
GCCオブジェクトとbinutil-ldでリンクできたら嬉しいな。


343 :デフォルトの名無しさん:04/12/24 00:41:23
HEWを買えない貧乏人がgccで間に合わすと言う使い方もあるわけだ

344 :デフォルトの名無しさん:04/12/24 02:20:50
>>343
HEWよりライブラリの方が高くて買えない罠。

345 :デフォルトの名無しさん:04/12/24 08:50:50
gccのライブラリは有料なんですか?

346 :デフォルトの名無しさん:04/12/24 09:19:05
>>345
340と同じ人? 少しは頭使えよ。

347 :デフォルトの名無しさん:04/12/24 22:12:30
高いのもある
だけどただのもある

348 :デフォルトの名無しさん:04/12/25 22:24:10
newlibってそんなに高いの?
おれ、いままでただでつかってたよ。

349 :デフォルトの名無しさん:04/12/25 22:25:36
silosどこで落とせばいいですか?demo版でいいんで

350 :デフォルトの名無しさん:04/12/25 23:10:10
義理の兄貴が早期退職するんだって。51歳。
大手メーカーで人工知能の研究やってた。
優秀だったのに・・・・京大院だったのに・・・・・・

351 :デフォルトの名無しさん:04/12/25 23:30:54
アフォか
京大院卒なんて毎年5千人規模で生産されているんだ。
51歳ならライバルは15万人くらいはいると思え。


352 :デフォルトの名無しさん:04/12/26 11:12:59
>>349
Silosってスピナカーから代理店が変わって、どこ行ったかわからなくなった。
俺は評価版嫌いな人間なのでこれ使ってます。
ttp://www.sugawara-systems.com/index.htm
あとはicarusverilogとか


353 :デフォルトの名無しさん:04/12/26 15:13:46
>>339
CAPS/NumLock/ScrollLockはキーボード自身でLED設定状態みればいいだろ。
ホストに要求して取ろうというのであれば、そもそもUSBという規格をわかっていない。

354 :デフォルトの名無しさん:04/12/26 23:30:17
>>348
早く金払わないとタイーホ

355 :デフォルトの名無しさん:04/12/27 09:09:59
>>354

356 :339:04/12/27 09:34:29
>>353
USBキーボードとPS2キーボードを繋げ、
PS2キーボードでCAPS/NumLock/ScrollLockを操作すると
USBキーボードのLEDも切り替わりますがなぜですか?
ホストで維持される状態を同期を取りたいのです。



357 :デフォルトの名無しさん:04/12/27 12:33:08
>>356
LEDの点灯/消灯コマンドがホスト側から来るんだよ。
ホスト側が維持するってそういうことだよ。
コマンドを取りこぼさなければ同期は外れない。
取りこぼすようなデバイスは故障している。


358 :339:04/12/27 15:16:25
>>356
ありがとうございました。もう少し勉強ます。
ご存知であれば、usbキーボード開発に参考になるサイト・資料を教えていただけませんか?



359 :デフォルトの名無しさん:04/12/27 15:24:55
www.usb.org

360 :デフォルトの名無しさん:04/12/27 15:30:11
>>358
福祉関係でUSB接続の入力装置を作っている個人がWebSiteを持ってたと思った。
そのサイトでそれなりの情報が得られたような記憶があるので探してみたら?

361 :デフォルトの名無しさん:04/12/27 21:18:29
つーか今月のトラ技はどうよ?

362 :デフォルトの名無しさん:04/12/27 21:49:51
>>361
年々レベルダウン。

363 :デフォルトの名無しさん:04/12/27 21:51:03
>>361
USBスピーカの製作のところで、デバドラも書くのかな?と思っていたらそうじゃ
ないんだね。

364 :339:04/12/28 10:51:37
>>358
情報ありがとうございました。
検索試みましたがヒットしませんでした。
非常に興味深いのでとても気になります。
覚えていましたら、具体的なキーワードを教えていただけませんか?

www.usb.orgにあるHid1_11.pdfを読みました。
discriptorの設定や通信説明は書いてありましたが、
その先の説明は書いてありませんでした。(私の理解不足かもしれませんが)

>>361
ありがとうございました。
本屋よって見てみます。


365 :360:04/12/28 13:06:19
>>364
漏れかな?
物はこれだけど、詳細情報があるかどうかは見てない。
ttp://deki.psv.org/

366 : 【豚】 【24円】 :05/01/01 12:40:25
おおぅ何か香ばしいぜぇぇえええ

367 :デフォルトの名無しさん:05/01/01 21:28:36
>>366
豚野郎。お前がコゲてる臭いだ。

368 : 【だん吉】 【416円】 :05/01/01 23:54:35
さっさとうせろ ベイビー

369 :アルゴリズム:05/01/03 11:38:35
制御系=マイコンではないな。PCを使ってもできる。
要は何台作るかだ。一台しか作らないのにマイコンで
やることはない。あとFPGAを使うてもある。
ソフトでできる処理はせいぜい10マイクロSEC。
FPGAはその100倍は可能だから勝負にならない。
値段はたかくなるけど。


370 :アルゴリズム:05/01/03 11:44:09
事務系から制御系に移れるかという質問があった。
それは不可能。日本語を話せる大工さんが、すぐに旋盤工に
なれないようなもの。この場合ソフトは日本語にしか相当
しない。それに制御系を選んだ人はだいたいプラモデルとか
作るのが好きな人。
このような要素は勉強してどうなるものではない。

371 :デフォルトの名無しさん:05/01/03 11:48:18
>>370
私は論理学を専門にやってた院卒ですがちゃんとやれてます。

372 :アルゴリズム:05/01/03 11:52:23
うちの制御系はWIN−XPとLABVIEWとFPGAで
作っている。H8に比較し数十倍のパフォーマンスが可能。
用途は計測、制御、画像処理、モーション、
ICテスターなどだ。台数としては1台か2台かだ。
この特長はエクセルやイーサネットが使えることだ。
制御でE−MAILで携帯に警報をだすなんてしゃれたこともできる。


373 :デフォルトの名無しさん:05/01/03 12:01:08
>>372
> この特長はエクセルやイーサネットが使えることだ。
> 制御でE−MAILで携帯に警報をだすなんてしゃれたこともできる。
>
今時マイコンでも普通にできてる(Excelを除く)

374 :アルゴリズム:05/01/03 12:02:50
マイコンでも製品開発をすることがある。
この場合パソコン上でLABVIEWで雛形を開発する。
それで仕様を決定しマイコンに移すのだ。
製品開発はソフトのスキルより重要なことがある。
それは仕様をきめるということ。
マイコンをやった人なら分かると思うけど、
仕様変更がなんどもくるよね。それは仕様が決まって
いないからだ。あげくはこのチップではできなから
違うチップに変えたなんてこともある。
つまり制御系も仕様が一番大事だ。
だからパソコン上で雛形を作る。それを
お客(自社の幹部)に検討してもらう。
このようにすれば結果的は速く、安く
仕上がる。

375 :アルゴリズム:05/01/03 12:09:05
マイコンをやっている人は会社の利益とかは
あまり興味がない。自分のスキルを評価して
くれるかどうかだ。会議などでも「その技術は面白い」
とか「そのチップは性能が良い」の類の発言をする。
でも会社は利益が大事だ。
だから会議などで「その方法は利益面でマイナスだ」
なんて発言したら注目をあびることは間違いない。

376 :アルゴリズム:05/01/03 12:16:54
>373

>この特長はエクセルやイーサネットが使えることだ。
>制御でE−MAILで携帯に警報をだすなんてしゃれた
>こともできる。

普通っていうけど、あなたならPICでアナログ信号を読み取り
その値を1時間ごとにE−MAILで携帯に送るソフトを
何時間で作れますか?



377 :デフォルトの名無しさん:05/01/03 12:55:30
>>376
373じゃないけど、PIC16F873クラスを使って良ければ
A/Dとシリアルは実装済みなんで、回路基盤を起こす時間を無視すると
そんなに時間はかからんでしょう。
Linux Boxに繋げてcronでメールまでスクリプトでできると思うし。

そういう俺もLabVIEWで組んで仕様書作って
外注している立場だけどね。
# LabVIEWは俺を堕落させた。

378 :デフォルトの名無しさん:05/01/03 13:24:29
普通のマイコン=PIC
と認定されました


379 :デフォルトの名無しさん:05/01/03 13:26:32
>>369
>一台しか作らないのにマイコンでやることはない。
そんなことはない。
パソコンで低消費電力、リアルタイム、無停止のシステムが組めるのか?

380 :デフォルトの名無しさん:05/01/03 13:52:17
>だから会議などで「その方法は利益面でマイナスだ」
>なんて発言したら注目をあびることは間違いない。

どんな会社だ・・・


381 :デフォルトの名無しさん:05/01/03 13:56:42
まちがいない!

382 :アルゴリズム:05/01/03 14:14:09
>379

>パソコンで低消費電力、リアルタイム、
>無停止のシステムが組めるのか?

組めるよ、PDAもあるし。
反対にの1台しか必要なのに、マイコンで作るのか。
趣味ならそれでいいかもしれないけど。私が担当者なら
シーケンサとかパソコンで作るね。
最初から制御=マイコンと考えるのは
頭が硬直している。



383 :アルゴリズム:05/01/03 14:15:43
>377

>そういう俺もLabVIEWで組んで仕様書作って
>外注している立場だけどね。

それが正しい。
あなたは出世するタイプだ。すでにしていると思うけど。



384 :アルゴリズム:05/01/03 14:17:54
>379
さんに聞きたい。
リアルタイムとはどのようなものと考えいてる。

385 :377:05/01/03 16:11:48
>>383
出世しないよ。それだけなら代わりはいくらでもいるからね。
# つーか仕様書を書かされている段階で下っ端だよ。

386 :アルゴリズム:05/01/03 16:24:53
>385

自分を卑下してはいかん。

387 :デフォルトの名無しさん:05/01/03 17:52:40
まぁあれだ、業務系と制御系を両方経験した私が語ろう。

職業の喩えを出していた人がいたが、その例に倣うと
業務系プログラマ(会計士)に制御系プログラマ(職人)の真似はできませんよ、と。
#勿論逆も難しいわけだが。

業務系は画面の枚数で仕事量を量ることがあるということで判るとおり敢えて言えば広さの仕事。
制御系はその逆で、テストしながら仕様を確定したりI/Fを伴わない改変があったりと、深さの仕事だと思う。
学業が理数系と文型と言う風に単純に分けられないのと同様、単純には分けられないけどね。

どちらにしても、社内顧客なんて相手にしていても仕様を詰める楽しみはないんじゃないかな。
尤も、エンドユーザと仕様を詰めるような立場になると、コーディングなんてしてられなくなるけど。

388 :デフォルトの名無しさん:05/01/03 18:50:31
組み込み以外から組み込みの分野に来て、うまくいった例を見たことが殆どない。
皆さんの周りで成功した事例ってあります?

389 :デフォルトの名無しさん:05/01/03 19:16:48
>>388
もろハードオンリーから組込みに来てる人は
普通に成功してる ような気がする

390 :デフォルトの名無しさん:05/01/03 19:29:11
業務系、制御系、組み込みの違いが分かってない香具師が
結構いるよね。
変なコテは分かってるけどあえてごちゃ混ぜにしてる釣り師。

391 :388:05/01/03 19:42:35
ハードからは、ね・・・・・・・・・
仕事でマジ困ってます。「純ソフト屋」っての?あいつら猿?
仕事で(゚Д゚)ハァ?の連続です。明後日からチンカスの相手だ(涙


392 :デフォルトの名無しさん:05/01/03 19:48:42
適応領域の知識が足りないので、ソフト屋うんぬんは関係ない。
(= ソフトができても物を知らんと使えない)

逆の立場にならないことを祈ろう。

393 :デフォルトの名無しさん:05/01/03 20:17:51
>391
まったくの素人と思えば良い
メモリアクセスを隠蔽した言語しかできないのな

394 :デフォルトの名無しさん:05/01/03 21:33:31
ハードなんて言葉使ってる所がか・な・り芋っぽいです

395 :デフォルトの名無しさん:05/01/04 00:59:07
器用貧乏の称号を授かり、なんでもかんでもやらされるのも考えものだ


396 :379:05/01/04 02:08:26
>>382
ほんじゃ、人工衛星にのっけるものもPDAでやりますか?

397 :379:05/01/04 02:21:35
>>382
485でデータを受けて、パトライトを6点表示。
自動車組み立て工場で使用。使用期間半年。
PDAでやりますか?シーケンサでやりますか?
私なら PICマイコンで十分と思うけど。


398 :379:05/01/04 02:35:18
>>382
これはマジですが。
トリガ信号で、
A/D 12bit精度で9ch を 70μsec以内にサンプリング
100μsec間隔 で 3000サンプリング
3バンクを用意して連続3回のトリガに対応
シリアルでホストに転送。
無停止、電源の投入遮断は、手順なしで電源線で行う。
こういうデータロガを1台のみ。シーケンサやPDAでできますか?

399 :ライブラリアン:05/01/04 10:45:41
>398

マジで回答いたします。
その仕様どおりならシーケンサーでは無理だと思います。
普通、目的を達成すればいいのだから仕様を決める時点
では柔軟性があるはずです。
マイコンを前提にした仕様をシーケンサーに移るかどうかの
議論は意味がない。
パソコンならできますね。今はパソコンとPCIのボード
のほうがマイコンよりはるかに性能がいいのはご存知ですよね。
さらに1台しか作らない場合はパソコンの方が安い。
PICが安い言う人、PICが得意なので自慢したいだけ。
ビジネスとは違う次元の話である。
ドキュメント、メンテナンスを総合
で考えるとパソコンの方が全て場合安くなるのが普通。

400 :デフォルトの名無しさん:05/01/04 11:32:02
>>399
1台だけ作るなら、職人さんに発注すると基板作ってパソコン一式と同じ程度で作ってくれますよ。
確かにドキュメントまで期待したら倍以上取られますが
それはパソコンでやっても同じでしょ?

それに、パソコンでやると振動、電源、寿命と、色んな意味で難しいでしょ?
現実1台こっきりでも納品して3年ちゃんと動かないと、マズイくないような場合ってそんな多いですか?

401 :ライブラリアン:05/01/04 12:01:56
>400

>ドキュメントまで期待したら倍以上取られますが
>それはパソコンでやっても同じでしょ?

あなたの言うとおり、パソコンでやるとドキュメントが無いことにはならない。
だから基板を作るか買うかの問題です。パソコンで作ることは
すなわち、市販のボードを買うことになる。
それにはドキュメントが当然ついているので、その費用はないということです。


>現実1台こっきりでも納品して3年ちゃんと動かないと、
>マズイくないような場合ってそんな多いですか?

的を射た指摘だ。まず品質は多く作られたものが良い。
大量生産のDELLのパソコンの方が1毎だけ作った基盤より
品質が良い。基板も後々、バグもでてくる。
作った製品をお客のところで信頼性試験をしてもらっているようなものである。
それから故障用として予備のものを用意しなければならない場合もあり、
さらに価格が高くなるということになる。
故障したときには絶対呼ばれる。パソコンならお客がメンテナンス
してくれる。


唯一電源を落ものはUPSを途中に入れなければ
ならないけど。




402 :デフォルトの名無しさん:05/01/04 13:43:41
>>401
大量生産のDELLのボードが3年持つというのは・・・・制御用専用に作られたのならともかく

残念だけどパソコン品質じゃ 手組みで1枚だけ作ったボードに明らかに劣るよ。
ホントに使った事あるのかな?

毎日電源入れたり切ったりしたら3年で半数近くが故障しないかい?
特に振動やホコリの多い現場で使った経験ある?
それなりに対策はするけど、その対策費用はけっこう高くついてるよ。

パソコンならお客がの話も無理っぽいんだが?
そもそも、パソコンでも制御用だとどうしてもキーとなる部品が必要だろ?
I/OとかADC用ボードとかさ、そのあたりのボードメーカって栄枯盛衰。
安価なの出してる所は3年もしたらどうなるやら判らんし
高価な有名所はボード1枚がマザーより高いじゃかないか

結局職人さんが生きてる限りはメインテナンス出来る方が 実は安心だったりするよ。
といってもそれは客先にはいえないんだけどね

403 :379:05/01/04 13:46:36
>>399
>>A/D 12bit精度で9ch を 70μsec以内にサンプリング
>>100μsec間隔 で 3000サンプリング
>PICが安い言う人、PICが得意なので自慢したいだけ。
>ビジネスとは違う次元の話である。
元来PICじゃ無理でしょ。
パソコンで100μsec間隔のサンプリング?
QNIXならわかるけど、windowsでやりたくないな。

>>無停止、電源の投入遮断は、手順なしで電源線で行う。
>パソコンならできますね
できますか?

404 :デフォルトの名無しさん:05/01/04 13:54:31
>>403
PICで難しいのは最後の 3千サンプルの部分だね。
EEROMだと 100マイクロ間隔で書き込む事が出来ない。

ささっとすましたいなら M16の出来合いのボードにADC接続だけど
1品料理に汎用ADC在庫するのもなんだから、自分ならPICを9個汎用ADC代わりに使うかな

という事で M16の汎用ボード+9個PICでチャチャとやっつけるな 

405 :デフォルトの名無しさん:05/01/04 14:11:35
パソコンでこの条件で作る事は、その性能のADCボードが入手出来るならという条件が満たせるなら
UPSを入れて、停電検出してHDDに保存後電源断という事になるだろうね。
ただ、9CHを70マイクロ以内で同期というのは結構厳しいかもな。
9CH分のサンプルホールドを持ってて、ADC中安定してホールド出来なければいけない。
変換速度と、12ビット精度の両立は自分の知ってる範囲じゃ難しそうだ。

M16+PICでやる場合も、電源断を検出してM16の内蔵フラッシュにサンプリング中データを
書き込まなければいけないけど
M16のフラッシュ書き込みはバンク単位なのでPICの256倍高速なんで
電源断を検出して数10ミリ秒バックアップすればいいから、電解コンデンサでバックアップは十分。


406 :デフォルトの名無しさん:05/01/04 14:38:06
まてよ。 10ビットADCのPICで12ビット精度出そうとすると
差動入力にして1ビット稼いで、さらにノイズ混ぜての3回平均で
最小6サンプルしなくちゃいけないけど、 PICのADCは20マイクロ必要だから
70マイクロってのは厳しいな。

素直にADC外付けが無難か

407 :デフォルトの名無しさん:05/01/04 15:30:49
パソコンのマザーボードは
・部品点数の多さと全体の配線の複雑さ
・部品信頼性の低さ (ほんとによく壊れる)
・接触部品が結構多い (ROM、CPUソケット、DRAMソケット、ISAやPCIボード)

ファンの存在がなによりも故障率を上げてると思える。
まずホコリが入るし、ホコリが入る事で放熱性が悪化するだけじゃなく結露時のショートを起こす。
次に自ら起こす振動。 ただでさえ多い接点を自ら振動させるんだから動作中の不良が起きて当然だ。

そして、パソコンのマザーは高温に弱いだけじゃなく、低温にも弱い。

もちろん、それでも利用出来るところはあるんだけどね。

408 :デフォルトの名無しさん:05/01/04 16:16:06
>404

>M16の汎用ボード+9個PICでチャチャとやっつけるな 


それは何時間?


409 :ライブラリアン:05/01/04 16:27:53
>402

>ホントに使った事あるのかな?
年間100件くらいかな。

>残念だけどパソコン品質じゃ
>手組みで1枚だけ作ったボードに明らかに劣るよ

高級車のポルシェと大衆車のビッツはどちらが故障が多いと思う。
品質というのは数を作らないとでないんだよ。
それに2ギガのA/Dボードは手組みではつくれないだろう。


>結局職人さんが生きてる限りはメインテナンス出来る方が
>実は安心だったりするよ。

心情的には賛成だけど、ビジネスとしては広がりがない。






410 :デフォルトの名無しさん:05/01/04 16:36:10
>>408
PICはこの場合適当でないと後で訂正してるけど、
うちの職人さんに頼めば、たぶん感光基板で半日もかからず作ってくるだろう。

M16は自分がCで書くからこれも30分もかからない。
というかコード使いまわして、クロック出してデータ貰う部分を9台分同時に変更すりゃいいだけ。
PICをADCに替えても、殆どコードも同じ。

なんなら今注文貰ったら明日午後には納品しまっせ。

たぶん、パソコン使ったって、ADC+UPSじゃ部品代に20万以上かかるでしょ?
そしてADCボードの入手に時間かかるでしょ?
で、プログラムはそのボード入手してからボードの使い方調べてになるでしょ?
トータル、うちと同じ値段じゃ出来ないと思うよ。

411 :ライブラリアン:05/01/04 16:43:47
>410

凄い、注文します。注文書の送付先の連絡頂戴。
その製品は使わなくても、その技術が欲しい。(笑

器用貧乏にならないように私がマーケテイングしてあげるよ。

412 :デフォルトの名無しさん:05/01/04 16:58:05
>>411
はは、書けたらいいんだけどね。

凄いというけど、なんか自分の周りはそんな奴が多いんだが・・・・まあスキルミスマッチが起きてるのかもな。
器用貧乏はおっしゃる通り、職人さんも自分のとこも、なんだか忙しいばかりだ。

413 :デフォルトの名無しさん:05/01/04 17:58:37
よくは知らんが、ラックマウントのPCは100万も出せば手に入る。
逆に言えば、10万のPCと同じ程度の性能なのにその金額になるのは保証と信頼故じゃないの?

414 :デフォルトの名無しさん:05/01/04 18:17:40
市販されてるUPSの寿命は電池が2年、本体5年だよ。
もちろんそれ以上の期間動作させられるけど
メーカー的には上記の時間が経過したら
新品への交換を勧めている。
そういう機材だってことわかって言ってるのかな。


415 :デフォルトの名無しさん:05/01/05 00:44:21
なんで PC = Windows みたいな話になってるの ?
別に Compact Flash かなんかに Linux でも入れて、メモリー上にファイルシステム作って、てきとーなデバイスにデータ書けばいいと思うんだが。
途中で電源切れたって、データ書くところさえちゃんとしてれば問題ないから、UPS なんか不要だよ。

416 :デフォルトの名無しさん:05/01/05 03:48:44
知らないならハッキリ知らないと言いなさい、むしろ黙ってなさい
余計な事を言って手間増やされちゃたまらんよ

417 :デフォルトの名無しさん:05/01/05 05:21:48
スキルに裏打ちされた議論で勉強になります。ののしりあいにならないのも珍しい
俺はハード屋さんが決めた仕様に従ってソフト書くだけだからなあ。

418 :デフォルトの名無しさん:05/01/05 07:53:37
>>415
そのシステムで書き込み途中に電源落とされたらどうなるわけ?

419 :ライブラリアン:05/01/05 09:39:03
>413

>ラックマウントのPCは100万も出せば手に入る。
>逆に言えば、10万のPCと同じ程度の性能なのにその金額になるのは保証と信頼故じゃないの?

いわゆるFA用のパソコンだよね。でもソフトを含めると信頼性は
それほど高くない。昔DELLのパソコンでラインのシステムを
作った。故障が無くて好評だった。リピートの時、調子に乗って信頼性をあげる目的
でFA用のパソコン(金額で4倍くらい高い)に変えたら、まともに
動かなかった。メーカーのサポートは良かったけれども、顧客の信頼は
著しく低下した。そのような経験は何度もある。
やはり数が売れている方が信頼性が高い。

420 :ライブラリアン:05/01/05 09:52:19
私も昔はマイコンでやっていた。
みなさんと同じことを言っていた。
しかしあることに気がついた。
それはハードが安ければソフトも安くなってしまうことだ。
「1000円のPICに300万円のソフトを入れました」
と言っても顧客は納得しない。
「150万のハードに150万のソフトを入れました」
と言えば納得してくれる。
つまりそういう心理的なことも性能とは関係のないところで
あるのです。


421 :デフォルトの名無しさん:05/01/05 09:58:27
>417

同意。大人の議論だ。

422 :デフォルトの名無しさん:05/01/05 10:09:55
>>420
昔の話してどうするの。
いまではソフトが高いのは納得済み。

423 :ライブラリアン:05/01/05 10:13:13
私はプログラマはあまり得意ではない。
離れて時間が経っているからね。
いまはSEという立場で顧客と話すことが多い。
よく次のようなことを自慢げに言う担当者がいる。

1 うちの会社は特殊なことをやっている
2 うちの会社はスペックが特別厳しい
3 うちの会社は予算がない

でもそれは違う。こちらの本音は

1 あなたの会社は特殊ではない。あんたが特殊なのだ。
2 それはあんたの好みの問題だ。
3 それはあんたが会社から信用されていなからだ。


424 :デフォルトの名無しさん:05/01/05 10:19:25
…等と考えてるSEとは一緒に仕事したくないと言う本音も聞こえてきそうですね。


425 :デフォルトの名無しさん:05/01/05 10:31:15
はい、したくないですー にゃんにゃん

426 :ライブラリアン:05/01/05 10:34:33
>424

そうじゃないんだな。ここからスタート
するということ。説明して、そのことに気がついてもらうんだ。
好きとか嫌いとか言うレベルではない。最終的に満足してもらう
ことが大事。

427 :デフォルトの名無しさん:05/01/05 11:36:37
でもね。 パソコンで一丁上がりってやってると 数が出るリピートする商品が来ないんだよ

428 :デフォルトの名無しさん:05/01/05 12:49:46
>427

>数が出るリピートする商品が来ないんだよ

そうなんだ。リピートはハードをお客が購入してソフトをコピーすれば
頼まなくてもいいからね。
だけど自分がお客でソフトのコピーを許している契約で
あればそうするよね。だからメンテナンス契約をするとかして
、少しはつながっているようにしないといけない。

429 :379:05/01/05 14:07:43
>>420
>「1000円のPICに300万円のソフトを入れました」
>と言っても顧客は納得しない。
納得しますよ。

言いたいことはわかるそう考えたこともあるし、同じことをやった。
でも、頭をひねってむりやりパソコンで実現するより、素直に考えたほうがお客は納得する。

そして、パソコンベースで怖いのは、部品の故障
修理はメーカ送りだし、生産中止したらアウトで代替手段がマシン交換。
自社ハードだと、その心配がすくなくないか?
そして、パソコン系の開発環境はOSに依存するので
組み込みの開発環境の方が寿命がながくないかな?
QNIXやLINUXでコマンドラインの環境ならいいけど

>>382
>反対にの1台しか必要なのに、マイコンで作るのか。
一品料理であっても、人工衛星に載せるのにパソコンは使わないでしょ
いいたいことはわかるけど、適材適所、臨機応変だと思う。
斬ったつもりだろうが、住んでる世界が狭すぎるよ。

430 :379:05/01/05 14:10:02
「1台しか必要ないなら、マイコンでやらずにパソコンでできるケースは多々ある」
と言うなら、禿同だ。

なんでもかんでもマイコン、とか、1台ならなんでもかんでもパソコン
というのには賛同できない。


431 :デフォルトの名無しさん:05/01/05 14:12:00
PCでやるのは実験機だけ。
一台しか必要ない場合というのを、実験機と混同しているのではないの?

432 :379:05/01/05 14:17:14
連ですまないが
パソコンベースのデータ収録機を作ったとき
IOボードの絶縁の問題で散々苦労したことがある。
こういうことがあると、自社ハードなら作り直しは簡単だが、
PCI/ISAバスのI/Oボードとなると、それだけで1作番になってしまう。

出来合いのものでつくると、出来合いの範囲でしか対応できなくなる。
こういうとき、お客に対して、どう説明する?

433 :デフォルトの名無しさん:05/01/05 14:20:54
一台しか必要ないシステムなんていくらでもあるよ。
#つーか、2台目は仕様変更入るから同じにならないだけだけど。

私のところでは昔はメモリとOSの安定性からEWSを使っていた制御系の応用でも、
同じ金額で受注するならソフトに多く金額を割けるPCを使うことが増えた。
それにしても、制御系とは斯くも個々の事情が違うものなのだなぁと実感。

434 :アルゴリズム:05/01/05 14:31:13
>自社ハードだと、その心配がすくなくないか?

顧客の立場にたてばどうかな。よく制御系の会社は倒産する。
倒産した会社のマイコンシステムが壊れた、なんとかしてくれ
とお客から持ち込まれることがあるよ。「一品料理の
手作り製品はもうこりごり。だれもわからない。
スタンダードな規格で作ってもらいたかった」とこぼされる。
倒産だけではなく担当者もよく辞める。
担当者が辞めたら後は知らないではすませられないだろう。
そんな考えでは顧客の信頼を得られない。
自分だけの立場でものを考えてはだめだ。
要するに、顧客の立場でも考えるべきだ。

人工衛星に載せるシステムの案件はやったことがないけど、
それは別格で、そのときはマイコンとかパソコンにこだわる
ことはないだろう。そんな実績があるなら脱帽する。


435 :アルゴリズム:05/01/05 14:36:32
>430

先生それはそうですよ。円は楕円の特別の場合だから、
円も楕円と呼ぶべきだ。当然そうですよ。でもそう書けば話が
面白くないでしょう。

436 :アルゴリズム:05/01/05 14:45:56
>431

>PCでやるのは実験機だけ

それが事実だ。実験機で用が済めばそれでいいだろう。
目的が達成できれば、それが実験機に分類されようと、どうでも
いいではないか。それはお客が決めること。
お客が満足すればOK。
今まで議論を聞いていて、一番感じるのは自分の都合ばっかりで
お客がどっかに飛んでしまっていることだ。





437 :379:05/01/05 14:57:24
>>434
>自分だけの立場でものを考えてはだめだ。
>要するに、顧客の立場でも考えるべきだ。
そんなのは当たり前の話だけどな、別に学校の講義を受けるつもりはないので(ry
逆に「スタンダードな規格」での不都合な点もいうべきではないかな

>>432 の場合なんか、どうする?
「スタンダードな規格」で納めたが、絶縁などの問題などが発生。
スタンダードだからあきらめろというのか?

>>430で言ったように、どれにもこだわってはいけないと思うが。

438 :379:05/01/05 15:11:46
>>432
医療機器なんかの場合、高周波系と混在すると絶縁対策が原因で
暴走の危険性があるが、パソコンベースのシステムで対応できると思えない。

また、>>398のケースで、
強電界下での使用ということに対する暴走対策、
電源の断接でリセットスタートさせるがその応答を2秒以内
こういうことにパソコンベースのシステムで対応できるのか?

439 :デフォルトの名無しさん:05/01/05 15:57:35
実験機がなぜダメなのかというと、実験のために関係ない部分まであちこちいじり
倒しているうえに、なんだか変なジャンプ配線ばかりだったり、場合によっては
ユニバーサル基板で作ってあったりして、とにかく信頼性が低い。
関係ある部分だけ抽出して試作品を作り、うまくいったらちゃんとした物をつくる、
ってしないと。

440 :379:05/01/05 16:39:05
すくなくとも、
マイコンしかやったことがないからマイコンでとか
パソコンしかやったことがないからパソコンで
PLCしか(ry
という技術者にはなりたくない。

441 :ライブラリアン:05/01/05 17:04:39
>473

>そんなのは当たり前の話だけどな、
>別に学校の講義を受けるつもりはないので(ry

申し訳ない、偉そうに書いて。(笑

442 :ライブラリアン:05/01/05 17:10:01
この話題をこれくらいにしてもっと面白い
テーマはないかな。

443 :デフォルトの名無しさん:05/01/05 17:22:12
>>442
なんでお前が仕切ってるんだよ

444 :デフォルトの名無しさん:05/01/05 20:14:25
>>434
パソコンだけじゃ制御の役に立たないでしょ?
何か入出力ポートが必要でしょ?
で、結局はその入出力ポートの実現の部分で スタンダードな規格 が無いんだよね。

だから、パソコンは標準であっても、納品したものは標準じゃないわけだ。

445 :デフォルトの名無しさん:05/01/05 20:19:14
ラックマウント → FA というロジックは面白いと思いました。


446 :デフォルトの名無しさん:05/01/05 20:48:57
俺が仕切ってやるぜ

447 :デフォルトの名無しさん:05/01/05 22:29:51
アルゴリズムとライブラリアンは同一人物?

448 :デフォルトの名無しさん:05/01/05 22:37:16
PC使う方に一票
なんかPCのボードが生産中止になったら・・・みたいな話が出てるけど
そういう心配はむしろ自社ハードにこそいえるのでは?

マイコンも周辺チップもどんどん新旧交代して修理しようにも互換品がない、
なんてこと結構ありがちだと思うんだけど。

あとソフトの価値が認められるようになってきているって意見があったが
これはむしろ時代に逆行した意見だろう。
ソフトの貨幣的な価値なんてむしろどんどん下がってきてるでしょ。

449 :デフォルトの名無しさん:05/01/05 22:51:57
>>418
> >>415
> そのシステムで書き込み途中に電源落とされたらどうなるわけ?

FAだとそこまで対策してるのは見たことないよ
取説に「書込中は電源を切らないでください」でおしまい
もしそこまで気にするならバックアップメモリやHDDも二重にするしかないんじゃないの?

450 :379:05/01/05 23:59:08
>>448
>マイコンも周辺チップもどんどん新旧交代して修理しようにも互換品がない、
>なんてこと結構ありがちだと思うんだけど。
自社物だと、DISCON品がどこかにあってなんとか対応できるが
メーカ物は、電源ユニットひとつでも終わったらホントにおしまい。

451 :デフォルトの名無しさん:05/01/06 07:51:16
>>448
PCのボードってI/OとかADC/DACの事だよね?
リスクとしてはこっちの部品がが無くなる事と等価だよ。
それ以上に、他社である分それが起きた時の問題は厄介だ。
ようは対応出来ない。(対応出来ない事を利用に新規にしちゃうワザもあるだろうけどね)

たぶん、PCのボードを勧める人は 今1チップマイコンの内蔵RAM・フラッシュがどれだけ
あるか、そして、どれだけ簡単か知らないんだろうと思う。
http://akizukidenshi.com/
http://www.oaks-ele.com/
みたいな所からボード買って勉強してみればいい。

外付けにフォトカプラなり、オペアンプなりをつなぐだけで大抵のシステムは完成だ。
パソコンを使うなら、これをRS232CやLANで接続すればいい

まあFAで使うような場合は、そんなボード使わなくてもシーケンサ+パソコンで間に合うのも事実だけどね。

452 :デフォルトの名無しさん:05/01/06 12:40:32
>>451
あははー ゆかいゆかい

453 :ライブラリアン:05/01/06 12:41:20
>451

OAKSは思い出した。ありがとう。
自分もアマチュア精神が旺盛なので、こんなのをみると
結構ワクワクする。ただビジネスで考えると
また違う考えだけどね。
ワンボードマイコンを使う機会は無いことはない。
お客がどうしてもと言えばそうする。
ただCPUの種類が多すぎるので勉強して使う
のにリスクが多い。

>FAで使うような場合は、そんなボード使わなくても
>シーケンサ+パソコンで間に合うのも事実だけどね。

そうなんだ。実はこれは優れたソリュウションなんだ。
シーケンサはイーサネットでパソコンのI/Oボードの代用だ。
プログラミングはしない。シーケンサーは
ノイズに強いし売れているメーカを使えば、安心。
原子力関係では制限があるようだけど。
さらに仕事の終盤になると安全性の対応でプロテクトをかけたり、
非常停止の問題がでてくる。
それはシーケンサのプログラムだけで簡単に
対応できる。


454 :379:05/01/06 14:15:57
>>453
>ただCPUの種類が多すぎるので勉強して使う
>のにリスクが多い。
それほど大変じゃない。
H8で作ったシリアルやタイマーなどのルーチンは
そのままSH1やSH3で使えるほどファミリーは同じようなアーキテクチャーになっている。

PLC(シーケンサはミツビシの商標ね)の場合
モデムで発呼とか端末側起動のシリアル通信が面倒じゃないだろうか?
っていうかできるのか?


455 :379:05/01/06 14:32:05
引用ばかりですまんが
>>451
>それ以上に、他社である分それが起きた時の問題は厄介だ。
>ようは対応出来ない。(対応出来ない事を利用に新規にしちゃうワザもあるだろうけどね)
実際、そういうことが多い。

むりやり、パソコンでやろうとする姿勢はどうも賛同できない。
部品点数が多いだけでも信頼性に問題があるとおもうし
振動試験や絶縁試験にも合格すると思えない。
それだけ適応が狭くなる。
というか、そもそも ライブラリアン氏は、そういうケースの仕事はあまり多くない?
どうも、私の世界と違うように感じる。

456 :デフォルトの名無しさん:05/01/06 14:49:39
まあ、用途によるってこった

457 :デフォルトの名無しさん:05/01/06 15:29:30
>>454
そういうのは一度作っちゃえばパソコン側はそれでOK
自分はパソコン関係はDelphiで作ってるから、通信部分をコンポーネントにしてて
再利用はポトペタ一発だ。

458 :379:05/01/06 18:21:38
>>457
いや、端末側起動といったのは、
PLCからモデムをコントロールしたりということ

459 :デフォルトの名無しさん:05/01/06 19:27:05
どこで質問すればよいのか分からなかったのでここで教えてください。

論理回路のことなんですが・・・
2進数どおしの加算は半加算回路・全加算回路で出来ます。
積算はどうやってするのですか?

HELP ME〜

460 :デフォルトの名無しさん:05/01/06 19:47:41
もっとも簡単な10進カウンタを作る
http://tamuro.gooside.com/guen/JKcounter.html
http://tamuro.gooside.com/index.html

461 :デフォルトの名無しさん:05/01/06 20:01:41
>>459
積算という事は、
 加算した結果を覚えておく手段(FFとか)と加算器で出来るでしょ

462 :デフォルトの名無しさん:05/01/06 20:26:21
boothでググれ。

463 :デフォルトの名無しさん:05/01/06 21:20:32
>>458
そういう時はBASIC Unit(オムロンでいうASC Unit)なんかを使うんじゃないですかね。

464 :デフォルトの名無しさん:05/01/07 05:49:52
誰か知っていたら教えてください。

PC系のボードを使って、PCIバスに制御用のカードをさしています。
カードに載っているデバイスへのアクセスは32bit幅限定。
ByteEnableの信号が無いらしく、byteやwordで書き込みすると、
他のビットが化けてしまいます。

このデバイスのレジスタマップは、
現在、ビットフィールドの構造体で定義されていて、これを流用したのですが、
コンパイラ(GCC)がビット操作をbyte単位で行うように
コンパイルしてくれて、困っています。(アセンブラ展開見て確認)
ビットフィールドってANSIではintでしか使えないはずだから、
当然32bit幅でアクセスするようにコンパイルされると思っていたのですが…。

コードの記述やコンパイルオプションの設定とかで、
何とか32bitでリード/ビット変更/ライトするようにコンパイルできないんでしょうか?
あ、もちろんレジスタのアドレスは4バイト境界になっています。

マクロ使ってビットアクセスを定義しなおすのは
かなりの量のレジスタがあり、コードもかなり変更しなければならなくなるので、
なるべく避けたいです。

同じような経験された方いますか?

465 :デフォルトの名無しさん:05/01/07 11:00:51
ダミーのビットフィールドを入れて無理やり32bitにするのは駄目なの?

466 :デフォルトの名無しさん:05/01/07 12:11:15
>>464
普通はそういう経験はしない。
理由はメモリマップ式のI./Oはめずらしいし
メモリマップ式でも、PCIバスだと普通のメモリに比べて遅いから普通のI/Oと同じように
読んで書く方式にするから

467 :デフォルトの名無しさん:05/01/07 18:53:20
>>464
具体的な情報がないのでなんともいえんが、
bitfieldが本当に32bitサイズの型で宣言されていて、かつvolatile修飾されているのであれば
gccのバグだろう。そうでなければそれは仕様。


468 :464:05/01/07 19:33:36
>>465
もちろん、ビットフィールドはダミーも入れて
きっちり32bit単位で全部埋まってます。
int(32bit)変数とのunionにしてあります。

で、たとえば、アドレス0の32bitレジスタのbit8に1をセットするような場合、
コンパイル結果を見ると、
アドレス1をバイトでリード/bit0を変更/ライトするコードが吐き出されているわけです。
アドレス0を32bitでリード/変更/ライトしてほしいのに。

>>464
やっぱりそうですよね。
RAM領域も持っているデバイスなのでメモリにマップされています。
マクロで定義しなおすしかないか・・・

469 :デフォルトの名無しさん:05/01/07 20:36:06
gccの仕様として有名な話ではないの?
「gcc使う場合、日立SHのサンプルソースはそのまま使えない。
理由は日立のサンプルがビットフィールド使ってるから」
みたいなのをインターフェースか何かで読んだことあるぞ

470 :464:05/01/07 20:43:16
>>469
そうだったのか。
サンクス。

471 :デフォルトの名無しさん:05/01/07 20:48:06
>>470
確か↓の本に書いてあったと思う。今手元に無いんで未確認だが
http://www.cqpub.co.jp/hanbai/books/MIF/MIFZ200412.htm

472 :デフォルトの名無しさん:05/01/07 20:50:51
gccでビット操作するとき、鬱陶しくなるようなマクロをよく使うよね。
移植性を高めた結果、問題の起こりやすいビットフィールドなんか
使ってられるか、ってことなんだろうね。

473 :デフォルトの名無しさん:05/01/07 21:31:07
>469
gcc3以降だと大丈夫じゃないか?

474 :デフォルトの名無しさん:05/01/07 21:33:56
>>473
ごめん、そこまで詳しくは知らない

475 :デフォルトの名無しさん:05/01/07 22:02:31
そういうのはasmを使えば簡単で確実。
GCCのasmはCとのインターフェースも簡単なんだからさ。
(C++ならうまくクラスを作れば、ソースを変えなくてもできるかもしれない。
まったくお薦めしないが)

Cのレベルではアクセス幅なんて決まってないんだから、ビットフィールドの幅を
どうしようとアーキにあわせた最適な幅でやっちゃうんじゃない?
それもI/Oなんかつながって無いつもりで。

で、GCCのその辺の設定は、mdファイルに書いてあるはず。


476 :デフォルトの名無しさん:05/01/07 22:08:32
処理系の影響を受けない様にビットフィールドではなく
論理演算を使ったり、展開を読むことも考慮して可読性を高める様
に書く様にしている俺はチキンでしょうか?

極端な話、
  a++;
ではなく
  a=a+1;
と書きます。これならコボラーが入ってきても対応できる可能性があるからね。
展開効率を上げるのはコンパイラの仕事だしい・・・・・・

477 :デフォルトの名無しさん:05/01/07 22:14:38
>>476
a++も理解できないコボラーに対応させることの方が怖い。
そのレベルだと、strcmp()使わずにポインタ同士を比較しかねないぞ。

478 :デフォルトの名無しさん:05/01/07 22:20:45
展開を読むってなに?

ビットフィールドはコンパイラと心中するつもりでないと使わないよな。

479 :デフォルトの名無しさん :05/01/07 23:39:08
>>469
> 「gcc使う場合、日立SHのサンプルソースはそのまま使えない。
> 理由は日立のサンプルがビットフィールド使ってるから」


日立のHPからダウンロードできるヘッダファイルのこと?
たしかにビットフィールドばんばん使っている。
でも、これがHEW以外で困るのは、
ビットフィールドの並びが普通と逆だからじゃなかったっけ?

480 :デフォルトの名無しさん:05/01/07 23:45:35
>>479
逆だとしても、468の問題とは別だろ

481 :デフォルトの名無しさん:05/01/08 00:40:39
>>479
ビットフィールドをバイトアクセスに展開してしまうgccの処理を問題にしていたと記憶してます。
本で読んだだけで、自分で試したわけじゃないです。


482 :デフォルトの名無しさん:05/01/08 01:05:37
●5月7日
 ん? この割り込みプログラム、これでほんとに動くか?? と、うちのRISCキットを使ってテスト…
なんてしてるから、単行本の編集作業が終わらんのだよ(^^;) 
ん〜そうか、日立純正Cコンパイラはビットフィールド演算してももとのレジスタサイズでアクセスされるのか…
それでこのソースうちのぢゃ通らないんだなぁ〜などと納得。
http://www.cqpub.co.jp/interface/editors/murakami/m9905.htm

483 :379:05/01/08 01:29:43
>>464
1999年8月1発行、Interface増刊TECHI
「SuperHプロセッサ(SH-1/SH-2/SH-3/SH-4のハード&ソフト完璧マスタ)」
P169:コラム1「日立純正Cコンパイラとgcc」より引用

gccは非常によくできたコンパイラです(一時は、日立純正Cコンパイラより断然性能がよいと言われた頃もあった)。
しかし、gccをSHシリーズで使用する場合には注意する点があります。それは周辺機能レジスタに対してビット名を使用したアクセスを行わないようにすることです。8ビット以外のレジスタ内容の参照や変更が出来ません。
(以下略)


484 :デフォルトの名無しさん:05/01/08 01:53:44
>>483
乙彼
まさにその記事のことですわ

485 :464:05/01/08 05:40:40
レス、サンクス。
結局マクロで組みなおすことになりました。

486 :デフォルトの名無しさん:05/01/08 07:43:58
しかしそんな有名なバグがなんで直ってないんだろう。

487 :デフォルトの名無しさん:05/01/08 07:52:46
>>486
この場合、バグは、I/Oなのにメモリマップにして、しかもバイトアクセスに対応しない自分勝手なボードの方だろう

488 :487:05/01/08 07:59:07
さらに言うと、ビットフィールドをI/Oアクセスで利用しようという設計で
コンパイラを変更しようとしている甘えにも問題がある。

ワンチップマイコンでは強力なビット操作命令(I/Oにおいて特に有効な)をCから手軽に
利用出来るようにと、ビットフィールド関係を最適化して使いやすくした 専用Cコンパイラを
提供してくれている場合がある。

その場合、1ビット単位のI/O操作は当然ビットフィールドを使うのだけど、
それの方式が一般だと思ったり、移植可能と思っちゃいけない。

汎用性を考えるなら、ビットフィールドをそこで直接書かずに、マクロで抽象化してしまう事だ



489 :デフォルトの名無しさん:05/01/08 08:21:31
>>487
この例は
デバイスがバイトアクセスに対応してないし、
そもそもメモリマップI/Oしか選択肢のないプロセッサの場合の話だと思うが

490 :デフォルトの名無しさん:05/01/08 11:05:10
gccのバグではない
純正コンパイラが機能拡張させてるだけ

491 :デフォルトの名無しさん:05/01/08 11:32:09
>>489
> デバイスがバイトアクセスに対応してないし、

だから、“PCIバスに接続された制御用カード”のバグじゃん

492 :379:05/01/08 16:30:19
>>487
>I/Oなのにメモリマップにして
って、モトローラ系はもともとそうだとおもうけど
32bitでアクセスできないわけじゃなくビットフィールドが対応していないだけでしょ?

493 :487:05/01/08 18:24:19
じゃI/O空間が無いCPUは絶対にI/O空間を使うPCIカードが使えないのか?
というとそんな事はないわけで、それぞれ使えるように工夫するものだし、そうじゃなければ逆に困るだろう。

I/OはやはりPCIバスのI/O空間に割り当てるのが正しい作法だろうと思うよ。

わざわざPCIのメモリ空間に割り当てたなら、バイトでアクセスしようが対応しなくちゃダメだろ。
 という話。
VRAMがRGBにわけてバイトでアクセスさせたらダメなんて事になってたら、ムカつかないか?

494 :デフォルトの名無しさん:05/01/08 19:11:54
コンパイラは純正使ってれば間違いありませんし、高機能なものは無料
では手に入りません。あなた方の商売道具なのですよ?
         _, ,_ ∩
       ( ゚∀゚)彡☆ ソレミタコトカー
         ⊂彡

495 :464:05/01/08 19:12:13
なんか、いろんな論議に発展してるな。

特殊用途の通信チップなのです。
アドレスの前半がレジスタエリアで、
後半数kバイトがバッファRAMエリア。
通常は32bit単位でしか使わないような仕様です。
もともと組み込み用途なので、
SHとかに接続するように設計されているチップみたいでした。

496 :デフォルトの名無しさん:05/01/08 23:13:31
SHCなら、volatile修飾すればビットフィールドは宣言型サイズ(int b0 : 1;なら4バイト)で参照されるな。
H8Cなら、evenaccess。
gccも何かないの? 最適化をoffにするとか。

497 :デフォルトの名無しさん :05/01/09 04:21:19
すまん
HEWも癖があるけど、
これ、やっぱり結局gccのバグなんだよな?


498 :379:05/01/09 04:53:50
>>493
SHは、メモリマップドI/Oなんだけどな。
そういうことを話してるのとは違うのか?
PCIカードだろうがなんだろうが、メモリ空間にマッピングされるのが気に入らないのか?
ビッグエンディアンも気に入らない?

499 :デフォルトの名無しさん:05/01/09 06:50:22
>>497
> これ、やっぱり結局gccのバグなんだよな?

バグ、バグ、って正直ウザイよ,オマエ。

所詮Cじゃバスアクセスの幅は規定されないから、
処理系依存は当然だ。それを使いこなせないなら
その人間がアホなだけ。

500 :487:05/01/09 07:40:38
>>498
それはCPU側から見た話で、PCIカードのI/O空間をCPUのI/O空間にどう割り振るかとは別の問題だろう。

・CPUにI/O空間が無い⇒だったらPCIカード側もI/O空間を使わない方が楽だろ?

みたいな考えじゃないの?
だったら既存のPCIカードでI/O空間を使ってるものを全て使わないつもり?

501 :487:05/01/09 07:55:30
そういや、少し前のC++Builderで バイト(char)でビットフィールド定義してたら
なんか1ビット不連続になってた事があったな。

確かにバイトでビットフィールド使うのはCの規格の範囲じゃないけど
あるコンパイラでバイトで定義するとそこを最適化してくれるものだから、使ってて、
それをC++Builderでデバッグしようとして、どつぼに嵌っちゃった

まあ、ビットフィールドには気をつけろってこった。

502 :デフォルトの名無しさん:05/01/09 15:11:02
>>501
問題はビットフィールドでアクセスすると
「バイトアクセス命令に落ちる」ってことなんじゃないのか?

gccのバグというより処理系依存で作りこまれたバグとしか思えん
I/Oにビットフィールドきっても、実際にI/Oに設定に行くときはunion
使うなりなんなりしてレジスタサイズ丸々writeするけど。
MemoryMappedI/Oで利きもしないBit操作命令になんかに
落とされちゃたまらん。

503 :デフォルトの名無しさん:05/01/09 15:57:55
ビットフィールドってAND ORもわからんアプリ屋が使うものだとばかり思ってた
・・・・・メリット、デメリットを計りにかけて設計・実装してますか?

504 :デフォルトの名無しさん:05/01/09 16:07:02
>>503
出来上がるコードの違いわかってますか?

505 :379:05/01/09 16:18:29
>>500
>だったら既存のPCIカードでI/O空間を使ってるものを全て使わないつもり?
PCIカードはいままでどおり勝手にすればいいのと違うか?CPUは、メモリマップするだけのこと。
すまないが、それが、ビットフィールドの不具合とどう関係するのか
漏れの不勉強な部分もあって、わからん。

もともと、ビットフィールドは使わないし。
どうせ、何ビットでアクセスしなきゃいかんのか意識しなきゃならないし
後で見て、どう定義されているか確認するのは避けられないから
直接、AND ORして、わかるようにコメント書いておしまいにしてる。

506 :デフォルトの名無しさん:05/01/09 16:19:53
すべては仕様ですから〜残念!

507 :503:05/01/09 16:21:47
>>出来上がるコードの違いわかってますか?

全部、とは言いませんが、初めて使うコンパイラなんかだと、色々試して
アセンブラの展開を読んでからコーディング規約を作ってるけどね。
int , unsigned intの差とか、charの扱いとか、引数の渡され方とか、auto変数の
レジスタアロケートルールとか。etc etc

俺は>>476でもあるが、a++;とa=a+1;では、多くのRISCチップ様コンパイラでは同じ
展開になりますよ。

508 :デフォルトの名無しさん:05/01/09 20:11:34
あーやっぱり>476は判ってない困ったチャンだったのか。

509 :デフォルトの名無しさん:05/01/09 20:21:16
long *a = (long*)0;
long *b = a;
a++;
b=b+1;
if(a != b){
 printf("残念!");
}

510 :デフォルトの名無しさん:05/01/09 20:31:12
>>502
バグはおまえの頭。

>>507
a++とa=a+1が同じだったら、a++の方が分かりやすいだろう。

あと、生成コードの癖はちょっと見ただけであたりを付けるとはまるよ。
コンパイラが保証していないことを独自に保証するには、相当の覚悟がいる。

511 :476:05/01/09 20:51:31
>>508
御心配頂かなくても、弊社はコンパイラメーカでもあるから勘所はわかりますよ



512 :デフォルトの名無しさん:05/01/09 20:58:12
>>511
でもあんたはコンパイラの開発にかかわってないだろ?

513 :ライブラリアン:05/01/09 21:11:42
Cも大変ですね。その調子ではシステムの開発が
完了するか予測ができませんね。
やはりLABVIEWがいいな。

514 :デフォルトの名無しさん:05/01/09 21:25:17
ビットフィールドだと、
数ビットあるエリアに値を書く必要がある場合は便利なんだがな…

515 :デフォルトの名無しさん:05/01/09 21:27:25
>>511
大丈夫、あんたの事なんか心配してない。
都合のいいことだけレスしてそうでないことはスルーしているのが気に入らないだけ。
あー、もし私の仕事と関わりが出てくるようなら話は別だが。

>>513
中途半端な顧客だとLabViewだと納得してくれなくてね。
#判ってない客は動けばいいと言う。よく判ってる客はLabViewをきちんと評価できる。

516 :487:05/01/09 21:35:06
>>505
だからさ、
ビットフィールドの内部操作をバイトで処理する実装をバグだというから、
それよりも、PCIバスボードのくせに、I/Oをメモリマップにして、しかもバイトイネーブルに対応していない
ボードの設計の方がバグだろうと 言ってるだけさ。

ビットフィールドの内部操作をバイトで処理する実装は、メモリが相手である限りはバグではない
正しい実装だろう。

517 :487:05/01/09 21:40:00
>>513
パソコンならDelphiでやっつけた方が余程簡単で、しかもやっつけられる範囲が広い上
再利用性が高いよ。

今では
メータ類もポトペタしてプロパティ設定するだけ。
シーケンサとの通信もポトペタしてイベントにコード書くだけだし

目の前でコード作れますよ

518 :デフォルトの名無しさん:05/01/10 00:24:47
>>416
はぁ ? 何が言いたいんだ ?
それこそ、ハッキリ書けよ。

> 余計な事を言って手間増やされちゃたまらんよ

君のことか ? (藁

>>418
OS としては全然大丈夫 Compact Flush はリードしかしないし、ファイルシステムは使い捨てだから。
(そのために、メモリー上にファイルシステムを作る。)

もちろん、データを書き込むデバイスは途中で書き込みが中断されることがあるけど、そこはソフトで何とかする。
例えば、ブロック単位で書き込みを行い最後にブロック毎のチェックサムを書き込む。
次回の起動時や別の機器でそのデバイスを読み出す時は、先頭からブロック毎にチェックしていってチェックサムが異常だったらその前までのデータを有効とするとか等。

>>449
> FAだとそこまで対策してるのは見たことないよ

まあ、FA と言っても色々だろうけど、君が見たことないからと言って世間にないわけじゃない。
あと、仮に対策していても取り説には「書込中は電源を切らないでください」とは普通書いておく。
なんかトラぶったときの保険としてね。

519 :デフォルトの名無しさん:05/01/10 00:29:19
>>416
はぁ ? 何が言いたいんだ ?
それこそ、ハッキリ書けよ。

> 余計な事を言って手間増やされちゃたまらんよ

君のことか ? (藁

>>418
OS としては全然大丈夫 Compact Flush はリードしかしないし、ファイルシステムは使い捨てだから。
(そのために、メモリー上にファイルシステムを作る。)

もちろん、データを書き込むデバイスは途中で書き込みが中断されることがあるけど、そこはソフトで何とかする。
例えば、ブロック単位で書き込みを行い最後にブロック毎のチェックサムを書き込む。
次回の起動時や別の機器でそのデバイスを読み出す時は、先頭からブロック毎にチェックしていってチェックサムが異常だったらその前までのデータを有効とするとか等。

>>449
> FAだとそこまで対策してるのは見たことないよ

まあ、FA と言っても色々だろうけど、君が見たことないからと言って世間にないわけじゃない。
あと、仮に対策していても取り説には「書込中は電源を切らないでください」とは普通書いておく。
なんかトラぶったときの保険としてね。

520 :デフォルトの名無しさん:05/01/10 02:43:48
Flushなんて書いているあふぉはほっとこ。

521 :デフォルトの名無しさん :05/01/10 02:59:44
>>516

> ビットフィールドの内部操作をバイトで処理する実装は、メモリが相手である限りはバグではない
> 正しい実装だろう。

だからさ、
メモリを相手にするばかりじゃないわけだからさ、
実際SHなんかだと、そういうケースが多いし、
ビットフィールドで書けたら、そっちの方が便利なわけで
いくら「正しい実装」だろうと、不便だとみんな言ってるんでないのか???

522 :デフォルトの名無しさん:05/01/10 03:06:04
>>521
メーカーのコンパイラ使えばいいだけだろ?
いつまでも何を言ってんだ。

523 :379:05/01/10 05:00:02
>>516
>PCIバスボードのくせに、I/Oをメモリマップにして
H8/SHで、I/Oをメモリマップ以外にできるのかな?

>バイトイネーブルに対応していないボードの設計の方がバグだろうと 言ってるだけさ。
バイトアクセスを保障しない仕様はよくあるけどな、内部レジスタでもなかったかな。
PCIのボードだけは保障するべきだということかな?

そもそも、ビットフィールドはANSIの仕様で、
定義したビット数でアクセスすることを保障しているのだろうか?


524 :487:05/01/10 07:46:05
>>521
誰も保障しろとまで書いてないだろ?

ビットフィールドの内部実装でバイト単位にアクセスするコンパイラと
どっちがお馬鹿な実装かって話しをしてるだけさ。

PCIボードの実装で、メモリー空間に割り付けてバイトイネーブルに対応しない事と
メモリ空間しかないCPUで バイトでアクセス出来ないI/Oとを一緒にしてくれるなよ。
 16ビットのカウンターを8ビット単位に書き出すのは、それは馬鹿だろ?

だから、ビットフィールドの定義なんて読んだって、そんな細かな事は書いてないだろ。
どっちから確保されるかさえ書いてないんだからさ

525 :487:05/01/10 08:05:52
面白いので調べてみた
http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_7.html

>失望と誤解
>以下の問題が存在することは残念ではありますが、実際にこれを回避するための方法を私たちは1つも知りません。


ビットフィールドへのアクセスは、たとえアクセスされるビットフィールドがvolatile指定されたオブジェクトの一部であっても、
1バイトや1ワードなど、よりサイズの大きいオブジェクトにアクセスすることによって動作します。
ビットフィールドの読み込みや書き込みを行うために、ある決まったサイズのオブジェクトが
アクセスされるということをあてにすることはできません。同一のビットフィールドであっても、
その用途に依存してアクセスされるサイズが変わってくることもありえます。
アクセスされるメモリのサイズを制御することに関心があるのであれば、
volatileを使い、ビットフィールドは使わないでください。


526 :デフォルトの名無しさん:05/01/10 09:13:32
>>521
だったら、自分がそういう実装のコンパイラを作れよ。
GCCを改造すりゃいいだろ?

たぶん、それを要望してもそういう実装をしようという奴は少ないと思うよ。
ビットフィールドそのものが実装は厄介な上、実装時も実行時も非効率。
かつ実際に、めったに使われない機能。
喜んで使うのは小規模組込屋くらいだろ。

実際、他の言語でビットフィールドもどきをサポートしてるのは殆どない。
似た機能としてはpascalの集合型くらいだろうけど、
これは1ビット単位だから、複数ビットのフィールドを定義出来るCのビットフィールド
に比べると簡単だしな

527 :ライブラリアン:05/01/10 09:27:49
>515

>#判ってない客は動けばいいと言う。
>よく判ってる客はLabViewをきちんと評価できる。

これはいい指摘だ。お客のことが言いたかった。
皆さんのマニアックなレスを読んで何の為に仕事を
しているかの一端が分かった。それはお客に評価されるためだ。
私の喜びはお客に評価して貰うことだ。
「あなたの作ったシステムはとても役に
たつよ」、「上司からいい評価をもらったよ」
「リピートを出すよ」「新しい案件があるので、是非あなたに
やってもらいたい」と言われることだ。


528 :デフォルトの名無しさん:05/01/10 09:39:30
>>527
いや、だからあなたが優秀な営業マンである事は判ったけどさ、
しまいにはPCを車載でも平気で採用しそうな勢いだな。
・・まあ、超小ロットの特殊仕様車じゃそういうのもアリかもしれんけど・・・

529 :デフォルトの名無しさん:05/01/10 10:14:24
>>520
Typo しか指摘できないということで FA ?

530 :デフォルトの名無しさん:05/01/10 10:38:10
わたしゃ519じゃないが、フラッシュメモリの英語表記(?)は
Flushでも間違ってないよ。Flashの方が圧倒的にメジャーではあるが。

むしろこんなことも知らない奴は普段ちゃんと石のデータシート読んでるのかと
問い詰めたくなる。

531 :デフォルトの名無しさん:05/01/10 10:39:57
SHでビットフィールド実装するとして 値1を書き込む場合、

バイトreadして 即値or して、バイトwrite って事になるのが普通じゃない?
だって8ビット以上の測値はpc相対オフセットで読む事になるから
命令も長くなるしさ。

int幅だから32bitでアクセスしろって事?
で、charで指定した場合だけ8ビットでアクセスしろって贅沢言うわけね?
しかしさ、int以外のビットフィールドはANSIじゃないでしょ?

というかさ、ビットフィールドの型は、本来、そのビットを どう型変換するかって意味じゃないの?
だから  signed かどうかで 1ビットが1になったり-1になったりするだろ?

532 :デフォルトの名無しさん:05/01/10 10:55:15
話は少しそれるが、ISO/ANSIの言語仕様で、

objectの型がvolatileの場合はメモリ参照サイズ = 型のサイズになる
(たとえば struct S { volatile int bit1 : 1; } b; ならb.bit1の参照時には常に4バイトアクセスコードがでる)

という保証はないの? いままでそういうつもりで使ってたんだけど…

533 :デフォルトの名無しさん:05/01/10 11:24:12
>>532
無いでしょ。
それは構造体 S で 1bit の領域を定義して、そのbit1を int で参照しますという意味じゃないの?
普通はintは符号付だから 結果は 0か-1になる筈だけど
ANSIでは、どっちでもいいとしてるもんだから混乱の元
(コンパイルオプションで変更出来るものも多いようだけど)



534 :デフォルトの名無しさん:05/01/10 13:13:02
>>532
ANSIの仕様は忘れたが、うちのコンパイラでは保証してる。
以前、そういう例に対して、最適化して1バイトアクセスコードを出すようにしたら、
顧客からがんがん苦情がきたよ…。


535 :デフォルトの名無しさん:05/01/10 14:15:03
>>534
532はISOで保証される(処理系依存ではない)か
聞いているのに、オマエ馬鹿だろ。

コンパイラで保証されるものがあっても当たり前すぎる。

536 :デフォルトの名無しさん:05/01/10 15:25:34
バイトアクセスに最適化してくれた方が性能出る場合に、
どっかのバカを救うためにいつもワードアクセスされた方が困るがな。

Cは生成コードが想像つきやすいこともあって、「想像」=「事実」と
勘違いしてしまう人も多いのかな。

537 :379:05/01/10 16:31:54
>>534
>ANSIの仕様は忘れたが、うちのコンパイラでは保証してる。
つまり、ANSI準拠というわけではないということですか?
別にそうでも構わないし、ヴァカとは思いませんが。


538 :デフォルトの名無しさん:05/01/10 17:06:07
68020なんかのCPUでは、ビットフィールド命令を使用するか否かの
コンパイルオプションがあったので、
アクセス幅設定のオプションもあるかなと思ったわけですが、
無いんですね。

539 :デフォルトの名無しさん:05/01/10 17:07:26
該当するbitに対してのみvolatileが保障される

540 :デフォルトの名無しさん:05/01/10 17:29:33
>>533
今ANSIの仕様書をみてるんだが、その辺の事情はどの辺を読めばわかる?
volatileの項とかみたけどよくわからん。

541 :デフォルトの名無しさん:05/01/10 18:37:40
このスレ、ツール屋も結構混じってるな・・・・・・
CM
 コンパイラ、ICE、評価ボードはお金を払って買いましょう。
 いや、買ってください。m(。。;)m

542 :デフォルトの名無しさん:05/01/10 19:11:04
>>540
ビットフィールドとvolatileは無関係。

ビットフィールドの値の符号有無しは規格では決まってない。処理系で規定する
ことが求められているのは、領域の埋めかただけだな。
volatileオブジェクトは処理系の外で変化するかもしれないから毎回アクセスする。

書いてないことは保証されていない。


543 :デフォルトの名無しさん:05/01/10 19:39:35
>>542
ありがとう。
volatileがある時にメモリアクセスサイズが保証されるかを調べたかった。

> 書いてないことは保証されていない。
そうだね。
しかし、どこにも書いてないことを確認するのが大変だ…。
直接書いてなくても、あちこちの記述をつなぎあわせると
規定されていることがわかったりするし。
以前、識別子のスコープルール(block scopeの生成条件)を調べるのに一日かかったよ。

544 :デフォルトの名無しさん:05/01/11 01:24:34
>>537,379
処理系依存だったら処理系が保証して当然。
保証しなくていいのは不定な動作だけ。
まぁ、馬鹿には分からんかもしれん。

545 :379:05/01/11 01:36:12
釣られて言えば、
処理系依存なら処理系の勝手

546 :デフォルトの名無しさん:05/01/11 07:19:09
処理系定義(implementation defined)
未規定(unspecified)
未定義(undefined)

を区別しよう。

547 :デフォルトの名無しさん:05/01/11 21:09:28
>>464
すごい燃料だな・・・・・まだ燃えてるよ・・・・

548 :デフォルトの名無しさん:05/01/11 22:29:57
ビットフィールドは便利なようだが処理系依存なので使わないのが吉。

ビットフィールドは使わずにビット操作。
なおかつアセンブリで8bit/16bit/32bitでread/writeする関数を作成して使っている。
さらにコンパイラ/ターゲット依存を覚悟で、
inlineかつインラインアセンブリな関数にしている。

コンパイラ変更あるいはターゲット変更でも、
read/write関数を直すだけですむので無問題。
ビットフィールドは、あっちこっち直す羽目になるので問題大。


549 :デフォルトの名無しさん:05/01/11 23:01:08
途中からコンパイラを変更するなんてあるの?ちょっと信じがたい。
まあソースの再利用はあるかもしれないけど。

550 :デフォルトの名無しさん: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 も確率的に誤動作するんだけど、まさかそんなことも知らないの ?

例)
http://www.hitachigst.com/tech/techlib.nsf/techdocs/CF02BAB6EA8E3B7F87256C16006B1CFA/$file/HGSTDesklstar180GXP.PDF

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
これ読んでみ
ttp://www.cqpub.co.jp/hanbai/PDF/34451/34451_1SYO.pdf


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
http://www.atmarkit.co.jp/aig/04biz/ceo.html

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
資格全般板
http://school4.2ch.net/lic/

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
http://pc5.2ch.net/test/read.cgi/tech/1101931660/

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
ロボット板
http://that3.2ch.net/robot/

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
いろいろ調べたところ、こんなのありました。
http://japan.maxim-ic.com/appnotes.cfm/appnote_number/3315
いま解析してますが、かなり役に立つと思います。

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状態のコードを作って、割り込みベクターを書換えながらシーケンスを実現するわけ

972 :デフォルトの名無しさん:05/02/22 22:40:48
後でそのコード見たくねえ。趣味ならいいけど保守性悪いよ、それ。UART追加しろ。
無理なら2MCUだな。外部メモリ使わないモードで使えばICだ、

973 :デフォルトの名無しさん:05/02/22 22:48:31
こういう業界って歴史どころか自分の経験からすら学ばないアナクロな人が多いよな。
アクロバチックは結局高くつく。
いい加減このぐらい学習しろと言いたいよ。

万単位で作る大企業ならともかく、今時ちょっとばっかり部品ケチったって
そんなもんアンタが数日余分に動くことになればすぐに吹っ飛んじゃうよ。

俺なら性能的な余裕、部品のコスト、ソフトの工数(設計の容易さ)を総合して
UARTを2chもつ8051コアのチップあたりを使うね。

974 :デフォルトの名無しさん:05/02/22 22:56:04
まあ普通はアクロバチックな技は
ハードが出来上がっちまって
にっちもさっちもいかなくなったとき
初めて発動するものだがな

975 :デフォルトの名無しさん :05/02/22 23:11:16
>>973
石は安い方がいい
アクロバチックでも工数=ソフト開発費はただ
売り切りの商品だとこんなもんでしょ

976 :デフォルトの名無しさん:05/02/22 23:27:47
それは馬鹿上司の思想の事?あなたの考え?

977 :デフォルトの名無しさん :05/02/22 23:39:52
>>976
客先の考えだけど何か?
インテリジェントスイッチみたいな8bit以下のマイクロコントローラだと
まだまだアクロバチックな技が幅を利かせてるね

978 :デフォルトの名無しさん:05/02/22 23:46:25
客にアドバイスしてやれよ・・・
馬鹿には無理か。

979 :デフォルトの名無しさん:05/02/23 00:00:06
独断と偏見で開発しております

980 :デフォルトの名無しさん :05/02/23 00:10:04
>>978
たかだか数十円ですむようなものをわざわざ値上がりするような
親切な忠告をしてくる馬鹿な客はいないと思うが
馬鹿にはわからないか

981 :デフォルトの名無しさん:05/02/23 00:18:17
アクロバチックってお前らおっさんか。
ちゃんとアクロバテックと言え。

982 :デフォルトの名無しさん:05/02/23 00:42:36
>>981
アクロバティック?

前の会社で「プラスティック」を「プラッチック」って言っている人がいて、
それが、みんなに伝染してた。
こういうのって、深夜残業になると感染率が高くなるんだよね・・・。

983 :デフォルトの名無しさん:05/02/23 00:55:25
プラトニックを燃やしてはいけません
ぷらとにっくはぷらとにっくのままにしといてください

ん?


984 :デフォルトの名無しさん:05/02/23 01:00:04
俺はアクロバチックなバグを作れるよ

985 :デフォルトの名無しさん:05/02/23 01:01:29
プラスチックな絞殺死体

986 :デフォルトの名無しさん:05/02/23 01:29:07
量産だったらソフト代は限りなくタダになるからやるんだろうな

987 :デフォルトの名無しさん :05/02/23 01:29:44
おまいら
次スレを忘れてないか?
頼む

988 :デフォルトの名無しさん:05/02/23 05:03:05
制御系なら俺に聞いてもいいぜ(7)
http://pc5.2ch.net/test/read.cgi/tech/1109102528/


989 :971:05/02/23 06:50:33
>>972
それは工夫次第さ。
同じようなコードが並ぶだけだからマクロで書けばいい

990 :971:05/02/23 07:40:11
>>973
アクロバットって・・・9600BPSの調歩同期の実装くらいで曲芸呼ばわりされるとは思わなかったよ。
4メガのZ80の時代じゃないんだからさ、

今時のCPUなら、その倍でも問題ない。

ソフトの作成の容易さなんて言うけどさ、
新しいチップでUSARTのマニュアルを読む間にこれくらいのコード書けちゃうよ。
俺はソフトで実現した方が楽だね。

991 :デフォルトの名無しさん:05/02/23 08:55:29
>>990
割り込みベクター書き換えながらってのが、
アクロバティックだと言ったんだとおもうけど。

完全にCPUの割り込み処理系依存になるし、
RTOSなんか使ってたら、
割り込みはまずOSのハンドラを通す場合も多い。
保守性は悪いと思うのだが・・・。

そもそも、CPUが今時(高速)なら、
わざわざ、割り込みベクタ書き換えで状態遷移しなくても、
割り込み処理内で分岐していいんでないの?

992 :971:05/02/23 11:01:50
>>991
話の流れからして、RTOSを使う32ビット規模の話ではないと思うよ。

割り込みベクタを変更するのも、関数ポインタを書き換えるのも、同じ事だし、

CPUが高速でも、分岐命令は案外クロックを消費するもの。
加減算が2サイクルで出来ても、分岐は7とか10以上とかかかるのが普通じゃない?

993 :デフォルトの名無しさん:05/02/23 11:21:16
>>971
その製品の保守、後の製品への改造時に外注や未熟な担当者が担当した
場合のフォローまで考えて、といってます。

うちにも、反対を押し切ってトリッキーな設計した事例が3件ほどあったけど
んー、ちょっとやりすぎたかな。えへへ。後はよろしく (・∀・)ノシ
とか言って全部押し付けて逃げてったのが2名。

別製品への展開という名の仕様変更に耐え切れず、
「ごめんなさい、もう私の技術力では無理です (;´д⊂ 」
と抜かしたチンカス外注が1名いたな。



994 :938:05/02/23 14:31:43
8bit系は割込ベクタがROMのことが多いです。

995 :デフォルトの名無しさん:05/02/23 18:15:59
1000なら32KバイトのROMに全部押し込む

996 :デフォルトの名無しさん:05/02/23 18:17:17
>>993
保守か・・・・ だいたい1チップマイコン使うような場合は保守は、
そのマイコンの入手が出来なくなる時の事が多いからなあ・・・
小ロット物は保守を考えると近所のパーツ屋でもで手に入るような部品じゃないと・・・・

>>994
ああ、PICなんかは割り込みベクター書換えなんて言われても困るわな。

997 :デフォルトの名無しさん:05/02/23 19:01:24
トリッキーな設計と思うか普通と思うかは物の見方の問題だと思うけど

998 :デフォルトの名無しさん:05/02/23 19:03:55
998

999 :デフォルトの名無しさん:05/02/23 19:05:06
次スレ
制御系なら妹に聞け!(7)
http://pc5.2ch.net/test/read.cgi/tech/1109102528/


1000 :デフォルトの名無しさん:05/02/23 19:06:05
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

246 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)