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

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

10
電子技術者向けのプログラミング言語
私は電子通信工学の学生です。大学に入る前は、プログラミングとコンピューターアプリケーションに興味がありました。私はWindowsアプリケーションの設計とそのテクニックの学習に集中していましたが、今では、これは私の分野では役に立たないと感じています...コンピュータサイエンスとソフトウェアの開発についてすべてを学ぶ必要はありません!(私はこれについて正しいですか?) VB .Net、C#、C ++を知っています。私は休日に十分な時間があるので、「電子工学の分野」でプログラムにより深く掘り下げたいです。それで、あなたは何を学び、または集中することをお勧めしますか? マイクロコントローラーやその他の集積回路のプログラミングにこれらの言語を使用したいです。C ++で十分ですか、それともCをマスターする必要がありますか?あなたの考えを教えてください。

6
内部または外部発振器
8 MHzより高い周波数で実行する必要性を発見したことがないため、写真にある内部オシレーターを常に使用します(これは、使用する写真が最も速い傾向にあります)。8 MHzを超えること以外に、外部発振器を使用する必要があるという理由はありますか?私に間違ったことがもう一つあるように思えますが、私は他の人が何をしているのか聞きたいです。

3
イーサネットと無線の両方を搭載したマイクロコントローラー?
組み合わせた任意の(合理的に低コスト)の誰も知っているのSoCいすべてのを: マイクロコントローラー(任意のアーキテクチャ、少なくとも4KB RAM / 8KBフラッシュ) 無線トランシーバー(433MHz-915MHzまたは2.4GHz) イーサネットMAC + PHY (ワイヤレスセンサーアプリケーションの場合-低電力センサーノードへの接続) 私はどちらかの周辺機器でマイクロの例を見つけることができますが、両方ではありません: 例えば。 マイクロ+イーサネット: LM3S9B9x = ARM Cortex-M3 +イーサネットMACおよびPHY PIC18F66J6x = PIC18 +イーサネットMACおよびPHY マイクロ+ラジオ: CC430 = MSP430 + Sub-1GHz無線 EM250 = XAP2b + 802.15.4 / ZigBee チップに名前を付けることができる場合のみ、この質問に答えてください。

4
なぜハードウェアプログラマが必要なのですか?
私はBoarduinoと30列のブレッドボードを使用してATtinyをプログラムします。ArduinoISPと呼ばれるあまり複雑ではないスケッチ(現在Arduino IDEにデフォルトで組み込まれています)をロードすると、突然プログラマーが働いています。Atmel は$ 30から$ 40の間で素晴らしいプログラマーを販売しており、安価なものを作るためのキットがたくさんあります。 作業中のプログラマを取得し、小さな点滅をいくつかのLEDにすると、私はとても幸せでした。しかし、今では私の貧しいboarduinoはプログラマーの義務に固執しています。 私の知る限り、プログラマーはリセットボタンを押したままにして、MOSIピンとMISOピンで送受信します。 SCKは使用されていないか、少なくとも不要です。 (SCKはATtinyデータシートによると必要であり、私のプログラマーはそれなしでは動作せず、読んだと思っていた場所が必要ないことを見つけることができません。) シリアルを送信するだけでハードウェアプログラマが必要なのはなぜですか?つまり、ICを使用する代わりに、指でリセットボタンを押したままにします。残っているのはシリアル送受信だけなので、必要なのはGND、RXD、TXDの3線だけです。ちなみに、「DTR」行などがある場合は、シリアルケーブルでリセットボタンを押し続けることもできます。 (AVRdude、AVR studio、またはその他の)高級なソフトウェアも必要とするこれらすべてのハードウェアソリューションがあるのはなぜですか? マイクロコントローラを大容量記憶装置として提供する小さなUSBケーブルを理解でき、プログラミング用にバイナリファイルをドラッグできます(このARM開発ボードなど)。ハードウェアのみ、標準のソフトウェアドライバーを使用。 また、ソフトウェアのみのソリューション(USBからチップへのモジュロフック、FTDIチップのようなものを使用して、配線を単純化する)も理解できました。派手なプログラミングプロトコルはすべて、コンピューター上のソフトウェアによって処理され、ハードウェアは単なる配線になります。 (複雑な)ソフトウェアとハ​​ードウェアの両方が関係しているのはなぜですか?私の知る限り、マイクロコントローラーのプログラミングは非常に簡単ですが、これを始めたばかりのとき、ブートローダーをプログラミングするための教祖を払わずにマウスやディジキーからチップを購入する方法が本当に心配でした私のために。 正当な理由があると確信しています(ソフトウェアを書いたり、ドラッグアンドドロップUSBプログラマーの製造を始めたわけではありません)が、新参者として、それが何であるかわかりません。

