Eu sei o que é full e half duplex, mas em todos os aspectos full duplex tem mais vantagens, então por que usar half duplex, em outras palavras: Na conexão full duplex, a largura de banda dobra e a colisão não ocorre, então por que há metade duplex em tudo e não desapareceu?
Full duplex requer mais de half duplex.
Normalmente, o full duplex é obtido com dois caminhos de dados separados. Isso significa dois conjuntos de fios, conjuntos separados de eletrônicos de transmissão e recepção e um controlador que possui buffers de entrada e saída e eletrônicos.
Half duplex é mais simples, tem requisitos menores e só precisa que você tenha algum tipo de protocolo para lidar ou evitar colisões. Se todas as transferências forem principalmente em uma direção, o full duplex oferece muito pouco benefício em relação ao half duplex e tem um custo mais alto. Além disso, se a maioria das transferências for pequena (mouses, teclados, etc), novamente full duplex é um desperdício.
USB1 e USB2 são half duplex. Possui apenas um par de sinal bidirecional. Embora tenhamos conectado discos rígidos e pen drives a eles, os discos rígidos são a única vez que chegamos perto de saturar a conexão. Os pendrives normalmente tinham velocidades de transferência de 5 a 15 MB/s que deixavam largura de banda suficiente para outros dispositivos. É apenas recentemente que os dispositivos de alta velocidade mais típicos se tornaram mais comuns.
O USB3 possui pares TX e RX separados e destina-se a transferências muito mais rápidas, portanto, faz mais sentido integrar o controle full duplex. Nós o usamos para transferências e exibições de dados multi-gigibit e outros dispositivos. Em velocidades mais altas, as colisões custam mais tempo de inatividade e exigem buffers cada vez maiores no caso de a transação precisar ser retransmitida, então faz mais sentido integrar full duplex.
Em geral, a pergunta que você precisa fazer não é "por que nem todo mundo usa full duplex?" Mas " Preciso full duplex e o custo extra de design, eletrônica extra, cabo com mais fios e assim por diante?"
Com exceção de algumas conexões de rede (por exemplo, roteador para internet, servidor para rede local), a maior parte do uso - seja serial ou paralelo mais antigo, USB, ethernet ou quase qualquer outra coisa é principalmente uma direção o tempo todo ou a maior parte do tempo. Alguns exemplos, em conexões de velocidade baixa e alta (relativamente):
Atualmente, há um uso mais rotineiro que é mais simétrico - Zoom e outras videoconferências que têm um fluxo de vídeo saindo e um fluxo de vídeo entrando. . conexão half-duplex deve ser capaz de lidar com muito espaço de sobra.
Resultado final: por razões competitivas, com cada centavo contando com coisas pequenas (dispositivos USB) e cada dólar com coisas grandes (computadores), os fabricantes usarão conexões half-duplex sempre que puderem, desde que não tenha impacto perceptível na usabilidade.
Alguns protocolos são inerentemente enviar e esperar, incluindo USB 2 (e abaixo), Modbus e protocolo de 1 fio. Nesses protocolos, há um controlador e vários dispositivos. O Controlador interroga um Dispositivo e aguarda uma resposta. Até que o dispositivo responda (ou expire), o controlador não pode interrogar outro dispositivo. Com esses protocolos, há pouca vantagem em ter um caminho de resposta diferente.
Half duplex é quase sempre mais eficiente e rápido.
Para qualquer canal de dados em que você tenha largura de banda limitada, declarar algo "full duplex" não muda isso. Sua linha DSL precisa alocar diferentes partes de sua largura de banda para upload versus download. Os sinais de Wi-Fi só podem transmitir muito antes de começarem a interferir. Geralmente, se você alocar mais largura de banda para upload, terá menos para download e vice-versa. Isso vale para praticamente todas as mídias.
Você pode rotear dois fios para obter full duplex para algum lugar, mas apenas metade de sua largura de banda total é usada para cada direção, porque você poderia ter ambos os fios transmitindo na mesma direção se um lado fosse mais chato.
A menos que você esteja esperando exatamente a mesma quantidade constante de dados em ambas as direções, full duplex não faz muito sentido. Faz muito mais sentido utilizar toda a sua largura de banda para quem precisa falar em um determinado momento para que possa terminar o que tem a dizer rapidamente e deixar outra pessoa falar. Se você se lembra dos modems e do salto de velocidade que aconteceu com o padrão V.92, foi devido à capacidade de alternar de um modo full duplex para half duplex que permitiu que isso acontecesse. para que pudesse dedicar toda a largura de banda ao download, em vez de reservar constantemente alguns para upload. O half duplex tornou as coisas significativamente mais rápidas.
Além disso, é muito mais difícil fazer protocolos multi-drop full duplex. Quando você tem uma dúzia de dispositivos conectados à mesma linha I2C, CAN-BUS, RS485 ou qualquer outra coisa, quem é a conexão full duplex entre eles? todo mundo ouve o que todo mundo está dizendo.
Há alguns momentos em que full duplex faz sentido em uma situação limitada, às vezes você realmente tem a largura de banda extra, então não há problema em desperdiçar um pouco no canal não utilizado porque a melhoria na taxa de transferência vale a pena ou as características do que é usado tornam full duplex mais natural. vêm à mente interfaces de armazenamento em massa de curta distância, como SATA. onde você espera uma grande quantidade de tráfego em ambas as direções e o custo do cobre ocioso não é tão grande quando ele precisa percorrer apenas alguns metros.