Conversor de hardware HDMI-RGB (18/24 bits)

Bom dia, Habr!



E, novamente, meu artigo será dedicado ao conversor de vídeo. Desta vez, será HDMI-RGB. Quero dedicar o artigo não especificamente ao desenvolvimento, mas a um problema com as cores que surgiram quando eu conectei uma matriz de 18 bits a um driver de 24 bits.

Em um dos meus artigos anteriores, escrevi sobre o conversor HDMI-LVDS, com conversão intermediária para RGB ( HDMI-LVDS. Do layout ao release ). Para a base do novo desenvolvimento, decidi adquirir o mesmo chip TFP401 (HDMI-RGB) da Texas Instruments.

Desenvolvi a placa nas mesmas dimensões, deixei o microcontrolador com a mesma funcionalidade (controle do modo de suspensão, processamento de botões, controle da luz de fundo da matriz). Como o controlador foi desenvolvido para uma matriz específica (e, consequentemente, um cabo pronto), também tivemos que instalar um conector RGB específico, com um passo de 1,25 mm. Existem dois desses conectores na placa, bem como para conectar drivers de luz de fundo, pois é necessário duplicar a imagem em duas matrizes ao mesmo tempo.

Um pouco distraído. Anteriormente, eu já fiz duplicação de interfaces LVDS e HDMI em meus projetos. No começo, tentei usar microcircuitos especializados, mas depois os recusei e comecei a conectar dois conectores em paralelo (para HDMI, o I2C deve ser arrancado para que não haja conflitos no barramento). Esta opção funciona muito bem em todos os painéis, incluindo mais de 42 polegadas. Não há reclamações sobre a imagem.

Também nesta placa, eu simplesmente dupliquei os conectores RGB e controlei o comprimento dos condutores. Todos os testes foram realizados em uma matriz.


Figura 1. Imagem da matriz

A primeira inclusão me intrigou um pouco. As distorções são especialmente visíveis na foto inferior da Fig. 1. Imediatamente ficou claro que o problema estava na "testemunha" - não há bits significativos em todas as cores. Mas como encontrar o problema, porque, de acordo com o esquema, todos os bits chegam à matriz "um a um"? Eu já vi um problema semelhante ao conectar matrizes de cores de 6 bits ao meu conversor, mas não o estudei, pois fornecemos produtos apenas para matrizes de 8 bits. Ele começou a cavar a Internet em busca de uma solução para o problema.


Figura 2. Circuito de saída RGB com TFP401

Durante muito tempo, não consegui encontrar nenhuma informação sobre o uso do TFP401 no modo de 18 bits. Na folha de dados, 24 bits é indicado em preto e branco. Se você pensar bem, isso não deve afetar a imagem em si - apenas uma perda de qualidade e é isso. A frase no fórum da TI (o serviço de suporte respondeu às perguntas dos usuários) de que o TFP401 não pode alternar automaticamente para o modo de operação de 18 bits (o que já está claro na documentação) e que é necessário "reconectar" o painel ajudado. Isso sugeriu que ainda há um caminho.


Fig. 3. Conectando uma matriz NL6448BC33-70F a partir de uma folha de dados

Novamente, comecei a estudar a folha de dados no painel - nada mudou, 6 bits por canal. Em 2014, ao desenvolver o conversor HDMI-LVDS, deparei-me com alguns documentos dizendo que você precisa mudar os bits para usar o modo de 18 bits, mas não lembrava quantos bits. Ele começou a procurar informações novamente, mas já deliberadamente no turno e, puramente por acidente, tropeçou em um documento no qual a tabela abaixo aparecia!


Fig. 4. 24 bits e 18 bits

Portanto, para conectar uma matriz de 18 bits e um chip de 24 bits, preciso fazer a conexão de acordo com a tabela na Fig. 4. Ou seja, eu tenho que conectar o R0 da tela ao TFP401 R2 e assim por diante. Como tenho um conector no cabo, apenas torci o cabo novamente.


Fig.5. Imagem correta de pinagem

Aqui estão as mesmas fotos, mas após o repasse. Tudo se encaixou. A qualidade voltou ao normal, gradientes nítidos desapareceram.


Fig. 6. Aparência do conversor com o driver conectado (LD1263) e matriz


Fig. 7. 640 * 480 .......

No Altium, é claro, trabalhar não é muito conveniente, mas a imagem é excelente. Adequado para painéis de baixo custo, visualização de qualquer interface etc., se você adicionar um toque, poderá usá-lo, por exemplo, para PLCs.

Até agora, não foi possível conectar duas matrizes ao mesmo tempo (a segunda não está disponível), mas acho que não haverá problemas. Mais tarde, cancelarei a inscrição e adicionarei uma foto.

Obrigado pela atenção!

All Articles