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

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

1
STM32「USBデバイス」と「USB OTG HS」の違いは何ですか?
最近、MCU検索用にstm32アプリをダウンロードし、たとえばSTM32F429の「USBデバイス」周辺機器に「NO」があり、「USB OTG FS」および「USB OTG HS」に「YES」と表示されていることを発見しました。これは、STM32F429がUSBデバイスとして完全に機能するため、つまり、すべてのライブラリとUSBクラスをサポートするため、驚くべきことです。 他のいくつかのMCUには、「USBデバイス」と記載されています。STM32L052 次に、CubeMXをチェックしてみたところ、USB_Device周辺機器が検索に含まれていることがわかりました(STM32F429にはUSB_Device周辺機器が含まれておらず、USBに関するものはOTGを介して行われます)。 USBデバイスは単にOTGをサポートしていないデバイスを意味するのではないかと思うので、それは非常に簡単な質問かもしれませんが、通常、MCUはOTGを使用します(さらに、ライブラリが1つしかないため、USBで「NO」と表示する理由は不明です)周辺)。googleやCubeMXのドキュメントでそれに関する情報を見つけることができませんでした。 USB OTG HSはライブラリで問題なく動作するようなので、あまり心配していませんが、用語については疑問に思っています。 この質問にはおそらくSTフォーラムの方が適していると思いますが、そこにあるトピックの多くは、2年経っても回答がない、または回答がないのです。:) ありがとう。

3
ATtiny45直接USB 2.0接続のフ&ー ム&アと回路
USB経由でPCにデータを送信するだけのATtiny45を使用して、独自のモジュラーUSBデバイスを作成したいと考えています。私はデータを読み取っていないので、片道(ATtiny-> PC)接続で完全に問題ありません。 Arduino UnoをISPとして使用し、Arduinoソフトウェア内からロードされた標準のArduinoISPスケッチを使用しています。AVRDUDEを使用して、ArduinoをISPとしてATtiny45をプログラミングすることを考えています。これは、HEXにコンパイルされたCコードを使用できるようにしたいのです。 回路に関する私の基本的な考え: ご覧のとおり、「直接」のUSB接続が必要です。これまでのところ、ソフトウェアベースのソリューションを使用する必要があることを知っています。 私はATtiny45で動作するようにSoftwareSerialを管理しました。このために、私はArduinoソフトウェアを使用して、次のコードでATtiny45をプログラミングしました: #include <SoftwareSerial.h> #define rxPin 3 #define txPin 4 SoftwareSerial serial(rxPin, txPin); void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(led, OUTPUT); serial.begin(4800); } void loop() { serial.println("1"); delay(1000); } 私はピン3(まだ)を使用していませんが、SoftwareSerial用に定義する必要があることに注意してください。 このように、SoftwareSerialを使用して、ATtinyから、このテストのために空白のスケッチがロードされているArduino UNOのTXピンにデータを直接送信することができました。私がArduinoソフトウェアのシリアルモニターを使用してCOM4(私の場合)のデータを読み取っていたのは、プログラムされたATtinyをUSBケーブルに直接接続しようとしたため、PCがデバイス(COMポート)を認識しなかったためです。 残念ながら、シリアルモニターで奇妙なUnicode文字しか表示されませんでした。データが16進形式かそれくらいだからだと思います。USBとATtiny45の間にUSB /シリアルコンバーターを接続する必要があることに気づきました。そのようなコンバーターを探しましたが、すべてのものが必要なので、既製のボードは使いたくありません。単一のボード上の私のコンポーネント。私のプロジェクトではFTDIチップは「多すぎる」と思いますね。(ピンが小さすぎてはんだ付けできません...) V-USBはUSB /シリアルコンバーターを必要としないため(私の知っているように)、2番目のアプローチでした。したがって、V-USBを使用するには、前述のようにAVRDUDEを使用する必要があります。 私はこの素晴らしいV-USB EasyLoggerの例を見つけました。回路設計とサンプルファームウェアが含まれています。(C / C ++ / HEX) 私が知りたい唯一のことは、回路を例に示すようにする必要がありますか?-> …

