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

UART(Universal Asynchronous Receiver Transmitter)は、シリアルポートでデータを送受信するロジックの一部です。

3
UARTとRS-232の違いは?
ほとんどの場合、RS-232とUARTはシリアル通信理論で一緒になります。両方とも同じですか?私の測定から、UARTはRS-232プロトコルのハードウェア形式であると結論付けました。私は正しいですか?

4
どの標準UARTレートがありますか?
私は9600、19200、38400、57600、115200、1.8432 Mbaudを知っていますが、他は知りません。なぜこれらの値が使用され、毎回単に倍になるのか、それとももっと複雑なものがあるのか​​(たとえば、38400の4倍は115200ボーではありませんか?) この質問をする理由は、さまざまな異なるボーレートと相互作用する必要のあるものを設計しているからです。9600で初期化され、特定のボーレートに切り替わります。しかし、私が使用しているdsPIC33Fは16ビットBRGダウンカウンターに制限されているため、任意のレートをサポートしていないため、任意のレートをサポートできません。これに関しては、他の多くのプロセッサと同様です。
33 uart 

13
タイミング図を作成するソフトウェア
私の職業生活では、プロトコルのタイミング図(UART、SPIなど)を作成する必要がある場合があります。しかし、利用可能な優れたプログラムが見つかりません。これにはどのプログラムが推奨されますか、またそれらを使用した経験は何ですか?

8
ASCIIから高度なシリアルプロトコルにいつ切り替える必要がありますか?
UARTを介してPCと通信するすべてのマイクロコントローラーデバイスは、コマンドの送信とデータの受信にArduinoで実装されているASCII文字列を使用します。それは電子機器を掘り始めたときに学んだことであり、私は常に裸の弦を送るだけで十分であることがわかりました。しかし、私が遭遇したほとんどのデバイスは、機能コード、アドレス、CRCエラーチェックを含む洗練されたバイナリプロトコルを使用していることに気付きました。 基本的なASCII通信はいつ受け入れられ、Modbusのようなより高度なものを検討する必要がありますか?商用デバイスはそのようなASCIIを使用しますか?産業用?

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)を使用する方が理にかなっています。

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を使用しています。

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が最初に使用するボーレートについて同意しますか?はいの場合、彼らはそれをどのように行いますか?

3
UARTレシーバーのクロック速度
私はUARTの基礎を理解しようとしていました。 非同期通信プロトコルであるため、TXクロックとRXクロックは互いに独立しています データの受信は、スタートビットと1つ以上のストップビットの使用によって保証されます。さらに、受信に使用されるSIPOレジスタを駆動する適切なクロックを生成するために、レシーバはデータレートを認識する必要があります。 ここでの質問は 通常、ビットレートの16倍のクロックを使用してデータを回復することが言及されています。では、bpsからクロック周波数への変換はどのように可能ですか?UARTレシーバーで採用されているクロッキングメカニズムを研究するための参考資料を提供してください。

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