タグ付けされた質問 「microcontroller」

中央処理装置(CPU)、メモリ、および(一般的に)緊密に結合されたスタンドアロンの各種I / Oペリフェラル(UART、ADC、DAC、汎用I / O、I2Cなど)を含むデバイスパッケージ。

2
光絶縁型Arduino入力
ピンを光アイソレーターで保護して、電気メーターから外部信号を取得したい(最大35VDC、最大50mA、パルス幅240ms)。目的は、パルスをカウントすることです。 そのための回路図の例はありますか? ありがとう

4
ボタンでマイクロコントローラーの電源を切り替える方法は?
バッテリー電源のマイクロコントローラーデバイスを持っています。現在、単純なオン/オフスイッチで電源を切り替えています。回路図(およびおそらくマイクロコントローラープログラム)の変更を最小限に抑え、デバイスがオフのときは電力を消費せずに、1つのプッシュボタンで電源を切り替えたいと思います。どうすればできますか? 追加されました。私は次のトリックを知っています: ここで、開始時にマイクロコントローラーはPB3を高に設定し、デバイスの電力を保持します。ただし、S1を押してデバイスをオフにする必要があるため、これは私の問題の解決策ではありません。 追加されました。回路からVT2を除外できますか(VT1のマイクロコントローラードライブベース)。

3
STM32(ARM Cortex M3)の未使用ピンのデフォルト設定に関する推奨事項-プルアップ/プルダウン?
現在、STM32マイクロコントローラファミリのさまざまなバリアントを使用しています。次のことを知りたい: 1)プルアップまたはプルダウンの両方を選択するオプションがある場合、一般的なマイクロコントローラーのピンの推奨デフォルト設定は何ですか?どちらか一方と一緒に行くことの長所と短所は何ですか?(入力としてデフォルトで設定すると仮定します) 2)特に、STM32マイクロコントローラファミリの未使用ピンをどうするか知りたいです。ピンをフロートさせたままにしないことは明らかです(データシートには、:()と書かれていますが、プルアップで入力するか、プルダウンで入力するように設定する必要がありますか?特に、 ESDの影響を受けにくい設定を選択し、可能な場合は消費電力を最小限に抑えます。 3)クリティカルなピンについては、ファームウェアを使用してピンを正しいデフォルト状態に正しく設定する必要がありますか、それとも外部ハードウェア(外部プルアップまたはプルダウンを接続する)に責任がありますか?外部抵抗に選択された値が内部プルアップまたはプルダウンよりも大きい場合、ファームウェアの設定は重要ではありません。 上記を行うために私が見ることができるプロは、マイクロが何らかの理由(障害のあるハードウェアなど)で適切に初期化されない場合、ピンを正しく設定するためにファームウェアに依存していないということです。 私が見る欠点は、これを行うにはより多くの費用がかかるということです。 上記に当てることができる光は本当にありがたいです。 ありがとう。

3
SMDマイクロコントローラーにはどのようにコードがプリロードされていますか?
多くの場合、SMDマイクロコントローラー(AVRなど)またはSMDマイクロコントローラーを備えたPCBを購入すると、ボードが実行するために使用するプログラムがプリロードされます。どのようにプリロードされるのか疑問に思っていました-DIP ICはDIPソケットを使用してプログラムできると思いますが、特別なSMDソケットはありますか?

5
I / Oピンの抽象化のためのC ++クラス
ハードウェアI / OポイントまたはピンのC ++抽象化を探しています。in_pin、out_pin、inout_pin、open_collector_pinなどのようなもの。 私はきっとこのような抽象化のセットを自分で思いつくことができるので、私は「ねえ、あなたはこのようにするかもしれない」タイプの答えを探しているのではなく、「これとこれで使用されているこのライブラリを見て、このプロジェクト」。 他の人がこれをどのように呼ぶのかわからないので、Googleは何も表示しませんでした。 私の目的は、そのようなポイントに基づいているが、そのようなポイントも提供するI / Oライブラリを構築することです。そのため、たとえば、HD44780 LCdをチップのIOピンまたはI2C(またはSPI)のいずれかに簡単に接続できますI / Oエクステンダー、またはLCDクラスを変更せずに、何らかの方法で制御できるその他のポイント。 私はこれが電子機器/ソフトウェアの端にあることを知っています、それがここに属さない場合は申し訳ありません。 @leon:配線それはソフトウェアの大きな袋です。詳しく見る必要があります。しかし、彼らは私が望むようにピンの抽象化を使用していないようです。たとえば、キーパッドの実装では digitalWrite(columnPins[c], LOW); // Activate the current column. これは、I / Oピンへの書き込み方法を知っている関数(digitalWrite)が1つあることを意味します。これにより、digitalWrite関数を書き換えずに、新しいタイプのI / Oピン(たとえば、MCP23017上にあるため、I2Cを介して書き込む必要がある)を追加できなくなります。 @Oli:Arduino IOの例をグーグルで検索しましたが、Wiringライブラリとほぼ同じアプローチを使用しているようです: int ledPin = 13; // LED connected to digital pin 13 void setup(){ pinMode(ledPin, OUTPUT); // sets the digital pin as output …
13 microcontroller  pins  c++  io 


