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