RJ-45 - RS-232, posso substituir o lado RS-232 e abusar da minha porta Ethernet como porta COM?

2

Temos uma placa PCIX (com CPU MIPS) de algum fornecedor e ela tem um conector RJ-45 no lado da placa, onde o cabo tem um plugue RS-232 no outro lado. O protocolo esperado é claramente o mesmo que ao usar um cabo de modem nulo entre duas máquinas.

Agora eu estou querendo saber se existe algum sabor Linux ou * nix que me permita substituir o cabo por um patch cable padrão com conectores RJ-45 em ambas as extremidades (não cruzado por razões óbvias)? Eu li que alguém sugeriu socat para algum caso de uso similar, mas parece que o caso de uso é tão misterioso que a documentação é praticamente inexistente no tópico. É claro que é bem possível que eu tenha usado os termos de pesquisa incorretos até agora.

Raciocínio: é quase difícil encontrar dispositivos que tenham uma porta COM hoje em dia, mas a maioria tem uma porta ethernet. Além disso, a placa está em um local bastante inacessível, então, para conectar a ela, estamos usando dispositivos móveis. E é ainda mais difícil encontrar máquinas com portas COM.

NB: Estou ciente da RS-232 para dispositivos USB, mas preferiria uma solução como apontada, pois parece mais universal.

    
por 0xC0000022L 11.03.2011 / 18:19

2 respostas

10

Não está claro exatamente o que você quer. Se você quiser usar sua porta Ethernet existente, isso não será uma opção por vários motivos; o mais fundamental é que a Ethernet requer níveis precisos de terminação e tensão, o hardware na interface (o PHY) é feito para lidar com isso. A Ethernet usa estritamente a impedância de terminação de +/- 0.85V e 50ohm; O RS-232 usa no mínimo +/- 3V e pode ser tão alto quanto +/- 25V, tipicamente +/- 12V. Eu imagino que se você tentasse conectar sua porta Ethernet a uma linha RS-232, ele iria fritar sua interface de rede.

O Socat é um outro nível, e definitivamente não é útil aqui: é uma ferramenta de comunicação TCP / IP: ele não sabe nada sobre as características elétricas do hardware subjacente - ele poderia falar sobre uma linha RS232, mas estarei falando TCP, e você precisaria falar TCP no outro lado para que ele funcionasse.

Agora, se o que você está fazendo é projetar uma placa, você pode colocar um conector RJ45 com traços em uma porta de E / S serial, que é exatamente o que os fabricantes de sua placa PCIX fizeram. Eu também vi roteadores Cisco como este.

A ferramenta que você realmente precisa é de um conversor USB RS232- & gt ;.

    
por 11.03.2011 / 19:07
5

Muitos dispositivos usam conectores não padrão para portas seriais. O RJ-45 é provavelmente o conector mais comum usado para serial RS-232 após o DB-9, mas ao contrário do DB-9, não existem padrões de fato para a pinagem. Estou ciente de 4 diferentes pinagens RS-232 RJ-45, e provavelmente há outras que ainda não vi.

Nada disso significa que as pessoas estão de alguma forma convertendo Ethernet em serial. Eles simplesmente usam o mesmo conector.

Existem muitos produtos que fornecem essa conversão e, na verdade, a maioria deles usa o conector RJ-45 para o seu lado serial. Para um exemplo de um conversor de porta única, há o Digi One SP . Mais comuns são as caixas que fornecem várias portas seriais, como o Digi PortServer e o Servidores de console Avocent (neé Cyclades) . Estes são apenas dois exemplos de muitos. A Digi e a Avocent são facilmente os dois maiores players, mas existem muitas empresas menores fazendo coisas como essa.

Algumas dessas caixas se apresentam para o SO como /dev/ttyWHATEVER instalando um driver. Estes têm a vantagem de que qualquer programa que saiba como falar com uma porta serial pode falar com o dispositivo remoto conectado ao conversor. Na maioria das vezes, o driver faz com que o conversor não seja diferente de uma porta serial local. Por exemplo, se um programa abrir um dos nós /dev/ do conversor e chamar cfsetospeed() para definir a taxa de bits da porta serial, o driver encaminhará o comando para a caixa do conversor remoto, que altera a taxa de bits serial nessa porta .

O principal problema com que você se depara com esse tipo de conversor é que nem sempre é possível encontrar um driver funcional para seu kernel específico. Esse problema está se tornando mais comum à medida que a popularidade do RS-232 cai, já que significa que as empresas que fornecem essas caixas têm incentivos cada vez menores para continuar aprimorando seu driver para rastrear as diferenças do kernel.

O outro tipo principal de conversor serial para Ethernet é puramente um dispositivo de rede. Por exemplo, com as caixas Cyclades, se obtiver o IP 10.1.2.3 do servidor DHCP, você poderá se conectar a 10.1.2.3 na porta TCP 7001 para conectar-se à primeira porta serial. Você usaria a porta TCP 7002 para a segunda porta serial e assim por diante.

Para definir parâmetros de porta serial com esse tipo de conversor, geralmente é necessário usar uma interface de usuário de gerenciamento da Web hospedada pelo conversor. Embora isso signifique não obter recursos como o encaminhamento automático de parâmetros de porta serial para o conversor, você obtém compatibilidade com qualquer programa que possa abrir uma conexão TCP sem precisar de um driver.

    
por 12.03.2011 / 18:57