5
24VAC / 5VDC電源設計
MCUと一連のソレノイド制御バルブを使用して、水バルブコントローラーを作成する予定です。ソレノイドは24VAC(40mA突入、20mA保持)で動作します。 MCUは最大100mAを消費するボード上にあり、オンボードレギュレーターを備えているため、5Vを直接(レギュレーターをバイパスして)またはオンボードレギュレーターを介して6-12V供給できます。また、他の5V周辺機器(センサー、ディスプレイ、LEDなど)を実行したいので、500mAの調整された5VDCが必要だとしましょう。 理論的には、24VACトランスから整流/フィルター処理された出力を取得し、それを〜12Vに調整し、オンボードレギュレーターを使用してさらに5Vに調整することもできますが、大量の電力を(比較的)廃熱として放散することになります。私のレギュレーターは、ヒートシンクと必要に応じて積極的に冷却する必要があります(これはすべてガレージの箱に入れられ、定期的に〜110Fに到達します...)。リニアレギュレータの代わりにスイッチングレギュレータを使用することも検討しましたが、それらについてはゼロの経験があり、必要なことを行うために回路図をまとめる方法や、理論的にも現実的であるかどうかはわかりませんリニアレギュレータのアイデアとして。 私は、センタータップの24VACトランスを使用し、センタータップから12Vを5VDCに整流/調整してMCUを実行し、全出力に24VACを使用してソレノイドを駆動するというアイデアを試しました。 これは適切な設計ですか?このようにセンタータップを使用しても大丈夫ですか?

11
低電力ラジオ+マイクロコントローラーの推奨事項 [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Electric Engineering Stack Exchangeで話題になるようにします。 閉じた3年前。 以下を組み合わせた低電力システムオンチップを探しています。 プロセッサ(任意のアーキテクチャ) 無線(任意の周波数/ビットレート/送信電力) 2つ以上のI / Oピン(ADCはボーナスです) 誰でもデバイスを推奨できますか? どのチップ会社を見るべきですか?

4
ディープスリープモードからの復帰
ほとんどのマイクロコントローラー(AVR、MSP430、PICなど)は、多くの異なるスリープモードをサポートしています。「最も深い」スリープモードは、消費電力が最も少ない(「パワーダウン」、「シャットダウン」など)ものですが、通常、これらのモードではすべてのクロックシステムが停止します。それらからのウェイクアップ」は、外部刺激(ピン変更割り込み、チップリセットなど)を介して行われます。何か不足していますか?MCUの周期的なウェイクアップ信号を生成する驚くほど低電力の方法はありますか? 私の目標は、機能を実行するために定期的に目覚めながら、消費電力を最小限に抑えることです(つまり、可能な限り長く眠り、できるだけ短時間目を覚まします)。このタイプの動作を達成する一般的な方法は何ですか?問題をさらに簡素化するために、関数がステートレスであると仮定しましょう(実行するために過去から何も覚えておく必要はありません)。 MSP430でWDTを使用してこの効果を得ることに成功しました。最後の行でウォッチドッグタイマーを一定期間後に期限切れにし、LPM4.5または「ディープスリープ」モードが呼び出されたときに、メインルーチンを自分の関数にしました。最終的な結果は、機能が実行され、MCUがスリープし、WDTが期限切れになり、チップがリセットされて吐き気がすることです。このタイプの動作を得るための「より良い」、「よりエレガントな」、または「より電力効率の良い」方法があるかどうか疑問に思って、動作しているようです? 私はまだAVRでこのアプローチを試していませんが、WDTはMSP430よりもAVRでより「電力を必要とする」ので、低電力の作業にはあまり魅力的ではないと思います。おそらく、低電力への「普遍的な」アプローチはなく、特定の製品ラインが提供するツールを使用する必要がありますか?新しいpicoPowerラインには、イベントシステムやスリープウォーキングなど、アプリケーションをその構造に適合させることができる場合に、CPUを起動させる必要がほとんどないなど、多くのウィズバン機能があります。 私の放浪については十分です、ここでyaが言うことをしましょう:) テクニックを示すコンクリートの例を編集するのもいいでしょう!