1
MCU / CPLDの入力ピンとVCC / GNDの間に抵抗を使用する必要がありますか?
MCUまたはCPLDにスタティックロジックを入力させたい場合があります。したがって、私はそれをVCCまたはGNDに接続することを選択します。問題は、電流を制限するために抵抗を直列に配置する必要があるということです。私はしばらくの間自分で考えて、自分の答えを得ます:いいえ!たとえば、STM32F103(データシート)を86ページで取り上げます。 「入力リーク電流」から、VDDを適用したときに入力抵抗が少なくとも1 Mオームであるため、電流を制限するための直列抵抗が不要であることがわかります。それは合理的ですか?

2
モジュールの複数のプルアップ抵抗を処理する方法
数日前に開発したボードに、spi / i2cインターフェイスを含むモジュールを作成することを考えていました。 問題は、メインボードのMCUピンにプルアップ抵抗を含めておらず、モジュールに追加してそれらをより「一般的」にして、すべてのユーザーが追加の抵抗を追加する必要なしにそれらを使用できるようにすることでした。プロトタイプボード。 しかし、私は次の問題に直面しました。追加のモジュールにプルアップ抵抗を追加し、たとえば2つ以上のモジュールを同じバスに接続すると、それらの抵抗が並列に接続されるため、抵抗が低下し、機能が発揮されません。 しかし、プルアップ抵抗をメインボードに追加すると、MCUのこれらのピンは常にアクティブLOWになります。 したがって、主な質問は次のとおりです。 複数のモジュールを同じバスに接続して、それぞれにプルアップ抵抗を備えているが、複数のモジュールがある場合にそれらを並列に接続する方法は?それは可能ですか? または、ここでの最善の解決策は、MCUでプルアップ抵抗を有効にし、それらをモジュールに含めないことですか? ありがとう。

2
マイクロコントローラーからのLEDストリップの駆動
明るさを制御するためにPWMを使用してマイクロコントローラーからLEDのストリップを駆動したいと思います。私が持っているストリップは12Vで約1.5Aかかります。私は純粋に低消費電力のデジタルエレクトロニクスにのみ精通しているので、これらの仮定が正しいかどうかを確認し、アドバイスを受けたいと思っていました。 これを駆動するためにNPNトランジスターを使用する場合、オンにしたときのトランジスターは約0.7v低下するため、オンにしたときに1Wを超える電力を消費します。 これには、かなり分厚いトランジスタとヒートシンクを必要としますが、できれば避けたいと思います。 したがって、抵抗がはるかに低いmosfetを使用した方がいいので、小さいほうでおそらくヒートシンクなしで済むようになるかもしれません。 しかし、私が購入できるさまざまなMOSFETの仕様を見ると、この量の電流を流すことができるものは、マイクロコントローラーから完全にオンにするために3.3vよりもかなり多くの電流を必要とするように見えます。 では、実際のLEDストリップを制御するために、MOSFETの入力に12Vをスイッチングする小さなNPNトランジスタを用意するのが最善でしょうか?(申し訳ありませんが、このコンピューターで図を描くことはできませんが、必要に応じて後で追加することができます) 私の仮定は正しいですか、そして誰かが何かアドバイスやより良い方法を持っていますか?主な質問ではありませんが、適切な部品の推奨事項にも興味があります。 (編集:これに答える他の投稿を探しましたが、私が望んでいたものは何も見つかりませんでした。誰かが複製へのリンクを持っている場合は、投稿してください。喜んで質問を閉じます)。

2
Raspberry Piはマイクロコントローラーですか、マザーボードですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 Raspberry Piについて簡単な質問がありました。それはマイクロコントローラーですか、マザーボードですか? マザーボードのように見えますが、専用のメモリとプロセッサを備えていることを考えると、マイクロコントローラーである必要があります。

