タグ付けされた質問 「schmitt-trigger」

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 

4
シュミットトリガーモードでオペアンプコンパレーターを機能させるにはどうすればよいですか?
小さな12Vケースのファンを制御したい。R 1、R 2、およびR 3の値を設定して、ファンが40 o C 以上の温度で動作するようにします。 この種のシステムでは、コンパレータの出力がハイとローの間で急速に変化する決定的な領域があることを理解しています。温度が40の近傍にあるときに、この実用例では、O C、不安定な挙動が存在することになります。 シュミットトリガーモードでこの回路を機能させる方法はありますか(例:38 o C 未満で停止し、42 o Cを超えて開始し、38 o Cと42 o Cの間で以前の状態を維持します)、変更を最小限にします。シュミットトリガーロジックゲートを使用しません。


2
直列の複数のシュミットトリガーでスイッチを完全にデバウンスできますか?
しばらくの間ソフトウェアデバウンスを処理した後、システムに大きな負荷がかかることがわかりました。そのため、以下に示すように、1つのシュミットトリガー(74HC14)、コンデンサー、ボタン、およびレジスターを備えたハードウェアデバウンサーを作ることを考えました。 : しかし、ハイまたはローをいつ出力するかを決定するとき、シュミットトリガーは通常のインバーターの半分の厄介なものであると読みました。33%と66%のマークで状態が切り替わり、通常のインバーターは50%のマークに近く切り替わるからです。 (しかし、HCバージョンでは、それはおそらく55%です)。 シュミットトリガーは1つのパッケージに6つのインバーターであるため、右側に6つの回路を同じコンポーネント値で作成してすべて接続すると、最初の入力に任意のボタンを適用すると、デバウンスが大幅に向上するのではないかと思いました。シリーズのそれらの?(例:最初の回路の出力から、コンデンサと抵抗が出会う2番目の回路の入力)

2
74HC14シュミットトリガーICでは、未使用の入力/出力
74HC14シュミットトリガーICを持っています。私はI / Oペアの1つだけを使用し、他のすべては使用していません。 TTLロジックでは、未使用の入力をHighまたはLowに設定してピンのフローティングを防ぐ必要があることを理解しています。 しかし、代わりに出力を高に設定できますか?効果は同じですか、つまりピンのフローティングを防ぎますか?これは悪い考えですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.