Desenvolvimento do scaler LVDS com duas interfaces DisplayPort



Bom dia, Habr!

Descrição do projeto de uma placa scaler desenvolvida em um chip Realtek - RTD2662, para uma matriz de dois canais. Quem estiver interessado no tópico, bem-vindo ao gato.

Eu sempre fui atraído pelo assunto da saída de imagem para matrizes. Anteriormente, desenvolvi uma placa scaler baseada no chip TSUMV59 (compatível com TSUMV29), uma instância muito interessante do MStar. Eu acho que vou escrever um artigo separado sobre esse tópico. Parece que tudo está bom neste chip, mas algo estava faltando, a saber, a capacidade de escrever seu próprio software para exibir o menu na tela e o processamento GPIO. Todo o firmware é distribuído em formato binário e é atualizado via USB, mas o código-fonte não foi encontrado (se alguém souber / ouviu alguma coisa, escreva, porque o tópico é muito interessante). Até certo tempo, isso era suficiente para algumas de suas necessidades. Houve momentos em que não foi possível selecionar o firmware para uma matriz específica, por exemplo, com uma proporção incomum, mas esses foram problemas triviais até que um pedido parecesse desenvolver um dispositivo no qual deveria haver um menu, logotipo e a lógica de operação estritamente definidos. inteiro. Então começamos a pensar em como ser e que caminho seguir. O principal problema foi a falta de tempo, foi necessário obter o primeiro lote de dispositivos - 100 peças no menor tempo possível. A segunda é a presença de duas interfaces DisplayPort a bordo. Terceiro, um pequeno número de dispositivos, que não permite trabalhar / receber documentação e amostras de fabricantes / distribuidores de chips.

Vou listar os principais problemas de hardware / software que precisavam ser suportados:

- DisplayPort - 2 peças;
- Ethernet 10/100 - 1 pc;
- LVDS de dois canais para matriz de 32 ”- 1 pc;
- Suporte para um teclado capacitivo de 4 botões - 1 pc;
- Sensor de temperatura na placa - 1 pc;
- interface WEB;
- sistema operacional Linux;
- Alimentação externa 24V.

Agora um pouco sobre tudo e em ordem.

Displayport


Tudo parecia relativamente simples aqui, você precisa escolher um chip com uma entrada HDMI, colocar um switch e conversores de DisplayPort para HDMI. O mesmo chip deve ter uma saída LVDS de canal duplo na matriz e suportar FullHD. Além disso, é desejável que ele tenha a bordo o RMII (Ethernet) e a capacidade de desenhar menus na parte superior da imagem. E então os problemas começaram. Não foi possível encontrar nada parecido para que você pudesse comprar, simular e lançar rapidamente um lote.

Como hobby, estou envolvido no reparo de equipamentos e não é uma questão de renda, mas de habilidades adquiridas que são muito úteis no desenvolvimento de meus projetos e na busca de idéias e tecnologias. Quem desmontou o equipamento original da Sony e da Panasonic entenderá. Sinto-me particularmente atraído por dispositivos de áudio / vídeo / carro. A qualidade de colocar os aterros (mesmo nas camadas superiores), o solo analógico e a fonte de alimentação, a posição relativa dos alimentadores na placa, o traço da RAM, HF ... minha cabeça está girando em torno de como tudo é feito de maneira bonita e cuidadosa (é claro, isso nem sempre acontece).

Ok, do que estou falando? Portanto, se você se lembra do que geralmente é colocado nos televisores de baixo custo, a primeira coisa que veio à mente foi o TSUMV29 / TSUMV59, mas, como lembramos, eles não são adequados para nós. O que mais as TVs e monitores fazem, mas o que você pode comprar por peça? Um colega sugeriu à Realtek que parece que até existem fontes para isso, o que simplificará bastante a tarefa. Acontece que realmente existem fontes para o Keil, para o chip RTD2662. O chip não é o mais novo, mas possui duas entradas HDMI e suporte para FullHD.


Fig. 1. RTD2662

Esquema de inclusão como em todos os chassis da TV. O chip é alimentado por duas voltagens - 3.3V e 1.8V. Não foi possível encontrar uma folha de dados completa e não era necessária. Era necessário adicionar apenas conversores do DisplayPort. Após uma breve pesquisa, foi escolhido um transmissor da Texas Instruments - SN75DP139. Eu recomendo no desenvolvimento, um bom chip. Os microcircuitos estão localizados na parte inferior da placa (eu tive que fazer isso para evitar a mira das linhas de dados, talvez eu tente reproduzir novamente de um lado).


Fig. 2. Diagrama de fiação SN75DP139

O esquema de inclusão é o seguinte. Entrei em contato com o DisplayPort pela primeira vez e tornou-se uma revelação para mim que a entrada e a saída dessa interface têm pinagens diferentes, ou seja, uma no conector do PC e a outra no monitor. Embora exista alguma lógica nisso.
O firmware da Realtek é armazenado em um SPIFlash separado.

Ethernet 10/100


A Ethernet é necessária para várias coisas: monitoramento, configuração e atualização de dispositivos; portanto, 10/100 da física é suficiente. Instalei o LAN8742AI da Microchip, usei-o pela primeira vez e o escolhi precisamente porque o cliente precisava de uma certa função "Wake on LAN", antes que não houvesse essa necessidade. Em poucas palavras, o suporte a WoL permite ativar o dispositivo via Ethernet.


Fig. 3. Ethernet 10/100

A física não requer quase nenhuma ligação e é fácil de rastrear. Funciona de forma estável, não houve um único lançamento de rede.

LVDS