3
低バッテリーインジケータ
マイクロコントローラーと組み合わせて使用​​できるバッテリー寿命インジケーターを作成したいと考えています。残りの現在のバッテリー寿命を読み取って、バッテリー寿命を維持するためにマイクロコントローラーをますますスリープ状態にできることを望んでいます。

8
事前プログラミングの表面実装IC
atmega168でプログラミングヘッダーのないPCBをセットアップしようとしています。シリアルブートローダー(ボード上にft232があります)を使用して再プログラムするつもりですが、ブートローダーをプログラムする最適な方法について疑問に思っています。他の誰かがこれを以前に試しましたか?tqfp-32 zifソケットの調達に問題があります。

10
STMマイクロコントローラーは毎回書き込みます
私はstm32を使用した経験がありますが、開発ボードでのみ使用しました。 最近、簡単なブレイクアウトボードにstm32とstm8をはんだ付けし、st-linkv2クローンでプログラムしようとしました。 最初の電源投入時に、mcuは数秒後に燃えるような小さな音を発し、2分後には100mAを消費して喫煙します。 私には欠けている重要な詳細があると思います。 このような単純なセットアップでは何が問題になる可能性がありますか?(vdd、vss、デカップリングキャップおよびstリンクのみ) stm8とstm32の両方で20回以上試しました。 デカップリングキャップをできるだけ近くし、3.3vを供給しました。 フラッシュをプログラムして検証することは数回できましたが、奇妙な動作を示しました*数分後に再び煙が上がりました。 ドラッグはんだ付け、smdチップを使用した通常のはんだ付け、260℃という低い温度、各パッドの後の冷却時間を試しました。私は270Cでホットエアガンも試しましたが、問題ははんだ付けではないことを確信しています。 NRSTプルアップとBOOT0プルダウンも試しました。 *奇妙な振る舞い:単純なledブリンカーのタイミングや、0vではなく2.8v程度まで低下するpwm信号のような「ランダム」。全体的に「ちょっと」は機能しますが、1分間だけです。 **問題はst-linkではありません。開発ボードの点滅は問題ありません 編集1:これ は回路図です(stm32用)(ラベルでマークされたST-Linkへの接続): 下には何もありません。ピンに接続された別の(未実装の)フットプリント。 編集2:連続性テスト:ショートなし、すべてのピンコンタクトはOKです 編集3: VDDAとVDDを接続し、VDDに4.7uFを追加しました。まだ揚げた。デバイスで直接測定されたVDD:3.36v 編集4:現在の描画動作:すべての場合、チップを揚げると、約20-40mAを消費し、数秒間突然100-240mAになり、その後ゼロになります(10mA未満)。再び開始するまでしばらくゼロにとどまります。 更新: VCAPに別のSTM8S003F3P6,1uF、VDDに2x100nFおよび10uFをはんだ付けしました。そして、バッテリーをソースとして使用し、小さな静電容量の乗数とエミッターのフォロワーを作成して、多くのセラミックと低ESRキャップで3.3vを作成し、電流制限を15mAに設定しました。電圧のノイズは50MHzで30mV未満でした。その後、MCUを接続しました(新しくはんだ付け)。消費電流は4mA未満で、電圧は安定していました。私はそれを残しました。1〜2分後、突然15mAの制限を超えてPDRをトリガーし始めました。そして、今すぐ(NRSTがアサートされていても)それをすぐに開始します。これも消えたようです...

