• ベストアンサー

制御プログラム

私はマイコンの勉強をしているのですが(今できるのはPICだけです)私の今のマイコンのイメージでいくと、タイマーやPWMやシリアル通信などの内蔵モジュールを使っていろいろ制御をする感じなのですが、求人などに良くあるファームウエアやドライバとは実際どのような感じで出来ているのでしょうか。 内臓モジュールを使って作っているのでしょうか、またリアルタイムOSなどの通信などのライブラリとかがあってそれをを使っているのでしょうか、全部自分で作っているのでしょうか、いろいろなパターンがあるとは思いますが、だいたいどんな感じなのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

大雑把にいうと ファームウエアは装置に組み込まれるプログラムです。 ドライバはPC上のプログラムで、装置とアプリケーションの仲立ちをするものです。 インクジェットプリンタで説明すると アプリケーションから印刷指定された画像や文字を プリンタが認識できる制御コードに置き換え、 プリンタに1バイトずつ送信する。 これがドライバの仕事です。 PCから1行分または1ページ分のデータを受け取ったら 各色のドット情報に展開して 紙送りをしつつヘッドのモータを動かし、 タイミングを取りながら必要なインクを吹き付けていく。 これがファームウエアの仕事です。

nugenuge
質問者

お礼

ありがとうございます。 ひとつのプリンターで例えてくれたことが、とっても分かりやすかったです。おかげでなんとなく見えてきました。 あと、これからH8かSHどちらかをやろうと思っているのですが、どちらにしようか迷っていますどちらかお薦めがあれば(例えばリアルタイムOSでこういうのがあるからこっちがいいとか)難しい制御をするならやっぱりSH?どうせならSHって感じかな・・・?どうなんでしょう。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • 12m24
  • ベストアンサー率23% (193/817)
回答No.1

 マイコンを利用するとき、極力ハードでできることはハードにやらせます。  たとえばRS232通信モジュールを搭載しているモデル(PIC16F87シリーズなど)は、シリアル通信は内臓モジュールを有効にしてから、ドライバICに送り出します。  こうすることで無駄にタイマを利用することがなくなり、ハードウェアを有効に利用、精度も向上するようになっています。

nugenuge
質問者

補足

