Esquema de Aplicação do Sistema de Aquisição de Imagens Baseado no Chip do Dispositivo FPGA EP2C5F256C6

introduzir

Em sistemas de aquisição de dados de baixa velocidade, microcontroladores ou DSPs são frequentemente usados para controle; mas para ocasiões de aquisição de dados de alta velocidade, como aquisição de imagens, esta solução não pode atender às necessidades. Portanto, esta solução desperdiça muito os recursos de porta do microcontrolador ou DSP, e tem pouca flexibilidade; se o método de porta serial for usado para coletar dados, por um lado, a velocidade de aquisição de dados será reduzida e, por outro, os recursos da CPU serão muito consumidos. O sistema adota o FPGA como principal unidade de controle de aquisição de dados, e toda a lógica de controle é completada por hardware, que possui alta velocidade, baixo custo e forte flexibilidade. Para aumentar a função de buffer, o sistema expande os 256Mb de RAM fora do FPGA, o que não apenas aumenta a capacidade do buffer, mas também reduz bastante a frequência de leitura e gravação, reduzindo efetivamente a carga na CPU do computador host. Entre as interfaces de dados de imagem, VGA e PCI-Express são as mais comuns, pois possuem baixa escalabilidade e alto custo. O sistema adota interface USB de alta velocidade como interface de comunicação com o computador host, que é rápida, fácil de instalar e flexível.


1 Diagrama de blocos do sistema


O diagrama de blocos do sistema é mostrado na Figura 1. A unidade de controle FPGA adota a série Cyclone II de EP2C5F256C6A1tera, que é composta principalmente de 4 partes - módulo de controle principal, interface do sensor CMOS, controlador de RAM e controlador de interface EZ-USB. A interface do Sensor é responsável por completar o controle de tempo do SCCB, o controlador de RAM é usado para implementar o tempo das operações de leitura, gravação e atualização da RAM, o módulo de interface USB completa a leitura e gravação de dados entre o módulo de controle principal e o EZ-USB ; e o módulo de controle principal é responsável pelo escravo EZ-USB. O comando do computador host recebido pela parte USB é analisado, e o sinal correspondente é gerado após o comando ser analisado para controlar cada módulo correspondente, como o formato da imagem transmitida pelo sensor CMOS, o modo de leitura e escrita da RAM e o comprimento da rajada.


2 design do módulo OV7620


O sensor de imagem adota o OV7620, e o diagrama de interface é mostrado na Figura 2. O sensor é poderoso e fornece uma variedade de saída de formato de dados, remoção automática de ruído branco, balanço de branco, saturação de cor, controle de matiz, tamanho da janela, etc. podem ser configurados através da linha de controle SCCB interna. O OV7620 é um sensor de imagem colorida CMOS. Suporta digitalização contínua e entrelaçada, dois formatos de imagem VGA e QVGA; pixel máximo 664×492, taxa de quadros 30fps; formatos de dados incluem YUV, YCrCb e RGB. 0V7620 suporta o modo de configuração SCCB e o modo de configuração padrão de carregamento automático, a seleção é controlada pelo SCCB. Este sistema só precisa suportar o modo SCCB, e o SBB é aterrado durante o projeto. Após ligar, o FP-GA configura o OV7620 através do barramento SCCB, e o sistema também pode aceitar comandos do computador host para definir seu modo de trabalho. A temporização do barramento SCCB é semelhante à temporização do barramento I2C, SIO-0 é equivalente a SDA e SIO-1 é equivalente a SCL. OV7620 funciona em modo escravo. No processo de escrita do registro, primeiro envie o endereço ID do OV7620, depois envie o endereço do registro de destino dos dados escritos e, por fim, envie os dados a serem escritos.


3 módulo de controle de temporização de RAM


A interface do controlador de RAM é usada principalmente para realizar o tempo de operação básico da RAM, como tempo de carregamento (atualização), tempo de configuração de modo, tempo de leitura e gravação, etc. Os comandos de leitura e escrita são emitidos pelo módulo de controle principal e executados pelo módulo de controle principal. controlador. O sistema adota o HY57V561620F(L)T(P) da Hynix, que pode realizar armazenamento de dados de grande capacidade de 256Mb.


O controlador sequencial é implementado por uma máquina de estados finitos (FSM), e seu diagrama de transição de estado é mostrado na Figura 3. 200μs após a reinicialização, todos os blocos de RAM são pré-carregados. O nível do pino da operação de carregamento é mostrado na Tabela 1. Após a conclusão do carregamento, todos os blocos são atualizados através do tRP, e o estado de configuração do modo é inserido após um atraso de tRFC . No estado de configuração do modo, é necessário definir o atraso RAS, comprimento de rajada, etc., entrar no estado inativo após um atraso de tMRD e aguardar os comandos de leitura e gravação da unidade de controle principal. No estado inativo, todas as linhas na RAM precisam ser atualizadas a cada 64ms. Neste projeto, o módulo de atualização de tempo é projetado como um contador e o pulso de contagem é selecionado a partir do relógio do próprio controlador. Como a RAM requer um intervalo de tempo máximo entre atualizações de no máximo 64 ms, assumindo uma frequência de clock do sistema de 100 MHz, um período de clock de cerca de 0,01 μs e todas as 8.192 linhas devem ser atualizadas em 64 ms, a contagem máxima deve ser 781 vezes (64 ms/8192/0,01 μs). O sistema usa 700 pulsos de contagem para gerar solicitações de atualização.


4 EZ—controlador de transferência USB


CY7C68013 é o chip da série EZ-USB FX2 da Cypress Company, e o diagrama de conexão dos pinos é mostrado na Figura 5. Esta série de chips integra transceptor USB2.O, mecanismo de interface serial (SIE), 8501 RAM aprimorado on-chip de 8,5 KB, RAM de 16 KB, memória FIFO de 4 KB, portas de E/S, barramento de dados, barramento de endereço e programação de uso geral Interface (GPIF); Existem 3 modos de interface - Modo de porta, Modo de interface FIFO escravo e Modo de interface GPIF. No modo de porta, todos os pinos de E/S podem ser usados como portas de E/S de uso geral 805l. Como o método de transmissão de dados mais básico, a transmissão de dados é concluída principalmente pelo programa de firmware e requer a participação da CPU, de modo que a taxa de transmissão de dados é relativamente baixa. No modo de interface FIFO escravo, a lógica externa ou um processador externo pode ser conectado diretamente ao FIFO de ponto final FX2. O modo de interface GPIF usa PORTB e PORTD para formar uma interface de dados de 16 bits para os quatro terminais FX2 FIF0 (EP2, EP4, EP6 e EP8). O GPIF é conectado diretamente ao FIFO como um controlador principal interno e gera sinais de controle programáveis pelo usuário para se comunicar com a interface externa. A transmissão de dados dos dois últimos modos é completada pela execução do protocolo USB por si só, e o microprocessador não participa da transmissão de dados, melhorando muito a taxa de transmissão de dados.


para concluir


Através do design acima, o gargalo da amostragem e transmissão de dados de alta velocidade é bem resolvido, e a coleta de dados de imagem de alta velocidade é realmente realizada com um pequeno atraso. Devido ao seu baixo custo e fácil instalação, possui amplas perspectivas de mercado e pode ser utilizado em áreas como teleconferência, telemedicina e educação a distância que requerem transmissão de imagens em alta definição. A inovação deste design é se adaptar aos requisitos de aplicação de diferentes dados de imagem e realizar uma variedade de modos de leitura e gravação de velocidade, que podem ser leitura e gravação de comprimento de rajada em tempo real e leitura e gravação de página inteira em alta velocidade.