6
大規模な組み込みプロジェクトをどのように構成しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5ヶ月前に閉店。 背景: ジュニアR&Dエレクトロニクスエンジニア(社内唯一のEE)-ハードウェアとコーディングは問題ではありません。私の最大の問題は、プロジェクトの適切な概要を取得し、どこから始めるかです。 これまでのところ、マイナーなソフトウェアプロジェクト(500行未満のコード)しか作成していませんが、機能の概要や機能の欠如を失うことなく、より大きなプロジェクトを行うことは想像できません。 大規模な組み込みソフトウェアシステムを構築するには、どのように最適な構造/どのツールを使用しますか? 私が現在していること: 私は通常、プロジェクトの機能をスケッチすることから始めます。1対多の階層化されたフローチャートまたは関連図(ブロック図など)で、コンポーネント/チップの調査を行う場合があります。次に、データシート/インターネットを参照し、一度に1つの機能をコーディングし、ダミーデータでテストするか、同様のテストをしながら、コーディングに直行します(フェイルファースト)。MEMチップにデータを書き込んでいる可能性があり、それが機能する場合、メインチップとMEMチップ間のSPIドライバーである可能性があります。 私が探している答えは何ですか: 本当に何でも。私が賢明だと思うものを整理します。本、記事、個人的な経験、推奨事項などです。 高齢者がどのようにこれに取り組んでいるかを知りたいです。 編集 まず、長年の経験を共有していただきありがとうございます!すべての答えは大歓迎です。これからの私の見解は次のとおりです。 明確で正確な仕様書を作成します。 ソフトウェア設計文書を作成します。(これから追加するもの) ドキュメントテンプレートのデザイン モジュールの中で、どれほど冗長に見えるかを考えてください。(もっと集中する必要があるもの) ヘッダー/ソースファイルを構造化するためのコーディング標準に従ってください。(これを行わなかった) Barr Group C標準 最初に低レベルの実装を作成することに焦点を合わせます。(通信など) 可能な限り/賢明な設計パターンを実装します。 デザインパターン リビジョン管理のために何かを設定します(Githubなど-あまり使用しません) 継続的インテグレーション/継続的展開の研究(何か新しいことにつまずいた) CIとCDの基本

7
中小企業での長いチップリードタイムに対処する方法
私は小さな会社のチーフエンジニアです。製品の人気は急速に高まっており、現在、マイクロコントローラの痛みを伴うリードタイムについて学んでいます。所有者は、販売代理店のリードタイムを回避するために製品のオーバーホールを要求しています。私の質問は: 電子製造の標準は何ですか? ローンを取り、常に4〜6か月分のチップを在庫しておくように説得する必要がありますか。 または、入手しやすいものが見つかるまで、部品の切り替えを続けますか。

6
私のプロジェクトのマイクロコントローラーの要件のリストをどのように考え出すのですか?どうすれば適合するマイクロコントローラーを見つけることができますか?
Arduino MEGA2560でeBike制御プロジェクトに取り組んでいます。このプログラムは、3つのPID制御ループ、1つのバッテリー容量制御ループ(ルックアップテーブルに基づく補間)、速度計(リードスイッチに基づくサンプル)、および情報を表示するLCD画面を実行します。その入力は3つのアナログ信号です:バッテリー電圧、電流、ユーザースロットル入力、およびデジタル入力:速度計(リードスイッチ)オン/オフ信号。現在、これらすべてが「長い」演算で実行されているため、Arduinoは1秒あたり10ループを完了することができます。TFT LCDスクリーンは非常に多くの計算能力を必要とするため、英数字スクリーンに置き換えることを考えています。 出力は、モーターコントローラーへのアナログスロットル信号、LCD画面、および場合によってはアナログ信号を必要とする他のいくつかのデバイスで構成されます。したがって、ADCコンバーターは不可欠であり、現在RCローパスフィルターでArduino PWM出力を使用していますが、DACは非常に便利です。同様に、プロセッサを中断することなくデジタルおよびアナログ信号を読み取る能力は素晴らしいでしょう。 私は潜在的にこれから消費者向け製品を作りたいと思っています。したがって、毎秒少なくとも100サンプル(Arduinoが達成しているものの10倍)を与えることができる別のマイクロコントローラーでゼロから独自のプラットフォームを構築したいと思います。また、浮動小数点を回避するために、私の計算では長い変数を使用し、結果として16ビットより大きい数値を使用するため、32ビットMCUを使用することをお勧めします。また、浮動小数点計算を実行できるMCUは、コード内の数学を単純化するために興味深い場合があります。 最終的に、これらの要件を満たし、Arduino環境からの迅速な移行を可能にするMCUを探し始める方法がわかりません。そのようなMCUを見つける方法についてのガイダンスは大歓迎です!