お答えありがとうございます。私はそういった仕事がしたいと思っているのですが、求人をいろいろ見ているとファームウエアやドライバと一言で書かれていて物によっても内容はぜんぜん違うと思うのですが、お答えの内容だとファームウエアになるのでしょうか、その辺が良く分からなくイマイチいろいろと動けずにいます。できればその辺(ファームの仕事は、ドライバの仕事はみたいな感じで)を教えていただけませんでしょうか。(まちまちで難しいとは思うのですが。)私は機械の制御がしたいと思っているのですが、なかなか調子いいものが無くわからない状態にいます。 おねがいします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マイコン制御

    マイコン制御の仕事がしたく、今マイコンを勉強しています。そこでいろいろな疑問が出てきました。 1、求人によく8、16、32ビットマイコンなどとありますが、それはやはり処理量をさしているのでしょうか?私はPICとH8を勉強しているのですがPICは命令長でH8はバス幅でクラス分けをしていますよね!?ちなみに処理量だとしたらPICは8ビット、H8は32ビットと言うことになるのでしょうか? 2、組み込み関係の求人がすごく多いけれど、派遣や請負いばかりが目につくのですが。実際、組み込み関係のお仕事をしている方はどんな感じなのでしょうか。 3、私は求人によくあるカーナビや携帯のソフトなどではなく、もっとハードよりな感じのロボットやFAの制御などがしたいと思っています。地元で中小企業でとなるとPLCが多い気がするのですがマイコンでそのような仕事はやはりむりですかね・・・。有限会社とかだと結構あったりするのですが・・・、だれかOEMとかでもいいので中小で物作り実感してマイコン制御してる方いらっしゃいますか? 4、リアルタイムOSを使うのはロボット制御などではなくカーナビや携帯などのようなアプリケーションよりな感じなのでしょうか? よろしくお願いします。

  • PICマイコンのLED制御

    PICマイコンのLED制御 pic12Fを使って、LEDのPWM制御を行おうと考えていますが、うまくいかないので知恵をおかしください。 それぞれの出力端子に3色のLEDをつけて、順にだんだん明るくなってから、だんだん消灯してゆくプログラムを考えましたが、 最初のLEDが消える前に、2番目のLEDをゆっくり点灯させたいと思っていますが、うまくいきません 少しだけ同時点灯するには、どのような考えをすればいいのでしょうか。だんだん消えていく中で、点灯を始める処理がわかりません。よろしくお願いします。

  • picで24時間タイマーを自作したい

    picマイコンを使って、家庭用100vの電気を24時間のうち決めた時間にだけ電気を流す制御できるタイマースイッチを作りたいのですが、 マイコンからの弱い信号で100vの電気を本当に制御できるんでしょうか? 後マイコン一つでこのタイマーは作れるでしょうか?

  • PICを用いてシリアル通信

    PIC制御でシリアル通信を行いたいです。 以下の条件にマッチする製品が分かれば教えてくれませんか? ・シリアル通信は通信ポートが2つで両者の通信が行える ・半田付けなどは行わずにモジュールを組み合わせて動作するボード 以上、宜しくお願いします。

  • PCに挿したIOボードを制御するためのプログラム

    IOボード(AD/DAボード)を使ってPCで入出力制御(例えばモーターのフィードバック制御)をしたいと思っているのですが、ボードにアクセスするためのプログラムや、信号を入出力するためのプログラムをどのように書いたら良いかわかりません。おそらくデータシート?に書いていると思うのですが、知識不足で読み解くことができません。(いままでArduino IDEでArduinoの制御をしたことしかありません。普通にC言語でAVRマイコンをプログラムして制御することはできません。C言語の基礎知識はあります。) そこで質問なのですが、PCから(例えばPCIスロットに挿した)IOボード(AD/DAボード)を制御するための知識は、どのようにして習得できますでしょうか?参考になる本やサイトが見つかりません。PICやAVRなどのマイコンであれば本が色々出ているようなのですが、そのようなマイコンを使えるようになれば、PCからIOボードを制御できる基礎知識は付きますでしょうか?

  • マイコンPIC シリアル2系統

    マイコンのPICを1つ使い、シリアルコネクタ2つを制御する方法や、 マイコン実装済みボードの販売先が分かる方、 教えてくれませんか?

  • 割り込みとは?

    マイコンの「割り込み機能」に関する質問です。 半年ほど前からマイコンを使ってラジコンヘリをいじくって自律制御みたいなものをやろうとしてまして、当初は「マイコンって何?」のレベルだったのですが、ようやくいろんなことができるようになってきました。 具体的にはH8や、MC9S08QG8(フリースケール社)を使って、LEDの点灯から始まり、AD変換、DCモータのPWM制御、サーボコントローラを駆動するためのシリアル通信などができるようになりました。 でも、いまだに使いこなせないのが、「割り込み」というものです。 今のところ、必要性を感じていないのですが、「割り込み」ってそもそもどういうときに使う必要が出てくるんですか?使うと、具体的にどんなことができるんですか?教えてください。 ちなみにC言語しかわかりません。

  • PICによるPWM出力の周期について

    PIC(16f873)を用いて、モータをPWM制御しようと思っています。 そこでいくつか質問なんですが、PWMの周期は下記の式で与えられるとありますが、 PWM周期 = (PR2の値+1)x4x発振器周期xタイマー2のプリスケーラ値 この周期は、自分で適当に決めていいのでしょうか?それともモータによって決まっているんでしょうか?  そもそもPWMは、デューティ比で出力が変わると思うんですが、周期が違うとどのような違いが出るのでしょうか?周波数が高くなると細かい制御が出来るって感じでしょうか? 初歩的な質問ですが、よろしくお願いします。m(_ _)m

  • GPIOポートを使ったシリアル通信について

    GPIOポート(デジタルの汎用入出力)を用いてのシリアル通信について質問させて頂きます。 通常シリアル通信にはTxD,RxDといったシリアル通信用のピンを用いますが、これは通常1デバイスに一ポート程度しかありません。そこで、多数のシリアル通信デバイスを制御するのに、数のあるGPIOピンを用いることができないか、と検討しております。 具体的には、raspberry piやarduinoに搭載されるGPIOピンと制御したいデバイス(PICマイコンなど)のシリアル通信ポートを接続し、制御したいということです。 説明が下手で意図がうまく伝わらないと思いますが、できるかできないか、または参考になる資料など、なんでもいいので情報の提供をよろしくお願いいたします。 イメージしている接続を図示してみましたので、説明の足しになれば幸いです。

  • マイコンで電流・電圧制御のやり方

    マイコンで、シリアル通信で、他の機器を制御したいのですが、やりたいことを書きますと、 1、電圧(電流?)を制御して、モーターの回る速度を調節 2、ライトの光量の強弱の変化 on/offは、トランジスタを使ってできているのですが、上記のは、なんの部品をつければ可能でしょうか? 一応、on/offの信号を高速で変えて、モーターを遅くしたりはできているのですが、これだと強引で、寿命が縮みそうなので・・・