1
通常の数分の1の速度で動作するdsPICチップ
2つのPCBがあります。1つはdsPIC30F6012a、もう1つはdsPIC30F6015です。どちらもPICkit 3を使用して、MPLAB Xの独立したスタンドアロンHEXプロジェクトからプログラムされています。どちらのファームウェアも、この時点までに数十のユニットに問題なく適用されています。現在、ファームウェアは1つを除くすべてのPCからプログラムされたときに正しく動作しています。その1台のPCでは、昨日から、両方のファームウェアは明らかなエラーなしにプログラムされますが、通常の速度の約1/20で実行されます。昨日まで、そのPCはこれらのボードも問題なくプログラミングしていました。 スプラッシュスクリーンは5秒ではなく2分かかり、ライトは非常にゆっくり点滅しますが、これに加えてすべてが正しく動作します。発振器の構成ビットが変更されたかのように見えますが、スタンドアロンプ​​ロジェクトで実行できるMPLAB Xのどこにも気づいていません。 したがって、2つの異なるチップ上の2つの異なるファームウェア、同じPCBデザインの複数のインスタンス、それらをプログラムするために使用されているPCのみに依存して異なる速度で実行されます。「良い」PCで遅いボードを再プログラミングすると、問題が修正されます。「不良」PC上の同じボードを再プログラミングすると、元の状態に戻ります。私が理解できるのは、その1台のPCで誰か​​が[ゆっくり実行する]ボタンを押したということだけですが、そのラベルが付いたものは見つかりません。(ただし、私たちの技術はかなり独創的です。)現在、MPLAB Xをアンインストールし、ユーザー設定を消去し、より新しいバージョンを再インストールしています。(1.3から1.6に変更されます。)しかし、それで問題が修正されたとしても、何が起こっているのかわからないので、私はまだ満足していません。誰かがこの問題について何か洞察を持っていますか?

3
PICで複数の外部割り込みを使用する
いくつかのプロジェクトでPIC16F877(データシート)を使用しました。単一の外部ピン変更割り込みの場合、PORTB0割り込みを使用できます。しかし、今度は1つの回路で8つの独立した外部ピン変更割り込みをサポートする必要があります。 データシートには、に15の割り込みがあるとありますがPIC16F877、タイマーのオーバーフロー割り込みなどを含めてカウントされていると思います。この場合は役に立ちません。 これはデータシートがINTCONレジスターについて述べていることです。 bit0を使用して4つの独立した割り込みを持つことはできますRBIFか?それはの変化を表していPB7:PB4ます。どのピンが変更されたかをどのように識別できますか、それは割り込みルーチンでポート値を読み取ることによってですか? 上記に対して肯定的な回答を得ても、8つの割り込みが必要ですか?もちろん、私はまだINTE、PORTB0変更のために使用できます。その後4 + 1 = 5、しかし、どのような他の約3?(ただし、8つの割り込みイベントはすべて同じタイプ4 + 1 + 3 = 8なので、醜いように見えますね。) 8ピンを監視すること以外に、マイクロコントローラから期待される他の重いタスクはありません。(他のタスクについては、一連の個別のカウンター変数を維持し、頻繁に約4バイトをPCにシリアルに送信する必要があります) どんな提案でも大歓迎です。それがマイクロコントローラーをより適したものに変更することについてであってもです(しかし、ええと。sから離れるように言わないでくださいPIC)。

1
ジュールシーフの計算方法
ジュールシーフは、あなたはそれがその人生の最後の滴を費やしている場合でも、1.5V電池を3.6V LEDを駆動可能なシンプルなステップアップコンバータです。それは単にトランジスター、変圧器および抵抗器から成る。 回路は、特にトランスのコイルの数に関して非常に寛容です。しかし、生成された電圧を正確に計算する方法があるかどうか疑問に思っていました。マイクロコントローラーに電力を供給するために古い1.5Vバッテリーを使用するのは良いことです。私は、ツェナーが回路の振動動作を妨げると報告している人々を読みました。 誰かがこの種の回路についてより深い知識を持っていますか?そして、マイクロコントローラに電力を供給するために安定した5ボルトを作成することは可能でしょうか? update ここで の議論は私が見つけることができる最も近いものであり、要求は私のものと非常に似ています。

