Descricao_do_Protocolo_Serial_Ver_2.1

Propaganda
Victor Vision LTDA
Protocolo Serial DGUS
Versão 2.1
23/04/2015
Victor Vision LTDA
1 Introdução
O protocolo nativo DGUS é composto por 5 comandos:





0x80: Escrita nos registradores DGUS
0x81: Leitura dos registradores DGUS
0x82: Escrita no espaço de variáveis (RAM)
0x83: Leitura do espaço de variáveis (RAM)
0x84: Escrita no buffer de curvas
O formato geral é dado por:
{FrameHeader}{FrameHeader}{Quantidade de bytes}{Comando}[{Dados}...]
O cabeçalho (FrameHeader) pode ser definido livremente, sendo o valor padrão preferível 5AA5.
A quatidade de bytes é contada a partir (inclusive) do byte de Comando.
A tabela 4.1 DGUS Register, documento “Guida de Desenvolvimento”, acessível em
http://www.victorvision.com.br/index.php/suporte/documentacao, lista todos os registradores
de controle DGUS.
A transferência de dados entre a memória FLASH (não volátil) e a memória RAM (volátil) é obtida
através da manipulação dos registradores DGUS. Nos firmwares DGUS, é possível ler e escrever
dados entre quaisquer posições nas memórias RAM e FLASH. Nos firmwares MiniDGUS, apenas
a posição 120 (0x78) é acessível, e só é possível copiar a RAM inteira para a FLASH, embora seja
possível ler endereços aleatórios da FLASH para a RAM.
Notação utilizada neste documento:
{__}: Um byte.
[__]: Conjunto de valores opcionais.
Rafael Moura
23/04/2015
1
Victor Vision LTDA
2 Comandos para Registradores de Controle DGUS
2.1 Escrita - Comando 0x80
Formato:
5AA5 {XX}80 {RG} {VL1} [{VL2} {VL3} ...]
Argumentos:



{XX}: Número de bytes (sem contar 5AA5 XX)
{RG}: Endereço do Registrador
{VLx}: Valor transmitido
Exemplo: Alterar PIC_ID para tela 10:
Comando: 5AA5 0480 03 000A
Registradores PIC_ID = 0x03:0x04 (2 bytes)
Valores enviados = 0x00:0x0A
2.2 Leitura - Comando 0x81
Formato:
5AA5 {XX}81 {RG} {LEN}
Argumentos:



{XX}: Número de bytes (sem contar 5AA5 XX)
{RG}: Endereço do Registrador (1 Byte)
{LEN}: Número de bytes a serem lidos (1 Byte)
Resposta:
5AA5 {XX}81 {RG} {LEN} {VL1} [{VL2} {VL3} ...]
Exemplo: Leitura do PIC_ID:
Comando: 5AA5 0381 03 02
Resposta da IHM: 5AA5 0581 03 02 000A
Registrador inicial = 0x03
Registradores lidos = 0x02
Tela atual = 0x00:0x0A
Rafael Moura
23/04/2015
2
Victor Vision LTDA
3 Comandos para RAM
3.1 Escrita - Comando 0x82
Formato:
5AA5 {XX}82 {VP}{VP} {VL1}{VL1} [{VL2}{VL2} {VL3}{VL3} ...]
Argumentos:



{XX}: Número de bytes (sem contar 5AA5 XX)
{VP}{VP}: Endereço na RAM
{VLx}{VLx}: Valor transmitido
Exemplo: Escrever 0x0001 no VP 0x0018:
Comando: 5AA5 0582 0018 0001
3.2 Leitura - Comando 0x83
Formato:
5AA5 {XX}83 {VP}{VP} {LEN}
Argumentos:



{XX}: Número de bytes (sem contar 5AA5 XX)
{VP}{VP}: Endereço na RAM
{LEN}: Número de words a serem lidas
Resposta:
5AA5 XX83 {VP}{VP} {LEN} {VL1}{VL1} [{VL2}{VL2} {VL3}{VL3} ...]
Exemplo: Ler VP 0x0018:
Comando: 5AA5 0483 0018 01
Resposta da IHM: 5AA5 0683 0018 01 0001
Rafael Moura
23/04/2015
3
Victor Vision LTDA
4 Transferência de dados na memória FLASH (DGUS)
Obs.: Recomenda-se aguardar pelo menos 200 ms antes de realizar outras operações no display.
4.1 Comando de escrita na FLASH: RAM  FLASH
Formato:
5AA5 0C8040 5A50 {ID} {XX}{XX}{XX} {VP}{VP} {LEN}{LEN}
Argumentos:




{ID}: Lib_ID (Página da FLASH, de 0x40 a 0x7F)
{XX}{XX}{XX}: Endereço na FLASH
{VP}{VP}: Endereço na SRAM
{LEN}{LEN}: Número de words a serem transferidas
Exemplo: Copiar dados da RAM para a Flash:
Comando: 5AA5 0C8040 5A50 4000 0230 0230 0030
Endereço inicial na RAM: 0x0230
Comprimento dos dados: 48 (0x0030)
Endereço inicial na Flash: 0x0230
4.2 Comando de leitura da FLASH: FLASH  SRAM
Formato:
5AA5 0C8040 5AA0 {ID} {XX}{XX}{XX} {VP}{VP} {LEN}{LEN}
Argumentos:




{ID}: Lib_ID (Página da FLASH, de 0x40 a 0x7F)
{XX}{XX}{XX}: Endereço na FLASH
{VP}{VP}: Endereço na SRAM
{LEN}{LEN}: Número de words a serem transferidas
Exemplo: Copiar dados da FLASH para a RAM:
Comando: 5AA5 0C8040 5AA0 4000 0230 0230 0030
Endereço inicial na RAM: 0x0230
Comprimento dos dados: 48 (0x0030)
Endereço inicial na Flash: 0x0230
Rafael Moura
23/04/2015
4
Victor Vision LTDA
5 Transferência de dados na memória FLASH (MiniDGUS)
Obs.: Recomenda-se aguardar pelo menos 200 ms antes de realizar outras operações no display.
5.1 Comando de escrita na Flash: RAM  FLASH
Copia toda a RAM (2048 VPs) para a posição 0x78 (120) da FLASH.
Comando: 5AA5 058040 5A50 78
5.2 Comando de leitura da Flash: FLASH  SRAM
Formato:
5AA5 0C8040 5AA0 7800 {XX}{XX} {VP}{VP} {LEN}{LEN}
Argumentos:



{XX}{XX}: Endereço na FLASH
{VP}{VP}: Endereço na RAM
{LEN}{LEN}: Número de words a serem transferidas
Exemplo: Copiar dados da FLASH para a RAM:
Comando: 5AA5 0C8040 5AA0 7800 0230 0230 0030
Endereço inicial na RAM: 0x0230
Comprimento dos dados: 48 (0x0030)
Endereço inicial na Flash: 0x0230
Rafael Moura
23/04/2015
5
Victor Vision LTDA
6 Comandos para curva (Trend Curve Display)
O firmware DGUS possui um buffer de 8 canais para traçado de curvas, enquanto que o firmware
MiniDGUS possui 2 canais.
6.1 Escrita de valores na curva – 0x84
Os dados podem ser enviados para uma ou mais curvas simultaneamente, um ou mais pontos
por vez.
Formato:
5AA5 {XX}84 {Canal} {VL}{VL} [{VL}{VL} ...}
Argumentos:



{XX}: Número de bytes (sem contar 5AA5 XX)
{Canal}: Curvas que receberão os dados, segundo a tabela a seguir
{VL}{VL}: Valores enviados
Canal Representação binária Representação hexadecimal
0
00000001
0x01
1
00000010
0x02
2
00000100
0x04
3
00001000
0x08
4
00010000
0x10
5
00100000
0x20
6
01000000
0x40
7
10000000
0x80
O parâmetro {Canal} é calculado pela soma das curvas desejadas.
Os valores são enviados sequencialmente para cada canal, um ou mais pontos por envio.
Exemplo – Enviar 4 valores para o canal 1 e 4 valores para o canal 4, simultaneamente:
5AA5 1284 12 0032 0072 009F 0004 0017 0036 0093 001A
Número de bytes = 0x12
Canais = 0x12 (Canais 1 e Canal 4: 0x02 + 0x10 = 0x012)
6.2 Apagar curvas
Formato:
5AA5 0380 EB {0x55+Canal}
Argumentos:

{0x55 + Canal}: 0x55 mais soma das curvas a serem apagadas. 0x55 apaga todas as curvas.
Rafael Moura
23/04/2015
6
Download