115200 Baud'da USB-Seri gösteren anlamsız


14

USB-Seri arayüz kullanırken, her şey 57600 Baud'un ötesine geçmediğim sürece çalışır. Daha yüksek oranlarda sadece böyle giberish olsun:

év.­b0JNLYÆÿ¿iëd0U²(kßÞb!
                        ú]/xscB!ï¯!BoXûÿ1ïâÖCÿ6ÌAnè*íÌC)º¿BíÞØ.C.@ÆÃwHJÂs
"YE:ñ.èFðÌCÊ÷ÞÄ
               !x
                 H
w6@BtbHJ
        ̪
          Ì6ì
H¾a¿bH.">îvy®;f<ßBÌ
               p­L¨fæH­E
­þ¼MBÞI

Sorunu bu kadar garip kılan şey, her bileşeni değiştirdim ve sorun hala devam ediyor. 32 ve 64 Bit ile farklı işletim sistemleri (Ubuntu, Windows XP, Windows 7, Mac OS X 10.7) denedim. FTDI ve Prolific'ten USB-Seri arayüzünü denedim. Ahududu PI'mdan ve bir Yıldız Aletinden çıktı okumayı denedim. Kabloları ve kabloları değiştirdim. Hiçbir şey yardımcı olmadı.

Yerel COM ile eski bir dizüstü bilgisayar ile bir örnek yaptım ve USB-Seriyi, "sniffer" (yalnızca Rx ve GND bağlı) ile aynı bağlantıya koydum. Liman. Voltaj iyi. Her ikisi için de ayarlar 115200 Baud, 1 Durdurmalı 8 Bit ve akış kontrolü yok. Yerli tamam. USB bozuldu.

En yeni sürücüleri kullandım ve tüm bağlantıları iki kez kontrol ettim. Burada neyin yanlış olduğu hakkında hiçbir fikrim yok. Böyle sorunları tanımlayan birini bulamadığım için bilgisayar bilimindeki uzun deneyimimi sorgularım ve tamamen yanlış yaptığımı düşünüyorum.


115200 baud'da (muhtemelen diğerleri gibi) USB seri adaptörleri kullandım. Daha ucuz adaptörlerden birinde sinyal topraklama sorunu var. RS-232 tarafındaki GND, USB GND'ye bağlı değildir; bazı bağlantılar (şasi toprak bağlantılarına bağlı olarak) çöp verileri üretir. 57600 baud üzerindeki tüm kurulumlarda sorun olduğunu bildiriyor musunuz ? İlgili herhangi bir ortak ekipman var mı? Videodaki bu breadboard nedir? Bu ev yapımı bir seviye değiştirici mi?
talaş

115200'den daha yüksek değerler denemedim, bu yüzden kesinlikle sorun çıkardıklarını söyleyemem. Breadboard sinyali ayırmak için kullanılır, böylece yerel bağlantı noktasında ve USB-Seri bağlantısında kullanabilirim. Bazı teller dışında elektrikli parça yok. USB-Seri aygıtımın açık (kablo) bir ucu var ve ona bir RJ45 jakı uyguladım, bu yüzden GND'nin doğru bağlandığını söyleyebilirim. Bağlamadan çıkış almıyorum. Bence bu iyi olmalı. Birçoğunun bu adaptörleri sorunsuz kullanması beni tam olarak çıldırtan sorunun bir parçası ...
Mose

Sinyali bölmek sorunlu olabilir. Sadece teller varsa, bu yansımaları iptal etmek için hat sonlandırması olmadığı anlamına gelir (frekans yükseldikçe daha da kötüleşebilir)?
talaş

Evet bu bir sorun olabilir, ama bu durumda değil. Sorunu daha iyi göstermek için bunu bağladım. Sorun bu "koklama" şeyler olmadan yaşandı. Sadece cihazın eşzamanlı olarak göstererek verisini tükettiğini göstermek istedim.
Mose

9600 gayet iyi görünüyor, 115200 önde çöp verileri üretiyor.
Lin Song Yang

Yanıtlar:


6

Bunu düşündükten ve biraz doğru yönde olan tek bir yazı bulduktan sonra , sinyali tersine çevirip denemek için kalan tek olasılık olduğunu anladım. Neyse ki FT232RL, EEPROM'da (FTDI tarafından "MProg" ile programlanabilir) seçenek bayraklarına sahiptir:

FTDI MProg

Bundan sonra, her şey her Baud hızında çalıştı. Bana nedenini sorma, bunun için teknik bir açıklamam yok. Daha fazla araştırma için bir osiloskop almak için sabırsızlanıyorum. Daha önce hiç bu kadar garip bir sorun görmedim.

USB-Seriyi de bir Cisco Switch ile test ettim ve bu tersine çevirme olmadan çalışmadı.


Bu sorunda bir gelişme var mı?
Isaac

2
Benim için de çalıştı - araç FT_Progşimdi çağrıldı - burada bulunabilir: ftdichip.com/Support/Utilities.htm
MrMajestyk

1

MCU'muza 57600'ün üzerindeki hızlarda bağlanırken de aynı sorunu yaşadım ve UART'ımızdan şüphelendikten sonra, bir Silikon Laboratuarları CP2102 USB'den UART Köprüsü'ne (TTL) FTDI yonga setini değiştirmek zorunda kalmadan daha yüksek baud hızlarında düzgün çalıştığını buldum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.