DDCON USB-1000
De WikiRobotics
Contenido
Introducción
Características técnicas
Conectores
La tarjeta DCON tiene 5 conectores, divididos en tres tipos:
- Conectores de Interfaz: Son los conectores superior e inferior que permiten conectar los equipos a la DCON para controlarlos
- Conectores del bus DCON: Las tarjetas DCON se pueden conectar entre ellas mediante RS-485, a través de los conectores derecho e izquierdo
- Conexión PC: Conector USB hembra de tipo B para la conexión del PC a la DCON
Conectores de interfaz
Conectores Laterales
La tarjeta DCON tiene dos conectores laterales para poder conectar varias de ellas en cadena, compartiendo el mismo bus de comunicaciones. Son 2 conectores de 10 vías. El derecho es macho y el izquierdo hembra.
Registros
La DCON se controla mediante el acceso a registros internos de 16 bits, que se pueden escribir y/o leer. Se resumen en la siguiente tabla:
Número | Nombre | Tipo | Descripción | Formato |
---|---|---|---|---|
0x00 | DIRC | Lectura/Escritura | Dirección del DCON | |
0x01 | DINS | Lectura | Entradas digitales (DI0 y DI1), 2 bits | xxxx - xxxx - xxxx - xx DI1 DI0 |
0x02 | AIN0 | Lectura | Entrada analógica 0 (AI0), 16-bits | |
0x03 | AIN1 | Lectura | Entrada analógica 1 (AI1), 16-bits | |
0x04 | DOUS | Lectura/Escritura | Salidas digitales R1, R0, DO1, DO0 (4 bits) | xxxx - xxxx - xxxx - R1 R0 DO1 DO0 R1 y R0 controlan los relés |
Comunicaciones
Nivel físico
Formato de las tramas
La comunicación con la DCON se realiza mediante tramas. Todas ellas tienen el mismo formato, tanto las de envío (del PC a la DCON) como las de recepción (Del DCON al PC). Los detalles se dan a continuación:
- Longitud: Tramas fijas de 10 caracteres (10 bytes)
- Caracteres: Todos los caracteres de la trama (exceptuando el de cabecera) son dígitos ASCII hexadecimales: '0','1','2'...'9','A','B','C',...,'F' (¡¡SIEMPRE EN MAYÚSCULAS!!)
- Cabecera: Todas las tramas comienza por le carácter :
- Campos: Todas las tramas se dividen en 4 campos, además de la cabecera
- Dirección del DCON: 8-bits que indican la dirección del DCON destino, con el que se quiere comunicar
- Tipo de tramas: Las tramas que se envían al DCON son de dos tipos:
- SET. Tramas de escritura. Se escribe el dato enviado en el registro indicado. Identificador: '3'
- GET. Tramas de lectura. Se solicita la lectura del registro indicado. Identificador: '6'
- Número de registro: Dato de 8-bits que indica el registro al que se quiere escribir, o del que se quiere leer
- Valor: Dato de 16-bits para escribir en el registro (o valor leído en caso de lectura).
Tramas de ejemplo
- Lectura de la dirección del DCON: Para conocer la dirección de una DCON hay que leer su registro DIRC (0x00). Utilizaremos como dirección la 00 (Broadcast) para generar la trama (porque no se conoce su dirección).
- Trama enviada: :003000000
- Trama recibida: :003000001
- En este ejemplo la dirección de la DCON leída es la 0x01
- Configuración de la dirección del DCON: El registro DIRC es de lectura/escritura por lo que podemos cambiar la dirección de un DCON escribiendo en este registro. Esto es muy útil para conectar varios DCON en red, configurando cada uno con una dirección diferente. La nueva dirección quedará almacenada en la memoria no volátil de la DCON. Cada vez que se alimente, se tomará ese valor como su dirección.
- Trama enviada: :006000002
- Trama recibida: :006000002
- Si ahora, con esta nueva configuración, enviamos la trama del ejemplo anterior para leer la dirección, el DCON responderá con la trama: :003000002
En los siguientes ejemplos se supondrá que el DCON tiene asignada la dirección 0x01, por lo que todas las tramas comenzarán por :01 |
- Lectura de las entradas digitales. Se leen a través del registro DINS (0x01). Los 4 caracteres correspondientes al campo valor no se usan en la trama enviada, y se han puesto a '0'
- Trama enviada: :013010000
- Trama recibida: :013010003
- Si no hay nada conectado a las entradas digitales, o bien hay pulsadores conectados pero sin apretar, los bits correspondientes a las entradas estarán a 1 DI0 = 1, DI1 = 1, por lo que el último carácter del campo valor es '3'.
- Si por ejemplo el pulsador conectado a DI1 se aprieta, la lectura será:
- Trama enviada: :013010000
- Trama recibida: :013010001
- En este caso DI1=0, DI0=1, por lo que el último dígito del campo valor es '1'
- Lectura de las entradas Analógicas. Se leen a través de los registros AIN0 (0x02) y AIN1 (0x03), que se corresponden con las entradas AI0 y AI1 del conector superior. En este ejemplo ambas entradas están configuradas (registro CONFA) como entradas de 0 - 5v. Se ha conectado un potenciómetro de 100ohm para las pruebas
- Trama enviada: :013020000
- Trama recibida: :013020000
- Lectura de la entrada AIN0. Si no hay nada conectado (y está en la configuración 0-5v) se leerá el valor 0x000)
- Trama enviada: :013020000
- Trama recibida: :0130201E4
- Cuando el potenciómetro está en la posición central, el valor leído es 0x1E4 (aprox.). Repitiendo la misma lectura pero con el potenciómetro en ambos extremos se leen los valores 0x002 y 0x3FE
- Trama enviada: :013030000
- Trama recibida: :013030000
- Lectura de AIN1 (cuando no hay nada conectado y está configurado en el modo 0-5v)
- Escritura en salidas digitales. Se controlan con el registro DOUS (0x04). Los 4 bits menos significativos se corresponden con R1 R2 DO1 DO0, siendo DO0 el de menor peso.
- Trama enviada: :016040001
- Trama recibida: :016040001
- Con esto se activa la salida DO0, y el resto permanecen a 0
- Trama enviada: :016040002
- Trama recibida: :016040002
- Activación de DO1, dejando el resto desactivadas (a 0)
Dimensiones
Repositorio
- Github: https://github.com/Obijuan/DCON