
スタンダードC-MOSと呼ばれる4000シリーズについても少しお話しておきましょう。74HCシリーズが登場するまでは、ロジックデバイスといえばTTL(74LS)か、この4000シリーズのC-MOSでした。4000シリーズはTTLよりも動作速度は遅いのですが、C-MOSならではの省電力と、何より電源電圧が3V~18Vと幅広くとれることに大きなメリットがあり、オペアンプなどのアナログデバイスとの混在回路に威力を発揮します。一例として、ワンショットタイマ4538を紹介します。尚、現在では4538は74HCシリーズの仲間入りをし、74HC4538があります。
【タイミングチャートの説明】
①B=Hの時A→Hによって(トリガされ)出力QがTwoutの期間Hとなる。(CD=H)
②A=Lの時B→Lによって(トリガされ)出力QがTwoutの期間Hとなる。(CD=H)
③CD=Lの時は常に出力QはL。
④⑤⑥ 出力QがTwoutに達するまでに連続してトリガされるとQはHを継続し、最後のトリガ⑥からTwout後にLとなる。(CD=H)
*出力Q-は常にQの逆論理。
関連記事:555を使ったPWMコントローラ 2010-02-19
【タイミングチャートの説明】
①B=Hの時A→Hによって(トリガされ)出力QがTwoutの期間Hとなる。(CD=H)
②A=Lの時B→Lによって(トリガされ)出力QがTwoutの期間Hとなる。(CD=H)
③CD=Lの時は常に出力QはL。
④⑤⑥ 出力QがTwoutに達するまでに連続してトリガされるとQはHを継続し、最後のトリガ⑥からTwout後にLとなる。(CD=H)
*出力Q-は常にQの逆論理。
関連記事:555を使ったPWMコントローラ 2010-02-19
あまり精度を要求しない向き・・・ですよねぇ~!
少ロット量産でも精度を要求するんなら、PICマイコン使ったほうが省力化、コストダウンになるでしょうね!
あんまり業務用でPICマイコン使うとは思えないけど・・・。仕様がチャチなので・・・。
私のように「ムチャ」すれば「なぁ~んだ!」ってことなだけなんです。
でも、「ムチャ」すると体壊すんで、そこらへんのリスクが平気な時でないと・・・ね!
もう、電気回路とかプログラミングとか仕事とか・・・そういうことで体を壊すつもりなんてさらさらない私です。
ムリなんかしなくっても、寿命なんてそう長いものではありませんから・・・。
そこらへんをコントロールしながらこれからを生きていく・・・っつぅ~ことですね、ワタシは。
だって内部的にはSHと大してかわりないじゃ~ん!って思いましたもの・・・。
32ビットプロセッサなんですね、感覚が・・・。
C言語で組んでも、かなりのボリュームになります。
しかし、タイマ割り込みで動作する雛型を自分で用意できるくらいのスキルが身に付けばどぉ~ってことないのです。
その経験(ってどんなの^^;)を生かしてPICは自力で使いこなせるようになりました。
タイマ割り込みは10msecと1msecがあれば不自由しないと思います。
ここで問題なのはタイマ値で10msecを作ろうとするから難しくなっちゃうのです。
1msecを作って、10msecはカウントしてこなせば、1msecの割り込みだけ作ればいい、ってことに気が付かないのは「ハード屋さんの性」!
そういうのをH8で学んだような気がします。まるまる1ヶ月、ほとんど家に帰らないということもありました・・・。
そこへいくと、PICなんてアセンブラでも気が楽なものです。インストラクションの種類があまりにも少なすぎて・・・わざわざC言語をやる必要もなかろうて・・・。
マイコンなんてみんな似たようなモノですが・・・8086系が一番厄介なのかもねぇ~?私の経験では・・・。
でも、マイコンなら、チョイチョイと・・・。
タイミングだって周期を変えるだけだし・・・・
CPLDだったらロジックよりも楽ですが、それでもやっぱりマイコンに軍配があがるかな?
現在のクルマのブレーキーやテールランプ、ダイナミック点灯してますね!
疲れているとき、チカチカしているのがわかるときがあります。
いまどきはスタティック点灯しているのはないと思いますよ!
PICとはなんぞや?のイメージも何となくわかった気がします。さりげなく実にうまい解説をしてくださったと思います。
テルミンって、もともと発振回路が不安定な状況下で人間が手を近づけたりすると動作状況が変化するという、本来はよくないラジオ(?)が元だったのではないでしょうか?
マイコンで検出するのはかなり難儀ですが、センサの構造をプログラミングしやすく考えればできないこともないでしょう!
ハードウェアだけで実現するのはやはり「高周波発振器」なワケです。「できそこないのラジオ、あるいはワイヤレスマイク」、やはりこれですかね?
組込みプログラミングって、正直言ってキツイと思います。
プログラミング言語やマイコンハードを掌握しつつ、もろもろの経験からそれを解決するための手法を身につけていない自力で脱出できません。
ハード屋さんの見地からすると、プログラミング言語を扱うだけで精一杯になるんですけど、プログラミングの本当の目的はその先なワケです。
市販書籍を参考に組めるようになれるなどという甘いモンじゃないよねぇ~、って思います。実践を重ねて経験を積んでいかないと・・・また自分のスタイルというものを確立できないと・・・。
まぁ、最近はリアルタイムOSものが一般的になってますんで、OSという厄介モノともなかよくせねばなりませんし・・・。
そういうのは、WindowsでCプログラミングを積み重ねることでも身につきますけどね!
実際、そうなんですよ!
私が担当したH8/2000Sのブツはインサーキットエミュレータが使えない環境だったのです。
机上デバッグ、シミュレータでチェック・・・とても苦労しましたが、一番役立ったのはWindows上でCプログラミングして動作を確認したこと・・・これがイチバンだったのです。
16ビットとか32ビットの違いとかは勘案する必要はありますけど、キー入力や表示ができるワケなんでデバッグはたやすいのです。
「C言語で開発」するのがメインならば、おすすめの方法です。
かなり「C言語」のスキルが身につくと思いますよ!
それから「割込み」なんですけど、こいつはOSがからむとさわれなくなります。「割込み」はOSが管理するからです。それはWindowsでもそうです。
このあたりの違いをフツーにこなせれば、どんなシステムでも開発できると思います。
ウチの古いPCは見方を変えると、「でっかいワンボードマイコン」なんです^^;もう、使っていませんけど・・・。
以上、まさに核心部分のオンパレードだと思います。いまの私に必要なことをズバリ仰ってくださった感じがします。ほんとその通りですよね。
幸いなことに私がメインに使おうと思っているH8SX/1655にはオンチップエミュレータがあるので、いくらかは楽だと思います。もちろん有償ではありますが。
トラ技の読者プレゼントで当たったものです。
呼び方は「オンチップデバッガ」と違っているけど、役目は同じ・・・で、UARTデバッグができる・・・PCのシリアルポートを使ってHEWと連動できるのです。
HEW自体が遅いけど、ソースレベルデバッグできるのは大変いい!だけど、フラッシュROMに書き込まないといけないから、ちゃんとしたエミュレータのほうが気楽かな?
実はPIC16F877や18F452もそういうデバッガが内蔵で、ICDというデバッグツールを使うと同様のことが可能・・・ということでICDのパチモンを自作しました。
ICDの回路図が公開されているので作れちゃうんですね!
でも、実際にはMPLABでシミュレータデバッグしちゃいますね、ターゲットもいらないし。
入力信号なんかも自分で作成してできますから、なんとかなるものです。
しかし、しかしですよ!
それができて何があるのだろうか?今の私に・・・という根本的な問題が残るのであった!
ま、要するに、「ネコに小判」ってことですね!