7
プログラマブルロジックが組み込まれた(FPGA / CPLDなどの)マイクロコントローラーはどのようなものが市販されていますか?
質問に触発されて、CPLDまたはFPGAに似た機能が組み込まれたマイクロコントローラーは何ですか?最も興味深いのは、友好的なパッケージ(非BGA)の低コストなパッケージです。CPLD / FPGA部分は、かなり複雑なステートマシン(10以上の状態)、かなり大きなロジック機能(10以上の入力)、かなり大きなカウンターとシフトレジスタ(8以上のビット)を実装し、数十で実行できるように十分に大きくなければなりませんMHzの周波数。プログラマブルロジック機能の設計入力の好ましい方法は、HDLベース(VerilogまたはVHDL)である必要があります。 これまでのところ、2つの例を見つけました 。1)Atmelの FPSLIC 2)CypressのPSOC3およびPSOC5(これらは、サンプル量を除いて、まだ利用できません)

6
PICプログラミングの開始
私はいくつかのPICプログラミングを検討していますが、利用可能な他のマイクロコントローラーのいくつかとは異なり、利用可能なさまざまなチップの数によって混乱が生じました。また、PICプログラミングを始めた人にとって良い選択肢としていくつかのサイトで提案されたチップのいくつかは、置き換えられた可能性があります(または、さらに混乱しているかもしれません)。 したがって、私の質問は次の3つの部分に要約されます。 最初に良いPICチップは何でしょうか? アセンブラーまたは他の言語のいずれかを実行することは非常にうれしいので、Linux用にどのIDE /言語を提案しますか? LinuxラップトップからのUSB接続(PicKit 2?が1つの可能性でした)を介してコードをチップに取り込むという点で、何をお勧めしますか? 編集:さまざまなキットのメリットについてKortukとの長い議論(下記のコメントを参照)の後、PicKit2スターターキットから始めることにしました。これには、PIC16F690チップがインストールされています。

6
組み込みシステムで割り込みを使用する場合のグローバル変数の回避
グローバル変数を回避する組み込みシステムのために、ISRとプログラムの残りの部分との間の通信を実装する良い方法はありますか? 一般的なパターンは、ISRとプログラムの残りの部分との間で共有され、フラグとして使用されるグローバル変数を持つことですが、このグローバル変数の使用は、粒度に反しています。avr-libcスタイルのISRを使用した簡単な例を含めました。 volatile uint8_t flag; int main() { ... if (flag == 1) { ... } ... } ISR(...) { ... flag = 1; ... } 基本的にスコーピングの問題が何であるかを見逃すことはできません。ISRと残りのプログラムの両方がアクセスできる変数は、必ず本質的にグローバルでなければなりませんか?それにもかかわらず、「グローバル変数はISRとプログラムの残りの部分との間の通信を実装する1つの方法」(強調は私のもの)という言葉に沿って人々が言うことをよく目にします。他の方法がある場合、それらは何ですか?

7
ほぼ無制限の読み取り/書き込み操作機能を備えた不揮発性メモリICが必要
マイクロコントローラーベースのプロジェクトの累積カウントを追跡するために使用されるメモリソリューションが必要です。 累積カウントとは、マイクロコントローラーがこのメモリー位置を使用してイベントの発生カウントを保持することを意味します。停電中はカウントを保持する必要があるため、不揮発性メモリが必要です。 また、カウントインクリメントイベントが頻繁に発生するため、メモリへの書き込みが多くなるため、EEPROMを使用することをためらいます。 推奨される通信インターフェースはI2Cですが、他の代替手段も歓迎します。 私は頭を下げて、パワーダウン時のコインセルのようなバックアップバッテリーから電力を供給するオプションを備えたSRAM低電力揮発性メモリICを想定しています。


5
なぜ偶数パリティで悩むのですか?
アプリケーションでSPI周辺機器を使用しています。周辺機器は、15データビットとエラー検出用の偶数パリティビットを含むパケットを返します。 したがって、すべてゼロで、すべて1が両方ともパリティチェックに合格します。 これは、私のマイクロコントローラーが最も一般的なタイプのエラーを検出できないことを意味します:接続されていない周辺機器 この場合、受信ビットはすべてゼロであり、パリティチェックに合格します。 周辺機器の製造業者が奇数パリティを実装するのと同じくらい簡単だったと仮定して、私の質問は次のとおりです。この場合、なぜ偶数パリティを使用することを選択したのですか。この場合、最も一般的なタイプのエラーをキャッチできないという事実を補うために、偶数パリティには他の利点がありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.