1 :
デフォルトの名無しさん:
2
□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□
_____
3 :
デフォルトの名無しさん:05/02/23 05:10:55
感圧センサー、人工網膜の作り方教えてください。
妹を思い通りに制御する方法を教えてください
プラトニックな交際したい
7 :
デフォルトの名無しさん:05/02/24 00:28:15
回路から漏れる電磁波を盗聴してデータ盗まれたりしますか?
Tempestかよ、スゲーサイバー
10 :
デフォルトの名無しさん:05/02/24 16:49:33
15 :
デフォルトの名無しさん:05/03/02 06:39:06
100us の時間保証ったら普通 RTOS の領域のような気がする。
ハード的に受信データをバッファするとか出来ないのかな?
組み込みなら USB キーボード互換のリモコンも見かける。
>>15 (質問1)
ちょっと昔に、WindowsとリアルタイムOSを同じPC上で動作させ、
WindowsをリアルタイムOSの一番プライオリティの低いタスクとして動作させる
ってのを調べてたことがある。
VxWinRTとか、INTIMEとか、RTXとかね。
これで、ハードウェア割り込みからの応答を計測してたのだが、
条件によっては、100μ秒なんて簡単に遅れる。(通常は数十マイクロ)
原因はWindowsの他のドライバの割り込み禁止区間や、
バスの他のデバイスの占有による割り込みの遅延などいろいろ。
チップセット内蔵グラフィックとかつかってると、
VRAMとメインメモリを共有するためだろうか、
OpenGLやDirectXの初期化時に数100μも遅延が生じるよ。
これは、カーネルモードで割り込みベクタを完全にフックした状態で
の結果だから、ユーザーモードのサービスなんかでは、
プライオリティがリアルタイムになっていても
100μ秒間隔ってのは、つらいのでは?
と思う。
>>15 DCDに入れて、ソフトで読むより
PICでも使って、信号を変換してからRXDに入れた方がいいんじゃないの?
というか、このスレ的にはそうするよな
PCI Expressはどこで使用されていますか?
いくらで?
↓以下でどうかひとつよろしく
つI
皆様!これからはPCI Expressですよ!目を覚ましてください!
なのに、日本語での情報少な過ぎですよ!
レガシーは、もう(゚听)イラネ
本買う値段より安いのかよ
10万円金貨でつ
27 :
デフォルトの名無しさん:05/03/08 05:06:19
ニッパー
QueryPerformanceCounterを使っても100μs周期は辛いと思う。
出来たところで、恐らくCPUを100%占有するので他のプロセスが止まる。
OS内部でのメッセージ処理も出来なくなるので、マウス、キーボード等の周辺機器も反応しなくなるかと。
過去に、プロセス内に別のスレッドを作成して無限ループで周期実行を実現しようとしたことがあったけど、
2GHzのCeleronで0.5〜1ms位が限界だった。(DA変換ボードを挿して出力をオシロで観測)
もちろん、マウスやキーボードを触ると周期は崩れた。
カーネルモードドライバにすると改善されるのは
・ユーザモードプロセスより優先度を上げられる
・割り込みも使える
かな。他にも色々あるだろうけど。
ユーザモードプロセスより細かい制御が出来るかと。
30 :
デフォルトの名無しさん:05/03/09 20:40:28
1msecでもつらいのに
なんでDVDやmp3は途切れないで再生できるの?
1000÷60 = ?
っていうかバッファって概念がない奴がハード触るコードかいちゃだめだろ。
>>30 サウンド関係は十分バッファがあるし。
動画も秒間60コマ更新で十分だから、16.6ms間隔程度でいい。
ちなみにWindows2000やXPのカーネルで使用してるタイマ(チップセット内蔵8253相当)
の設定は、通常10msになっているが、
マルチメディア関係のソフトを走らせたときは1msに変更されるみたいだよ。
メディアプレイヤーを走らせるとSleepの分解能が上がる...ような気がする。
バッファを知らないだって!?
ばっふぁっはw
バッファの半分は優しさでできています
ばっふぁもの!世の中そんなに甘くはない。
そんなばっふぁな
このスレ、バフぁばっか
あぁ、スレが汚れていく..
>>29 別に100μs単位で処理するわけじゃないのよ。
処理するのはシリアルポートの割り込みが発生するタイミング。
そのタイミングの間隔を100μsぐらいの制度で取得する必要があるだけ。
100μsごとにON/OFFするデータだから
処理速度的には10kbpsを処理すればいいのかな。?
・・・好きにしろよ
>>39 詳しくなく書いてるけど、割り込みだって必ず遅延するしその時間保証って無いものでしょ?
いつ割り込み信号が入ったって CPU カウンタの情報とか残ってるなら解るんだろうけど。
ハードで前処理やって、通常のシリアル通信なりに変換するとか(PIC とかつかうんかな?)
したほうが良いと思われる。シリアルの受信だってシリアルチップのバッファがあふれる
前に割り込み処理完了しないと、消えちゃうわけだが、リモコンだから読み落としても
問題なかろう。
PLCとPCとの通信をシリアルでやるのに
ラダーで書いて威張っていた害虫のオヤジがいたな
工期のほとんどをそれに費やして、6ヶ月かかってまだ完了してなかったよ
しまいには、客に向かって「納期なんか関係ない」って怒鳴ってたな
同じ害虫として、恥ずかしかった
要求は、シリアルモジュール使えば、1ヶ月仕事の内容だった
その仕事、オレが欲しかったよ。1ヶ月でやってあと5ヶ月は遊べたな。
44 :
デフォルトの名無しさん:05/03/10 21:11:48
ラダーでシリアル通信て何よ?
ラダーのスキャンタイムでI/Oを読むのか?
ハードを知ってるソフト技術者ほしい
>>46 ソフトを知ってるハード屋さんもほしい、
どっちが良いだろうか
バランスの良い技術者がほしい
雇えば?
>>48 そんな技術者は、
ドラクエIIに出てくるサマルトリアの王子みたいに中途半端すぎですぐ死んじゃうぞ!
(´-`).。oO(奴はすぐ死ぬんで使えなかったな...)
洒落になってないな
色々できる奴は使われすぎて、比喩じゃなく死ぬ
・・・
>>44 本人の説明ではそうだった。
スピードは猛烈におそいようだった。
>>53 それにしたって半年は時間かけすぎだろ
しかもできあがったところでおそろしく実用性低いし
俺なら6日分しか払わないなw
>>54 なによりすごかったのは
客に向かって「開発なんだから納期なんか関係ない」って怒鳴ってたこと
お茶を噴きそうになったですよ。まぢで。
お客さんも、あふぉなのか
「うちも無尽蔵にお金があるわけではないし、そろそろ成果をいただかないと」
となだめてた
恐るべし大企業と思って見てます田
>55
学生ですがそんなんでも社会人になれるんだと勇気づけられますた。
謙虚に前向きに生きていこう。うん。
>>55 そりゃ笑える
どこが開発やねん!
ある意味、だれも挑戦しないことに挑戦してるから開発かな(笑)
>>56 もう日本人は要らないから安心して NEET してな。
>>55 文書取り交わしてなかった発注元も駄目だよ。
>>58 だな
元々の仕様がどうなっていたのか
たぶん仕様書などなかったのだろうが
大企業でなければ問題だろ
んでも、ハードも知ってるとオモロイよ。
ハードもわかるソフト屋として、よくハード屋の打ち合わせについていくとき結構ある
けど、ある意味世界が広がる。半導体屋の話を直で聞けるからね。
>>59 大企業でも問題だぞ・・・フツー。
その雇い主もキチガイ害虫と同じぐらい無能だな。
>>56 普通はさっさと放り出されるから、特殊な例と思った方がイイゾ。
>>60 | その雇い主もキチガイ害虫と同じぐらい無能だな。
以前、うちの会社で6名様ご招待してたんだけど、半年遊ばせておった。パック
料金なんで 4-500万 * 6 ヶ月無駄になったけど、責任者は見るから知○遅れ面。
うちの会社も会社規模に似合わず、ハンディーのある方々を雇って社会貢献してる
なぁって感心したです。ちなみにうちはパン屋ではありませぬ。
>60
冗談ですから安心してください。ありがとう。
今日面接で「英語できるね。海外大丈夫だね!」って言われました。開発希望してるっちゅうねんorz
最近、海外と言えば、中国、東南アジア、ソフトだとインドを指すことが多い
というわけで、中途半端に英語がしゃべれると目をつけられるので、
英語は全くだめ、海外は大嫌いということにしている
>>64 アジアで製造するって事が多いけど、
その為の教育に膨大な手間がかからない?
>>65 今はロボットなのであんまり・・・
人力でやらなきゃいけない高等なものは、日本のおばちゃんにかなうものは
居ない
>64
いや出張くらいなら面白そうだから全然いいんだけど>海外
そんなことより組み込み開発で海外行くことあるのか?→希望が通らなさそうorzって話ですた。
中国と行っても沿海は賃金高くなってるから、どんどん内陸に行ってるよ。
内陸はホント田舎でなんにもないぞ・・・・(;´Д`)
おばちゃんたちも昔は若い綺麗な娘さんだった
むしろロボットに出張させろよと。人間が行くこと無い。
たかが会社のロボットふぜいが何を言う
出張してくれるロボットの制御
いいね
73 :
デフォルトの名無しさん:05/03/18 08:46:46
労賃が安いところほどソフト開発に有利。
低コスト最優先な製造業は中凶から越南などへ越しつつある
>>67 がんがん外に出してるな。
#明日から出張だす。
うちが使ってるところは、水準の高い教育を受けた連中だし、センスも
経験もあるエンジニアが何人か居るので仕事は回る。頑張ってくれるし。
ついでに現地プロマネはかわい娘ちゃんがやってることが多いです。
もちろん駄目なところは駄目なんだけど、そういうところに限って日本
資本の会社だったりすると、もう笑うしかないです。
目下の問題は、満足にハードを仕上げられない日本の顧客の質の低さだな。
ハード部隊も現地にいるので、ちょっとした分析とかリワークは出来るが、
根本的にバグバグのボード渡されてもねぇ。そういうお客に限って、打ち
合わせとか共同デバッグをやりたがるし、最小限のことも文書にできない。
こういうお客からの仕事を回すのは、回す側の信用問題にもなるから反省。
77 :
デフォルトの名無しさん:05/03/20 08:46:33
>>76 ハードデバッグを終わらせてからソフトに渡すハード屋なんてまず見ないな・・・
そこまでするとドライバ作ってる様なもんだから、外注化するメリットが
果てしなく希薄になりそう。
デバッグ前のハードのソフトは書きたくないな
でも、ハードのデバッグ用のソフトは誰かが書かなきゃならないわけで…
どっちがどこまでやるかを事前に決めとかないとあかんわけね。
81 :
デフォルトの名無しさん:05/03/20 14:05:10
ハード屋 = コストカッター
82 :
デフォルトの名無しさん:05/03/20 14:08:24
>>77 やっぱそんなもんすか?
泥臭いハードのデバッグは外注化してソフト屋に任せてしまえ
みたいな感じですか?
で、そういう泥臭い仕事もこなせるソフト屋ができるソフト屋と呼ばれるみたいな
>>77 > ハードデバッグを終わらせてからソフトに渡す
ってなことをやってると,
> ドライバ作ってる様なもん
ってことになって, ハード屋で出入社したはずが, ソフト屋の
中間管理職になってしまってたりするわけだ.
どこで道間違えたんだろ? <俺
>>82 うちはそういう会社です。
あまりハードに近いところまでできるソフトハウスや派遣会社がないので、重宝されているようです。
>>83 うちは逆に、ソフト開発で入ったはずなのに、ハードまでやるの?とぼやいている人が多いです。
私はあまり苦にならないですが。
論理回路設計なんぞプログラミングとあまり変わらんしね。
86 :
デフォルトの名無しさん:05/03/20 18:28:15
テストコードをあらかじめ書いといて、ハード屋に渡して
「これクリアするまで仕上げてから持って来い」 と言う。
>>86 ハード屋がテストプログラムのデバッグまでして返します。
やりましたよ。お互い様だからね。
88 :
デフォルトの名無しさん:05/03/20 20:57:41
>>87 ファーム屋の仕事じゃないね、それはトウシロの「ソフト屋」の仕事。
連中は楽でいいねw
>84
そんな会社に入りたい…入社して一体何をやらされるんだ…。
でかい会社なら・・・オメ裏山しい
91 :
デフォルトの名無しさん:2005/03/21(月) 10:36:46
>>84 害虫の管理だろ。設計経験がないと辛いぞ・・・・・
パソコンからワープロの印刷装置を制御出来たらいいなぁ・・・
感熱紙専用プリンタ、なんつってね。
でもやっぱり、回路の解析から頑張らないといけないのかなぁ・・・
>92
「ここまで解析したけど途中でわかんなくなったぜお前らなんとか汁!」ってくると皆飛びつくと思う。たぶん。
97 :
デフォルトの名無しさん:2005/03/22(火) 22:39:44
ていうか新幹線ってオートパイロットなの?
99 :
デフォルトの名無しさん:2005/03/22(火) 22:54:06
イミワカンネー
>>92 よほど臍曲がりじゃない限り、プリンタ部はセントロニクス準拠の筈。
制御コードは運がよければ既存のプリンタと同系列、悪くすれば完全オリジナル。
市販の感熱紙プリンタ買ってくりゃいいだけと思うが。
>>97 新幹線では運転士はほぼ乗ってるだけ。
運転中に席はずして問題になったこともある。
もしワープロ用のプリンタを制御出来れば・・・
パソコンを使っての印刷だから、ワープロのよりも表現力が上がる
FAX受信用紙を流用出来るので、インクを使うよりコストが低く抑えられる
そういうメリットがあると思って書きましたが、やっぱり無理でしょうか。
>>100 ありがとうございます。
実家の押し入れにあるワープロはかなり古い機種なので、オリジナルの
制御体系だと思います(シャープの書院シリーズ)
>>101 あう、言われてみればそうですけど・・・
でも、発売されているのは伝票サイズのプリンターぐらいでした。
昔はノートパソコン(というか、ラップトップ)用のモバイルプリンター
があったと思いますが・・・あれも感熱式でしたっけ?
>>103 じゃあFAXモデムを買って来い
ほんのわずかな細工で電話回線無し PC - FAXモデム - FAX
ができる
一昔前なら感熱式プリンタなんて腐るほどあったのにね。
所謂熱転写色プリンタも、熱転写リボンカートリッジを外してプリントすると感熱紙で使えたりします。
#勿論、黒のみ。
そう言えば、どっかの計測器メーカがNECのPR201系の制御コード体型を持ったA4幅のロール感熱紙
プリンタを出してたなぁ。あれこれいじって遊んだ記憶があるぞ。
106 :
デフォルトの名無しさん:2005/03/24(木) 17:48:53
設計をある程度やったら外注管理に回るもんなの?
>>106 ずっと現場にいたければいつまでもどうぞ。
その代わり、いつまでも下っ端のままですが。
110 :
デフォルトの名無しさん:2005/03/24(木) 20:44:15
もう夜
>114
夢が無い。
>>115 の夢は、ジャンクのワープロをプリンタにすることかい
EPROMでメーカーとかタイプをROMライタが表示するじゃないですか。
あれってどんな所に書いてあるんでしょう?ふつ〜の番地を読み出したらFFか書き込んだ内容
しかよめませんよね?
>>117 フラッシュだとAA/55のコマンド与えて読むことできるよね
EPROMもVPP電圧与えてプログラミングモードにすれば
読む方法があるんじゃないかな
>>117 ROMに専用のコマンドがある。
アドレス線のどれかにIDピンになる奴があって、
それに高電圧をかけて特定のアドレスを指定すると
マニファクチャとROM型番特有のコードがデータバスから読み出せるようになっている。
FLASHとかでもID読み取りコマンドがある。
大体どこのでも同じやり方でできるが詳しくはデータシートを見れ。
CFIの規格の一つだっけ?
EPROMだとCFIじゃないでしょ。
昔、製品にマスクROMを使っていたときに、新人君に発注データの打ち返しROMの
チェックサムとらせたら、ROMライターのROM判別設定をAUTOにしたお陰で、マスク
ROMを壊したことがあったな・・・(チェックサム合わないと、ちょっとした騒ぎになった。。。(w
高電圧(+12Vぐらい)はたしかウロオボエだけどA9にかけるから、マスクROMだと
死んでしまうことがあるんだよね(;´Д`)
いまはマスクなんて使わないからナー。P2ROMぐらいか?
122 :
121:2005/03/28(月) 23:21:25
打ち返しじゃなくて、ESのマスクROMだな・・・(;´Д`)
すっかり忘れてるナー
123
124 :
デフォルトの名無しさん:2005/03/31(木) 19:43:38
バイナリーデータのフォーマットって、
DECバイナリーって言う物があるでしょ。
あれがどうゆう物なのか、だれか教えてくだちい
S
126 :
デフォルトの名無しさん:int 2ch =05/04/02(土) 13:26:45
VBOracle厨房なんすが、こんどカーオーディオとか
やることになりました。
なに勉強すりゃいいんすかねー。
131 :
デフォルトの名無しさん:2005/04/03(日) 00:31:08
あえてマジレス。
向上心なんていうが、制御系だの組み込みだのマイコンチップだの相手の
仕事してる時点で、あんまり向上心なんてないってことだろ。
才能や適正も含めて。
だって所詮三流エンジニアじゃん。
プッ のぼせ上がった餓鬼んちょにはそりゃわからんわな
133 :
デフォルトの名無しさん:2005/04/03(日) 01:04:45
自分のこと見えないのか見たくないのか知らないが、
オストリッチ症候群な奴が多いのはこの業界の特徴だな。
別に三流が悪いと思わないが実際三流でしょ。一流の奴はこんな仕事しないよ。
プッ 今日は良く釣れますなあ
馬鹿の壁か…。
136 :
デフォルトの名無しさん:2005/04/03(日) 03:13:57
一流の奴は言語なんか気にしない。
一流の奴はプログラマなんかやってない。
自分の仕事場が三流だと思ってる奴は、まあ三流だろうな。
仕事場は一流だけど俺は三流…
制御系だの組み込みだのマイコンチップだの相手の仕事って三流なんですかね?
PICとかZ80互換チップとか使って、
簡単なシステムを作って満足しているようだと三流かな。
まぁ、それはそれで、いろいろと奥が深くて、
経験の少ないヤツや馬鹿にはできない仕事だがな。
組み込み系でも、各種CPUの動作を理解して、
新規格のバスや各種デバイスを理解して、
最適なRTOSやドライバを設計できるんだったら、
少なくとも三流の仕事ではないとおもう。
あと、航空宇宙、医療系や、携帯電話関係だったら、
下手なネットワーク、サーバー系の仕事よりシビアだし、
先端技術にもついていかなきゃいけない。
逆に、ネットワーク、サーバーとかを相手に仕事をしていても、
仕様書どおりに関数をコーディングしてるだけとか、
モジュール組み合わせてテストしてるだけとか
だったら、それは三流以下の仕事だな。
携帯は三流。医療系などと一緒にするな。
名前で差別してる奴は間違いなく三流以下だな。
オレはどんな仕事でも一流の
おまいら、
>>131,133に釣られんなよ (´・ω・`)
149 :
デフォルトの名無しさん:2005/04/04(月) 22:04:59
マイコンソフト開発志望での再就職面接でのこと。
面接官から「C++の経験はありますか」の質問に対して、
「いいえ、C++の経験はありません。Cの経験がほとんどです」
と答えた漏れ。
逝っちゃいましたか。
CがダメでC++だったらなんでもOKってなとこだったら
こっちから(ry
日本って職域と階級がごっちゃになってない?
SI>SE>プログラマー みたいな
>>149 いいんじゃね?嘘ついても仕方ないし。
>>151 組込みの世界ではそんな区別が無いことが多いような。
SE兼プログラマみたいな。
>>152 SE兼、制御アルゴリズムとシミュレーション兼、プログラマ兼、
ハードウェアのバグだしデバッガ兼・・・・
なんでもやらされちゃうのが組み込み系。
なんでも自分でできちゃう俺様ワールド好きが集まるのが、
組み込み系。
もちろん複雑なシステムになってくると、
そうはいかなくなってくるが・・・。
昔、カトラーのようなプログラマーにあこがれた事があったな。
いまは、なんでも屋になっちまったけど....orz
ウィーッス ∧_∧∩ .
(´∀`*//
⊂二 / いまハイパーエンジニアが帰ったぞ!!!
| ) /
口口/  ̄)
( <⌒<.<
>/
156 :
デフォルトの名無しさん:2005/04/05(火) 09:15:59
カトラーってなんだっけ?
昔デーブスペクターがヤキソバンと戦ってたやつ?
>>156 それはケトラー。
「戦うプログラマー」だか言う本の主役だ。<カトラー
名前や分野で差別したりしてるが大切なのは設計力だよ。
一流とほざいてる奴の中にもまともな設計が出来ない奴って多いよ。
システムの規模やROMサイズによらず設計力のない奴はダメだな。
あれか
NTカーネル作ってて納期延び延びにしたダメグラマか
設計力を定義してください
つーかあれだ、プログラマとしてどうかは兎も角、管理能力はお察しくださいと。<カトラー
プログラマなんて、みんな似たようなもんだけどな。
オイラは上流
>>151 プログラミング能力よりもプロジェクト管理能力の方が評価されてるだけだろ?
SI<>SE<>プログラマー
これでいい。
ソフト野郎は糞ばっかり、分数も分からんやつは要らない。
ハードというか、LSI設計経験者は少ないな、欲しいんだが・・・
171 :
デフォルトの名無しさん:2005/04/06(水) 21:53:17
で、せいぎょけいのはなしはど
LSI設計って、もちろん評価もできる人間だよな?
設計だけできて、評価がまともにできないアホもいるからな。
↑同感
自分が設計したのにも関わらず、まともな評価ができない奴いるよな。
ソフト、ハードに関わらず。
「とりあえず動くプログラム」と「正しいプログラム」は違う
確かに「取り敢えず動くランドウォーカー」と「正しく歩くランドウォーカー」は違うな。
とりあえずでも結構燃える俺がいるよ
あ、ランドウォーカーの話な
「ランドウォーカー」 age
こけたらしぬで
ランドウォーカーが実戦に配備されるのはいつですか?
偽二足歩行だからなぁ。
足引きずってるんじゃ、平地しか歩けないw
駆動はエンジンとクラッチ式か。
サーボモータだったら、もっと細かい制御できそうだけど、
トルクの関係で無理かな?
↑BBSの方に油圧だって書いてあったな。
油圧で細かい制御は難しそうだ。
しかも動力はエンジンじゃなぁ。
油圧をサーボによるポンプでコントロールできりゃいいんだが・・・
なに言ってる。
例えば、FBがちゃんとしててアクチュエータの性能が足りてるなら特に難しいってことはない。
油圧だろうがなんだろうが基本的には同じこと。
>>149 亀レスだけど、それは正しいんじゃないの?
C++ は全然別の言語だし、制御系で使われることもほとんど無いでしょう。
制御系でも、切れる人はアセンブラだろうが C だろうが、 C++ でやるような
効率的な設計を行ってるわけですから。
半端に C++ 書けるやつが C++ 出来ますって言うのが、一番痛いと思われ。
まっ、組み込み系でもアプリレイヤーは C++ で書くことが多いから、コアの
クラスライブラリの設計は出来ないにしても、それを利用したアプリ位は書け
るって言えた方が良いかもしれないが、それはもはや制御系とは言わないな。
>半端に C++ 書けるやつが C++ 出来ますって言うのが、一番痛いと思われ。
でも、できないというのも変だろ。
それは出来ないとみなす
「C++の経験はありますか」と言う質問であって
出来るか出来ないかではなかったな
「経験はすこしあります、が、現時点でどの程度力になれるかはわかりません
けれど、頑張ってやりますのでお願いします。」
と言われたら、採用しちまうな、オレ
即戦力を求めるのか、時間をかけて育てるつもりなのか、にもよるな
>>190 今時分、時間をかけて育ててる余裕のある会社なんてあるのか?
言語くらいできる奴はごまんといるのにな
わざわざ何もしらない奴を採用する気が知れない
言語以外の事を山ほど教えないといけないのに
言語なんてちょっと勉強すればどうにでもなるからな。
言語以外のことが重要。
新卒で迷ってます
SIで上流メインのとこいくか、下流メインのとこいくか、制御にいくか
実際は技術を極めたいとか思ってるんですが、給料面などで・・・
制御やってる方、今の仕事は人にお勧めできますか?
>>194 制御系が好きな人にはお勧め。そうでない人にはお勧めしない。
194じゃないけど俺はやっぱ回路とかハードを叩くソフトいじる仕事がしたいなー。
上流やるにしてもさ。
下流の経験の無い奴が上流やってもうまくいかないことが多いと思う
外注管理に忙殺される毎日です
上流といっても色々あるわけで、中小でも下流から移行が可能だから最初は下流がお勧め。
更に言えば業務系と制御系は毛色が違うから、両方齧ってみる方がいい。
経験の無い奴は何やってもうまくいかないと思う。
202 :
デフォルトの名無しさん:2005/04/10(日) 14:48:59
200さんはいきなり経験がありましたwwww
やるまえからwwwwwwwwwwwwwwwwwwwwwwwwww
>>200 うまくいかないのを経験不足のせいにするのは良くないぞ
ローカルなアドレス貼ってあるのは何か意味あんの?
>>205 優越感だろ。お前らには見せてやんねー っていう。
まさに外道だな。
経験は本人の努力しだい。
208 :
194:2005/04/10(日) 21:11:13
やっぱり下流から上がっていく方がいいんですよね〜
ただ、上流も下流もやってる会社ってあんまりなくないです?やっぱ転職狙いになるんですかね?
制御系と業務系でキャリアチェンジってのもそんなに難しくないもんなんですか?
>>208 本人次第。
ただ漫然と仕事をせず、人間関係を作っていれば転職にも有利だろう。
できない香具師が多いしな。
端子がハイインピーダンスって、どんな状態なの?
0でも1でもない状態ってのが想像つかない。オシロ当てたら振動して見えるの?
それとも境界値付近の電圧になってるとか?
プログラムで読みとったら、0が読めたり1が読めたりする?
>>211 簡単にいっちゃうとなにも繋がってないのと同じ状態のことだよ
出力がハイインピーダンスというのは、
端子が電源側にもGND側にもつながっていない状態。
よって電圧は不定。
△Vcc
|
----K
|
・---- out
|
----K
|
▽GND
上図でどっちのトランジスタもONしていない常態
初AAチャレンジ!ずれてたらすまん。
通常はプルアップや、プルダウンを入れて、入力側につなぐ。
入力が未接続(オープン)だと、CMOSなんかは、
入力電圧の範囲を超えてラッチアップして壊れる可能性があるから。
(まぁ、最近のチップは保護ダイオードが入っているから大丈夫だとおもうけど)
たとえば、
複数のデバイスがCPUのバスにつながっているようなとき、
データの読み出しを要求されていないデバイスは、
データバスの端子をハイインピーダンスにする。
でないと、他のデバイスとデータの信号が衝突してしまう。
入力がハイインピーダンスってのもあるが、これは、また別の意味。
こっちはもうちょっとアナログチックで、
端子に流れ込む電流とかを気にする話になる。
たぶん、インピータンスってのが理解出来てないんだろうと思う。
単純に、「抵抗」って読み替えるといい。
ハイインピーダンスを高抵抗と読み替えると、
出力が高抵抗だから外来のチョットした信号に影響される状態ってイメージが出来るでしょ?
>>214 それがイメージできるなら、ハイインピーダンスくらい判ると思う。
>>211 >212の言う通り断線状態と同じだから、どこかで繋がってる入力ポートの電圧を示す筈。
#出力端子のみなら未接続と同じことになるから外乱を拾うかも知れんが。
入力として読み取る場合も通常は>213のいうようにプルアップかプルダウンされているから
0か1のどちらかと区別がつかない。
216 :
211:2005/04/13(水) 14:21:55
入力の場合通常プルアップかプルダウンされてるもんだというのは知ってます。
出力の場合0でL、1でHi-Zの出力端子を読んで失敗したこともあります。
プルアップ/ダウンしてない入力端子を読んだら、そのとき拾っているノイズによって
0だったり1だったりするのですか? そういえばコンパレータ出力の端子を読みとって
多数決でL/Hを決めるコードを書いたことがあるから、読みとった値が不定っていう
意味ではないですよね? 読みとった時点では0か1どちらかだけど、ある程度安定に
その値が続くとは限らないと考えればいいのですか?
シュレーディンガーの猫みたいなものなのか?
218 :
211:2005/04/13(水) 19:10:32
シュレ猫も知ってます。でも「不定」のポートを読んだらどうなるのか興味有ったのでカキコ
させてもらいました。
>>216の中でどの辺の認識が合ってるのかご教示いただければ嬉しいです。
> プルアップ/ダウンしてない入力端子を読んだら、そのとき拾っているノイズによって
> 0だったり1だったりするのですか?
yes
> 読みとった値が不定っていう 意味ではないですよね?
yes デジタル値は0か1です
> 読みとった時点では0か1どちらかだけど、ある程度安定に
> その値が続くとは限らないと考えればいいのですか?
入力端子の電圧で決まる
0とされる電圧範囲にあれば0
1とされる電圧範囲にあれば1
それ以外の電圧範囲ぼ場合は、0になるか1になるか決まっていない
デジタル値が不定とは、0になるか1になるか決まっていないという意味です
そもそも電圧の意味を根本的に理解していない希ガス。
ソフト屋からみればそうかもしれないけどね、ハードからみると不定は不定だよ。
だいたい入力ポートを浮かせると燃える可能性がある。
不定なものを読み取って何かしようという考えが間違い
224 :
211:2005/04/14(木) 05:57:54
アホな質問にたくさんレスありがとうございます。
5V動作の基板なら3.75V辺りが0と1の境界値ですよね。
>>221の燃える話もうちょっと聞かせてください。
さすがに入力端子が不定のものを読んで何とかしようとしたことはありません。
オープンドレインの出力端子を読んで失敗したことはあります。<--こういう場合は
「書いた値をRAMで覚えておかなければいけない」のでした。
CPUのデータバスなんかをオシロであたれば、
Hi-Zの時にどうなっているかはすぐにわかりますよ。
不貞なポートって乱数に使えないかな
>>226 そういや、RAMの初期値は乱数に使われてたことあったな。
>>228 基盤のロットが変わって、パワーオン時にリセットされるようになって泣いた事あり。
乱数って言うか、乱数の種に使ってたんだけどね。
>>227 無理かな
種くらいになら使えそうな気がするけど
無理ならあやまろう
>>230 そもそもHiZな入力ポートを放置するのが問題だと言ってるのに……
232 :
デフォルトの名無しさん:2005/04/14(木) 16:56:13
>>225 プローブで触った時点で状態変わるわな.
入力ポートをオープンのまま放置するのが問題な理由は
1、 昔はCMOSは簡単にラッチアップして壊れた事からの連想
今は、保護ダイオードがあり、それを乗り越えるくらいの高エネルギー
な相手だと、どっちにしてもどうしようもないから、単なる杞憂。
2、中間電圧に放置すると消費電流が増える。
時計のようなアプリケーションではバカに出来ないどころか電池寿命が桁違いに短くなる事も
現在はこの理由によりオープンは嫌われる。
234 :
233:2005/04/14(木) 18:51:12
なお、保護ダイオードがあって壊れないといっても
電源電圧を越える電圧を与えるの高抵抗であってもかけるべきでない。
保護ダイオードを通って他のポートのインピータンスを変化させて
例えばADCの動作が狂うような現象が実際にあった
235 :
233:2005/04/14(木) 18:54:06
もし、ラッチアップが起きると、数100mAクラスの電流が流れて、電源を切るまで
その状態をリセット出来ない=発熱で破壊する。
ので、ちょっと発熱するとかでラッチアップを疑うべきではない。
少し発熱するくらいは、出力信号を喧嘩させてる事が殆ど。
実際にラッチアップを起こせば、パッケージが破裂する程度のことになる
なんだかんだで、ハードの話もできちゃうおまえらが好きだ。
なんか、このスレは、すごく居心地がいい。
237 :
デフォルトの名無しさん:2005/04/14(木) 21:58:46
ハードの話って言ったって「初歩のラジオ」レベルの話題じゃん。。
そんなレベルで満足しちゃう自分が許せる人ってある意味幸福な人だよな。
でもそういう幸福な人はエンジニアには向いてないと思う。
238 :
デフォルトの名無しさん:2005/04/14(木) 22:24:02
うるせーうるせー
みんながみんな一流を目指してる訳じゃないだろ。
三流には三流なりの楽しみ方がある。
初歩の初歩レベルすらも知らないプロが多くてな・・・
基本的にはプログラム技術の板だからな。
ハード屋だったら電気電子板行くだろ。
でも、むこうでプログラムの話はあまりできないんだよ。
「ラジオの製作」と言わないところで、歳が分かる
初歩のラジオが薄っぺらい本になった頃、
僕はエロ本に目覚めていました。
PCの黎明期にラ製が部数を伸ばしたのに対して(ベーマガなども出してたし)
初ラは頑なに無線に拘ってコンピュータの話題が少なく売れなくなっていったと感じる
当時に今のような携帯電話の進化があれば初ラは携帯無線機の本と化していたに違いない
いやRLとかABがガンガッてるからムリ
ウッドペッカーやアンカヴァーって今にして思えば
北朝鮮の工作員の通信手段だったんだよな
ラ製に世界一簡単なラジオの回路図があった。
使用する部品は、
ゲルマニウムダイオード 1N60 2個
クリスタルイヤホン 1個
たったこれだけ。電源なんて必要ない。
自作してNHK第2が聴こえたのには感動した。
25年くらい前、リアル厨房だった頃の話。
248 :
デフォルトの名無しさん:2005/04/15(金) 23:31:44
40歳過ぎても現役プログラマーって制御系が一番多いんじゃない?
コボラーも2000年問題以降急激に少なくなったし
>>248 2ちゃんには40代板も50代板もあるの知ってる?
それより若年者の2ちゃん利用者増大の方が危惧するよ
あ、俺は30代後半ね
250 :
デフォルトの名無しさん:2005/04/16(土) 00:59:33
ラ製じゃなくて初ラの名前を出したのは、世代っていうかラ製じゃ
あんまり失礼だと思ったからなんだけど。。
ラ製って全体的にガキっぽかったし製作記事のレベルも低かったでしょ?
初ラは入門者向けの記事もあったけど結構硬派というかいい意味でガキに媚びない
それなりのレベルの記事も多かったよ。
>>250 名前の割りに高度な記事が多かったよな(w
むしろ営業の人間に読んでおいて欲しいと思う今日このごろ
あぁ。それもそうだな。
つうか、もっと偉い方々によく読ませるべきかと。
255 :
デフォルトの名無しさん:2005/04/28(木) 00:31:10
byte enableという端子は何なのでしょうか?
今ひとつ意味がわかりません
>>255 何の?
入力なのか?
出力なのか?
も書かんのじゃ想像すら出来ん
DataSheetを読め
たぶん、それをアクティブにしない間はワードアクセスなんだよ。
データバスが切り替わるのかも知れんな。
>>255 フラッシュメモリなんかについてるBE端子のことなら
8bitメモリとして使うか16bitメモリとして使うかの制御端子だよ。
普通はどっちかに固定してる。
>>260 リンク貼ってコピペってのはどうだろうな。
団塊世代」引退、技術どうなる=製造業の3割が危機感−厚生労働省調査
1947年から49年にかけて生まれた「団塊の世代」が2007年以降、相次いで定年退職することから、
製造業の約3割が技術継承に危機感を持っていることが28日、厚生労働省の調査で明らかになった。
企業側は雇用延長などで対処する方針だが、同省では「国際競争が激しく、時間をかけて社内で若い
人材を育てる余裕がないようだ」(職業能力開発局)と分析している。
#まあ、日本はそういう面じゃもうダメだろうね。厳しいよ。
>>261 団塊の世代で居なくなって困るのは
ごく一部の職人のオッサンじゃないのか?
老害撒き散らしてる、自称技術者はむしろ
居なくなった方がいい。
263 :
デフォルトの名無しさん:2005/04/30(土) 08:36:47
今度制御系のPGをすることになったんだけど、
難しいのか?
俺は今までVBやVC++使って業務アプリを作ってたんだが。
C言語ならまったく問題ないし経験あるけど、
制御系がどのようなことをしてるのか、まったく見えない。
ソースコードを一回見てみたいので、どこかに公開されてるソースとかないかな?
どの程度のレベル(コーディング力)が必要なのかが知りたい。
264 :
デフォルトの名無しさん:2005/04/30(土) 08:52:31
分野にもよると思うけど、非同期や排他とかクリティカルな処理が
主体になるので、ソースを見ても(なぜここでこういう事をしてい
るのか?)が分からないと辛いかもしれない。
265 :
263:2005/04/30(土) 09:02:53
>>264 ソースコードを一部分で構いませんので、持っていらしたら見せてもらいたいんですが。
支障きたさない程度の部分で構いません。
どのようなものを組んでいるのか見てみたい。
今度行く先はC言語らしいですが。
266 :
デフォルトの名無しさん:2005/04/30(土) 09:09:19
割り込み ← 非同期
あぼーん
268 :
263:2005/04/30(土) 09:13:08
すいません、今からBicにいって
組み込み系のプログラミング書物を買ってきます。
そっちのほうが早そう。
ただ、一点ほどお聞きしたいのですが、
組み込み系といってもハードごとに違いはあるのは当然ですが、
作業していく過程とかコーディングする規則性とかは同じですよね。
失礼しました。
>>268 制御系といっても、組み込み系と制御GUIとでは天と地ほどの差があるのだが。
事前に勉強する能力よりも、現物を前にして吸収する能力が必要とされるのが制御系だ。
270 :
デフォルトの名無しさん:2005/04/30(土) 09:39:04
本の前の予備知識として
http://www.musin.co.jp/index.html あと、↑でも言われていますが分野によっていろいろあります。
で、モータ制御一つとってもステッピングモータ、サーボモータ
などの違いがあり、同じモータを使っていても個体差があります
から、現調(現場調整)は必ずあります。
(小さいものは、持ち帰ってやりますが・・・)
271 :
デフォルトの名無しさん:2005/04/30(土) 13:13:48
>>270 ちんけなJavaScript作ってんじゃねーよ あほぅ
↑のようにガラの悪い人がいっぱいいる分野です。
273 :
デフォルトの名無しさん:2005/04/30(土) 16:40:16
この業界の人は(っていうかどの業界でもPGはだいたいそういう傾向があるが)
自分の分野がなんかすごい高度でそんなことができる自分は選ばれた人間だ、
みたいな錯覚しているのが多いけど、他分野と公平に比較したばあい、
むしろ要求される能力や技術レベルは一般に低い。
今時のWinアプリ(といってもいろいろあるけど)に要求される平均的な水準よりも
ずいぶん低いと思う。
普通にWindowsのアプリを書く能力を習得できた人間なら、おそらくこの業界で
自分の無能を痛感することはあるまい。むしろぬるい業界だなと思う人の方が多いだろう。
274 :
デフォルトの名無しさん:2005/04/30(土) 16:51:21
ちんけかどうかは、見た人が決めることです。
私は、何の予備知識もない状態よりは良いと、
思ってページを紹介しただけです。
そして、Windowsなどの世界との違いは、「多重割り込みが
頻繁に起こる」事ぐらいです。Windowsでは、多重割り込みは、
ドライバでも作らないかぎりあまり考える必要ありません。
275 :
デフォルトの名無しさん:2005/04/30(土) 16:58:50
だからさあ、(多重)割り込み程度のことが特筆すべきことだ、ともし考えてるとしたら
それがレベルが低いってことだよ。
あんなもの中学生でも理解できる。
Win32プログラミングと、制御系(組み込み)プログラミングはどっちがむずかしい?
自分のよく知ってること → 中学生でも理解できる
自分のよく知らないこと → そんなもん普通使わんでしょ
>>276 かわらんよ。どちらもできる人にとってはね。
>>276 どっちもピンキリだろ。
俺はWinアプリよりのプログラミングしてるが、
ナイキスト曲線やらなんとか判定やら意味わかんねぇ。
詳しくないことの方が難しいのは当たり前。
難易度は習得しやすいかどうかで測るべき。
でもどっちも似たようなもんだな。
Win32に「ナイキスト曲線」なんてあったかw?
282 :
デフォルトの名無しさん:2005/04/30(土) 17:29:26
「理解できる」と言ってるけど「管理できる」とは言ってないので・・・
良しとします。
ナイキストの判定図の事じゃないかな?
制御系といっても、昔ならTVには4ビットマイコンが多数入って
それぞれ作ってたけど、今では、
携帯や、液晶TVとかHDDレコーダなんてOSが乗っかって、共同作業で製作。
チーム作業だから、プログラミングよりもその周辺の事務処理能力の方が必要だよね。
もっとローレベルな部分をとなると、もう海外かなあ
>>273 よく言った。
組み込み系プログラマは、情報技術方面の知識がほぼ無いに等しく、
雇い主がハード屋であることもあり、そういった知識も要求されない。
TRON辺りの理解と機械語や簡単なデジタル回路が読むことができ、
頭の悪い変更要求の嵐に耐えられるならやっていける業界だろう。
忍耐力以外は、極短期でマスターできるだろう。
極短期ねえ。
まあすぐに覚えられない奴は淘汰されるけどな。
仕事ごとにアーキテクチャが違うこともざらだし。
この業界の人は(っていうかどの業界でもPGはだいたいそういう傾向があるが)
自分の分野がなんかすごい高度でそんなことができる自分は選ばれた人間だ、
みたいな錯覚しているのが多いけど、他分野と公平に比較したばあい、
むしろ要求される能力や技術レベルは一般に低い。
今時の制御系アプリ(といってもいろいろあるけど)に要求される平均的な水準よりも
ずいぶん低いと思う。
普通に制御系のアプリを書く能力を習得できた人間なら、おそらくこの業界で
自分の無能を痛感することはあるまい。むしろぬるい業界だなと思う人の方が多いだろう。
冬季オリンピックのスケルトン日本代表みたいな感じだよね。やってるだけで価値がある。
国宝級制御系エンジニアとお友達になりたい件について
昔、コネクタの間にTTLがニ三個入ってるだけの回路図を持ってきて、
「これの制御プログラムを作ってください」という仕事があったな。
発注が大企業のソフト部門だったんだが、
その回路図を読めるのがそこに誰も居ないってのに呆れたよ。
ていうか、それを作った奴が辞めたら誰も面倒見れなくなったので外に出したんだと。
確か、ただのパラシリ変換だった。
PGとかアプリとか臆目もなく書かれると
知ったかぶって何こいてんだよと思う今日この頃
書けないの?
すいません。削除依頼書いて来ました。
4.8K程度のuart信号を5CH入出力するボードをH8の8bitか16bitを使って作ろうと思います。
(CH0,1の入力はCH3に出す、CH4の入力はパラメータの順序を変えてCH5に出すetcとか。
以前同様のシステムを8085+8251*4CH+8259+8253、ROM32K、RAM8Kで実現していました)
内蔵uartが2CHのチップを使えば外付けuartは3CH、内蔵が3CHなら外付けは2CHのどちらか
になりますね。ROMは内蔵flashにしろEPROMにしろいろいろ実装のバリエーションがあります。
RAMチップの外付けが必要かどうか、チップの値段など総合して、どのあたりのチップを選ぶ
のが適切でしょうか? 私はRAM外付け+uart3CH外付けでH8/338あたりが適当かと思いますが
もっとイイ/安い構成があるよ、とか聞かせてくださいませ。 NECだとプログラムが書きづらい
かわりにチップは安いみたいですね。
なんか、前にも見た感じだけど、
4800bpsならタイマー割込みを 38.400 か 19.200でかけてソフトで処理すれば
3チャンネルくらいは可能だろう
コピペ
297 :
294:2005/05/07(土) 13:41:48
あ、思い出した。でも1CHならいいけど、3CHを一つのタイマでやらすと不安定になりそう。
CHごとにタイマを別にできるぐらいタイマのCHがあるチップを選べばできそうですね。
ソフトはめんどうになりそうですが。
298 :
デフォルトの名無しさん:2005/05/07(土) 14:16:03
チャンネル分タイマが必要とかタイマの数n倍の周波数で割り込みが必要って
発想が理解できん。
全ch同じbpsなら何チャンネルだろうとその周波数のタイマが一発あれば
必要十分のはずだと思うけど。
っていうか、いまどきソフトでチマチマそんなことやるなんて俺は愚の骨頂だと思うね。
>>298 >全ch同じbpsなら何チャンネルだろうとその周波数のタイマが一発あれば
>必要十分のはずだと思うけど。
そうなの?外からの信号は、世界中の信号は、全て同期しているものなの?
300 :
295:2005/05/07(土) 15:24:21
2つの方法があって
1、入力でエッジ割込みもかけて、その割込みでタイマを周期/2にリセットする
2、タイマー割込内でサンプリングする
1だと、エッジ割込とタイマーが3つ必要になるから、2という想定なわけです。
この場合、
タイマー割込みの先頭で入力と出力をして、そのあと3つ分の処理をします。
出力はメモリ上の作っておいて、次の割込みの頭で出力させるわけです。
ダブルバッファという方式ですね。
>>299 全てのチャネルが同期してないから1つでいいんだよ。
302 :
295:2005/05/07(土) 15:51:38
>>298さんは送信しか考えていないと思う。
受信は調歩同期だからエッジからの同期を実現しなければいけない。
送信周波数のタイマじゃダメだね。
3倍くらいでいいんだっけ?
304 :
295:2005/05/07(土) 16:14:11
最初のエッジから T/2 の後 T毎に見ないといけないから、 3じゃ厳しいかもな
305 :
デフォルトの名無しさん:2005/05/07(土) 16:34:57
いや、なんかモデリングに根本的にムダがあるような気がするけど。。
受信側だけ考えた場合、要はサンプリングを行う部分(サンプラー?)と
サンプルした信号を処理するステートマシンがあればいい。
同期っていうのはステートマシンの問題でしょ。
ステーマシンは単に一定時間(bpsの値)ごとにコールされればよく、別にエッジから同期するための
タイマなんて必要ない。
タイマを必要とするのはサンプラーだけ。
詳細は省略するけど、サンプラーの周期は信号のパルス幅の半分で必要十分でしょ。
そしてその場合、サンプリングの間隔が厳密に信号のパルス幅の半分である必要はなく、
多少のゆらぎがあってもかまわない。(LPF的な処理をする必要があるが)
だから単一のタイマ割り込みで複数のチャンネルを処理しても問題ない。
306 :
295:2005/05/07(土) 16:38:25
>>305 ああ、でもね。 シリアルは外部との通信だからノイズのことも考えなくちゃいけないし
クロックに水晶を使ってるとも限らないから、クロックズレにもある程度対処しなくちゃいけない
デジタルだと話が簡単でいいなぁ。
山谷それぞれで、3つづつサンプリングして多数決を取ると聞いた事がある。
そうすると3倍じゃなくて6倍サンプリングが必要だな。
>>307 ソフトで読める段階でディジタルになってしまうのはしょうがない。
A/Dで読んだりはしないよね?
ボーレートの倍のクロックでサンプリングすればほとんど問題起きない
おなじクロックでやってみたことがあるけどこれはさすがに化けまくった
どのみちuartを外付けする必要があるのならば全部外付けにしてしまったほうが
処理を書く手間がひとつ減って楽だと思うよ
>>309 最低限、3倍サンプリングしないと駄目だよ
S 1 2 3 4 5 6 7 STOP
┐┌┐┌┐┌┐┌──
└┘└┘└┘└┘
↑↑↑↑↑↑↑↑ <---A
↑↑↑↑↑↑↑↑<---B
1/2だと、AかBのどっちかでサンプルする事になる。
理論的には可能という事になるけど、
相手とクロックが2%以上ズレていたら 後半になると1/4クロックズレてしまい誤まってしまう。
だから、相手との誤差が非常に小さいという条件をつけなければいけない。
セラロックとか、内部発振のPICとかを相手にしない?
1/2で最初にスタートビット検出したところはエッジの可能性があるので次のサンプリングからひとつ飛びに見れば
うまくいくはずなんだがな〜、実際Z80CTCは2倍クロックでうまく動いてたし
あ、だめだ最初が真ん中だたら次がエッジになってしまう・・・3倍クロック居るな
やっぱり運がよかっただけなのか、ええい、運も実力のうちでぃ(嘘
サンプリング周波数は信号周波数の2倍以上が必要十分条件
320 :
294:2005/05/08(日) 03:46:37
いろんな見解ありがとう。参考になります。タイマ1つで3CH分サンプリングさせるには、
8bitチップではちょっと辛いと思われます。4.8Kのパルス1個は200uS、12.288MHzを選ぶとして
LD/ST,加減算などは320nSぐらい、タイマ処理の中でbit-->byteに再構成する処理は1CHあたり
(H8ではないチップですが)CPUの処理能力の3%ぐらい食ったことがあります。ですので
私なら >1、入力でエッジ割込みもかけて、その割込みでタイマを周期/2にリセットする
のほうを使うと思います。そのつもりで8bitH8シリーズの一覧を見てたら、8bitタイマ3CH、
IRQ3本搭載、という比較的下位の機種(3217)が見つかりました。当初の目標にはこれが一番
合いそうです。NECなどでは、チップの1クラスで¥10位ずつ違っていましたが、
H8でもそうなのでしょうか?
321 :
294:2005/05/08(日) 04:04:41
私はstartbitのエッジ割り込みでタイマカウンタのほうを、周期の1.5倍で割り込み起こす
ように設定し、タイマコンペアレジスタは周期の1倍になるように設定してました。
これだとstartbitの次からほぼパルスの中央でサンプルできるし、割り込み頻度も重くならないで
すみます。これ、間違ってませんよね?
>>320 bit->バイトにする処理は そのやり方をしても必要になるので
その負荷は殆ど同じ。 違いは、カウンタを自分でするかどうか。
>>321 スタートビットが正しいかどうか確認する為に T/2で確認すべきだと思う
面倒なら、エッジ割込みの終りにデータを読んでチェックするのもアリかもね
323 :
デフォルトの名無しさん:2005/05/08(日) 10:17:11
どう考えても割り込みをそんなに「贅沢に」使用する方法は、
単純にタイマ一発で処理する方法よりオーバーヘッドが大きいと思うけど。。
全部のチャンネルで1ビット受信するごとに割り込み発生させるの?
最近の8051派生チップみたいな身軽な石ならともかく、H8でそれはキツいような気が。
なんか都合よく3chの通信が同時に発生しないことを想定してないかなあ。
そういう想定が前提なら、単にマルチプレックス化すればいいわけで。
324 :
294:2005/05/08(日) 19:01:54
あ、323さんはチョト誤解してると思います。RXD-->IRQに立ち下がりが入った一発目で321のように
設定するときに、IRQは禁止にします。その後タイマ処理のほうに割り込みが入り、そこでbitcount
しながらbit-->byteに蓄積、最後にparity,stopbitを受信したらまたIRQを許可して最初に戻るです
8051派生チップでそういうの書きましたが、1CHです。CHあたりRXD,IRQ,TXD,タイマがセットで
ないとこの技は使えません。8251のコマンドregに相当する変数とかbitcounterとかRXD,TXDに相当
するbyteとかの変数もCHあたりに要ります。
325 :
294:2005/05/08(日) 19:07:53
>>322 ありがとうございます。そこまでやればノイズに強いシステムにできそうですね。
実装先が「船」なので、ケーブルの物理的破壊のほうが現実的な問題になりますが、
普通の232か422の信号でノイズ賑やかという環境ではないので、素直なアルゴリズムで
行こうと考えています。=「だめ押し的確認はしなくてもいいだろう」姿勢ですね(^o^)
>>325 船だと結構ケーブル同士が束ねられるので
ある程度アナログ的にノイズを取ってもらっておかないと、厳しいかもな
ノイズや距離が気になるなら光ファイバ<>RS232C等使うよな
328 :
323:2005/05/09(月) 00:30:25
>>324 誤解してるかなあ?私は多分してないと思うけど。。
232cの1クロック周期のタイマ割り込みが、チャンネルの数の倍数ぶんかかるわけでしょ?
これ、H8だと結構きついオーバーヘッドだと思いますが。。
>>328 0xAAとか送らなければ大丈夫だよ
0xFFとか
>>328 組み込みでしょ?
オーバーヘッドが大きかろうが小さかろうが関係ない
大事なのは処理が間に合うのか間に合わないかだ
>>330 オーバーヘッドが大きかったら間に合わなくなっちゃうじゃん
>>331 H8って8085で間に合ってた処理が少々のオーバーヘッドで間に合わなくなるほど非力なのか?
333 :
294:2005/05/09(月) 05:29:38
クロックが同じでもコアアーキテクチャの違いだけで2倍ぐらいH8>8085でしょう。
クロックは8085の4倍まで使えます。320でその辺の負荷分析をちょっとやりかけました。
9.6K以上で複数CHだと、323=328さんの心配が現実になってくるでしょうが、4.8Kの3CH
なら耐えられるとおもいます。20Mの8051で19.2KBPSのシリアル1CHにこの手法を使った時は
シリアル処理の負荷は5%ぐらい=「楽勝」でした。
このアイデアでちょっと書いてみた所、「全二重」にすると送信中にstartbitを検出した時、
その位置でクロックを1.5倍に調節するため、その位置の送信波形が狂うことが判りました。
8051のときは運用で半二重だったからこの問題はなかったのですが・・・
全二重が必要なラインは内蔵uart2CHを使い、疑似uartはRX/TXどちらか、という運用が可能
ならイイが、5CHとも全二重必須ならuartチップ使用、という考え方が健全ですかね?
全二重ならタイマー割込み1本でやる方が楽じゃないの?
335 :
294:2005/05/09(月) 08:49:47
4.8KBPSでの1パルスの時間は200uS、3CH分をサンプリングでやろうと思ったらタイマ割り込みの
インターバルは20uSぐらいにしないといけませんよね?(上の方でサンプリングは3回必要と誰か言ってる)
他に内蔵uart*2CHの割り込みもあるし、普通のソフトタイマ(mS〜10mSオーダー)を十数個は
カウントするアプリ上の必要もあるし、20uSのタイマ処理は8bit-H8には重いとおもいます。
割り込みで半分取られたらタスクレベルのほうは正常に動けなくなりそうで。タスクレベルでは、
各CHの受信ringから取り出してフレーム再構成、送信出力作成、タイムアウト処理などを
CH数分実行することになります。
タイマー割込み周期は26マイクロでいいでしょ。
割込みでは
先頭でポートバッファから出力 ポートバッファへの入力
それ以後、処理中は多重割込みを許可する。
ポートバッファは出力用 12バイトをリングに 8回毎にポインタを進める。
バッファを全部出力し終わったら パラレルシリアル変換をして12バイトを用意
入力ポートバッファはSTAR+8bit+STOP1とすると 10*8=80byteを用意。
処理禁止カウンタを3バイト用意。
処理禁止カウンタが0でなければ1減らし
0なら、
このリングの 79byte前がLならスタートビットとして パラレルシリアル変換
この処理の禁止カウンタを80に設定
これくらいなら、別にH8なら問題無いと思うが
337 :
294:2005/05/10(火) 05:08:08
面白いアイデアですね。そういう発想では書いたことなかった。
「8」は1パルスを8回サンプリング、という意味ですか?
入力のほうは、1bitに1byte使うのは解りました。
出力のほうがよく解らない。12byteの意味をもうちょい詳しく話してください。
これらの処理は1CHについて言っているのですか?それだと3CH分ではきつくありませんか?
>>337 3bit入力3bit出力だから、勿体ないけど1byteに3ビットしか使わない。
3CH分でも、実際の大きな負荷は 1CH分2mS毎にしか来ない。
多重割込みが数回かかっても、その後お休みが続くから問題ない。
出力は
もしシリアル受信してから 応答が数ミリ遅れても良いのであれば
12バイト(パリティ無し、stop=1なら10バイト)を
一度にシリアルパラレル変換すれば効率が良い。
339 :
294:2005/05/10(火) 08:17:42
あ、3CH分常にサンプルしてるわけですね。うまいな。8回*10bit分をリングにする、と。
79バイト前がLならstart+1byte+stopが蓄積されてるはずだから、パルスの真ん中付近から
8bit集めて1byteにして受信の1byteが発生、ですね。
出力も、10bit*8回ぶんのリングから割り込みの度に出力しているのですか?=「1byte送信」
はstart+1byte+stopのbitパターンを80bitにしてそのリングに入れてやることになりますか?
それとも、8回に1回出力ポートへ書き込む? どっちが効率いいのかな?
この手法だと3CHに限らずポートがあれば8CHぐらいまで可能ですね。
340 :
294:2005/05/10(火) 11:54:58
>>336の「処理禁止カウンタ」というのは、連続で受信が入っていれば80〜0に動きますね。
受信が入っていない時は、2.08mSごとに循環してはだめですよね?
341 :
デフォルトの名無しさん:2005/05/10(火) 12:43:29
一度にシリパラ変換すれば効率が良いって話はとうてい賛同できんなあ。。
シリパラ変換ってそんな大げさなものではなく、単純に一つだけビットが立っている
バイトの値を右にローテートしながら、バッファにORしていくだけですが。。
単純だからこそ、レジスタを使って一気に処理するメリットがあるんでしょ
レジスタを使う効果より、ループを展開出来るメリットの方が大きいかもね
344 :
デフォルトの名無しさん:2005/05/10(火) 21:18:48
>>342 実際にプログラム書いてる人の意見とは思えんなあ。。
まとめて処理するってことは、サンプリングしたビットデータを
バイトに拡張して一時的にバッファリングしておいて、一定量バッファリングしたのち
さらにシリパラ変換をしないといけない。
だけど冷静に考えてみたら、バイト拡張してバッファにストアする処理と、
ビットマスクを右にローテートしながら受信ビットが1だったらバッファに
ORする処理はほとんど(というよりまったく)処理量は違わない。
だったら後でまとめてするシリパラ変換の処理は丸々無駄ってことだよ。
だいいちこんなタイムクティカルな処理で「まとめて処理」なんてダメ設計じゃん。
まともな人ならやらないと思う。
「まとめて」処理してる間は割り込みはどうするの?
禁止しても許可してもトラブルの原因となりうる。
>>344 サンプリングしたビットデータは、バイトに拡張するという意味は?
H8はメモリマップされたI/Oだから単にコピーするだけ
バイト拡張するというのは、何かカンチガイしてるのでは?
クリティカルな処理だからこそまとめて処理する。
割込内で多重割込みを許可するわけ。
タイマー割込み等がそのまとめ処理中にかかるけど、それは全く問題無い。
まとめ処理の頻度は完全にコントロール出来るから、多重割込の最悪もちゃんと見積もれる。
この場合、3つの調歩同期入出力を、それぞれ単独に処理していたら、たぶん割込負荷が大きすぎて
4800bpsでも厳しいと思うよ。
厳しい理由は、判断・分岐の頻度が大きくなるから。
だから、それをまとめて、一気に処理する事で、コストを下げるわけ
>>340 if( 禁止cnt[i] >0) 禁止cnt[i]--;
else {
if( このリングの 76byte前がLなら){
スタートビットとして 8byte飛びにパラレルシリアル変換
禁止cnt[i] = 80;
}
}
347 :
デフォルトの名無しさん:2005/05/10(火) 21:42:38
>>345 >>336を読もう。
1ビットの情報を格納するのに1バイトのメモリを使用すると書いてある。
こういう処理のことを「拡張」って呼んだりするよ。
348 :
344=347:2005/05/10(火) 21:46:18
ついでに、タイムクリティカルだから「まとめて処理」って発想がいかに馬鹿げているかは
冷静に考えれば誰でもわかると思う。
349 :
294:2005/05/11(水) 04:32:08
>>346 PADR.0,1,2にRXDという仮定で書いて見ました。softboatのICCH83
/*bit受信制御用変数 */
ucharrring[80],rptr;
ucharch2cnt,ch3cnt,ch4cnt;/* シリアル-->パラレル トリガー用カウンタ */
#pragma function=interrupt/*「これ以降の関数は割込み」*/
void C_TMR8A0(void) {/* 8bitタイマ0 マッチA割り込み*/
TCSR0 &= ~0x40;/* 割り込み要因クリヤ*/
rring[rptr] = PADR;/* 受信ポートサンプル*/
rptr = (rptr+1)%80;
set_ccr_mask(1);/* ここ以降多重割込許可 */
if( ch2cnt ) ch2cnt--;
else if( !(rring[rptr]&1) ) {/* 79byte前がstartbit? */
register uchar n,x;
x = rptr;
ch2cnt = 80;
n = (rring[(x+12)%80]&1);
n |= (rring[(x+20)%80]&1)<<1;
n |= (rring[(x+28)%80]&1)<<2;
n |= (rring[(x+36)%80]&1)<<3;
n |= (rring[(x+44)%80]&1)<<4;
n |= (rring[(x+52)%80]&1)<<5;
n |= (rring[(x+60)%80]&1)<<6;
n |= (rring[(x+68)%80]&1)<<7;
r2ring[c2r_wpt] = n;/* 受信byteを受信ringに */
wrap_around(c2r_wpt,r2ring);
}
}
}
350 :
294:2005/05/11(水) 04:48:24
x=rptr以降で多重割込が動いてrring[rptr]やrptrが2,3度変更されても、nに受信byteを再構成
する処理は無事動きそうですね。ASMで右ROTATEを使うのがいいのですがcだとこのように
しか書けません。
出力に関して
>>338で言ってるのは、受信とは非同期でいいのだから、4800BPS=208uSの
タイマを作り、そこでbit送信をすれば?ということですね。今解った(^o^)各CH別にstateを持てば
非同期に送信できるが、stateは1個でも1byte分の遅れで送信できて楽できる、と。
あと心配なのは、多重割込です。割込優先度はタイマ0>タイマ1>uart0>uart1なので、
タイマ0でサンプリング、タイマ1で送信処理にすればいいとおもいますが、割込処理中でImask=0
にしたとき多重割込で入ってくるのは、「そのレベル以上」の割込だけなのか、それ以下も入って
くるのか?後者だとサンプリングがふらつきますね。
351 :
294:2005/05/11(水) 05:23:10
H8/8bit系で12.288M、EPROM外付けというハード条件が想定されるのですが、これだと
26uSの間には10〜15命令ぐらいしか実行できません。割込受付で40〜50ステート、関数の
入口出口でのpush/popを除くと、「身の部分」だけの349のコードでも重いですね。
アイデアは良いと思いますが、これはもう少し高性能のチップ向きのアルゴリズムみたい。
このハードで生ポートのサンプリングを書いたときは70BPSの信号を630uSでサンプルでした。
>>349 多重割込みがかかったときの事を考えると、
多重割込許可の前に、判定する rring[rptr]の値をレジスタにコピーしておいた方がいい。
rring[(x+12)%80] は さすがに12回までは侵されないから大丈夫。
>>350 多重割込許可は全て許可した方が簡単
>>351 H8ってそんなに遅かったっけ? 内部16ビットだから、多くの命令が2ステート
分岐命令が4ステート、その倍くらい実行出来ると思うけど?
353 :
294:2005/05/11(水) 08:45:50
>判定する rring[rptr]の値をレジスタにコピー ・・・鋭い!!ありがとうございます。
>そんなに遅
内蔵ROMアクセスだとそうなんですけど、外部メモリアクセスに6ステート+wait-state分
食っちゃうんです。なので12Mでreg<-->メモリ間のLD/STが1.6uSぐらい。クラのノウハウが
ROM外付けの伝統なので、しょうがないです。今は受信はIRQ+4800でサンプリング、送信は
別のタイマで3CH分4800で送信、という、333と338の折衷みたいなのを考えてます。
H8にこだわらなければ(K80とかNECとかなら)もっと安い、とかこんな手法が、とかありますか?
>>353 そりゃ遅いね。
フラッシュ内蔵の品種にして、
外部EPROMはブート時にチェックサムが違う時に自己書換えするような方式にしてもらったら?
それだけで4倍から早くなる。
というか、フラッシュ内蔵を使わないと、外付けの品種にするだけでピン数が増えてコストアップだと思うのだが?
>>353 6ステートもかかったっけ?あ、8bit busだと二回になるからそんなもんか。
内蔵RAMに余裕があったら、そのへんのコードだけでもRAMに突っ込んだ方がいいのではないかと。
外付けROMを言わないならPIC1個で出来そうな感じだが
357 :
294:2005/05/11(水) 16:51:27
>>354 >フラッシュ内蔵を使わないと、外付けの品種にするだけでピン数が増えてコストアップ
うわぁ、それは私も知りませんでした。 >ブート時にチェックサムが違う時に自己書換えする
これはどんなテクが要るのでしょうか?「内蔵flashに対するプログラム方式」みたいな章が
CPUマニュアルにありますが、その辺の理解? 外部ROMアクセスと内蔵FROMアクセスを両方
RESET処理でできるのでしょうか? そういうコードもしたことありません。
>>355 そんなもんです。内蔵RAMはこのクラスのチップではせいぜい512止まりですから、
コードを置くどころか制御用変数とスタックだけで精一杯です。4〜5CH分のringバッファだけで
4〜8KBは要りますのでRAM外付けは必須になります。
>>356 内蔵uart2CHも動作させる必要ある、っていう上の方の話、見落としてません?
私の元の話は「uart4〜5CHの入出力交通整理。8bitチップでは内蔵は2CHがせいぜい。
uartチップ外付けまたはソフトで同様の機能を代行するとして、お奨めの(安い・作り易い)
構成・アルゴリズムなどは?」なのです。私自身がH8経験が多いのでH8に関する議論が多く
なってしまいました。IRQ+4.8Kサンプリング、26uSサンプリングなど、2,3の上の方で出たアイデア
は実際にコードしてみて一長一短な経過も上の方に出てます。
>>357 外付けROMのチェックコードを確認して、それが正しければ、そこにジャンプしてコードを実行させればいいじゃない。
そして、外付けROMに内蔵フラッシュの書換えコードを入れておいて、
内蔵フラッシュとチェックサムが合わない時にはフラッシュを書き換えてしまえばいい。
でも、UART2チャンネル+外付けRAM・ROMを付けるくらいなら
十分にRAM・ROMを持ってる1チップにした方がいいんじゃない?
RAM8Kの製品もH8にもM16Cにもあるでしょ
新人教育をしようと思っていますが何を教えたら良いでしょうか?
今は、「組込みシステム開発のためのエンベデッド技術」
を読んでもらっていますが・・・
>>359 ゴルゴ13が、わざわざ狙撃に向かないアーマライトを使っている訳 を
教えてやってください。
その教えがいつか必ず役に立つ日が来ます。
361 :
294:2005/05/12(木) 04:33:43
>>358 どちらのROMが有効かはハード設計時にモードセレクトbitを固定にするもんだと
思ってました。入力端子だからソフトで書き換えはできませんよね?
RAM8Kのチップは16bitのシリーズになりますよね。それでも外付けチップと合わせた
値段よりは安くなるのですか? 私、ハードの事情には疎いもので(m_ _m)
>>359 自分で作らせられる程度の小規模なシステムがうまくあるといいのですけどね。
例えば私がやっているような(^o^) コンパイル・リンクなどソフト方面の知識はあるとして、
それ以外の情報は「支援」してやる。ハードの性質とか、割り込みの入り方、デバック方法etc。
>>361 小容量のROM・RAMはどんどん入手が難しくなるし割高になるばかり。
27C64の方が27C256より高い。 27C256だって、500円はする。
RAMはもっと厳しい
CPU単体だっていつまで製品が続くか判らないが、外付けにしたらリスクが減るかというと
そんな事はないわけで、
だったら1チップマイコンで十分じゃない
363 :
361:2005/05/12(木) 08:21:50
なるほど、16bitは性能的にオーバースペックだから8bitと考えていたのですが、ROM/RAMを
適量積んでるというほうを優先で考えたほうが安くなるということですね。これはクラにも話して
あげたいですね。 なにせ製品のロットを作る度に秋葉原で8085買い漁るという「狩猟採集経済」
みたいなことしてるんですよ(^o^)
少しくらいオーバースペックでも、結局は数買った方が安価なんだから
近所の人が使ってるものを使った方がいいよね
365 :
361:2005/05/15(日) 16:47:17
ケータイに使われてる石ならそう簡単に無くならないだろうと思ってH8の16bitを候補にあげました。
あまり数は出ないけど永く作るシステムなので、その辺の寒天から石のお奨めキボンヌ
H8といわれても色々あるからなあ
SXにしとけば間違いはない
>>365 メーカー/販売代理店の営業と付き合いないの?
ケータイみたいなのは陳腐化が激しいからそれこそ、ソレに使ってる部品なんてさっさと消えてしまうよ。
自動車に使われてるとかの視点の方がマシじゃないの? 知らないけど
370 :
361:2005/05/16(月) 05:01:44
ハード屋さんとしかつきあいないの。石買うのはハード屋さんだし。 SXじゃオーバースペック。
メーカーサイトのチップラインナップ一覧表とか見ると、あまりにも多くてパニクリそう。
H8なら搭載RAMが8K/16K、uart2CH、タイマが16と8あわせて7CHということで3062か3068
がよさそう。自動車のどこに使われるかで色々あるとおもうけど、ブレーキにSHシリーズ
という話は聞いたことがある。アクティブサスもマイコンらしいね。
371 :
デフォルトの名無しさん:2005/05/16(月) 16:22:18
今C言語でPGやっているのですが転職して
今度、求人のパチスロやゲーム等の制御系C言語PG募集に申し込もうと思っているのですが
制御系というのがいまいち理解できません。
ハードウェアを直接いじり倒すということでいいのでしょうか?
昔、MZ700とかX1とかX68000でアセンブラでなら色々とやっていたのですが
C言語になると、どうやってVRAMとかのアドレスに直接アクセスしたりするのか
分かりません。
こんな俺では制御系は無理でしょうか?
372 :
デフォルトの名無しさん:2005/05/16(月) 16:40:56
スタートアップとベクタテーブル以外全部Cで書いた
VDP周りは用意されたライブラリ経由でやった
しかし「昔云々と振っておいて、C言語になると、どうやって…」と言ってる時点で無理
>>371 自分で調べることもしないで制御系なんて笑止。
>>371 直接アクセスってこういう事?
(*(unsigned char *)0xFF1000) = 0x01;
>>375 volatile付けておかないと悲惨な事になるぞ。
うっかり忘れて半日つぶしたり…
本物の制御プログラマはvolatileを使わない
378 :
デフォルトの名無しさん:2005/05/16(月) 20:09:39
ボラタらないでどうやってやるんだよ?
この大ボラ吹きが!
アセンブラでごりごり書く。
漏れはもう無理だな。
380 :
デフォルトの名無しさん:2005/05/16(月) 21:29:15
パチスロはともかく、ゲームにはあんまり制御の部分はないような気が。。
まあ実際ゲームセンターいって見れば猿でもわかるけど、
きょうびのゲームのプログラミングの大変さは制御系なんて全然比じゃないよ。
っていうか制御系に必要な知識なんて半年もあれば8割方マスターできちゃうよ。
残り2割に10年かかるが…
学生さんの妄想なんで許してやってください
384 :
361:2005/05/17(火) 05:02:59
ベクタテーブルもcで書けます。
void IntXXX(void);
void (*const vector[])(void) = { /* 割り込みベクタ部 */
(void*)&reset,/* 0000 reset vector*/
(void*)(-1),(void*)(-1),/* 2,4 reserve */
nullint,/* 0006 : NMI */
IntXXX, ・・・ なんて書いてます。これを先頭にリンクすれば0番地になるし。
385 :
デフォルトの名無しさん:2005/05/17(火) 12:11:48
↑べつに無理して書かなくてもいいじゃん
純正のコンパイラなら #pragma を使えばベクタテーブルを
生成してくれるものもある
/* 割り込みソースと割り込み関数の宣言 */
/* こう宣言するとリンクした時にINTP0割り込み */
/* 対応するベクタテーブルの位置(アドレス)に */
/* int_funcExtInt関数アドレスが埋め込まれる */
#pragma interrupt INTP0 int_funcExtInt
/* 割り込み関数本体 */
__interrupt
void int_funcExtInt(void)
{
/* この関数には __interrupt修飾子が付いているので */
/* レジスタの退避と復帰処理に加え、最後に割り込み */
/* からの復帰命令 reti が加えられる */
}
こんな感じ
>371
制御系うんぬんの前に出直してきた方がいいよ
C言語も分かってないようだね
任意のアドレスにもアクセスできないようじゃダメだよ
387 :
デフォルトの名無しさん:2005/05/17(火) 12:38:03
わかってないのは君のほうだと俺は思うよ。
C言語の細かい仕様を知ってるかどうかなんて今日(っていうか昔もそうなんだが本当は)
あんまり重要なことじゃない。
そんなもん、3日もかければお釣りがくるからねえ。
無能な奴に限って「俺はXX言語が...」とくる。
388 :
デフォルトの名無しさん:2005/05/17(火) 12:42:19
本当に勘違いしている奴が多すぎるよこの業界。
本気で、いわゆる「制御系」が技術的に高度な仕事だと思ってるなら、
そりゃあんたがどうしようもなく馬鹿なくせにプライドだけが高くて、
従って現実を見るのが怖くて盲目的になってるだけだよ。
オストリッチ症候群ってやつね。
>>387 おまえも同類だよ
言語は本質的ではないのは確かだが言語は重要だよ
俺に言わせりゃ「無能な奴に限って「俺はXX言語が...」とくる。」
と言ってる奴に限って無能だなw
まあ、まて。
俺に言わせりゃ「俺に言わせりゃ「無能な奴に限って「俺はXX言語が...」とくる。」 」
と言ってる奴に限って無能だなw
>>371 68でCとアセンブラやってたんなら、半年も修行すれば使い物に
なると思うから安心して来い。できれば転職時には成果物持ってくと有利。
>>392 横槍ですまんが、成果物って以前の会社で作ったWinアプリでもいいのかな?
俺一人で作ったんだが、著作権は会社にあるだろうし・・・
見せるだけならOKなのかな?
逆に、面接時に非常識だとマイナスにならないかと、たまに考えてたりする・・・
バカばっかりだな
漏れが思うに
「
まあ、まて。
俺に言わせりゃ「俺に言わせりゃ「無能な奴に限って「俺はXX言語が...」とくる。」 」
と言ってる奴に限って無能だなw
」
と言ってる奴に限って無能だなw
高度な技術ってのは、分野ごとにそれぞれあるんだよな。
まず、学生さんは現場の空気を吸って、それから判断してくれ。
他分野の人は人のところで愚痴を言うくらいなら一人で自分の高度な技術に酔いしれててくれ。
まあ、干されないようにほどほどに。
言語なんて、エラーメッセージの意味がわかって適切に処理ができれば十分。
もちろん詳細を知っておいたほうがいろいろと便利だが、その程度。
それよりも、処理系のドキュメントを読んで、固有のトラブルに対処できるほうが
なんぼか使い物になる。
C89準拠の処理系でC99ならどうとか言ってても愚痴にしかならんorz
>>393 青果物そのもの持ってっちゃまずいだろ
何々のソフト組んだよーぐらいでいいんでないかい
なんなら米国でミサイル制御書きますたってホラ吹いてもいいぞ
面白かったら採用しちゃる
だから、調べることもしないでここで聞いているようじゃトラブル対処なんてできっこないって。
>>399 いきなり果物出されても困惑するだろうな。
農業プラントを作りましたとかいう隠喩かと思われてしまう。
冗談はともかく迎撃ミサイルの開発をオファーされて、
「後出しでぶつけるなんて、できるわけないっしょ!」と蹴った人は知っている。
今は制御とは全然違うことで成功してるけど、受けてたら人生変わってただろうな。
402 :
デフォルトの名無しさん:2005/05/17(火) 18:07:06
マイコンで自動機制御やりたいんだけど、どういう分野ならあるかな?
FAでそこそこの経験はあるんだけど、PLC制御の求人が多くて
できればラダー職人にはなりたくなくて、両方できるという経験が生きればベストなんだけど、
実際にそういう仕事してる人いる?
ちなみに簡単なデジタル回路設計もできます
403 :
デフォルトの名無しさん:2005/05/17(火) 18:07:30
マイコンで自動機制御やりたいんだけど、どういう分野ならあるかな?
FAでそこそこの経験はあるんだけど、PLC制御の求人が多くて
できればラダー職人にはなりたくなくて、両方できるという経験が生きればベストなんだけど、
実際にそういう仕事してる人いる?
教えない君は小さい奴。
405 :
デフォルトの名無しさん:2005/05/17(火) 18:07:51
マイコンで自動機制御やりたいんだけど、どういう分野ならあるかな?
FAでそこそこの経験はあるんだけど、PLC制御の求人が多くて
できればラダー職人にはなりたくなくて、両方できるという経験が生きればベストなんだけど、
実際にそういう仕事してる人いる?
406 :
デフォルトの名無しさん:2005/05/17(火) 18:30:59
マイコンで自動機制御やりたいんだけど、どういう分野ならあるかな?
FAでそこそこの経験はあるんだけど、PLC制御の求人が多くて
できればラダー職人にはなりたくなくて、両方できるという経験が生きればベストなんだけど、
実際にそういう仕事してる人いる?
マイコンで爆撃機制御やりたいんだけど、どういう分野ならあるかな?
F15でそこそこの経験はあるんだけど、P3C制御の求人が多くて
できればソナー職人にはなりたくなくて、両方できるという経験が生きればベストなんだけど、
実際にそういう仕事してる人いる?
>>402 普通にあるだろ
高速制御ならシーケンサーは使わない
>>407 普通にあるだろ
B2制御なら垂直尾翼は使わない
>>398 >言語なんて、エラーメッセージの意味がわかって適切に処理ができれば十分。
言語を詳しく知らなければエラーメッセージの意味も分からんだろう。
例え意味が分かったとしても言語を詳しく知らなければエラーに対する
適切な処置なんかできんだろ。
制御系を恐れるのは、ぶっ壊れてしまうことがあるから。
「エラー出しちゃいましたぁ」じゃ済まされないことがある。
それは業務系でも同じだろ。四捨五入か切捨てかJIS丸めか間違えて計算したら目も当てられない。
数十万件のDBをばっくあっぷもろともきれいさっぱり消してしまうことに比べりゃあ
機械が壊れることぐらい軽い軽い
そんな奴ぁいねえ。
誰かが機械に挟まれて死ぬか、損害賠償払えなくて誰かが首吊るか
どっちも変わらん
>>416 制御系は、機械にはさまれて人が死んで、
さらに、その損害賠償が払えなくて、誰かが首を吊る
おまいら何を制御するつもりなのかと
核ミサイル
そういえば機械にはさまれて拉致監禁状態になって
誰かが近くを通りかかるまで「ぉお〜〜い、ぉお〜い」
と、叫び続けてた奴を知っている(w
>>417 ま、はさまれるのは安全管理の問題であって制御の問題ではないので
入退室の管理制御やってて閉じ込められた。
スパイ映画じゃないがパネル外してソレノイド引っ張って扉開けたけど
いじめに会ったと思いたくない…
423 :
デフォルトの名無しさん:2005/05/19(木) 13:22:34
マイコン(ルネサス製R8C/TINY)にIrLAPを実装しようとしています。
IrLMP、TinyTPも実装しようとしてますが、まずは手始めにIrLAPを
考えています。
Irのトランシーバーモジュールはアジレント製かシャープ製かを採用
するつもりですが確定ではありません。
当方、プロトコルドライバー、あるいはプロトコルスタックの実装経験
がありません。
まずは、リンク層の動作を学びたいと考えてます。
そこで、参考になりそうな下記のサイトを見つけました。
Ethernetの動作過程
www.ese.yamanashi.ac.jp/~itoyo\lecture\network\network07\ethernet.htm
ここでは、『回線監視』、『送信』、『受信』の大まかな流れが解説されて
ます。
もう少し詳しい解説が欲しいのですが、適当な書籍、WebSiteを教えてください。
よろしくお願いします。
www.irda.orgよりIrLAPの仕様書(英文)は入手済みですが、なにぶん
英語が苦手でスラスラ頭に入ってこない状態です。
>>422 パネル外して解除できるんじゃあセキュリティー上問題有りじゃないのけ?
外から中へ入れないための施錠じゃないの
入退室管理というからには
こっそり出られるようではまずいだろ
扉開けた時点で警報出すだろな普通は
オレが
>>422イジメるなら
鍵かけてからハロンガス噴射
>>429 ATMがまるごと盗まれる時代にこの程度で映画の見すぎですかそうですか(w
ATMをまるごと盗むようなやつに対抗する制御プログラムのアイディア求む。
やはり自爆だろう。
中身もダメになりそうだが。
ミサイル制御プログラム
>>422 パネル外さなきゃ解除できないんじゃ、安全上問題ありじゃないのけ?
その手のものは、閉じ込められ防止に
内側からは開けられるように作るものでしょ?
売春宿の
>>431 盗むやつではなく、盗むようなやつならばやはりパネルを外して解除できるのはマズいんじゃないか?
そういう奴はノウハウがわかったら絶対やるぞ、クレーン車用意しなくて済むとわかったら絶対にやるぞ
>>431 なんか勘違いしてないかな。こいつも映画の見すぎだろ。
おまいら、テレビの見過ぎ
テレビ見る暇がほしい
テレビがほしい
ついつい押したくなるからな・・・
俺だったら絶対押す
444 :
デフォルトの名無しさん:2005/05/23(月) 08:00:23
なんでROMもRAMも内蔵してるのに
外付けのRAMが必要なの?
制御でDRAM使うの?
使う
448 :
デフォルトの名無しさん:2005/05/23(月) 12:28:43
>>444 おまいはフラッシュだけでデバッグするのか?
まあ神レベルのコード圧縮技術を持つ俺には不要だがな>外付けRAM
外付けRAMにコード・・
452 :
デフォルトの名無しさん:2005/05/23(月) 22:00:23
>>444 は、なぜそう思ったのかが気になる。
RAMが何MBも内蔵されていると思ったのだろうか?
ワンチップでRAM 512kbyteなんてもの見たことないしな。
でも欲しいな。
64Kの16ビット空間フルRAMってのがあると、色んな応用があるわけで
フラッシュも128Kくらい欲しい。
で、パッケージは小さいのが欲しい。
で、1ドルくらいならとても嬉しい。
PLL内蔵で100MIPSくらいの処理速度あるともっと嬉しい。
中身をn階建てにして1パッケージつーのはありますな。
>>454 そのうち出るだろうな。 でも、出るとしたらCPUでなくDSPで、国は・・・・韓国・・・いや台湾あたりからかもな。
>>454 1ドルは無理でしょ。10ドルでも無理かも。
今日はお前達の糞仕事のせいで大変な通勤になったぞ。責任取れ。
目糞鼻糞
信号機故障しすぎ
>>457 そんなに不可能って事もないでしょ。
FROM除けばDSPで手が届く。
問題は数だろうね。
・ 18ピンDIPパッケージ
・ 発振器内蔵・時計用32768Hz水晶背付選択
・ PLL100MIPS動作時20mA 1MIPS 0.2mA
・ 32K時計水晶動作時はマイクロA動作
・ RAM64Kbyte
・ F-ROM 128Kbyte
・ USB
これくらいの仕様なら数出るかな
保守
いまどきの制御系のターゲットハードウエアなんて
平気でSDRAM使っているんだけど。
プロセッサにSDRAMコントローラも載っているし。
PC向けのDIMMを使って256Mbyteなんてのも普通にあったりする。
>>463 制御といっても、
炊飯器から携帯電話、ビルシステム、工業系、航空宇宙関係まで
ターゲットは様々だろ
DIMMなんかは、接触の信頼性から、過酷環境じゃぁ、まず使えないよ
制御用のプロセッサって安いからそれ使ってんだろ。
466 :
デフォルトの名無しさん:2005/06/08(水) 12:52:09
炊飯器からICBMまで ってーと、ナガノだな
デイジー デイジー
don't leave me alone
The rain in the Spain is mainly in the plain.
ゲート遅延のスピードネックはある方法でなくなった。
470 :
デフォルトの名無しさん:2005/06/11(土) 18:21:20
>>470 モータ制御実験 A/Dデータ収集用 プログラム
だろ?
(Master_1) H.Waniに聞けばいいじゃないか、
1994なのでどこにいるのか探すことになるだろうが。
472 :
470:2005/06/11(土) 18:39:12
>>471 H.Waniさんは残念ながら誰か分からないです…。
とりあえず諸般の事情で突然解析しなければならなくなりました。
私自身プログラマではないのでどうかご助力を。。
473 :
デフォルトの名無しさん:2005/06/11(土) 18:41:23
>>472 このくらいなら3日くらいでレポート書くよ
15+雑費で税込み20万円 くらいでどう?
>>470 > #include "\fads.h"
ちょっと斬新だと思った
> /* jikan */
> void jikan()
> /* sokutei */
> void soku()
これはひどい(笑)
あと、ほとんどの関数が引数返り値なしってのもポイント高いね。
でも全体的に平凡な糞プログラムって感じ。特に個性的なわけでもなく、これ以上コメントのしようがない。
>>470 ひでーな(w
少なくとも金を取れるもんじゃない
まぁ、学生の実験課題なんてこんなもんか
うちの会社にもそんな感じのコード書く奴がいるorz
477 :
デフォルトの名無しさん:2005/06/11(土) 21:11:21
>>470 ぱらぱらっと見たけど
ローカル変数へのポインタを戻り値にしてる箇所があるのはなんだろ?
>>477 ヒープのアドレスを返してるだけ
問題ない
>>470 Boland C++かTurboCだな。
懐かしい。
>>470は解析してどうするんだろう。
Windowsに移植するのかな?
>>472 プログラマを金で呼べ。
それができないなら学内探せば詳しい奴いるだろ。
この程度のボリュームのものなら
まじめにやれば1日あればじゅうぶん解析できるだろ
>>482 ちょっと読めるやつ連れてきたら、1日いらねー
単純にfileにぶちまけてある、定期的に収集したAD Conv.の
測定データを図示するだけだ。
前にもでてるがDOS版のBorlandCかTurboC、PC-9801 or PC-9821限定
今同じことをしたいなら、データ形式だけ弄って
Excelにでも食わせた方が手っ取りばやい
〜ここまではヒントだからタダ〜
485 :
デフォルトの名無しさん:2005/06/14(火) 08:18:28
そんな得意げに書くほどのことでもないと思うけど。。
メインメニューから各ルーチンに飛ぶだけのいたってシンプルなプログラムなわけで。
っていうか、質問者は学生さんでしょ?
必ずしも代替手段を欲しているとは限らんと思うよ。
まあむしろ「課題は自分でがんばって解決しましょう」と。。。
>>483 >〜ここまではヒントだからタダ〜
ここまで読んだ。
487 :
デフォルトの名無しさん:2005/06/14(火) 20:09:18
>470ほか
確かに解析して何するんだろ
見ていてイヤになるコードだね
書き直し決定!
モータ制御実験と言いながら1秒サンプリングかよ
旧三菱(現ルネサス)のM16/32シリーズ用の、
VxWorksボードサポートパッケージってありますか?
ぐぐってみたけど見つからなかった。
見たことある人いる?元々TRONチップだから無いのかな?
BSPってなに?
そのまんまボードサポートパッケージだろ
>>492 M32C対応のgccは無かったような気がするが。
496 :
491:2005/06/19(日) 09:46:06
>>492 やっぱり、ないんですね。
情報サンクス。
マスタークロックの周波数はどうやって決めてんの?
消費電流優先でなければ、最大能力付近で入手し易く、使い易い周波数。
入手し易いのは
10M 16M 20Mのようにキリのよい数字とか
TV用14.31818MHzとか ボーレートジェネレータに使う300*2^n とか
ただ、音声信号を扱うような場合は、デジタル系クロック同士が近いのはノイズ源になるから
わざとそういうのを外す場合はあるよね
消費電流優先だと、出来るだけ低い方がいい結果が出るのでいろいろ
>>498 つまり同じ結果しか得られないのに高クロックを使うのはバカなのね。
新製品を開発したときパクられないように何を隠すのが効果的ですか?
実装者の名前は隠さない方が良いと思います
>>496 あの程度の仕様の石だったら, gcc-2.9.x 系なら
アセンブラ込で一月あればできないか?
>>489 見ていていやにならないのなんて存在しね〜と思うに30円
制服系スレと思って開ちまった…鬱。
制御系が語る制服系のスレなのか
そういえば最近、セーラー服というのを見ないな。
511 :
デフォルトの名無しさん:2005/06/21(火) 21:28:48
田舎に行けば見れるよ。しかも、今夏服ですぜ?ダンナ。
チマチョゴリの夏服、萌えなんだよな〜
ここ何年もみてねぇぜ。
チョンイラネ
514 :
デフォルトの名無しさん:2005/06/22(水) 00:14:20
512に大きなビジネスチャンスが・・・・・
>>509 うっかりすると「作業服を着込んだもっさい男共が集うスレ」
というしごく当たり前の結果になるぞ
516 :
デフォルトの名無しさん:2005/06/22(水) 01:01:14
>>514 偏見抜きでチマチョゴリはもっさいと思うぜ
チャイナドレスなら中の人はともかくまだ納得できる
だが最強はふんどし
517 :
デフォルトの名無しさん:2005/06/22(水) 01:02:33
CreateGame〜陸海空オンライン〜
有志によるMMO製作だよ。
おぃ、お前らの中で、仕様書書ける奴いない?
ちょっと手伝って。
何でこんなとこで自演してんだよw
ふんどしを巻くのに失敗した女の子のことか
521 :
デフォルトの名無しさん:2005/06/22(水) 01:29:23
制御系って具体的にどんなプログラムのことなの?
プログラムはすべて制御じゃないの?
>>517-519 覗いてきた。恐ろしいほどに地雷臭が漂ってる、、、、
俺の中の何かが近寄ってはイカンと警告してた(w
>>521 たとえばWindows上のアプリケーションを作る場合、
多くのプログラムが操作する対象は、画面やデータでしょう。
それに対し、制御系と呼ばれる人たちが対象とするのは、
モータだったりセンサーだったりします。
扱う対象が異なれば、プログラムの組み方や考え方もだいぶ異なってきます。
また、PCに搭載されているハードウェアはWindowsとドライバによって制御されていて、
Windowsのアプリケーションは、その上でCPUの時間を使わせてもらって動いています。
自分のプログラムだけがハードウェアを占有することは、まず許されません。
また、Javaアプリなんかは、JavaVM(仮想マシン)というソフトウェア上で動作するプログラムです。
このスレにいる人たちは、
自らのプログラムでハードウェアを管理・操作して
時間的にも数ミリ秒から数十マイクロ秒周期で単位の確実な制御を行う、
そんなプログラマなのです。
そうそう、itronやvxworksなんて使わない人々のスレ
OS禁止スレですか?
>>521 機器の制御プログラムの「機器の」が省略されてるとおもいたまへ
ご飯炊くのにOSいらない
>>524 uITRON程度だったら、簡単に自作できるお
ネットワーク系やUSBなんかのミドルウェアは買ってくることが多いだろうけど、
制御対象となるモータやセンサの駆動部分はさすがに自分で書くんじゃない?
>>527 いまや冷蔵庫がネットに接続する時代ですよ
きっと炊飯器もUSBにつながったり、携帯電話から操作ができたり、
タッチパネルのQVGAスクリーンが付くに違いないw
>>529 > ネットワーク系やUSBなんかのミドルウェアは買ってくることが多い
あなたはこのスレの住人として失格となりました。
携帯電話から炊飯スイッチオンは欲しい。
通勤片道1時間なので、会社出るときに炊き始めるとちょうどいい。
あ、帰社時間が事前にわかってないと使えないか。すまん
535 :
デフォルトの名無しさん:2005/06/22(水) 19:20:05
>>534 それでも、24時間ぐらいなら問題ないよ
1週間で炊いたと勘違いするほどふくらみ
2週間後に新しい生命が誕生する
半年後には千倍の米が手に入る
>>537 マジで知りたいんだけど、土が無くても千倍になりますか?
方法があったら教えてくれ。
稲作なら俺に聞いてもいいぜ(1)
どっちが2期でどっちが2毛だっけ
不毛な話はやめろ
炊飯器が無いので、ご飯を鍋で炊いたら、
吹きこぼれた上に、カチカチになった。
炊飯器の加熱制御してるヤツいたら、
加熱カーブのヒントだけでもおしえてほしい
>>542 まったくそんな仕事はしてないが、昔から
「始めチョロチョロ、中パッパ、赤子泣いても蓋とるな」と言うだろう
王道は道具が変わっても変わらんよ。
但し、土鍋は熱伝導率が悪いので始めから強火でいいらしい
強火で沸騰→弱弱弱火で失敗しないと思う
間違っても中パッパとしないように。
玄関あけたら5分でごはん
>>542 マジレスすると、最近は
「ご飯を炊くモード付のガスコンロ」があるらしい
何がどうなってそんなことが出来るのかは
まったくわからないけど
>>547 昔は(もちろん今もだが)ガスで米を炊いていたわけだが?
549 :
542:2005/06/22(水) 22:12:30
おぉ、なんかたくさんレスついてる。サンクス
海外なので炊飯器かえないんだよね。
ちなみに、コンロは電気式で6段階の出力調整が付いてるが、
どうもコレ、リニアではないっぽい。
>>548 違う違う
なべに水と米いれて、火をつけてほうっておくと
勝手に火加減を調節してご飯を炊き上げるらしいよ
>>547 マジレスすると、最近は
「ご飯にする?、お風呂にする?それとも、アタシモード付のガスコンロ」があるらしい
何がどうなってそんなことが出来るのかは
まったくわからないけど
中パッパの”パッパ”ってなんだ?
554 :
デフォルトの名無しさん:2005/06/23(木) 09:50:33
圧力鍋で炊くと、びっくりする程美味い
圧力が重要なファクター
>圧力鍋 ご飯炊き用に「低圧」モードを選択できるようになってない?
俺30年来圧力鍋で炊いてる。もう飯炊きはベテラン。・・・ってここ制御系スレだよね?
低圧にするくらいなら他の鍋で作るな
>>531 電源ON程度なら、PCにwebサーバー入れて、携帯からアクセスすると、
CGIで制御プログラムを起動、パラレルポートからリレーでONとかはどう?
制御系を自負するならH8とかPICでやるか?
このスレの住人なら、ほんとにやるやついそうだなw
炊き上がったら携帯にメールで報告するとか。
>>558 圧力制御くらいならできそうだが、
耐高温、耐水設計がたいへんそうだな
>>559 問題は、炊飯器の「スタートボタン」をばらさなきゃならないこと
前もってた古い奴はコンセントに挿すと炊飯開始したので
その辺をばらすことなく遠隔制御できたけど
今のはしょうがないからばらして
その程度、問題とは思えないが。このスレの人間なら。
そこで炊飯器のボタンを操作するロボットですよ。
業務用は洗米からやってくれるぞ。
米びつとくっついてて、洗米・炊飯やってくれて
食べ終わったら洗浄まで自動でやってくれないかな。
ついでに、米びつの米が少なくなったら
自動的に米屋にメールして発注して欲しい
そのくらいはやろうよ。
圧力鍋と保温調理鍋が一緒になった鍋がないのはどうしてなんだろう?
圧力鍋、使ったこと無いの?
>>567 いやいや、そこにビジネスチャンス。
米びつの米が少なくなったらオススメの米をメールで連絡→発注。
その手数料をいただくというビジネスも可能ではないか。
家庭用で洗米機構付きの炊飯器は欲しいね。
CEだったかTronだったか忘れたが、中身の管理付き冷蔵庫は
TVで見たな。オーブン電子レンジと連携してレシピや調理時間や
云々だったような
後者は実際に売ってるようだし。
無洗米専用にして、発注も無洗米限定にしたほうがまだ現実的だな
573 :
デフォルトの名無しさん:2005/06/24(金) 20:05:08
>>そこで炊飯器のボタンを操作するロボットですよ
普通に人間の女じゃダメなの ( ゚д゚)?
家庭用で人間の女付きの炊飯器は欲しいね。
まずは自分で圧力鍋の事を調べれ
>>573 >普通に人間の女じゃダメなの ( ゚д゚)?
炊飯器のスイッチ押すのは、女じゃなきゃだめなの( ゚д゚)?
この中に○印マホービンとかタ○ガー魔法瓶の人いるでしょ?
>>普通に人間の女じゃダメなの ( ゚д゚)?
品質の悪いのつかまされると、ランギングコストが恐ろしく悪そうだな・・・
>>577 炊飯器のスイッチを押す女の子型ロボットでFA
>>574 人間の女つきの炊飯器がないのは何でだろう。
585 :
デフォルトの名無しさん:2005/06/25(土) 09:34:16
人間の女なら炊飯器のスイッチ以外に、あんな所や、あんな所や、
あんな所も押してもらえるだろ?
(*` Д´)ハァハァ/lァ/lア/ヽアノ \ア
・・・・・・・・・・・納期近いから会社行って来ます・・・・・・・
まずは自分で人間の女のことを調べれ
まじで、冷蔵庫と洗濯機、乾燥機を合体して下さい。
洗濯機と乾燥機がセットになった今、次世代機は当然 箪笥との融合だな。
乾燥した洗濯物をたたんで自動的に収納
うーん。 結局家事ロボット1台でいいじゃない
ロボットが 朝起きたら
コーヒ豆を炙って挽いて、コーヒ入れてくれて
会社に送り出してくれて、
留守の間に、
・お風呂場で洗濯して、
・ツッパリ棒をものほし竿にして乾し
・ウチワで扇いで乾燥させ、
・取り込んでくれて
帰える前に電話で「お食事にしますか、お風呂ですか?」 と聞いてくれて
・ゴハンを圧力釜で炊いてくれて
・適当に料理も作ってくれて
寝る前に・・・
>>593 ちょっと匂いをかいで「うふふ」
三指ついてお出迎え
「お背中流しますか?」
が抜けている。
>>593 「変なおもちゃで遊んでばかりいないで家族のことも考えてよ。
貯金は全然ないしローンは30年だし給料はさっぱりあがらないし。
孝太の教育費も馬鹿にならないのよ。だいたいあなたは理屈っぽい
癖にこういうことは全然考えようとしないんだから」
が抜けてる
>>593 「途中でやめるくせにいじらないでよ。」
が抜けている。
馴れ合ってるとこ悪いけど、書いてる連中の年齢層想像すると気色悪いよ。
そろそろやめといたら?
こういう風に自分が見えない人間が多いんで、こういう業界って
アキバ系の巣窟みたいに思われちゃうんだよ。この業界に居る者としては正直勘弁してほしい。
まあ、そういう見られ方って確かに一部現実を反映しているのは確かなんだが。。
>>599 自分の顔を鏡で映してみたことはあるかい?
>>593 「あんた、ちゃんとゴミ分けて出しといてよ。」
が抜けている。
とりあえず
>>593は仕様抜けが多いことはわかった。
発注に慣れてないんだろうな。
そんな仕様じゃ人間の女は検収できん。
すっかりネタスレになってしまった。
ふつうの質問が出てくればまともにすぐ戻る
アナログ回路図が読めません。
どうしたら読めるようになりますか?
とりあえずオームの法則から。基本。
トランジスタ関連は、等価回路がわかればかなり見えるようになる。
あとは定番回路を知ることかな。
でも、工学板か、電電版向けの質問だね。。
アナログ回路できる人も減ったよねえ
昔のintelはアナログが弱かったよな。
マイコンも手作りできた時代は、対数演算用にOpアンプで演算機作ったりしたよね。
opアンプによるアナログコンピュータって今でも使っているんだろうか?
昔、ミサイルの弾道計算(あるいはホーミングミサイルのターゲット追従計算?)
使っていると聞いたことがあるが。
今どきアナログと言ったら、センサ周りと電源ぐらいかな。
理論と実践を繋げてある本がいいと思う。
回路図から電流・電圧の計算はできても、「分圧回路作って」と言われて
思考停止してしまう人が時々いる。
昔、ファームをやってたが、プログラムは作れるけどハード作れと
言われてもいまだにダメだな
まあ今は別の職種だが。
趣味で何か作りたいが、どの本読んだらよいのやら・・・
>>617 習うより慣れろ
キットで遊べ理論はあとからついてくる
619 :
470:2005/06/28(火) 13:49:16
学生です。ただの実験課題のひとつです。
そのとおりなんですけどやらなくても
レポート通るし、Cもポインタまでしかやってないんで
誰もやれないんです。
宿題かたずけるスレで聞いてみます。
620 :
470:2005/06/28(火) 13:53:29
×誰もやれないんです。
○誰もやらないんです。
この前、面接に行ってきた。
普通の盤屋だと思ってたら、どうやら、このスレに書かれているような仕事らしい。
三流大学の電子工学科卒でパソコン音痴、エクセル・ワードすら使ったことが無い。
入力はかな入力のみ。
仕事でパソコンを扱ったことは無いし、プログラムの「プ」の字も知らない。
もちろん、このスレに書かれている事は全く理解できない。
「全くのド素人ですが・・・・・」
と答えたら「大丈夫だよ。うちの社員は未経験者が多いから。」との答え。
将来的には俺にセールスエンジニアになってもらいたいらしい。
もちろん、いきなり営業という訳にもいかないから色んな部署を回って仕事の流れを理解してから・・・・
というが・・・・・
前職は電気工事士で年齢は35歳。
面接は5分だけで終わったので恐らく不採用とは思う。
ただ、0.1パーセントの確率で内定を貰ったら・・・・・
バカにされるのを覚悟で聞かせてもらうが
この仕事は俺のような者でも勤まるものなの?
面接官は「大丈夫。大丈夫。」と言っていたが・・・・・
>>622 大丈夫だ。
だが、やる気が無いならやめておけ。
>>622 セールスエンジニアは初心を忘れなければそこそこ成果を上げられる。
出入り禁止になるとクビ。
>>622 変に腕があって俺様なやつよりは何にも知らなくて(ただしセンスは有ること教えたことは吸収してもらわないとね)
会社の色に染まってくれる奴のほうが会社にとってはありがたいものなのですよ
626 :
622:2005/06/28(火) 22:26:18
>>623、
>>624、
>>625 皆さん、ありがとうございました。
正直、「逝ってよし」とか「氏ね」とかいうレスが付くとばかり思っていたので
「大丈夫」という皆さんのレスにとても勇気づけられました。
パソコン音痴の自分からしてみたらこの手の技術を身に付けるのは
「幼稚園児が東大合格を目指すようなもの」と思っていたもので・・・・・
運良く採用されてこの業界に入っても、皆さんからの教えを心に刻んで頑張っていきます。
皆さんのレスは絶対に忘れません。
ありがとう!! 本当にありがとう!!
627 :
デフォルトの名無しさん:2005/06/28(火) 22:27:28
>>622 セールスエンジニアなんでしょ?設計しろと言われてるわけじゃない希ガス・・・・
628 :
622:2005/06/28(火) 22:41:30
>>627 お客に聞かれて「???」という訳にもいかないし
お客の要求する仕様を設計者に伝えるのにも
バリバリの設計者みたいな技術程じゃなくとも最低限の技術は必要かな?
と思っているのですが・・・・・
違うのでしょうか・・・・・・
>>628 「???」 となるところをグッとこらえて、さやわかな笑顔を維持
>>628 あんましよくわかってない営業のほうが強いね
成功率7%くらいのものを120%くらい言っちゃうから
客受けはいいわな(あとがたいへんすぎなんだよ( ゚Д゚)ゴルァ!!
たまにわかってるのにそういうこと言っちゃうやつも居ますけど
それって嘘つきなわけで人間的にどうかとおもっちゃいますです
>>628 正直、おまえさんを教育する人の力量次第だ
今現在の知識なんてさほど重要ではない
それよりも人間/社会人としての自分を磨け
>>628 なんかスレ違いのような気もするけど、興味もてない分野で働くって幸せじゃないと思うよ。
セールスエンジニア(要するに営業)って9時〜17時の定時で帰れる仕事とも思えんし。
余程食うに困ってて、しかも他に職が選べないのならしょうがないかもしれないけど。
なんかやる気だの気合だのと時代錯誤のこと言ってる人もいるけどどんなもんかね。
そりゃ頑張って仕事で自己実現したいと思う人間がいてもいいけど、
そうじゃない人間がいてもいいわけで。
>>622は恐らくそういうことを望むタイプじゃないよね。
>>630 その手の営業は設計とか製造と折り合い悪いよな
納期とか工程一切考えずにばかすか仕事持ってくるからしわ寄せが全部こっちに来る
ESEC 1日目乙。いい出物あった?
漏れ? 仕事で行けない… orz
>>633 ZigBeeとか気になるんだけど、製品出回ってる?
漏れも仕事でいけない。orz
>>635 あれが気になるなら、
Freescaleのセミナに行ったほうがいい
確か今月末あたりの日程で募集してたはず
ああ今週ESECだったのか。
金曜あたりなら行けるかなあ。
友達が居ないのでタダ券を貰えません。
インターネッツに問い合わせたら締め切りといわれました。
6/29〜7/1「第8回組み込みシステム開発技術展」@東京ビッグサイト
ちょっと仕事の関係で98互換のFA向け機ってのに興味あったですに〜
で、なんで圧力鍋で保温調理もできる鍋が存在しないの?
>>840 圧力鍋は保温性にも優れているからだよ。
逆に言うと、一度沸騰させれば30分くらい高温高圧を保てるから、楽+エコロジー?
そこで一分鍋ですよ。
645 :
デフォルトの名無しさん:2005/06/30(木) 22:09:53
>>645 新規で使う奴はいないだろうけど、昔の奴が壊れたのでその代替に・・・という需要は意外にある。
エロゲマシン
648 :
デフォルトの名無しさん:2005/07/02(土) 01:11:47
タイマーと割り込みがわかんね
よって、教えて
そんなもん、よう見つけてくるな
タイマーは 大抵はカウンタだよな で具体的には何が知りたい?
割込 は、実行されてるプログラムに外部から強制的にサブルーチンコールを入れる事
>>648 CPUによって違うので一概に言えないが、
・タイマ割り込みハンドラを書く。
・希望の周期になるようにタイマの分周比等を設定。
・タイマを起動させる。
・タイマ割り込み許可フラグをONにする。
・設定した周期毎に割り込みがかかり、割り込みハンドラが呼ばれる。
タイマーと聞いて、真っ先に思い浮かぶのは8253。
そんな俺は、もうオッサンw
俺は8254だな。
まだ大麻は制御が楽だよ。
ここ最近USBとNAND FLASHをDMAと割り込み使ってひどい目にあってる。
すまん、何をしようとしているのか
さっぱり想像できん。
>>654 USB, NAND FLASH, DMA, 割り込みのそれぞれはわかるが
それらを組み合わせる制御というのが思いつかん。
USB-DMA-割り込みの組み合わせは想像できるが。
NAND FLASHがそこにどう入るのか...
(フラッシュメディアをUSB経由でドライブ?)
656 :
デフォルトの名無しさん:2005/07/04(月) 01:34:43
一定方向に無間に動くモータに取り付けられたエンコーダのパルスをポーリングして、
現在地を決めるプログラムを作ろうとしているんですが、
たとえば、エンコーダが16ビットでもモータのギア比などで一回転1000パルスだったりすると
1000で割った余りを求めなければならないですよね?
でも、わり算は行いたくないし、何かテクニックがあるのでしょうか?
パルス数をすべて計測しおわってから距離を求めるより
1000未満でカウントするカウンタと1000毎にカウントするカウンタで
パルスごとにカウントするのが簡単だ。
16bitでも1000x65535+999まで計測できるし。
CPUが10進補整命令を持ってるなら、そのまま10進数でカウントするのが簡単かもしれないね。
エンコーダが16ビットという事は、
2相信号にアップダウンカウンタ付きかな?
結果として16ビットデータが得られるのなら、割り算をするしかないかも。
でも割り算といっても、エンコーダの値をEin メモリをEold Pulse として
while( E-Eold > 1000) { Eold+=1000 ; Pulse++;}
while( E-Eold <= -1000) { Eold-=1000 ; Pulse--;}
とやれば、エンコーダの値が突然跳躍しないなら、平均負荷は大きくないよ
660 :
659:2005/07/04(月) 07:11:45
>>659だとバックラッシュが出てしまうから
while( E-Eold >= 1000) { Eold+=1000 ; Pulse++;}
while( E-Eold < 0 ) { Eold-=1000 ; Pulse--;}
この方がいいかもね
661 :
デフォルトの名無しさん:2005/07/04(月) 12:42:11
妙な策を労するより、素直に計算したほうが簡単だし、保守性も高いと思うけど。。
いまどきその程度の負荷が問題になるようなショボいCPUコアがあるとも思えない。
8BitCPUのアセンブラでやるとしても、16ビットの乗算(割り算というより乗算でしょ?)
ぐらい書けるでしょ?
A*B*2^-16を計算することを考えればいい。
>>661 16ビットだと、その方法だと誤差が大きいよ。
それにPICみたいにADDC命令を持ってないCPUだと 除算を書くのはけっこうシンドイよ
1000と1024は非常に近い。
2.4%が許されるなら 10ビットシフトで代用出来るね
>>656 デジタル微分とかデジタル積分でググッテ見たらどうだろうヒットするかどうかは知らん
(整数演算の加算減産のみで割り算掛け算と同じ結果を出すことができる)
昔は一般的な技術だったが最近は浮動小数点演算でやっつけちゃうしな
DDAとかデジタル微分解析器の方がヒットするかもね。
でも殆ど直線や円の描画のサイトだろうけど。
DDA+エンコーダ とかDDA+ステップモータ だと結構絞れるかも。
DDAは今でも、動的に係数類を調整しなければならない時には有効だよ。
>>666 そう、その直線描画のxとyの関係がエンコーダパルスと実際に進んだ距離の関係にぴったしハマルのでうま〜かと
ポーリングでやろうとしてるようだしこういう軽いのがいいよね(割り込み使えよ(w
問題は余りを求めたいのだから、
>>659の方法は正解。
>>661-662 はダメ。
無限に回転するという仕様でなければ
1000で割った余りを求めるには 余りを変更しない返還
X := (X and 1023 ) + (X/1024 )*(1024-1000)
とやればいいんだけどね
>>659が正解と書いたけど、無限回転する事が考慮されていないような
いや、E-Eold はEが桁溢れしても大丈夫か?
というかありものでやっつけるんでなくてこれから設計するなら整数比になるようにギヤ比を設定するわけなんだがなあ
>>670 1回転千の分解能なら設計としてはそれでいいんじゃないの?
問題は、エンコーダを使う事の方だけど、でも、これもしょうがないでしょ。
2相のUP/Downカウンタ内蔵の機種ならコレ使わないわけにいかんし
ソフトで処理するには割込処理がキツクなるし
あいやちょっとまてエンコーダー16びっと?アブソリュートエンコーダーですか?
そうだとしても16ビットなのは電源投入後の初期位置を求めるときのみの話で運転中はA相B相の2相パルスのはずですね?
初期位置の計算をしたいという話であれば最初に一回計算するだけだからわかりやすくて素直なコードにしとくのが良いと思うな
>>671 >1回転千の分解能なら設計としてはそれでいいんじゃないの?
ああちょっと頭の中がゴチャになってた、ありもので一回転956.7パルスとかになってめんどっちい思いをしたことがあったもので(w
674 :
656:2005/07/05(火) 00:52:01
いっぱいレスが来てますね
ありがとうございます
案外このスレの住人には身近なテーマなのでしょうか
書き足りなかったので誤解を招いているところがあるようですが
16ビットと1000というのは例えです
実際には32ビットで10000かもしれないし、500かもしれません
>>659-660さんの方法がいいのかなと思い始めてます
ただ
>>668-669さんが指摘されているように
無限に同一方向に回るので
桁あふれをどう扱ったらいいのかと考え込んでいます
>>665-667さん
調べてみたけどDDAの考え方が近いのかな
もうちょっと調べてみます
>>670 任意のギア比というのもまた難しくて
結局割り切れるギア比しか対応できてないです
たぶんこれも知る人ぞ知る定石があるんでしょうけど・・・
>>674 >桁あふれをどう扱ったらいいのかと考え込んでいます
Eが桁溢れをしても、 E-EOldは EOldがEに追従してるから、この引き算の結果はオーバフローして
結果正しい筈。
ファジー制御は最近どうなった?
E 8bitにして100で考える
0から50づつ増やす
E EOld
0 0
50 0
100 100
-106 100
-56 -56
-6 -56
44 44
オーバフローしても、E-EOldも追いかけてオーバフローするから
差は常に上手くゆく
>>674 割り切れないギヤ比はDDAでうまくいくよん
H8S2239で、オンボードプログラミングでソフトの書き換えプログラムつくらなきゃ
ならなくなった。
ハードウェアマニュアル見ると、書き込み制御プログラムを
RAMに転送して、RAM上の書き込み制御プログラムが新アプリを転送するみたいなんですが、
この書き込み制御プログラムをどうやって作るかよくわかんないでいます。
書き込み制御プログラムの処理自体はマニュアルに書いてあるのですが、
とっかかりがよくわからない。開発環境はHEWなんだけどCPUは2239を選択して普通に作ればい
いのか?
ブートモードでやるんですが、ブートプログラムが勝手に書き込み制御プログラムのmain関数から
実行してくれるんかな?
組み込み系の情報が少なすぎて、正直頼れるのがここぐらい・・・困った。
なんかよく判らんが、ブートモードってのを選択出来るんなら、
最初から書換えプログラムがROMにあると思うのだが?
というか、H8はWebから情報が殆どダウンロード出来るし、情報不足になるとは思わない。
不足してるのは、そこらへんの常識というか、基礎というか
ブートプログラムはホストとの通信関係の設定とかしかしてくれないんですよ。
書き込み制御プログラムはユーザーで用意するってはっきり書いてあるし。
基礎不足というのは否定しませんし、H8Sの情報はあるにはあるけど、問題が
解決できるような情報は見つかりませんでした。
682 :
デフォルトの名無しさん:2005/07/05(火) 23:43:30
それって結局、H8の使い方がわからない、HEWの使い方がわからない、のどちらか、
あるいは両方ってことのような気が。。
正直、なんじゃそりゃって感じ。
そんなの知るかよ。。。
一から手取り足取りここで誰かに教えを乞うつもりかね。
683 :
デフォルトの名無しさん:2005/07/05(火) 23:47:00
いや、それ以前にマイコンのプログラムはじめての人か?
なんか便利なライブラリ関数があって、
それを適当につなぎ合わせれば目的のプログラムが書けると思ってるのかな?
極簡単なON/OFFの温度制御やろうとしたら2進→10進のコードが一番長くなったよ。
ON/OFFの制御で2進→10進が必要なのはどこ?制御自体じゃなくて表示も作ったから?
687 :
680:2005/07/06(水) 07:21:53
>>687 ホストがPCではないんですがほぼそのとおりです。
マニュアルにプログラムを書き込み制御プログラムを格納できるエリアは
H'FFC000〜H'FFDFFFってなってるんですが、これはRAMのFFC000番
地から実行すると解釈していいんでしょうか?
それと書き込み制御プログラムを作るにあたって、セクション関係をどうすれば
いいのか・・・この辺がわかればいけそう。
すみません・・・・
識者の方々が多々いらっしゃるようなのでお聞きしたいのですが・・・
WindowsXPでStorageにセクター単位でアクセスをしたいのですが
どのような方法で行えば宜しいのでしょうか?INT21hを使用できる
のでしょうか?DeviceIoControlを使用すればできるのでしょうか?
なにか参考になるようなものを教えて頂けると嬉しいのですが・・
くれくればかりで申し訳ありません(o*。_。)oペコッ
DDKみれ。
692 :
デフォルトの名無しさん:2005/07/07(木) 00:30:32
>>690 DDKみても何がなにやらさっぱり・・・(ノ_・。)
MSDNとずーっとにらめっこしてたのですが、
あほな私にはたどり着けません_| ̄|○ガクッ
>>691 CreateFileでHANDLE指定でいけますか?
クラスタ単位というかファイル単位ではいけるのですが
セクター単位でマスターブートいじったりしたいんです(ノ_・。)
ご存じでしたら教えて頂けませんでしょうか(o*。_。)oペコッ
>>692 MSDNのCreateFile()の説明を穴が開くほど読め。
694 :
デフォルトの名無しさん:2005/07/07(木) 01:03:05
>>693 ありがとうございました!
CreatFileにあるんですね!
なんかじっくり見るべきところが絞れて凄くうれしいです。
ありがとです(o*。_。)oペコッ
695 :
680:2005/07/07(木) 05:32:07
>>688 最初の質問はその通り、
2番目は、Cで書くならCRTから自分で作らないといけないというか
アセンブラレベル(バイナリ-レベル)の理解が必要だから、勉強してくれといしか言えない
696 :
デフォルトの名無しさん:2005/07/07(木) 12:39:41
>>695 パーティーションからだと、アセンブラ必要ないのでしょうか?
とりあえず、MBR諦めて、PBR、FAT、ROOTDIRいじれれば
いいような気もしてきました。。。
実は、、、ディスクが飛んでたのでデータ修復しようかと(−−;
どこかのソフトで論理アドレスをモニターしたのですが、FAT
とディレクトリエントリが壊れてるだけで、その他は一部生きている
ようなので、クラスタをシリアルにならんでると仮定して、つなぎ
変えてみようかと・・
USB StorageがSCSIプロトコルで通信してたとすると
SCSI_PASS_TROUGHT_DIRECT(あれ?なんか違うような・・)
をCreateFileに指定???
なんかさっぱりで・・・
ageちゃいました。。下げときますm(__)m
>>696 そういうのはDOSで作ったほうが楽ちゃうけ?
699 :
デフォルトの名無しさん:2005/07/07(木) 22:26:30
>> 698
制御したいのはUSBなんです。
DOSだとUSBを認識させるの面倒くさそうで。。。
せっかくの機会なのでWindowsNT系でできるなら
やってみたいのです。
今日もいろいろしてたらできなかったので明日
つくってみます。。(−−;
>>699 IDEのドライブなら\\.\が使えるんだけどねぇ。
USBドライブだとどうなるやら。
>686
趣味で作ったお遊び回路で、液晶表示もつけてみたんです。
ボタンつけて温度設定できるようにしたりして。楽しかったー。
>>701 あのプリンタポートで無理矢理
シリアル通信やるとか言ってた奴か?
703 :
689:2005/07/09(土) 08:42:48
会社のパソコンのCドライブが飛んじゃった_| ̄|○ガクッ
>>703 やれやれ、VirtualPCとかVMWAREとか買って貰えよ。
>702
違いますよ。
今度はマイコン使わずに挑戦中です。温度表示はLED沢山並べて…w
業務系DB更新画面ばかりを作ってきてウンザリ気味だから
今度、制御系に挑戦しようとしてる者です。
RTOS で動くプログラムを Win や Linux 等でエミュレートできるような
学習用(?)開発環境のようなものってあるのでしょうか?
一応、ネットで調べた限り ITRON という OS を使うことが多いということまでは
わかったのですが、本屋で関連書籍を探しても、1〜2冊しか見つからなかったので
おすすめの書籍なども教えていただけると嬉しいです。
さすがに、手ぶらで制御系へ転職活動というのも不安なので、よろしくおねがいします。
707 :
デフォルトの名無しさん:2005/07/11(月) 22:29:01
期待age
>>706 私の勤める会社に来るかね。業務系の仕事をこなしつつ制御系の仕事を覚えられるよ。
タイミングが合えば、私と一緒に先週金曜日に爆発事故があった工場で仕事できるし(ぉぃ
711 :
706:2005/07/11(月) 23:36:01
>>708さん
>>709さん
貴重な情報ありがとうございます。
今までは、情報量だけは多いMS関連のことばかりをやってきたので
非常に助かります。
>>710さんも、お心遣い感謝です。
SH4とかをアセンブラで書いてる人っていますか?
パイプラインを自分で詰めるってどんな感じなんだろうかと
713 :
710:2005/07/12(火) 03:31:46
>>711 まぁ、うちみたいなところもあるから手ぶらってあまり意識しないでもいいんでないかな。
某就職フェアで待ってますから(ぉぃ
>>712 ディレイブランチとか?
アセンブラが勝手にやってくれるんじゃないの?
>>712 SH2Aなら。
そういうのはあんまし考えないで書いてるが。
>>714 諸般の事情でGNU asなのですが、そんなん面倒みてくれまへん。
うっかりディレイスロット埋めるのを忘れて悲惨な事に…
>>712 アセンブラで書かなければならない部分はごく一部なので
(割り込みハンドラとか)、割と効率とか気にしないで書いても
十分だと思う。
パイプライン詰めとかはCコンパイラに任せる(つまりCで書いた部分
だけきっちりパイプライン詰めたコードになる)。素手でやれって
言われればできなくもないけどな。ただ、原理自体は知っておいて損はない。
自分の書いたCをコンパイラにアセンブラ化してもらい
無駄な処理を削る作業まではやったけど、
パイプラインを考慮して、処理の並べ替えをしたいと思ってます。
なにか適したToolってありますか?
コンパイルオプションの「最適化レベル」をいろいろ変えてみた?
機械語レベルでいじってプログラマの責任でやることのほうが不安に思える。
コンパイラが保証してくれるところ以上の性能が必要なの?
>コンパイラが保証してくれるところ以上の性能が必要なの?
プログラム自体が単純であるということと、
そのプログラムが処理速度を求められていることの2点があるからです。
なんせ、そのプログラムは
@RAMにゼロを書き込む(RAMのクリア)
AクリアしたRAMの中身を任意の変数(初期値0)とORする
B次々とRAMをクリアして任意の変数とORする
C最後にORした任意の変数がゼロかどうか調べる
といったものです。(ただし、プログラム自体は処理速度向上のため色々やってますが)
もし変数の中身がゼロでなければ、それはRAMがきちんとクリアされていない。
つまり壊れている可能性があるということが調べられるというものです。
仕事上このような処理が必要で、モータ動作中にRAMのクリアをしないといけないので速度を求められました。
ただHew2で速度重視で色々と最適化したら、なぜかゼロクリアはされていてもORはされていませんでした。
最適化オプションで外部変数の最適化を行ったかららしいですが、なぜ勝手に処理がなくなったんでしょうか?
>>721 最適化オプションで外部変数の最適化を行ったからじゃないのか?
そもそも外部(性的)変数はHEWのライブラリによって
起動前にヒープの初期化で丸々ゼロ埋めされてない?
ゼロとオァーッしてもゼローッイェーイ→やる意味ねー
という最適化プロセスがはらたいら
724 :
デフォルトの名無しさん:2005/07/13(水) 10:49:52
>>721 その程度の処理で
コンパイラの吐き出したダンプと、
アセンブラ手打ちと差が出るもんかな?
最近のコンパイラの最適化はかなりなもんだと思うけど
726 :
デフォルトの名無しさん:2005/07/13(水) 18:19:55
ハードウェアを抽象化するためにドライバを作っているのですが
ハードウェアのレジスタに不正な値が書き込まれないかエラーチェックをして
不正な値が書き込まれたらエラーを返すような仕掛けは必要でしょうか?
>>726 ハードで不正値を弾けないなら、チェックする
チェックしないで誤動作したら
アプリを書く人に怒られる
たぶん
>>721 前スレの↓と同じ人?
565 名前:デフォルトの名無しさん[sage] 投稿日:05/01/14 21:44:36
はじめまして、一つ伺いたいのですがよろしいでしょうか?
あるRAMエリアに対して0でクリアしたあと本当に0になってるか
チェックする処理を作りたいのですが、とにかく処理時間重視と言われました。
処理能力を気にしないので良いなら悩まなくても良いんですが、
どういうロジックを組めば最も高速にクリア&チェックできるか私の頭ではわかりませんでした。
言語はCですが、処理能力考えるとアセンブラで組んだほうがいいような気もします。
何かよい知恵がありましたら教えてください。
H8って一年位前に使う計画があったんで(結局没になったが)そのときちょっとかじったんだが
なんかアセンブラ使いにくくない?
いや、H8の石そのものってよりH8のアセンブラが。
特になんじゃこりゃなめとんのかと思ったのが、
(1) シンボルの再定義ができない
(2) ジャンプやコールで、飛び先までの距離に合わせて最適なアドレッシングモードを
自動で選んでくれる擬似命令がない。
思いだせないが、他にもいろいろ不満な点があったはず。
そのくせあんまり使えない(全然コードの可読性があがるとは思えない)
構造化アセンブラ機能なんかがついてるんだよなあ。
ルネサスのセンスはようわからん。
>729
そうです。前スレでも書き込みました。
とりあえず、他の動作の邪魔にならないような
処理速度のプログラムはできましたが、
もっと早くならないかと試行錯誤中です。
現在、某公営ギャンブル場に設置予定の自動機に関するプログラムやってます。
お金数える機械といえばうちの近所の銀行のATM調子悪くてさあ
数回に一回はお札が折り紙になって戻ってくる(w
いいかげん直せよな
>>732 そうなのか。前スレでbit orによるゼロチェックコードを書いた記憶があったので覚えてた。
お久しぶり。
ずいぶんとのんきなプロジェクトなんだな
>733
マークカードを読み込んでどの部分にマークされているか認識するユニット
(いわゆるリーダってやつですね)をやってます。
ちなみにイメージではなくセンサで読み取って解析してます。その解析部分を担当してます。
なんかろくでもないもんになりそうなおかん
739 :
デフォルトの名無しさん:2005/07/14(木) 12:40:49
モータ回しながら
リアルタイムでメモリチェックとは
ご苦労なこと
俺もH8でRAMチェック書いたとき、最適化されると書き込んだRAM読まないで書き込んだ
レジスタと比較するコードが出て困ったことがある。最適化レベルを下げると冗長なコードに
なるし。732みたいな状況なら人間ASMもしょうがないみたいですね。
つ[volatile]
レジスタの使用制限ってボラタるよりも
なんかコンパイルオプションでなかったっけ?
gccで見た記憶がある
うろ覚えスマソ
volatile使ってもコンパイラのバグで効かなかったりするしなあ。
コンパイラのバグのせいにする奴よくいるよね。
H8系のヘウは、ボラッタに関してはあんまり親切じゃないみたい。
だいたい、宇宙空間とかラディカルな環境で使うわけでもあるまいし、
そんな常時メモリチェックなんて必要なんだろうか?
チェックしてエラー検出したからって代替システムが用意されてるわけでもないだろうし。
起動時だけチェックすれば必要十分なんでは?
つーかマイコンのオンチップのメモリが化けるような状態なら、自己診断のコードすら
まともに動かない可能性高いような気もする。
商用コンパイラを作ってます。
volatileを不正に最適化するバグを大量生産して顧客の信用をなくしてますが何か?
>>732 >とりあえず、他の動作の邪魔にならないような
>処理速度のプログラムはできましたが、
だったら速度にこだわる必要はないように思う。
速度を縮めるのが楽しいんだったらそれはそれでOK
人間相手のアプリだと速ければ速いほどほめてもらえるかわりに
遅くても我慢してもらえるが、
制御系のプログラムは間に合わなければ0点、間に合えば100点だよ。
それにちょっとまともなコンパイラを使えばアセンブラで必死に書いても
Cでわかりやすく書いてもせいぜい倍しか違わない。
制御系に使うCPUといっても
H8とキャッシュの効いたSH4では2桁近くも処理速度に差があるから
いくらがんばってもハードのバージョンアップでCPUを載せ替えれば
その努力は消えて無くなると思っておいた方がいい。
ところで、使っているCPUとコンパイラは何?それによって対策もかわる。
それからクリアしたRAMを再チェックするのは書込が不確実な可能性があるから?
それともノイズで偶発的にRAMが書き換わる可能性を考慮して?それによって
RAMのチェックシーケンスも変わってくる。
749 :
748:2005/07/14(木) 19:49:28
>>746 メモリが外部RAMなどの特別なものでなければそのとおりですね。
アセンブラで書いたらコンパイラが吐いたのより七倍も速くなったときには、
コンパイラを作った奴を呪いたくなったね。
>>746 起動時のみチェックだと基本的に電源を落とさないシステムの場合はほとんどチェックされないことになるね
>>748 最後の4行に的確に答えられる位ならこんなところで質問しないと思われ。
754 :
デフォルトの名無しさん:2005/07/15(金) 00:27:35
どうも
ギア比のことについて質問していた者です。
DDA、いろいろ使えますね。
ギア比もこれでいけそうです。
補間制御にも使ってみようと思っています。
いろいろありがとうございました。
それにしてもこの辺に詳しい人が多いですね。
モータ制御をやっている人は多いのですか?
制御系ですからモーターはツキモノカト
>748
使用しているCPUは基本的にSH2の7040か7145です。
コンパイラは7040をつかうときはSHC ver4.1Bで、7145のときは忘れましたがたしかSHC ver7だと思います。
さすがにverが違うと吐き出すアセンブラコードもかなり違いますね。
ちなみにRAMのクリアは主に解析に使った生データや中間データなどをクリアしてます。
なぜクリア後に本当にゼロになったかを確認するかはそういう仕様にしてくれとのことです。
>制御系のプログラムは間に合わなければ0点、間に合えば100点だよ。
たしかにそれはいえてますね。現在はほぼ満足する速度になっています。
ただ、プログラムの構造上単純なので速度向上はただ単に自己満足になっていますが・・・
すみません。なんかくだらないことで場の空気を汚したみたいで。
>>756 > ちなみにRAMのクリアは主に解析に使った生データや中間データなどをクリアしてます。
> なぜクリア後に本当にゼロになったかを確認するかはそういう仕様にしてくれとのことです。
>
なんでかわからないけど客先とか社内の信頼性基準でということだろうなと思った
正直納得してないでしょw
テストのワークフローって大体どんな感じですか?
・テストケース(シナリオ)が作られるタイミング
・テストケース作る人は誰?
・テストケースをテストする人は?
・Evidenceは?
昔のことなんで、よく覚えてないけど、
SH3使ってたときに、CPUのバグかなんかで、
遅延分岐関係で、ある命令の後に、コレを実行しちゃまずいです
ってお達しがHITACHIから回ってきたことがあった。
SHCだとそういうコードは吐かないようになってたらしい。
速度が間に合っているなら、保守性や安全性を考えると、
わざわざアセンブリで書きなおす必要はないのでは?
>>759 すげえ
ハードのバグを純正コンパイラでフォローするとはw
>>760 仕方がないだろ?何千万個と出荷しているCPUを回収するわけにもいくまい
何個出荷してるか知らないけど。
762 :
デフォルトの名無しさん:2005/07/15(金) 07:00:46
素人ですいません。質問させて下さい。
ソケットを使ったプロセス間通信はもう古い技術になろうとしてるのでしょうか?
>>762 古くは無いと思うが、制御系でわざわざそんなことする奴はいねぇ
765 :
デフォルトの名無しさん:2005/07/15(金) 07:47:51
>>763 >>764 他スレでそんな風に言い返しているひとがいたので
気になったので、ここで聞いてみました。有難うございました
>>760 初期Pentiumのバグに対応してるコンパイラもある(VCとか)し、
そんなに不思議なことでもないかと。
>>762 制御系だとモダン(だけどリッチ)な技術だと思うけど?
unix socket自体は1980年代からある枯れた技術だけど。
純正コンパイラがハードのバグにいち早く対応するとなると
サードパーティの開発ツールメーカーには不利だわな
>>768 純正コンパイラがいつまでもバギーなままよりははるかにマシ
命令表に「この命令の後にこの命令を使わないでください」とあったのには苦笑した。
別のCPUだが、命令によって意味のないリードパルスが出る(仕様)奴もあったな。
ソフトは動くだろうがハード側で対応しないと誤動作するじゃねえかよ。
>>769 コンパイラもツールも対応してくれねえorz
>>770 貴重なご意見ありがとうございました。今後の開発での参考とさせて頂きます。
(バグには慣れろよ。バカー)
772 :
748:2005/07/15(金) 19:28:31
>>756 SH7145 でコンパイラがSHCなら>730が紹介してくれてるように
最適化の効率がいい書き方でCを使えば充分でしょう。
>すみません。なんかくだらないことで場の空気を汚したみたいで。
自己満足ならOKと書いたのは「とにかく処理速度をあげろ。」と
理由もなく言ってるやつに振り回される必要はない、という意味。
もし精神的にキツイ状況になってるならそんな必要はないよ、
と言いたかっただけです。
CPUによっては、メモリクリアなんかのときに、
バイトアクセスよりshortやlongでメモリアクセスした方が
早くなることがあるね。
よくわからんけど、それがintの存在意義のような気が。。。
Duff's device の方式でループをアンロールするというのは?
>>773 普通バイトアクセスが一番遅いんじゃないの?
リードモディファイライトになるから
8bitCPUとかのオチはなしで
>>773 コンパイラの最適化が下手くそで, 単純にループ回る回数がちがってるだけじゃ
ねぇの?
16 ビットや, 32 ビットを 8bit バスに対して読み書きすると, バースト転送
モードになって, アドレスサイクルが要らなくなるとかって意味か?
>>776 > リードモディファイライトになるから
なぜ? I/O は未だしも, メモリはバイト単位でイネーブルついてるのが普通だろ?
>>777 世の中には8Bit以外のバスもあるのだよ。
バイトイネーブル付きのRAMも回路規模が大きくなるので必要なければ使わない。
あるアドレスに0を書き込むのとアドレスの中身どおしを引くのとどっちが早いんだろう
ようは、
A = 0
をするのと
A -= A
とで速度比較したときどっちが早いの?
>>779 どっちが速いかなんて、実際にやってみればいいじゃん。
782 :
デフォルトの名無しさん:2005/07/16(土) 23:53:36
コンパイラはが同じ結果を吐き出すに.100kモナー
785 :
デフォルトの名無しさん:2005/07/17(日) 00:53:35
>>783 何が気に障ったんだ?
最近のコンパイラなら同じ結果を吐き出す可能性なんぞ普通にあるだろう?
お前は、いつもそうやってピリピリしてるからもてないんだよ。(・`ω´・)ノ
俺も便乗して・・・
MOV.L @Rn+, Rm
と
MOV.L @Rn, Rm
ADD #4, @Rn
って上の処理のほうが効率よさそうなんだけど
コンパイラの最適化レベル(速度優先)を上げると下のコードをはくんだよね。
なんで?
まちがえた
ADD #4, Rn
でした。
>>779 ようはメモリの中をクリアしたいのか?それでどっちが速くなるのかを知りたいと。
・・・試してください。俺も気になるからあとで教えて
0クリアなのか、任意の値をセットなのか、
どっちに解釈されるかで、違うんでない?
任意の値として解釈された場合、
一度、その値を読み込まなければいけないわけで
>>788 命令数が少なければ速いと決まっているわけではない。
データシート読むか実際に確認しろよ。
793 :
デフォルトの名無しさん:2005/07/17(日) 19:18:31
自分自身とxorとるのが一番速いんでない?
>>793 メモリに書き込む話をしてるんだけど・・・
別に793が馬鹿なことを言っているとも思えないけどね。
少なくともこの話の流れのなかで793だけがことさら馬鹿なことを言っているとは思えん。
まず第一に結果的にメモリに0を書き込むのと等価なCコードは複数あり、
それらが最終的にどういう機械語コードにコンパイルされるかは最適化レベルに依存する。
第二に、結果的にメモリに0を書き込むのと等価な機械語コードも複数ある。
第三に、CPUアーキテクチャ毎に複数ある、結果的にメモリに0を書き込むのと等価な機械語コードのうち、
どれが一番高速からさまざまなパラメータに依存する。クリアするメモリ領域のバイト数、
それが4の倍数か2の倍数か奇数か、位置(特殊なアドレッシングモードが使える特権的な
アドレス領域がある場合)、前後の処理の文脈、......
だから一般論として「こういうCコードが最速」なんていえないわけで、
そんな与太話に乗っかってる時点で全員目糞鼻糞。
実際、xorが最速のケースが無いなんて断言できないでしょ。
8051のように論理演算だけはレジスタ介さずに可能なCPUもあるわけで。
この業界の奴らってこんなのばっかりだよ。
自分の能力を自覚する能力すら三流の奴が多すぎる。
>>797 大馬鹿だな、お前は。可哀想になるくらいのレベルだ。
2chでそんなのに熱くなってたら、スレがいくらあっても足らんよ。
>>798-799 幼稚臭いなあ。。
まあ、いい歳して、というか「永遠の精神年齢14才」って感じのとっちゃん坊やが多いのも
この業界の特徴か。
まあ、これはこの業界というよりコンピュータ関連の業界一般の傾向といった方が
公平かもしれないけれど。
XORが最速の場合がある環境があったとしても、793の書き込みは馬鹿としか言いようが無い
>797もそうは思わんか?
とっちゃん坊やって単語久々に聞いたな
>>801は大分オサーンだな
>>797 論点を見失ってるよ・・・
全然どうでもいいことを力説しても意味ない
ひとつ驚いたのは
けっこうこのスレを見てる人がいるんだなという事だ
と書くことで、一人なのに複数人いるように見せかけるパターンですね
実際にはオレのほかに2人、多くても3人しかいない
で、結論的に
779や788や793の疑問は解決されたのか?
とりあえず、環境によってちがうなら、756でたまたま出ていたSH2
を例にして考えてみようぜ。
俺?俺みたいなアホは
「どっちでもいいだろ」
が答えです。
試した結果を書いてくれないかねえ。
>>797にはXORの方が速かったケースをお願いね。
まずは8051の命令クロック数から調べる(DataSheet or 実測)じゃないかな?
>>797 この業界のレベルが低いと感じたことはない。
ただ、制御される側のハードウェアについては詳しいのに、
制御する側(CPUの内部動作等)については余り興味がない人が多いかも。
813 :
デフォルトの名無しさん:2005/07/18(月) 16:33:17
つーか手持ちの開発環境で試せばいいだろ?
どうせ環境次第になるのだから
814 :
デフォルトの名無しさん:2005/07/18(月) 16:58:02
>>813 こうなった
00010010 <main>:
#define hoge*( volatile int * )( na_ext_ram1_base )
#define hoge2*( volatile int * )( na_ext_ram1_base + 0x1000 )
int main( void )
{
10010:17 78 save %sp,0x17
hoge = hoge2;
10012:30 4a bgen %l0,0x11
10014:80 98 pfx %hi(0x1000)
10016:11 34 movi %l1,0x0
10018:51 6c movhi %l1,0x2
1001a:01 b4 ldp %g1,[%l1,0x0]
1001c:01 a0 stp [%l0,0x0],%g1
hoge = 0;
1001e:01 34 movi %g1,0x0
10020:01 a0 stp [%l0,0x0],%g1
hoge = hoge2;
10022:01 b4 ldp %g1,[%l1,0x0]
10024:01 a0 stp [%l0,0x0],%g1
hoge -= hoge;
10026:01 b0 ldp %g1,[%l0,0x0]
10028:02 b0 ldp %g2,[%l0,0x0]
1002a:41 08 sub %g1,%g2
1002c:01 a0 stp [%l0,0x0],%g1
hoge = hoge2;
1002e:01 b4 ldp %g1,[%l1,0x0]
10030:01 a0 stp [%l0,0x0],%g1
hoge ^= hoge;
10032:01 b0 ldp %g1,[%l0,0x0]
10034:02 b0 ldp %g2,[%l0,0x0]
10036:41 44 xor %g1,%g2
10038:01 a0 stp [%l0,0x0],%g1
} 1003a:df 7f ret
1003c:a0 7d restore
816 :
デフォルトの名無しさん:2005/07/18(月) 17:08:33
手持ちの開発環境?
家にそんなもん置いてるのか?
もう少し簡単にしてみた
#define hoge*( volatile int * )( na_ext_ram1_base )
int main( void )
{
10010:17 78 save %sp,0x17
hoge = 0;
10012:30 4a bgen %l0,0x11
10014:01 34 movi %g1,0x0
10016:01 a0 stp [%l0,0x0],%g1
hoge -= hoge;
10018:01 b0 ldp %g1,[%l0,0x0]
1001a:02 b0 ldp %g2,[%l0,0x0]
1001c:41 08 sub %g1,%g2
1001e:01 a0 stp [%l0,0x0],%g1
hoge ^= hoge;
10020:01 b0 ldp %g1,[%l0,0x0]
10022:02 b0 ldp %g2,[%l0,0x0]
10024:41 44 xor %g1,%g2
10026:01 a0 stp [%l0,0x0],%g1
} 10028:df 7f ret
1002a:a0 7d restore
個別のCPUの話はともかく、
やっぱりこのての処理はCISCよりRISCが早いよね。
>>819 いや、そうとも限らんぞ。
CISCだとRead->Modify->Writeを1命令1バスサイクルで
実行できたりするし。
って、まぁ、これも個別CPUの話だけどね。
命令表のマシンサイクルを見比べていた頃が懐かしい
んじゃ、結局RAMのゼロクリア&コンペアをするプログラムの最速は
CPUによって違うからわからんってことでFA?
CPUだけじゃないがな
誰かが具体的な反例を示すまでは、ゼロクリアが一番速いと思って問題ないよ。
メモリの近いシステムでは同じ速度にはなるかもしれないが、ゼロクリアより
速くなることは多分無い。
>824
なんか論点ズレてないか?
ゼロクリアする方法においての最速プログラムだと思うのだが。
それとも俺がずれてる?
質問自体が無意味だ
で終わっておけばいいじゃんか
一度コンパイラを通した場合の話なら、どれでも一緒じゃね。
どのニーモニックがいいかという話ならCPUによるしなんとも言えん。
まぁ昔はアキュムレータの初期化は xor A が定番だったけど。
>>825 単純に言葉の間違いだろ
メモリの内容をゼロクリアするのには
リテラルでゼロを代入するのが一番速い
ということが言いたいのだと思う
もっともコンパイラに「リテラルでゼロを代入しろ」ということを推測させるには
ソースでどう書くのかということは残るが
>>818ではvolatileがついているおかげで馬鹿正直にコンパイラは展開しているようだが
最適化オプションなどによっては結果は変わるかもしれない
>>824 Z80などではそうともいいきれないと思う
z80ってそうだっけ? z80だと、おそらくpushを大量に使うのが一番早いん
だろうけど、所詮はこれも0梅でしょ?
>>830 z80は速度チューニングすると裏技大会みたいになっちゃうからなあ(w
LDIRとかでメモリ間転送でやるのが一番早かったと思う
pushは糞遅かったはず
>>831 Z80でやると裏技大会になるというのは古典的CISCだから?
ちゅうか誰かz80のコンパイラ使ってる人
試してみてよ
いや、z80はpushが速いよ。
拡張命令系は1ステップ辺り13クロックくらい掛かったと思うけど、
pushは5クロックくらいじゃなかったかと。
#しかも2バイトずつ
敢えて資料調べてないので間違ってたらすまん。
834 :
デフォルトの名無しさん:2005/07/19(火) 03:36:37
>>818 これは
hoge = 0; はストア1回
hoge -= hoge;はロード1回、ストア2回
hoge -= hoge;もロード1回、ストア2回
となったということ?
減算と排他的論理和はロード2回ストア1回じゃね?
>>833 push自体はそうだけど、nワードクリヤのためのループ制御まで入れたらLDIRのほうが
速いよ。少量ならpushのが速いから何十バイトかで逆転する点がありそう。
>>836 nが16の倍数とかなら、
PUSH×16回単位でループさせれば速いんじゃない?
838 :
デフォルトの名無しさん:2005/07/19(火) 05:20:03
自分自身とxorとるのが一番速いんでない?
ループ回数を減らすためにループ内で展開する場合
何分割するのが一番早いの?
2?4?8?16?32?
データシート見ろよ。計算しろよ。実測しろよ。
>>836-838 1バイトあたりのコストはpushが(確か)5/2クロックで最低。
LDIRは(確か)13クロック、LDIは(確か)8クロック。
xor(HL)にしろなんにしろ、HLレジスタ間接アクセスは
HLのインクリメントも入るから(確か)(7+4)クロック。
ループ制御コストは>837の言うように展開することで減らせるので、
速度が問題になるようなまとまった書き換えとなるとpushが一番。
まぁゼロクリアの方法はいろいろあるわけで。
使うCPUやシーン応じても解は変わるだろう。
例えばpushを使う場合はspを一時的に書き換えて
その間は割り込み禁止にしておくとか制約があるだろ。
リセット後のイニシャライズ処理とかなら使えるけど
割り込みを禁止に出来ないシーンでは使えないな。
DMAがあるならそれを使ってゼロ埋めする方法もある。
DMAがゼロ埋めしてる間は他に仕事も出来るし、
時間的にみたらCPUの負荷率も低い。
あとバイト数とクロック数の違いを理解できない奴は論外ね。
RISCもパイプラインがうまく流れる場合はいいけどストール
したら結局時間食うぞ。
おまけ
CISC=のろまな大学生(頭は賢いが図体がでかくのろまでしかも大食い)
RISC=素早い幼稚園生(単純なことしか理解できんが動きが素早く小食)
>>844 >DMAがゼロ埋めしてる間は他に仕事も出来るし、
どんな仕事ですか?
>>847 キャッシュとかレジスタとかのデータを使った計算とか
うは、想定している技術の年代が違いすぎててワロス
( `Д´)おい、DMA、これ100部コピーしとけ
( ´∀`)はーい
( `Д´)さて、仕事続けるか・・・
( `Д´)あ、これも1部コピーしなきゃ
( `Д´)おい、終わったか?
(;´∀`)え、あ、まだです・・・
( `Д´)早くしろよおめーのせいで仕事進まねんだからよ
(;´∀`)あの、もう少しです・・・すみません・・・
という時代
( `Д´)おい、DMA、これ100部コピーしとけ
( ´∀`)はーい
( ´∀`)ちょっとバスをもらいますよ
( ゜Д゜)←フェッチできない
( ´∀`)仕事がはかどるなあ
>>850 >>851 えーっと、、、、、、
サイクルスチールモードとバーストモードの違いを説明してるの?
853 :
デフォルトの名無しさん:2005/07/20(水) 08:38:46
バースト中に割り込み要求があればバス権を取り戻すプロセッサが多いけどね。
転送中は内部メモリだけをアクセスするようにプログラムをつくるでしょ。マルチコアと一緒よ。
854 :
デフォルトの名無しさん:2005/07/20(水) 10:42:21
linuxのコマンドは自分で作ると、./ が付いてしまうのは何故ですか?
何故標準のコマンドと そこら辺違うのですか?
855 :
デフォルトの名無しさん:2005/07/20(水) 10:44:01
./ が付くとソレっぽくなくなるんですけど
>>854 その実行ファイルのある場所にパスが通っていないからです
858 :
デフォルトの名無しさん:2005/07/20(水) 17:24:44
入出力兼用ピンにつないだデバイスの入力が
壊れてしまうケースにはどんな原因が考えられるでしょうか?
プルアップかプルダウンすればいいんじゃない?
862 :
デフォルトの名無しさん:2005/07/20(水) 23:01:09
なんでプルアップかプルダウンするといいの?
入出力兼用ピンが入力に設定された場合を考えてみよう
入力が入力に接続されているとき、
さて、この端子への入力電圧は?
E=IR
電圧ってのは相対的に決まるもんだ。
地面(GND)に対して何ボルトとか、電池のマイナス側から比べて1.5Vとか。
何もつながっていないところの電圧はもちろん不定。
周囲のノイズなどによっていくらでも変化しうる。
静電気とかでもわかるように、実は、適当なその辺りの電圧が、
何千ボルトだったりすることもある。
>>866 なんか電磁気学とかちゃんと勉強しなかった人の与太話に聞こえる。。
っていうか、純粋に電気回路のモデルで考えても、石の内部が完全に絶縁(抵抗値∞)
されていることはありえないのだから、実際には電圧不定なんてことはないよ。
あ、
>>866 の後半の3行は、
回路のGNDからみたら、どこにもつながってない端子の電圧は、
って話ね。
>>867 それはそうだが、「0ボルトじゃないの?」って安易に言われたから、
そう答えてみた。
実際の回路上、入力抵抗が無限大なんてことは無いけど、
実用上、ラッチアップを起こして
入力端子が壊れる可能性があるのは事実でしょ。
まぁ、最近の入力端子には、
だいたい保護ダイオードが入ってるとは思うけど。
>>869 保護ダイオードが入ってると、
すげーでかい電圧がかかっても
電流がすげーちっこければ助かるの?
E=IR
電流Iも抵抗Rも小さければ、かかる電圧はごくわずか。
入出力兼用ピンならデフォルト入力だから
プルアップしてなけりゃ運が悪いと出力に設定する前にあぼーん
いや、そうじゃなくてw
そういうのは電磁気学的に考えないとダメだよ。
無理やり等価回路的に考えるとしたら、その「すげーでかい電圧」を生じているものは
Cが極小のコンデンサだと考えればいい。
>>870 素子を破壊するにはそれなりのエネルギーが必要なわけだから、
外部から与えられた電流(電荷といったほうが正確か?)が、本当
に遠慮なく小さければ破壊に至ることはないように思う。
ただラッチアップ起こっちゃえば、IC内部から電流が供給されるか
らこの限りではないが。
>>871 チト違う気がする。
実際問題プルアップダウンが浮いてしまった入力端子は静電気たまって
勝手にHiになったりLoになったりしてバグバグな動作するもんなあ
日本は湿気多いから静電気での破壊は珍しいみたいだけど
壊れても不思議は無いね
等価回路の意味をちゃんと理解してないから、電磁気学を
持ち出すことになっているだけでは?
877 :
デフォルトの名無しさん:2005/07/21(木) 01:25:59
H8は内蔵プルアップがあるから気にしたことないっす
再現性がないと対策できない。
C-MOSとかFET入力系の石は浮きやすくて困るの
原理的に当然。
浮くってどういうこと? 飛行石?
浮くのは電圧。
誤動作じゃなく壊れたと書いてあるぞ。
>>869 IO端子には保護ダイオード付けてない。寄生で付いてる。
そりゃ誰だってキショい奴に触られたくない
ナンジャタウンの事故ってプログラムと関係ありそうですか?
足が浮いてたらしい
挟まれた人の
888 :
デフォルトの名無しさん:2005/07/22(金) 18:02:21
ウィーナーモデルの同定の仕方を教えてください. 動的線形部はARXモデルで同定しようと考えています.
すまんが、さっぱり意味がわからん。。
そんな要求は生まれてこのかた一度もない
制御系っつっても、ここは制御理論のスレじゃないからな
レスするまでに5日も固まってしまったではないか
>>888よ。そんな高等なネタを振るのはやりすぎ。
892 :
デフォルトの名無しさん:2005/07/27(水) 22:52:52
ああ、神様!固まったのはオイラだけじゃなかったんだね
>>888 オラオラ( ´∀`)σ)Д`>
どどどど同定ちゃうわ
895 :
デフォルトの名無しさん:2005/08/03(水) 10:24:06
LED が ON/OFFするようなビットマップないかなぁ
32x32 〜 48x48 ぐらいで
897 :
895:2005/08/03(水) 10:34:15
899 :
895:2005/08/03(水) 10:45:14
>>898 制御関係でモニタソフトとしてよくLEDがペカペカしてるやつがあるから、誰か知らないかと思って
妄想の激しい人だ。
901 :
895:2005/08/03(水) 10:48:47
しくしく
>>897 Web製作関係のフリー素材屋さん探したら?
いろんなボタンがあるから使えるのが見つかるかもよ。
#但し、使用条件などに注意。
903 :
895:2005/08/03(水) 11:21:36
アドレスバスの上の方をLEDにつないだらたしかにbitmapに見えそう
905 :
デフォルトの名無しさん:2005/08/03(水) 23:20:09
RTOSのメリットがよくわからんのだけど
iTRONなんか、ここでディスパッチなんてコードを自分で書くんでしょ?
906 :
デフォルトの名無しさん:2005/08/03(水) 23:25:19
KEILのuVisionで作ったomfファイルが、PDS51で読み込めないんだけど
特殊な設定必要ですか?
ちなみにマイコンはひりぷすLP900しりーず
>>905 tsk_dly(10); /* ここでディスパッチ */
ってこういうことか?
通常 KernelTick 間隔または、
Queue, SemaphoreとかDelayとかのAPI呼び出し時に
スケジューラが走って、
その結果タスクの切り替えが発生した場合に、
ディスパッチャが呼ばれるわけだが・・・
スケジューラはプライオリティベースが基本。
低い優先度のタスクは、優先度高いタスクが暇になったときのみ動ける。
同じプライオリティのタスクについては、
順番に切り変えるラウンドロビン、
時間割り当てのタイムスライスなんかが用意されてるRTOSもある。
他のタスクをブロックしたりもできる。
>>905 1. 1ms間隔で確実に実行する処理(処理時間500us)
2. 5msに1度実行すればよい処理(処理時間2ms)
3. とにかく、できるだけ実行したい処理(1回ループ時間不定)
とかを1つのCPUで実行するとき便利。
実際のタスク数はもっと多いだろうし、
4. メッセージが来たときだけ実行して、その処理時間は不定、かつ1.2.の処理を妨げない
などの要求も多々ある。
多重割り込みや、1つループ内で条件分けで分割実行なんてやってたら面倒だし、
ハードが変わったときの移植も大変になる。
キューやセマフォなどのAPIがサポートされてることや、
各種ミドルウエアが使えるのも、RTOSを使うメリットになりうる。
リアルタイム制御をしながら、かつ、TCP/IPでソケット実装なんていったら、
OSないと辛いぞ。
909 :
デフォルトの名無しさん:2005/08/04(木) 20:49:14
ITRONだとイベントドリブンで機能に該当するタスクを起動するような
単純な使い方が多い希ガス・・・・・
iTRONって設計思想からも、あまり出来が良く無いしね。
912 :
デフォルトの名無しさん:2005/08/04(木) 21:43:43
ここでディスパッチと言うより
ここでタスクスケジューラおねがいだな
913 :
デフォルトの名無しさん:2005/08/05(金) 00:09:51
itronはシステムコール発酵しないと他タスクに制御権渡らないんじゃないの?
シンプル・イズ・ベター
なんでやねん
915 :
ひよこ名無し:2005/08/05(金) 00:31:43
パスがわからなくてメアドも変えてしまいました。
この場合、パスを知るにはどうしたら??
ハッキング?とかですか?
これは制御系に関係なかったらすいませんorz
すいませんでムスカーーーーっ!
夏
919 :
デフォルトの名無しさん:2005/08/05(金) 07:03:37
>>913 タイムシェアリングでなければどのRTOSも同じ
1ms毎とかで確実に実行しなきゃいけないような最優先のタスクが
それより優先度の低いタスクにプリエンプトされて、実行が遅れたら、
リアルタイムの意味ないだろw
基本的に、
プライオリティの高いタスクが、イベントやキュー待ちになったり、
ひとまずやること終わって、Delay(Sleep)したときに、
>>912 のスケジューラお願い!
となる。
優先度の低いタスクからしたら、たとえ処理実行中でも、
優先度の高いタスクが、待っていたイベントを拾ったり、
Kernelのタイマー割り込み時にDelay(Sleep)が時間切れになって実行可能状態になると、
プリエンプトされる。
優先度が同じタスクのみ、
>>913 のタイムシェアリングの対象になりうる。
もっと間抜けな手書きOSで、自分で譲るような書き方をしないといけない奴もあったな。
気遣いの上手なタスクを書いた。「私、こんなに実行時間を消費しちゃっていいのかしら?
この辺でいったん開けてあげないと他の皆さんが困るかもね」というタスクだらけ。
おお!すばらしい世界ですね。
昔の組み込みではよくあった話。
謙譲を旨とするその環境にあっては、カタログスペックを出すための
「お姉さま、わたくしたちなどにはお構いにならなくてもいいのですよ」モードがあったりしたw
番宣しか見たことないが、ドラマ女系家族は3タスクは協調し、1タスクが
流れを乱してるみたい
926 :
デフォルトの名無しさん:2005/08/06(土) 18:47:30
タスク一本一本を書くときに、周りとの協調を気にしなければならなかったのが
タスクを書くときにはタスクの機能を満たすことに専念すればよくなり
デッドラインなんかは優先度やスケジューリングの決定に集約されるようになったということかね?
yield();
RS232CでXon/Xoffを使ってsoftware handshakeをしたいんですが、
具体的にprogram中にどのように埋め込めば良いのか分かりません。
ググっても、具体的なprogram例が見つかりませんでした。
使用言語はC/C++なのですが、
Xoffを検出してからXonを検出して送受信を再開するまで、
どのように書いたらよいのか例になるようなwebはないでしょうか。
送信側:最初はflag=xon状態。Xon/Xoffを受信するたんびにそのflagを変更。
xon状態なら送信を続ける。
受信側:受信バッファの使用量を監視し、空きが1/4になったらXonを送信、
空きが3/4になったらXoffを送信。 こんなんで埋め込めるでしょ。
判らなければソース送ってくれれば埋め込んであげるよ。
XON/XOFFを実現するには、送受信処理そのものがそういうふうに作られていなければいけない
・こっちの受信バッファがいっぱいになったら ⇒ XOFFを送る
・それでも相手が送ってきたらさらに XOFFを送る
・受信バッファが空になったら⇒XONを送る
・相手からXOFFを受け取ったら、次のバイトから送信を我慢する
・我慢してる間、相手からXONを受け取ったら送信再開、
だから、
○受信FIFOがある事
○送信が我慢出来る構造である事
が必要。
送信が我慢出来る構造という事は、送信FIFOを用意していて、それが巨大でもいつかは無くなる
のだから、送信タスクに待てと命令出来る必要がある
931 :
928:2005/08/09(火) 12:06:04
>>929-930 ありがとうございます。
とりあえず、ご回答を参考にしてやってみます。
分からなかったらまた戻ってきます。
932 :
929:2005/08/09(火) 16:06:17
>>931 930はカキコ時刻からしてリロせずに書いたのでしょう。 私が1/4とか3/4と言ってて、
930が>・こっちの受信バッファがいっぱいになったら ⇒ XOFFを送る と言ってる所について、
一杯になってからXoffを送ると、それが届くまでに向こうが送っている何バイトかがring上書きに
なるはずなので、「まだ空きが残っているうちに」Xoffを送るのです。
>・受信バッファが空になったら⇒XONを送る と、向こうが送って来はじめるまでに若干空白
ができますよね。受信バッファにあるバイトは「そこから取り出してフレーム再構成」とか、
「ROM/RAMに書き込む」とか何らかの処理が動いているので、その処理がちょっと止まります。
それを防ぐため、「まだ受信バイトが残っているがバッファの空きに余裕ができた」段階で
XONを送って向こうの送信を再開してもらうと、通信の効率を落とさなくてすみます。
>>712 SH3でコンパイラに負けた俺が来ました。
アセンブル出力を見て、無駄な部分があったらCソースを修正した方がいいみたい
中間変数をそのつど定義してやるとか
一見ムダに見えても、パイプラインの安定のための配慮とかありそう
ローカル変数にいったん代入して処理するとか
構造体を小さく15ワード以下のサイズで分割して設計するとか
936 :
デフォルトの名無しさん:2005/08/10(水) 17:45:05
なんで15ワード以下なの?
SHはポインタ相対で-0 〜 +15までのアドレッシングモードを持ってるからだよ
1インストラクションで収まるかどうかじゃない?
SHに不足してると思う命令
ABS Rn ; Rnの絶対値(せめて ABS R0 固定でいいいから欲しい)
NOTT ; T の反転
CLIP Rn ; Tが1の時にRnを-1にする (ADDC後に利用して飽和加算)
4ビットで0-15か
それ以上のアドレス指定はどうやるんだっけ?
ちょっとひねくれていた気がする
命令語長が1語から2語になるんだよ。
>>340 それ以上は、
・R0+Rnを使う。 片方がR0固定になるから厄介。
・レジスタに加算する・・・・でも加算は3パラメータ加算じゃないから
>>941 命令語長は全て16ビットってのが売り文句だから(もっとSH-DSPは全て32ビットだが)
それに大きな構造体をアクセスすると2命令ではすまなくなる事も多い
943 :
デフォルトの名無しさん:2005/08/12(金) 09:38:20
すみません.Java質問相談スレに書いたのですが,スレ違いだったようなので
ここで質問したいと思います.もし分かる方がいらっしゃったらご教授下さい.
import java.io.*;
import javax.comm.*;
public class Rs232c {
public static void main( String arg[] ) {
try {
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( "COM4" );
SerialPort serialPort = ( SerialPort )ports.open( "RS232C", 1000 );
serialPort.setSerialPortParams( 57600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
serialPort.setFlowControlMode( SerialPort.FLOWCONTROL_XONXOFF_IN | SerialPort.FLOWCONTROL_XONXOFF_OUT);
OutputStream out = serialPort.getOutputStream();
out.write(0x01);
out.write(0x0A);
out.write(0x00);
out.write(0x00);
out.write(0x00);
out.write(0x00);
out.write(0x02);
out.write(0x01);
out.write(0x08);
out.write(0xF7);
out.flush();
944 :
デフォルトの名無しさん:2005/08/12(金) 09:38:55
InputStream in = serialPort.getInputStream();
in.close();
out.close();
serialPort.close();
}
catch( Exception e ) {
System.out.println( "Error:" + e.getMessage() );
}
}
}
out.writeで命令(これはRFIDリーダからタグのあるブロックの内容を読み取る命令です)
を送って,その応答を得たいのですが,InputStream以下にどのようにして応答を
取り込んできたらよいか分かりません.ここで応答とはブロックの内容です.
ちなみに書き込む命令もあるのですが,
そっちは問題ありませんでした.もしスレ違いだったら申し訳ございません.
Javaは知らんが、in.read()とでもいうメソッドがあるんでないの?
それを適宜必要なだけ呼べばいい気がするが。
それ以上の回答が必要なら、そちらももっと詳しい情報を提示してくれないと誰も応えられないと思うぞ。
#そもそもRFIDリーダってなんだ?
知らないなら黙ってればいいのに
では、知ってて書いているであろう>946に語っていただきたい。
そんな義理は無い。
それに、ぐぐればすぐに見つかるものを
ここで長々と説明するのは馬鹿げてる。
949 :
943:2005/08/12(金) 13:30:03
>948
参考になりそうなページだけでも教えて頂けませんか?
>>949 google SerialDemo.java
951 :
デフォルトの名無しさん:2005/08/12(金) 15:44:22
>950
ご指摘のページに書いてあることは全て試しましたorz
しかし...うまくいきません.
>945
read()で1バイトをとってくるを15回繰り返すと,
1
15
0
0
0
0
2
85
85
85
85
0
1
13
242
こんな感じになりました.どうか助けて下さい.
何が不満なんだ
953 :
945:2005/08/12(金) 16:43:58
だから、こちとら仙人じゃないんだからそのデータのどこが気に入らないのかなんて判らないんだってば。
955 :
943:2005/08/13(土) 09:24:13
>945
ごめんなさいorz出かける寸前で急いでいて変な質問になってしまいました.
取ってきたい内容はhexで33333333です.これは0から7まであるブロックの中の
1番目の内容です.しかしread()で取ってこれる内容は,
ストリームから正しく読み取れるバイト数ですよね.他に試したことは,
DataOutputStreamでreadByte()メソッドを使用してどうにか取ってこれないかと
色々試してみましたが出来ませんでした.>943のプログラムを実行した後に,
http://www.j-industry.org/jiae/pro/pro008/commapi1.html ここのページにあるSerialPortReader.javaを実行して,応答を得ようとしましたが,
リーダからは何の応答もありませんでした.もしかして使い方を間違ってるのかなorz
もう一つ,ご指摘頂いたSerialDemoを動かして>943の0xXXをリーダ側に送って
みましたが,応答がありませんでした.文字列として認識されているから
送っても反応しないのかな,と思いました.
手元に実験機材がないので試せないのですが,read()で取ってきたデータを
charにすればもしかして?と思いました.検討違いだったら申し訳ないです.
javaのクラスライブラリ知らないんでそれの使い方については何も言えないけど、
それにしても
>>943の処理は妙だと思う。
これって送信したコマンドに対する応答が瞬時に返ってくることを前提にしてないか?
それともInputStreamとかやらにはタイムアウトを設定できるようになっているのかな。
っていうか、
>>943自身がjavaのInputStreamの使い方がわかってないのか?
なんか結局何を質問しているのか自体がよく理解できない。
対抗機にRFIDリーダとやらを使わず、別のPCに繋いで端末エミュレータでも動かしたら?
つーか、そのリーダとはなにもんなんだって聞いてるんだから答えろや。
どうしても読み取れないなら、とりあえずプロアナ繋いで本当に
データがきちんと流れているか調べる。
RS232CとかUSB通信の場合、生のデータをみちゃった方が問題が簡単に解決する
ことがよくあるからね。
959 :
デフォルトの名無しさん:2005/08/13(土) 23:32:09
>951
データ見たらあってるんじゃねーの?
85が4つ並んでるところがデータだろ?
てことは0x55555555が取れたってことだろ。
たぶん間違ったブロックのデータでも読み取ったんじゃねーのか?
ちゃんと書き込んだコマンドを確認しろよ。
そんなことより、RFIDリーダってことはsuic*とかed*とかじゃねーのか?
もしそうだったら943なんかアボーンしてもらえよ。
お前の首が飛ぶどころか会社潰しかねないぞ。
>959
最近は野菜にも埋まっているくらいなので大丈夫だと思います。
もう少し考えて見ます。。。
やる気が無いんだったら最初から聞きに来るな
組み込みの経験がなくてPCアプリ?だかを3年ぐらいやってた人に
ファームウエアを担当させたいと考えています。
どんな教育をすれば使える様になりますかね・・・・・
>>962 そのままいきなりやらせればええんちゃう?
できない奴はどうやってもできないし、できるやつは問題なくできる
一応フォローの人間アリで。
>>962 ハード系の話をしてクロックだのタイミングを覚えてもらう。
>>963は職人ですかね。
>>962 どんなファームをやらせようってんだ?
話はまずそれから
とりあえず、経験のある人の仕事の手伝いからさせるのがイインデナイノ?
しかも、教育に適した人をつけて。
やっぱり、仕事しながらじゃないと身につかないんじゃないの?
データシートと回路図の読み方を教えて、
あとOS次第だがメモリ管理と割り込みの処理を覚えてもらう。
他はアプリとそう変わらないんじゃね
969 :
デフォルトの名無しさん:2005/08/18(木) 12:38:40
周期起動ハンドラでタスクを切り替えて
タイムシェアリングみたいなことをやらす場合
クロックなどにもよると思うけど
1msec周期と言うのは無謀ですか?
SHなら余裕でしょう。8085やZ80や64180やKC80や78xxxシリーズなら無謀ですね。
その中間のH8/16bit系だと微妙な範囲。できないことはないが「重いなあ」と感じるでしょう。
>>8085やZ80や64180やKC80
Z80はまだわかるが、こんなゴミまだ入手できるのか?
俺の仕事では64180バリバリの現役だが
Z80用のRTOSは実在するのか?
>>975 どこぞに uITRON の実装くらいはあるのではあるまいか?
uITRON の
「割り込みマスクがタスクの資源ではない」
って仕様は, 割り込みマスクがステータスレジスターへ
マップされていない, 8080 系 CPU の救済策のような気
がするんだが...
キートラベリングとはなにか?
>>969 タスク切り替えにかかる時間を計算して
残り時間で何ステップ実行できるかを計算してみればよろしいかと
980 :
デフォルトの名無しさん:2005/08/20(土) 00:19:24
そろそろ次ヌレ
>>980 スレッド切り替えにかかる時間を計算して
残り時間で何レスできるかを計算してみればよろしいかと
あぼーん
>>981 ワロタ。最後の空きはNOPで埋めるとするか。
984 :
デフォルトの名無しさん:2005/08/21(日) 14:14:09
誰か次のスレッド生成してくれよ
早くディスパッチしようぜ
だがしかし
うmえ