rcbus_packet_format
RCBus. Formato
Conexiones:
Conector Radio control para servos estandar.
- GND (0V)
- VCC (+3.3V, opcional +5V)
- DATOS (TX & RX, 0 a +3.3V)
Nivel Señal:
0 a 3.3V max.
Lógica:
Serial Port TTL.
Nivel lógico en reposo “0”: 3.3V
Nivel lógico activo “1”: 0V
Formato:
115200,8,N,1
Velocidad: 115.200b
Paquete V:3.10:
SOH, DIR_DEST, DIR_FONT, ID, OBJ, CMD, LONG, DATA (PAYLOAD), CSUM
- SOH: 1 Byte. Start Of Heading: 01h
-
DIR_DEST: Si la dirección destino es 0 AND 31, es un paquete de datos broadcast, (a todos)
-
IP8_FONT: 1 Byte. Dirección Fuente paquete 2 a 31. dir 0 propia, 1 no se usa. (Bits 5,6,7 → reservado router.)
-
ID: 1 Byte. Identificacion paquete. Numero secuencial desde el Master o equipo Fuente.
-
OBJ: 1 Bit 7=1 → implica contestacion del dispositivo.
-
CMD: 1 Byte. Propiedad o comando. Bit 7=1 = WR. Bit 7=0=RD (opcional).
-
LONG: 1 Byte. Cantidad bytes en cuerpo DATOS. Longitud minima: 0 bytes. Long max. 128Bytes. No se cuenta CSUM.
-
DATOS: n Bytes. Cuerpo de Datos. Longitud variable indicada en LONG.
- OBJ_PROP: 2 Bytes. Propiedad objeto. Opcional.
-
CSUM: 1 Byte. Suma 8bits (AND 0FFh ó 255d) desde SOH (1) hasta ultimo dato.
Después de cada paquete hay un tiempo de reposo de al menos 300-400uSeg.
RXD2, RXD3, RXLRS. Paquetes:
1 seg = 40 ciclos de 25mSeg
Obj_xlrsServos:
mSeg 5, en todos los ciclos de 25mSeg (40Hz). Filtrar con SOH, OBJ, CMD.
SOH (01H), DEST (00H), FONT (0EH), ID (xx), Obj_xlrsServos (77H), CMD (“W” ó 57H), LONG (29H), Obj_Property (01H,44H), DATA (16xInteger): SRV1,SRV2,….SRV16, CSUM (xx)
Datos de servos:
Los datos de servos en el paquete que envia el receptor tienen que procesarse para obtener el valor real del servo.
Valores SRV1…SRV16 en decimal:
Servo en Reposo= 0, valor SRVx = 3000
Servo = +500, valor SRVx = 4000
Servo = -500, valor SRVx = 2000
Como recuperar los valores de los servos:
Valor real servo=(SRVx-3000)/2
Hardware RCBus:
Lectura y escritura: Es muy sencillo, básicamente solo hay que unir el TX y RX a través de un diodo para sumar las señales en un solo hilo.
Sólo lectura: Si solo vamos a leer datos del RCBus simplemente conecte el pin RX de la UART de su microcontrolador o del convertidor USB si es para PC.
El protector de estatica U3, es opcional.
La resistencia R24 de 47 a 100 Ohmios en serie protege los pins del microcontrolador. Es opcional. Si vamos a conectar mas de 14 unidades al RCBus es preferible bajarla de 47 a 22 ohmios.
La resistencia R24 de 10k de polarización es necesaria al menos en uno de los equipos (los modulos XLRS ya la tienen dentro) por lo que es opcional. si se van a conectar mas de 4 unidades es preferible que cada una tenga su resistencia de polarizacóon.
El diodo D1, es preferible que tenga baja caida. un diodo schottky como un BAT54 es adecuado.
Email: dmd@dmd.es
Teléfono: +34 961450346 (sólo Español)
Teléfono: 615 18 50 77 (sólo Español).
Skype: Vicente_dmd. (Inglés).
Skype: beatriz_dmd. (Español).