3 UARTとRS-232の違いは? ほとんどの場合、RS-232とUARTはシリアル通信理論で一緒になります。両方とも同じですか?私の測定から、UARTはRS-232プロトコルのハードウェア形式であると結論付けました。私は正しいですか? 80 serial communication uart rs232
4 どの標準UARTレートがありますか? 私は9600、19200、38400、57600、115200、1.8432 Mbaudを知っていますが、他は知りません。なぜこれらの値が使用され、毎回単に倍になるのか、それとももっと複雑なものがあるのか(たとえば、38400の4倍は115200ボーではありませんか?) この質問をする理由は、さまざまな異なるボーレートと相互作用する必要のあるものを設計しているからです。9600で初期化され、特定のボーレートに切り替わります。しかし、私が使用しているdsPIC33Fは16ビットBRGダウンカウンターに制限されているため、任意のレートをサポートしていないため、任意のレートをサポートできません。これに関しては、他の多くのプロセッサと同様です。 33 uart
13 タイミング図を作成するソフトウェア 私の職業生活では、プロトコルのタイミング図(UART、SPIなど)を作成する必要がある場合があります。しかし、利用可能な優れたプログラムが見つかりません。これにはどのプログラムが推奨されますか、またそれらを使用した経験は何ですか? 33 communication spi uart timing drawing
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
11 DC電源ラインを介した通信信号の注入 電源線のみを使用して複数のデバイスをデイジーチェーン接続し、その後、電力線を介して通信信号を注入し、半二重ネットワークに変換したいと考えています。 これを達成する一般的な方法はありますか?シンプルであるほど良いので、マイクロコントローラでUARTを使用した方がいいでしょう。 編集:実際に私が取り組んでいる2つのプロジェクトがありますが、この恩恵を受けると思います-1つは低電力センサーネットワークです。もう1つは、LED照明プロジェクトです。どちらの場合も、目的は配線を簡素化することですが、ソリューションが複雑すぎる場合は、おそらく3本のワイヤ(pwr、gnd、comms)を使用する方が理にかなっています。 22 communication uart power-line-communication
2 なぜ1つではなく2つのトランジスタが頻繁に使用されるのですか? 私がトランジスタで見た多くの回路設計では、1つのトランジスタを使用する代わりに、2つのトランジスタを連鎖させて使用します。適例: この回路は、3.3V UARTを備えたデバイスが5Vマイクロコントローラーと通信できるように設計されています。 Q2がオフのときTX_TTLが高くなり、Q2がオンのときTX_TTLが低くなることを理解しています。私の質問は、Q1を使用してQ2のベース電圧を制御する代わりに、UART_TXDをQ2のベースに対して直接実行しないのはなぜですか? 20 transistors uart npn
2 FTDIチップはどのように機能しますか? 先日、誰かがFTDI USBからシリアルUARTがどのように機能するかを尋ねましたが、私は知らないことに気付きました。FT232Rのデータシートを見たところ、ブロック図はあまり役に立ちませんでした。誰でも説明したり、良い説明にリンクできますか? 20 usb uart ftdi
3 UART&USART-違いは何ですか オフィスでは、これらの用語が同じであるかのように投げかけられているのを聞きます。私の理解では、USARTはデータとともにクロック信号を配信できるということです。 他に違いはありますか?それぞれの長所と短所は何ですか? 19 uart terminology
4 UARTの周波数はどれほど重要ですか? 8 MHzクリスタルを使用して、16 MIPSでマイクロコントローラーを実行します(PLL 4x、2サイクル命令)。ただし、8 MHzはUART周波数に分割されません。115,200ボーを使用する予定です。 UARTは±1%以内で実行できますか?これが機能しない場合、どの周波数を使用すればよいですか?(処理速度を最大にするために、できる限り16 MIPSに近づけたいと思います。)問題があれば、PIC24FJ64GA004を使用しています。 17 microcontroller uart frequency
1 UARTの抵抗をプルアップする 私はこの接続図に出会ったアプリノートAN2606を通り抜けていました: 私の知る限りでは、UARTはプッシュプルタイプであり、Txは必要なプルアップを提供するため、外部プルアップを使用する必要はありません。ここに何かが足りませんか? 16 uart
2 3.3V UART信号の最大ケーブル長 2つの異なるボード上の2つのマイクロコントローラー間でRS-232コンバーターを使用しないでください。さまざまな理由により、SPIまたはI2Cがサポートされていないなど、UARTのみがサポートされており、ボード間のRJ45ジャックにCAT5Eケーブルを使用します。データレートは115200bpsで、場合によっては921600bpsまでです。グラウンドはUART信号とともに接続されます。 現在、必要な長さで動作していますが、私自身の教育のために、これが信頼できる最大ケーブル長を推定する方法はありますか? 15 uart cables
6 1つまたは2つのUARTストップビット? UARTでは、多くの場合、1、1.5、2ストップビットを選択できます。1ストップビットのペイロードの効率は80%(8/10)で、2ストップビットは72.7%(8/11)に低下します。2番目のストップビットの利点は何ですか? 15 uart
3 2つのUARTはどのボーレートを使用するかをどのように知るのですか? 私はUARTの標準プロトコルについて読んでいます。受信UARTがデータが送信されたボーレートをまったく把握していない場合、多くの問題があると思います。想定されるボーレートがデータが送信されるボーレートよりも低い場合、受信UARTから「見えない」ビットが存在します。一方、受信機が使用するボーレートがデータが送信されるボーレートよりも高い場合、ビットが2回カウントされ、データが誤って「読み取られる」ことになります。 UARTに関する私の知識は、ラインがアイドル状態のとき、「1」に維持され、開始ビットが「0」で、停止ビットが「1」であるということです。また、ストップビットが「1」であっても、回線がアイドル状態の場合、「1」と違いはありませんか、区別する方法はありますか? 2つの通信UARTが最初に使用するボーレートについて同意しますか?はいの場合、彼らはそれをどのように行いますか? 14 uart transmitter receiver baudrate
3 UARTレシーバーのクロック速度 私はUARTの基礎を理解しようとしていました。 非同期通信プロトコルであるため、TXクロックとRXクロックは互いに独立しています データの受信は、スタートビットと1つ以上のストップビットの使用によって保証されます。さらに、受信に使用されるSIPOレジスタを駆動する適切なクロックを生成するために、レシーバはデータレートを認識する必要があります。 ここでの質問は 通常、ビットレートの16倍のクロックを使用してデータを回復することが言及されています。では、bpsからクロック周波数への変換はどのように可能ですか?UARTレシーバーで採用されているクロッキングメカニズムを研究するための参考資料を提供してください。 14 serial uart communication