なるほど。PIC=周辺ICって思ってました。でも、1CHto1CHで内容を変換するだけならいいけど、
4CHから1Chへの合流とか、1chから4CHへ行ごとに分けるとかの操作があるので、
1チップにしたいです。H8で3CH+RAM4K積んでる奴は、\700ぐらいでありますよね。
3MHzの8085+8251,8253,8259+ROM+RAMという構成があまりにもアレなので、
作り直せば?ってけしかけてるのですが、ハード屋さんがめんどうくさがってるのですよ。
コストダウンとして上司に提案できれば、ハード屋の意見など聞かずに済む。
怨まれてもしらんが。
>>952 ROM,RAM外だししていいなら
FreescaleのQUICCなんてどう?
少なくとも↓の構成よりは安くなるだろうし、
処理性能差は天と地
3MHzの8085+8251,8253,8259+ROM+RAM
まあ、この件は、H8かM16のフラッシュマイコンで決まりでしょ。
足りない1CHはタイマー割り込みで十分実現出来る。
>足りない1CHはタイマー割り込みで十分実現出来る。
これはAduCで書いたことあります。ボーレートに合わせたタイマ割り込みで、startbit〜8bit,parity,stop
を取り込むんですよね。インターバルタイマなら1mS以下はあまり使いませんが、9600BPSでも100μ
ぐらいの割込になるので、けっこう重たくなります。それよりは1CHだけ外付けのほうが融通が
効くと・・・あ、ソフトでカバーできればハードは少ないほうがいいってことですね。なるほど。
こんど、「外付けの石無しでできるよ♪」って提案してみます。ありがとうございます。
957 :
デフォルトの名無しさん:05/02/21 10:54:29
4ch同時通信って有り得るの?
>>956 色んな方法があるけど
たとえば、割り込み端子に割り当てておいて
タイマーは割り込みはTの間隔に設定しておく
割り込み許可状態で立下りエッジで割り込みをかけ、割り込みを禁止
エッジから 0.5T になるように タイマー割込用のカウンターをリセット。
後はタイマ割り込みが 0.5T後から1T毎にかかるから1回目はLを確認
8ビット読んで、パリティ・ストップ確認。
タイマー割り込みの負荷はそれほどじゃないよ。
>>958 送信も考えたらタイマ2CH必要になるな。
多重割込みや割込み禁止区間が発生した場合の
(他の3CHのシリアルからの割込みも含めて)
タイミングのズレは、心配ない程度なのかな?
>>958 たとえば10MHzのクロックで動くCPUならば、9600bpsのとき、
タイマー割込だけだと50usecに一回=500クロックに一回のタイマー割込になるのが、
割込端子を使うと、100usecに一回=1000クロックに一回の割込で済むということかな
PICなんかで、それしかやらせないんならいいけど、
ソフトでシリアルを扱うのって、ちょっとおっかない
とりこぼすよ
SIO使うべきだな
競合するいろんな割込があるとタイマ割り込みで1bitずつ取る/送るのは苦しくなります。
uart回路がレベルの真ん中でサンプリングしてくれるのに、ソフトだとどうしてもふらつくし、
取りこぼしも出るし。その辺は外付けか¥との相談ですね。
>>959 うん。この方法で送信もやるなら2CH必要だね。でもタイマー沢山あるから大丈夫でしょ。
ボーレート9600で他の処理しないんならSIO送受信はメインで処理しても十分間に合うと思うよ。
割り込み使う場合でもFIFO処理だけなら問題にならないでしょう。
>>960 そうなんだけど、
あと、受信を一定時間のタイマー割り込みで処理するとなると、2倍は厳しい。
最低3〜4倍じゃないと難しいですね。
>>963 >>958の方法は
>>960さんが解説してる通り、だいたい真中でサンプリングする方法ですよ。
涙ぐましい努力だな。大手客ならメーカーに
「4.CHのをカスタムで作ってくれば採用するけど、どーする?( ´ー`)y-~~」
って言えば終わりなのに。
小ロットだと、標準品で市場でいつでも手に入るというのが一番大事な要素になるからね。
今は外付けのUSART使うくらいなら 外付けにPICマイコン使った方が安全だったりするからなあ
>>965 4倍サンプリングとなると、やはり他の処理はやらせられないな
シリアル送受信に専念させるなら、PICかH8の一番安いクラスが妥当か?
26マイクロ周期だから、無理という程じゃない。
割り込みベクタを毎回書き換える方法でやれば・・・
>>970 単純に状態遷移式にベクターを書換えながら遷移するだけだよ
4倍なら(自分なら5倍にして中の3状態で多数決取るけど)
4*(S+8+P+1)=44状態のコードを作って、割り込みベクターを書換えながらシーケンスを実現するわけ
後でそのコード見たくねえ。趣味ならいいけど保守性悪いよ、それ。UART追加しろ。
無理なら2MCUだな。外部メモリ使わないモードで使えばICだ、
こういう業界って歴史どころか自分の経験からすら学ばないアナクロな人が多いよな。
アクロバチックは結局高くつく。
いい加減このぐらい学習しろと言いたいよ。
万単位で作る大企業ならともかく、今時ちょっとばっかり部品ケチったって
そんなもんアンタが数日余分に動くことになればすぐに吹っ飛んじゃうよ。
俺なら性能的な余裕、部品のコスト、ソフトの工数(設計の容易さ)を総合して
UARTを2chもつ8051コアのチップあたりを使うね。
まあ普通はアクロバチックな技は
ハードが出来上がっちまって
にっちもさっちもいかなくなったとき
初めて発動するものだがな
>>973 石は安い方がいい
アクロバチックでも工数=ソフト開発費はただ
売り切りの商品だとこんなもんでしょ
それは馬鹿上司の思想の事?あなたの考え?
977 :
デフォルトの名無しさん :05/02/22 23:39:52
>>976 客先の考えだけど何か?
インテリジェントスイッチみたいな8bit以下のマイクロコントローラだと
まだまだアクロバチックな技が幅を利かせてるね
客にアドバイスしてやれよ・・・
馬鹿には無理か。
独断と偏見で開発しております
980 :
デフォルトの名無しさん :05/02/23 00:10:04
>>978 たかだか数十円ですむようなものをわざわざ値上がりするような
親切な忠告をしてくる馬鹿な客はいないと思うが
馬鹿にはわからないか
アクロバチックってお前らおっさんか。
ちゃんとアクロバテックと言え。
>>981 アクロバティック?
前の会社で「プラスティック」を「プラッチック」って言っている人がいて、
それが、みんなに伝染してた。
こういうのって、深夜残業になると感染率が高くなるんだよね・・・。
プラトニックを燃やしてはいけません
ぷらとにっくはぷらとにっくのままにしといてください
ん?
俺はアクロバチックなバグを作れるよ
プラスチックな絞殺死体
量産だったらソフト代は限りなくタダになるからやるんだろうな
おまいら
次スレを忘れてないか?
頼む
>>972 それは工夫次第さ。
同じようなコードが並ぶだけだからマクロで書けばいい
>>973 アクロバットって・・・9600BPSの調歩同期の実装くらいで曲芸呼ばわりされるとは思わなかったよ。
4メガのZ80の時代じゃないんだからさ、
今時のCPUなら、その倍でも問題ない。
ソフトの作成の容易さなんて言うけどさ、
新しいチップでUSARTのマニュアルを読む間にこれくらいのコード書けちゃうよ。
俺はソフトで実現した方が楽だね。
>>990 割り込みベクター書き換えながらってのが、
アクロバティックだと言ったんだとおもうけど。
完全にCPUの割り込み処理系依存になるし、
RTOSなんか使ってたら、
割り込みはまずOSのハンドラを通す場合も多い。
保守性は悪いと思うのだが・・・。
そもそも、CPUが今時(高速)なら、
わざわざ、割り込みベクタ書き換えで状態遷移しなくても、
割り込み処理内で分岐していいんでないの?
>>991 話の流れからして、RTOSを使う32ビット規模の話ではないと思うよ。
割り込みベクタを変更するのも、関数ポインタを書き換えるのも、同じ事だし、
CPUが高速でも、分岐命令は案外クロックを消費するもの。
加減算が2サイクルで出来ても、分岐は7とか10以上とかかかるのが普通じゃない?
>>971 その製品の保守、後の製品への改造時に外注や未熟な担当者が担当した
場合のフォローまで考えて、といってます。
うちにも、反対を押し切ってトリッキーな設計した事例が3件ほどあったけど
んー、ちょっとやりすぎたかな。えへへ。後はよろしく (・∀・)ノシ
とか言って全部押し付けて逃げてったのが2名。
別製品への展開という名の仕様変更に耐え切れず、
「ごめんなさい、もう私の技術力では無理です (;´д⊂ 」
と抜かしたチンカス外注が1名いたな。
8bit系は割込ベクタがROMのことが多いです。
1000なら32KバイトのROMに全部押し込む
>>993 保守か・・・・ だいたい1チップマイコン使うような場合は保守は、
そのマイコンの入手が出来なくなる時の事が多いからなあ・・・
小ロット物は保守を考えると近所のパーツ屋でもで手に入るような部品じゃないと・・・・
>>994 ああ、PICなんかは割り込みベクター書換えなんて言われても困るわな。
トリッキーな設計と思うか普通と思うかは物の見方の問題だと思うけど
998
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。