3 UARTとRS-232の違いは? ほとんどの場合、RS-232とUARTはシリアル通信理論で一緒になります。両方とも同じですか?私の測定から、UARTはRS-232プロトコルのハードウェア形式であると結論付けました。私は正しいですか? 80 serial communication uart rs232
8 I2Cアドレスの衝突を解決する方法は? 複数のI2Cスレーブデバイスをすべて同じピンセットのマイクロコントローラーに接続したいのですが、I2Cデバイスはすべて同じアドレスを共有しています。アドレスはハードウェアで固定されています。 同じアドレスで複数のデバイスを接続する方法はありますか? おそらく、構成可能なアドレスを持つ各デバイスを備えた何らかの種類のI2Cアドレス変換モジュールなので、各デバイスに独自のアドレスを割り当てることができます。 39 serial i2c
2 USBとRS232の違いは何ですか? 誰かがUSBまたはRS232を使用する理由を教えてください。どちらもシリアルポートですよね?そして、私はUSBがはるかに高速であることを理解しています(特にUSB3.0)が、人々が望んでいるなら、RS232の後継機を作ることができると確信しています。 それで、両方の長所と短所は何ですか? 29 usb serial rs232
8 ASCIIから高度なシリアルプロトコルにいつ切り替える必要がありますか? UARTを介してPCと通信するすべてのマイクロコントローラーデバイスは、コマンドの送信とデータの受信にArduinoで実装されているASCII文字列を使用します。それは電子機器を掘り始めたときに学んだことであり、私は常に裸の弦を送るだけで十分であることがわかりました。しかし、私が遭遇したほとんどのデバイスは、機能コード、アドレス、CRCエラーチェックを含む洗練されたバイナリプロトコルを使用していることに気付きました。 基本的なASCII通信はいつ受け入れられ、Modbusのようなより高度なものを検討する必要がありますか?商用デバイスはそのようなASCIIを使用しますか?産業用? 28 microcontroller serial communication uart protocol
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
2 Fairchild FSA9280 / FSA9480 / FSA880 BOOTピントリガーを作成する方法 (サムスンギャラクシーS) これは少し長いショットですが、タイトルにリストされているチップのいずれかの完全なデータシートに誰かがアクセスして、VBUS_INとID_CONの抵抗の組み合わせがBOOTピンをトリガーすることを教えてくれることを願っていますオンチップ。残念ながら、フェアチャイルドはこれらのチップの完全なデータシートをリリースしません(私は尋ねました)。そして、短縮版(PDFリンク)のみがWebで利用可能です。 長い話:FSA9480チップはサムスンの一部の携帯電話で使用されており、USBポートのIDピンの検出抵抗を使用してさまざまなアクセサリを検出します。電話のAndroidカーネルソースからの情報を通じて、すでに多くの進歩を遂げています。今、私たちは電話のCPUを強制的にシリアルポートから外部ブートローダーをロードするブートリカバリモードにしようとしていますが、FSA9480のBOOTピンがこれを行うように見えますが、どのようにそれをトリガーします。 これまで、USBポートに電源を接続せずに既知のリストにあるすべての抵抗器と、USBポートに電源を入れてシリアル出力を生成するすべての抵抗値を試しました。 更新:サービスマニュアルのこの回路図は、FSA9480 BOOTピンからBOOT_MODEという名前の信号に行く信号を示しているという理論に取り組んでいます。しかし、それを証明する完全な回路図はなく、そのピンがどのようにトリガーされるかを示すFSA9480の内部詳細もありません。名前にBOOT_ONが含まれる抵抗(RID_FM_BOOT_ON_UARTなど)と思われますが、明らかにそうではありません。または多分そうですが、BOOT_MODE信号が正しい場所に行きません。いずれにせよ、FSAx80データシートで確認されます。 アプリケーションプロセッサ(Samsung S5PC110)の内部ROMにあるスタートアップとブートローダーのダウンロードコードをリバースエンジニアリングし、成功するとシリアルポートにブートローダーダウンロードプロトコルの最初のバイトが表示されるようになりました。代わりに、NANDからロードされているプライマリブートローダーの出力を取得しています。これは通常のブートを示しています。 23 usb serial usb-device mobile
12 最高のシリアルモニター? 最近、SparkfunシリアルLCDを使い始めました。私はarduinoを介して制御できますが、コンピューターの端末を介して制御したいです。カーソルを移動したり画面をクリアしたりするには、16進コード(0xFEなど)をカーソルに送信できる必要があります。この機能を提供するWindows用のオープンソースターミナルプログラムが見つかりません。非常にうまく機能するプログラムの例はEltimaシリアルポートモニターですが、学生だけではかなり高価です。USBからシリアルFTDIブレークアウトボードを使用して、LCDに信号を送ります。Windows 7でのプログラムに関する提案は大歓迎です。 22 serial lcd
5 なぜ人々はシリアル通信でATコマンドを使用するのですか? 組み込みシステムの人々がATコマンドを使用する理由を知る必要がありますか? 私が尋ねたとき、人々はそれが標準だと言う。 だから私の質問は:「AT」とはどういう意味ですか?なぜ人々はそれが標準だと言い続けるのですか? 21 serial communication at-commands
3 オシロスコープからシリアルデータを読み取る方法 マイクロコントローラー(PICAXE 20X2)とポットメーターがあります。マイクロをプログラムして、ポットメーターの変更をPCのシリアルポートに送信します。明らかに8ビットADCです。今、私にとって興味深いのは、オシロスコープでこのシリアルデータをデコードできることです。 ここに2つの画像があります。最初の画像はマイクロがPCに「0」を送信しているときで、次の画像は「255」を送信しているときです。データは9600 buadを使用して送信されており、PC端末で受信できます。 最初の写真 2枚目の写真 だから私の質問は、自分のスコープで正しいデータをキャプチャしたのか、次にこのパルスを16進形式またはASCII形式に読み取ってデコードできるのかということです。この立ち上がりパルスと立ち下がりパルス(0/1)の読み方を意味します。 ありがとう。 21 serial oscilloscope wave
9 理想的なWiFi-シリアル(またはSPI)ブリッジですか? 理想的なWiFi-シリアルブリッジに関する推奨事項は何ですか?私の理想的な資質は次のとおりです。 シンプルな接続、SPIまたはシリアル 理想的には少なくとも1メガビット/秒の合理的な高速(おそらく、必ずしも高速である必要はないでしょうが) 安価な、私は50ドル未満を考えています 低電力-20mAや30mAなど、さらに低くすることができれば、最大100mAを使用する必要があります。 ビルトインプロトコルスタック-WiFi、プロトコル、DHCP、TCP / IP、DNSなどを処理したいので、接続するIP /ポートを教えてから処理するだけです。自分でデータ。 可能な限り、5VトレラントI / Oを使用して、旧式のマイクロコントローラーとのインターフェイスを簡単にします。 これまでのところ、私は見つけました: マッチポートb / g Rovingnetworks Wi-Fiモジュール 誰か他の可能性の経験がありますか? 18 serial avr pic wifi wireless
8 シリアルEEPROMがパラレルEEPROMよりも好ましいのはなぜですか? EEPROMのウィキペディアページ:http : //en.wikipedia.org/wiki/EEPROMでは、「パラレルEEPROMデバイスには通常、8ビットのデータバスと、メモリ全体をカバーするのに十分な幅のアドレスバスがある」と記載されています。 「シリアルEEPROMと比較した場合、パラレルEEPROMの動作は簡単で高速です」。その場合、なぜシリアルEEPROMはパラレルEEPROMよりも普及しているのですか? 17 serial i2c memory eeprom
1 シールド付きツイストペアケーブルを使用して、シールドの一端、両端、または両端を接地しますか シールドされたツイストペアケーブルを介してRS-485通信を行うというプロジェクトが近づいてきました。このプロジェクトには数十フィートのケーブル長が含まれ、モーターへの36VDC配線を含む単一のコンジットにケーブルを敷設する必要があります。モーターの電源ケーブルにシールドがある可能性はほとんどありません。 ツイストペアケーブルのシールドについては、片側でアースに接続する必要がありますか、両端で接続する必要がありますか?これと実際の違いは何ですか? 次に、グランドに接続されている場合、ボードの電気的グランドまたはシャーシアースに接続する必要がありますか? 17 serial ground grounding
2 TTLシリアルはどのように機能しますか? 私はTTLシリアル「標準」の良い説明をあまり運なしに見つけようとしてきました。シリアル送信(TX)および受信(RX)ラインはアイドル状態(VCC)であり、ビットが送信されるとグランドに落ちることを理解しています。そのため、「1」が高く、「0」が低い標準から反転しています。 私が理解していないのは、誰が回線を高く保持する責任があり、ゼロがどのように送信されるかです。送信者は回線を高低に駆動しますか?または、レシーバーはラインをハイに保ち、センダーはラインをローに維持しますか(オープンコレクター)? 15 microcontroller serial ttl
3 実際のバイナリ値とオシロスコープ値の違い オシロスコープでASCII「A」文字を表示しようとしましたが、実際のバイナリ値とオシロスコープ値が異なるのはなぜですか?ASCII「A」バイナリ値-01000001 オシロスコープには次のグラフが表示されます。 Arduino Unoを使用して、コードを使用してASCII値を送信します。 void setup() { Serial.begin(9600); } void loop() { Serial.println("A"); delay(1000); } 14 serial oscilloscope
6 最大シリアルケーブル長? 接続が正しく機能するために使用できるシリアルケーブルの最大長は?シリアルケーブルの長さはボーレートに関係していますか?速度38400ボーでRS232通信で約5メートルのケーブルを使用していますが、長すぎますか? 14 serial rs232 cables