Ao usar uma interface USB para serial, tudo funciona desde que eu não ultrapasse o 57600 Baud. A taxas mais altas, eu só fico giberish assim:
é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Ì
pL¨fæHE
þ¼MBÞI
O que torna o problema tão estranho é que troquei todos os componentes e o problema ainda persiste. Eu tentei diferentes sistemas operacionais (Ubuntu, Windows XP, Windows 7, Mac OS X 10.7) com 32 e 64 bits. Eu tentei a interface USB para serial da FTDI e da Prolific. Tentei ler a saída do meu Raspberry PI e de um Asterisk Appliance. Troquei os cabos e a fiação. Nada ajudou.
Fiz um exemplo com um notebook antigo com COM nativo e coloquei o USB para serial na mesma conexão que o "sniffer" (apenas Rx e GND conectados) para garantir que a saída e tudo estejam ok, como é possível ver no nativo porta. A voltagem está boa. As configurações para ambos são 115200 Baud, 8 bits com 1 parada e sem controle de fluxo. Nativo é bom. USB está bagunçado.
Usei os drivers mais recentes e verifiquei todas as conexões. Não tenho ideia do que está errado aqui. Como não consegui encontrar alguém descrevendo problemas como esse, questiono minha longa experiência em ciência da computação e acho que estou fazendo algo completamente errado.
fonte
Respostas:
Depois de pensar e encontrar um único post que estava um pouco na direção certa, eu descobri que é a única possibilidade restante de inverter o sinal e experimentá-lo. Felizmente, o FT232RL possui sinalizadores de opção na EEPROM (programável com "MProg" da FTDI) para definir isso:
Depois disso, tudo funcionou em todas as taxas de transmissão. Não me pergunte por que, não tenho explicação técnica para isso. Estou ansioso para obter um osciloscópio para uma investigação mais aprofundada. Nunca vi um problema tão estranho antes.
Também testei meu USB para serial com um Cisco Switch e ele não funcionou sem essa inversão.
fonte
FT_Prog
agora - disponível aqui: ftdichip.com/Support/Utilities.htmEu também tive o mesmo problema ao conectar-se ao nosso MCU em velocidades acima de 57600 e, depois de suspeitar do nosso UART, descobri que um Silicon Labs CP2102 USB para UART Bridge (TTL) funcionava corretamente em taxas de transmissão mais altas sem precisar ajustar o chipset FTDI.
fonte