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

Atmelは、AVRライン(ATMegaおよびATtiny)やSAMデバイスなどのマイクロコントローラーの作成者です。Arduinoマイクロコントローラーは、AtmelのAVRラインのデバイスを使用しています。

6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 


8
EEGでのRnD、ヘルプが必要、どのオペアンプ?
これが私の最初の投稿であり、適切な集積回路を見つけるための助け/アドバイスが必要です。まず、プロジェクトの背景について少し説明します。オープンソースの脳波計を開発するためのフェローシップを取得しました。完成したハードウェアは、人々がEEGシステムのさまざまな創造的および治療的使用、つまり音楽コントローラー、ゲームコントローラー、または脳トレーニングプログラムを開発するプラットフォームを提供します。アナログからデジタルへの変換にAtmel MCUを使用したいのですが、USBを介してコンピューターに接続し、USB接続で電源を供給したいのです。MCUの前に電極からの信号を増幅するための適切なオペアンプICを見つけるのに助けが必要です。完成したデバイスは16チャンネルになるので、複数のオペアンプを備えたICを見つけたいと思います。電極が拾う電気的活動は200mV以下の領域にあるため、多くのゲインが必要になります。デジタル抵抗プログラムを使用してMCUでオペアンプ回路のゲインを調整することは可能ですか?さまざまなオーディオおよびセンサー入力で動作するようにハードウェアを再プログラミングできると便利です。どんな助けやアドバイスも素晴らしいでしょう。 ジム。