3
複数のボードを介した30MHzクロックのルーティング
TLC5945 LEDドライバを使用しています。マイクロコントローラー(私はLPC1343を使用しています)は、その内部PWMタイマー/カウンターにクロックを提供する必要があります。最大許容クロック速度は30MHzと指定されています。 TLC5945をデイジーチェーン接続したボードをいくつか用意します。ボードは、ボード間コネクターまたは短いリボンケーブルを介して接続されます。1つのボードの幅は10cmです。最大4つを直列に接続します。 たぶん、私はフル30MHzを使用しないでしょうが、それでも正しく実行したいのですが、クロック信号をルーティング/調整してそのままにするにはどうすればよいですか? すべてのボードの出力に74HC245のようなバッファを追加すると、すべてのバッファの後に10nsの遅延が発生します。それは望ましくありません。専用の「ゼロ遅延」クロックバッファーを使用する必要がありますか?どのような終了方法を採用する必要がありますか?

1
合成されたROMコアを使用した単純なテストベンチのシミュレーション
私はFPGAの世界にまったく新しいので、4ビットの7セグメントデコーダーという非常に単純なプロジェクトから始めようと思いました。私が純粋にVHDLで書いた最初のバージョン(それは基本的に単一の組み合わせselectであり、クロックは必要ありません)は機能しているようですが、ザイリンクスISEの「IPコア」の要素を試してみたいと思います。 今のところ、「ISE Project Explorer」GUIを使用しており、ROMコアを使用して新しいプロジェクトを作成しました。生成されるVHDLコードは次のとおりです。 LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- synthesis translate_off LIBRARY XilinxCoreLib; -- synthesis translate_on ENTITY SSROM IS PORT ( clka : IN STD_LOGIC; addra : IN STD_LOGIC_VECTOR(3 DOWNTO 0); douta : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END SSROM; ARCHITECTURE SSROM_a OF SSROM IS -- synthesis translate_off COMPONENT wrapped_SSROM …

1
超低電圧マイクロコントローラーとのインターフェース方法は?
サイプレスには、0.5V電源で動作可能なPSoCがあります。あなたはこれらをどのようにインターフェースするのかと思っていました。0.5Vは、FETおよびバイポーラトランジスタ、LED、さらには一般的なダイオードにとっても低すぎます。それでは、PSoCをそのペリフェラルに接続するには、どのような方法がありますか?低電力もここでの問題です。インターフェイスが10倍以上の電力を必要とする場合、PSoCが0.5Vで低電力であることは役に立ちません。

4
Linuxの32ビットマイクロコントローラーに最適なIDE
カルマンフィルターを実装する32ビットマイクロコントローラーを選択しています。 私はAtmel Studio 6 IDEに非常に惹かれています。ただし、Windowsでのみ実行されるようです。 誰かが良いLinux IDEを提案できますか? それ以外の場合は、仮想マシンでAtmel Studio 6 IDEを使用すると思います。 よろしくお願いいたします。

5
OSのないRaspberry PIは?
私は最近、Arduinoで多くのことをしています。オペレーティングシステムやドライバーを必要とせずにC ++コードを直接実行できるため、非常に簡単です。 私はいくつかの調査とAFAIKを行いました。通常、Raspberry PIにLinuxをインストールして、PythonスクリプトまたはC ++バイナリを作成します。 質問:オペレーティングシステムがなくてもコードを実行できますが、HDMIおよびSDカードを使用できますか?

1
4桁7セグメントLEDの使用
4桁の7セグメントディスプレイがあります。これを利用するには何が必要ですか?1つのマイクロコントローラーで操作を処理できますか?私が意味PIC16F690を ...私はまた、ドライブディスプレイのこれらの種類は...それは絶対に必要であることをMAXIMチップを見ましたか? これはデータシートの写真ですが、2ピン図がある理由がわかりません。 ここにデータシートへのリンクがあります

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