2
マイクロコントローラー/マイクロプロセッサーと異なるビットバージョン、違いは何ですか?
一般的なエンジニアリング愛好家として、私は毎日、マイクロコントローラーの世界についてもっと学んでいます。マイクロコントローラのビットバージョンの重要性は、一度理解できませんが。 私はATmega8を数ヶ月使用してきましたが、私の目的にはうまく機能しているようです。クロック速度、メモリ、IOピンの数、通信バスの種類などが、あるマイクロコントローラーを別のマイクロコントローラーと区別する方法を知っています。しかし、たとえば、8ビット対16ビット対32ビットの重要性はよくわかりません。上位ビットバージョンでは、デバイスがより大きな数値を格納できることを理解していますが、これもまた、私の決定にどのように影響しますか?私が製品を設計している場合、仮想シナリオでは、8ビットプロセッサでは単純にできないと判断し、さらに高いものが必要であると判断します。 ATmega8の理論的な32ビット版(他のすべてが同等)が8ビット版より優れていると信じる理由はありますか(そのようなデバイスが可能であれば)? 私はナンセンスを話しているかもしれませんが、それは私の混乱の結果だと思います。

7
マイクロコントローラでマルチギガバイトのDRAMモジュールを使用できますか?
アップグレード時にMacBook Proから取り外した2 GBのRAMモジュールが2つあります。これらは、たとえばArduinoで使用できるのかと思っていました。とにかくこれを実際に試してみるには初心者が多すぎますが、それが可能なのか、それともマイクロコントローラーが対処するにはメモリが多すぎるのか興味があります。

4
水晶と負荷容量
水晶の定格負荷容量が6 pFの場合、水晶のいずれかの脚のGNDに6 pFのコンデンサを配置するのは正しいことですか?XMEGAのクロックソース(TOSC)として使用していますが、最大ESRは50 kOhmです(これは推奨範囲内です)。

5
マイクロコントローラー用の高レベル言語インタープリター/コンパイラーの調査
マイクロコントローラー用の高水準言語インタープリターとコンパイラー(例えば、LISPをCコードにコンパイルするもの)のリストを生成したいと思います。 これまでに少し調査を行ったので、ここで文書化します。 マイクロコントローラーでPythonを実行するためのプロジェクトのリスト:http : //web.media.mit.edu/~nvawter/projects/pyMicro/ PyMite:http ://wiki.python.org/moin/PyMite python-on-a-chip:http : //code.google.com/p/python-on-a-chip/ 脇の下のスキーム:http : //armpit.sourceforge.net/ TinyScheme:http : //tinyscheme.sourceforge.net/home.html 最小限のLISP通訳:http : //www.sonoma.edu/users/l/luvisi/sl5.c 埋め込みML:http : //embeddedml.sourceforge.net/Site/Intro.html eLua:http ://www.eluaproject.net/ 埋め込みJAVA:http : //en.wikipedia.org/wiki/Embedded_Java amforth:http ://amforth.sourceforge.net/ TinyTCL:http ://tinytcl.sourceforge.net/ Tiny BASIC:http : //www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm AVRシェル:http : //www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR/ Bitlash shell(AVR):http ://bitlash.net/wiki/start Transterpreter(AVRのoccam-pi):http ://www.transterpreter.org/ Rite(埋め込みRuby)(2011年にリリース予定):http : //www.slideshare.net/yukihiro_matz/rubyconf-2010-keynote-by-matz PIC用のJal(パスカルのような)、コンパイラ:http : //www.casadeyork.com/jalv2/ライブラリ:http : …