3
PICからAVRへの切り替え[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私はPIC16およびPIC18で3年以上働いてきましたが、AVRについても知りたいと思います。特定のプロジェクトを念頭に置いているわけではありませんが、異なるアーキテクチャを試してみたいと思います。PICとAVRの互換性レポートを入手したいです。 PIC16およびPIC18のアセンブリとCに精通しているuCのソフトウェア。AVRマイクロコントローラーのアセンブリおよびCバリアントは、PICバリアントとどのように異なりますか?多くの違いはありますか? PCのソフトウェア AVRチップ用にプログラムをコンパイルおよびアセンブルするには、どのソフトウェアが必要ですか?無料ですか、どこからダウンロードできますか? プログラミングハードウェア PIC のプログラミングにはVOTIのWisp648を使用しましたが、そのボードはAVRをプログラミングできません。プログラマーを購入する必要がありますか、それとも自分で構築できる回路がWeb上で利用可能ですか? uCのハードウェア PICには、PIC18F4620を多く使用しました。同様の機能を備えたAVRを探しています。私が好きな機能は次のとおりです。 内部発振器 タイマー 5Vおよび3.3Vバージョン ADC I2CおよびSPIをサポートするMSSP (E)USART PWM 多くのI / Oピン > = 32kBプログラムメモリ、> = 2kB RAM DIPパッケージ どのAVRチップに同じ機能がありますか?パッケージはディールブレーカーです、私は本当にDIP、PDIPまたはSPDIPが欲しいです。同等の機能を備えたAVRはどうなりますか? SPIおよびI2Cバリアント MicrochipにはSPIおよびI2Cプロトコルに独自のバリアントがあると言われました。PICと組み合わせて、マイクロチップのSPIおよびI2Cスレーブデバイスをよく使用します。これらのチップ(23K256、RTC、ENC28J60など)をAVRと組み合わせて使用​​できますか?それに加えて、I2CまたはSPIを使用してAVRとPICチップをリンクすることは可能でしょうか?

2
AT32UC3LでカスタムPCBでブートローダーを動作させることができません
私は最近、クライアント用のPCBを設計しました。ハードウェアとソフトウェアはすべて問題ありません(アプリケーションは想定どおりに動作しています)。現在、マイクロコントローラー内のプログラムを更新する必要に直面していますが、これらのPCBは世界中のさまざまな場所にインストールされているため、ブートローダーをインストールし、アプリケーションで使用されるのと同じUARTを使用するのが最適です。 ボードの説明 AT32UC3L032 ボードとPC間の通信にすでに使用されている1つのUART アプリケーションのI / Oのカップル 状態LEDのカップル 関連するPINと構成 PA01 # Used for entering ISP with high level PA20 # Used for application and ISP UART PA21 # Used for application and ISP UART #define COM_USART (&AVR32_USART2) #define COM_USART_RX_PIN AVR32_USART2_RXD_0_0_PIN #define COM_USART_RX_FUNCTION AVR32_USART2_RXD_0_0_FUNCTION #define COM_USART_TX_PIN AVR32_USART2_TXD_0_0_PIN #define COM_USART_TX_FUNCTION AVR32_USART2_TXD_0_0_FUNCTION #define …

1
なぜいくつかのマイクロコントローラーには、このような大きな同期遅延があるのですか?
Atmel SAM-D21シリーズマイクロコントローラーでは、多くの周辺機器がメインCPUクロックと非同期のクロックを使用し、これらの周辺機器へのアクセスは同期ロジックを通過する必要があります。クロックがCPU時間に比べて遅い周辺機器では、これにより非常に大きな遅延が発生する可能性があります。たとえば、RTCが1024Hzクロックを使用するように構成され(設計意図のように見える)、CPUが48Mhzで実行されている場合、「現在時刻」レジスタを読み取ると、バスロジックが200,000を超える待機状態を挿入します(最小1024Hzクロックの5サイクル)。CPUに読み取り要求を発行させ、他の無関係なコードを実行し、200,000サイクル以上を返して時間を取得することは可能ですが、実際に時間をより速く読み取る方法はないようです。 同期についての私の理解では、シングルビット同期回路は宛先クロックの2〜3サイクルだけ信号を遅延させます。マルチビット量の同期は少し難しくなりますが、ソースクロックよりも高速な場合はデスティネーションクロックの5サイクル以内で信頼性の高い動作を保証できるさまざまなアプローチがあり、そうでない場合はわずか数サイクルだけです。同期のためにソースクロックドメインで6サイクルを必要とするAtmel SAM-D21が行うこと、および同期遅延が「同期完了」割り込みを必要とするほど十分に長い設計に有利な要因は何ですか?同期遅延は、そのような割り込みを不要にするほど短いですか?
11 arm  atmel  synchronous 

2
新しいマイクロコントローラーに欠陥があるかどうかをどのように判断しますか?
私はパーツをdigikeyからの欠​​陥海峡で扱ったことはありませんが、受け取った3つの新しいAtmel ATmega164Aは非常に奇妙な動作を示しています。 私はそれをクロックに関係する何かに絞り込みました、そして、おそらく「工場で較正された」内部発振器からの結果として生じるクロック信号は、それがそうであるはずの固体1 MHzの代わりに650-700 kHzの間でジッターしていることがわかりました。私はこれを1 MHzに非常に近づけるためにキャリブレーションバイトに書き込むことができましたが(ほとんどジッターはあります)、ほとんどのものが機能しますが、UARTは正しく動作せず、短いパルスの連続ストリームを出力しているようですあなたが彼らに何をするように頼むか。 私は以前にこのマイクロコントローラーの低電力バージョン(164P)を問題なしで扱い、それを所定の位置にドロップしてその上のクロック出力をチェックすることを決定しました。これらの164Aチップには欠陥があるという結論に傾いていますが、それを確認するために他にテストを試すことはできますか? 編集:私が時計を測定しているプロセスを説明すると思いました。クロック出力ヒューズビットを有効にし、適切なピンをロジックアナライザーで非常に高いレートでサンプリングして測定しました。キャリブレーションレジスタに書き込むプログラムがありOSCCAL、1 MHzまで試行錯誤することができました。 編集#2:さらなる調査の後、マイクロコントローラーは特定のプログラムサイズの後に動作し始めるようですしきい値。単一のソースファイルがLEDを点滅させる最小限のプロジェクトは問題ないようですが、他のファイル(たとえばUARTライブラリなど)をコンパイルしてリンクし、それらのメソッドへの関数呼び出しを行わなくても、マイクロコントローラーが動作します。上記の動作。電源接続は問題なく、適切なデカップリングが行われています。現時点ではこれをデバッグする時間がないので、代わりに低電力バージョンを使用しました。どこに問題があるのか​​正確にわかりません1)164Aと164Pはコード互換ではありません2)これら2つのuCのプログラミング手順が異なります3)ユニットに欠陥があります。私はボード設計に自信があり、電源の問題を除外します。残念ながら、私は実際には正しい答えを選ぶことができないので、この質問はそのままにしておきます-多分私は 将来再び問題に戻るでしょう。洞察に満ちたコメントや回答を提供してくれた皆さんのおかげで、すぐに使えるuCの問題を抱えている他の人に役立つかもしれません。

5
Arduino / AVRのコードのクロックサイクルを監視しますか?
コードのブロックを監視し、コードがArduinoやAVR atmelプロセッサで実行したプロセッサクロックサイクル数を特定することは可能ですか?または、コード実行の前後に経過したマイクロ秒を監視する必要がありますか?注:「このコードがCPUから必要とするクロックサイクル数」と同じくらい、リアルタイム(経過した実際の秒数など)には関係ありません。 私が思いつくことができる現在の解決策はtime.cからです: #define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) #define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) lighting.cは以下を追加します。 #define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() ) このアカウントにより、通過したマイクロ秒を監視して通過したクロックサイクルを計算し、それをmicrosecondsToClockCycles()に渡すことができます。私の質問は、より良い方法はありますか? 補足:AVRのパフォーマンス監視のための優れたリソースはありますか?lmgtfy.comやさまざまなフォーラムの検索では、タイマーの調査以外に明らかな結果は得られません ありがとう
11 arduino  avr  atmel  timer 

2
PCINTn割り込みをトリガーしたピンを特定するには?
同じAVR PCINT割り込みを引き起こす2つのピンがある場合(たとえば、PCINT0またはPCINT1ピンによって引き起こされるPCINT0 ベクトル -ベクトルとピンの名前の重複が混乱していると思います)、どのピンを決定する唯一の方法だと思いますか? (s)割り込みが原因で、各割り込みの後に状態が記録され、PCMSKnで有効になっているすべてのピンの以前の値と現在の値が比較されますか?
9 avr  interrupts  atmel 

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

3
ATtiny85の消費電力は2倍になると予想
ATTiny85をバッテリーで動かそうとしています。16.384 MHzクリスタルからクロックを供給し、8分周ヒューズセットを備えています。Vccは3.3ボルトです。データシートの図22-7は、アイドル時(set_sleep_mode(SLEEP_MODE_IDLE); sleep_mode();)に約300 µAを消費することを示しています。実際には、それは850 µAのように見えます。消費電力が2倍になることが予想される理由がわかりません。25 msごとに中断するように設定したtimer0を除いて、PRRのすべてをオフにしました。したがって、ほとんどの時間をアイドル状態で費やす必要があります。これは、タイマーでカウントしたい場合に実行できる最善の方法です。 ヒューズは0x7f、0xdf、0xffです。 このテストで実行されるコードは次のとおりです。 #include <Arduino.h> #include <EEPROM.h> #include <avr/sleep.h> #include <avr/power.h> #define P0 0 #define P1 1 #define P_UNUSED 2 ISR(TIMER0_COMPA_vect) { // do nothing - just wake up } void setup() { power_adc_disable(); power_usi_disable(); power_timer1_disable(); //PRR = _BV(PRADC) | _BV(PRTIM1) | _BV(PRUSI); // everything …

4
5V Attinyに直接LEDを取り付けても大丈夫ですか?
データシートから、AT90S1200には電流制限ピンがありましたが、5Vで実行すると、外部抵抗なしで+に接続された緑色のLEDを通じて適切な量の電流をシンクします(0はLEDをオンにし、1はオフにします)。残念ながら、そのうちの8つを取り付けたところ、ICは数分後に燃え尽きました。私は危険な無はんだブレッドボードも持っていますが、そうでなければ部品をショートさせたかもしれません。 そのデータシートについて何を誤解しましたか?
9 atmel  led  current 

3
LQFPチップの最初のピンを見つける
ATSAM4E8CチップをLQFP 100パッケージで購入しました。データシートによると、ICには最初のピンを示すドットが必要ですが、私の場合は2つのドットがあります。角が大きく1つ、斜めに小さな白い点。チップに描かれた名前の左上は、それらのどれとも整列していません。最初のピンはどこに配置する必要がありますか?

1
PWMモード:中央揃えと左揃え
Atmel AT32UC3C2512Cを使用していますが、データシートを見ると、中央揃えと左揃えの2種類のPWMモードがあります。 これらのモードのそれぞれをいつ使用することになっているのか、そしてそれらの長所と短所を知りたいのですが。
8 avr  pwm  atmel 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.