São necessários dois canais para conectar a matriz AUO de 32 ”. Conector e pinagem usado padrão. Fonte de alimentação 12V, fabricada em DC / DC TPS54560DDAR - este é um excelente alimentador 5A da TI. A matriz de luz de fundo 24V, tirou da tensão de entrada. A matriz possui um driver de luz de fundo integrado com a capacidade de ajustar e desligar. A placa é feita em 4 camadas, portanto não houve problemas com o rastreamento LVSD, HDMI e DisplayPort.


Fig. 4. Rastreio LVDS

Como você pode ver aqui diretamente, uma pequena diferença no comprimento não afeta a qualidade da imagem.

KEY


Os botões são implementados no chip SX8634 da Semtech Corporation - este é um chip um tanto ambíguo em seu trabalho. Os programadores tiveram que reescrever o driver inteiro para obter o resultado esperado. Aconteceu algo assim: existem 4 botões para navegar pelo menu, eles são sensíveis ao toque (capacitivo através do vidro) com luz de fundo RGB por dentro através dos orifícios na placa. Apenas o botão inferior está constantemente aceso, ele também entra no modo de suspensão e vice-versa (com uma mudança no brilho). Quando você mantém suas mãos pressionadas 5 cm, os botões restantes são destacados e o menu é exibido em frente a eles. Retiramos a mão, depois de 3s o menu desaparece, os botões se apagam. Parece interessante.


Fig. 5. Placa do botão do toque

A parte superior da placa (em cima) é adjacente ao vidro; portanto, não há componentes nela, todos eles estão localizados na parte inferior. A dificuldade na instalação e calibração foi devido à largura da placa, é de apenas 12 mm. Se alguém está cansado da vida, pode usar esse chip em seus projetos.

Temp


A temperatura dentro do gabinete é medida usando o sensor de temperatura NXP LM75AD via barramento I2C. Foi entregue como é facilmente entregue e fica em armazéns em grandes volumes.

WEB


A interface da Web e o próprio projeto são implementados com base em um jovem mecanismo nascido de uma equipe independente de 11 partes - este é nosso parceiro para o desenvolvimento de software para sistemas baseados em Linux.
A plataforma possui muitos blocos, com suporte técnico e garantia com a possibilidade de melhorias e atualizações.

Ainda mais simples, este é um projeto de estrutura com funcionalidade avançada que está constantemente aprimorando e expandindo a funcionalidade. Dos principais blocos, destaca-se um gerenciador de rede, uma interface WEB dinâmica, atualização e um construtor de projetos. Com base no mecanismo, você pode implementar vários dispositivos, de um mp3 player a um servidor SIP de 10 Gbit com várias portas. e é exatamente isso que precisávamos neste projeto.

Na interface baseada na Web, você pode não apenas controlar os parâmetros do painel, mas também alterar as configurações, por exemplo, brilho, contraste, nitidez da imagem, monitorar em qual porta o PC está conectado e qual deles está ativo no momento, alternar entre eles.

Também neste projeto, as versões SNMP 1.2 e 3 são suportadas com suporte para comandos SET, GET e envio de traps por intervalo ou evento. I.e. Informações sobre qualquer parâmetro, por exemplo, brilho / contraste, podem ser transmitidas ao servidor via SNMP, pressionando o botão para alterar o parâmetro ou, por exemplo, uma vez a cada 10 segundos. Você pode desligar a tela ou alterar o parâmetro remotamente usando o comando SNMP SET. O SNMP também faz parte do mecanismo.

iMX6ULL


Como o chip Realtek não possui Ethernet integrada, neste projeto um processador NXP iMX6ULL está instalado, no qual o OS Linux é executado e a lógica básica do trabalho é executada. O iMX e o Realtek são interconectados via UART e trocam comandos entre si. Para eventos rápidos, existem vários GPIOs.


Fig. 6. iMX6ULL

Todas as informações são armazenadas no NAND, o u-boot é carregado no SPIFlash. Um chip de RAM e nada mais. O cartão SD é exibido para atualizar o software (além de poder fazer isso na web).

Poder


A fonte de alimentação secundária de 5V é implementada no mesmo DC / DC da fonte de alimentação da matriz - TPS54560DDAR. Fonte de alimentação 1.8V e 1.35V no AP3418 da Diodos e 3.3V no ST1S10PHR da ST.


Fig. 7. DC / DC

Os microcircuitos DC / DC foram escolhidos com uma grande margem, uma vez que a matriz possui grandes correntes de pico para energia e iluminação e, como havia apenas uma iteração, eu realmente não queria arriscar.
Todas as fontes de alimentação são separadas por polígonos em uma camada separada, com exceção da energia da matriz, porque eu realmente não queria cortar a energia principal com este condutor. As capturas de tela de rastreamento são inúteis, a menos que alguém esteja interessado em qualquer interface. Também quero dedicar um artigo separado sobre polígonos alimentares e terrestres, por exemplo, neste projeto, existem um total de 27 polígonos; no meu novo projeto no iMX7, haverá cerca de 100, e isso simplesmente não se encaixará na estrutura deste artigo.

Se você se aprofundar um pouco mais na lógica do quadro. O iMX funciona com botões Ethernet e no painel frontal. Ele está associado ao Realtek, que pega a imagem do DisplayPorta ativo e a emite na matriz LVDS. Os comandos dos botões, SNMP e web voam para o Realtek, que por sua vez reage a eles e altera os parâmetros de exibição, exibe um menu etc.

O resultado foi um projeto bastante interessante em pouco tempo. Provavelmente, ele contém muitos módulos, mas na época do desenvolvimento, na minha opinião, essa era a melhor solução de acordo com os termos, custos e riscos.

Obrigado pela atenção!

Source: https://habr.com/ru/post/pt418459/


All Articles