8
複数のマイクロコントローラー間の通信
N個のマイクロコントローラー(N> = 2 MCU)で構成されるシステムの実装を開始したいのですが、相互に通信できるようにする可能性を知りたいと思います。 理想的には、(N-1)マイクロコントローラーはクライアントとして機能する家の中に配置され、最後の(「サーバー」)マイクロコントローラーはUSB経由でPCに接続されます。私が今抱えている問題は、これらの(N-1)マイクロコントローラーを「サーバー」に接続する方法です。クライアントMCUは非常に単純なタスクを実行するため、CAN / PHY-MACを提供するという理由だけで、ARMを使用してこのような単純なジョブを実行することは良い解決策ではない場合があります。 通信は、ほとんどのデバイスで数分に1回、他のデバイスではオンデマンドで行われます。速度はそれほど重要ではありません(メッセージは短いです):1 Mbit / s私は、私の目的にとっては行き過ぎだと思います。 使用する予定のMCUは次のとおりです。 Atmel AVR Tiny /メガ TI MSP430 ARM Cortex M3 / M4 (おそらくAtmel AVR UC3-32ビット) PICをプログラムする可能性が少ないため(可能性のあるPICを避けたい)(上記のすべてには多少のオープンソースツールといくつかの公式ツールがあります)。 一部のARMがCAN機能を提供していることは知っていますが、他のARM についてはあまりよくわかりません。 今、私はこれらの可能性を思いつきました: データを送信する単純なGPIO(たとえば、メッセージの開始を示すHIGHで16ビット以上、メッセージの終了を示すLOWで16ビットを超える)。ただし、すべてのビットを検出できるようにするには、標準周波数<<(frequency_client、frequency_server)である必要があります。クライアントMCUごとに1本のケーブルのみが必要です。 RS-232:これは間違いなく最も一般的に使用されている通信プロトコルだと思いますが、どれだけうまく拡張できるかわかりません。現在、最大64個のクライアントMCUを検討しています(おそらくそれ以降) USB:AFAIKはほとんどRS-232に似ていますが、この場合はあまりうまく拡張できないと思います(USBは多くのデバイスをサポートしていますが-正しく覚えていれば255-このアプリケーションでは複雑すぎるかもしれません) RJ45 /イーサネット:これは、長距離で問題なく(少なくともシールド付き> Cat 6ケーブルで)伝送できるため、これが本当に使いたいものです。問題はコストです(PHY、MAC、トランスなど)。あなたが実際に自宅でうまくはんだ付けできるかどうかはわかりませんが。この方法では、クライアントMCUは必要ありません ワイヤレス/ ZigBee:モジュールは非常に高価ですが、机の後ろの「スパゲッティ」を避けるための方法かもしれません RFモジュール/トランシーバー:私は300 MHz-1 GHz帯域のものを話しているので、自宅ではんだ付けするのは難しいはずです。モジュールはすべて組み込まれていますが、ZigBeeと同じくらい高価です(少なくともMouserのRFのモジュール、SparkfunのRFモジュールはもっと安いようです)。 できる?非常に堅牢なようです。車載アプリケーションで使用する予定はありませんが、それでも良い選択肢になる可能性があります。 I²C / SPI / UART?繰り返しますが、可能であればケーブルで「スパゲッティ」を避けてください PLCは実際にはオプションではありません。長さが長くなり、電力ネットワークの容量負荷に依存するため、パフォーマンスはかなり低下します。価格面では、イーサネットとほぼ同じだと思います。 さらに、同時送信の場合、どのプロトコルが「より良い」でしょう(2つのデバイスが同時に送信を開始するというまれなケースを想定しましょう。どのプロトコルが最高の「競合管理システム」/「衝突管理システム」を提供しますか? …

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