Beruflich Dokumente
Kultur Dokumente
especificacin MDB/ICP
29/09/2015 Patxi Ballesteros Protocolos
Comunicacin
El protocolo MDB utiliza una transmisin serie asncrona para el
envo de los datos. La velocidad de transmisin es de 9600
baudios con una codificacin NRZ.
Se transmiten 11 bits: 1 bit de arranque, 8 bits de datos (primero el
LSB), 1 bit de modo y 1 bit de parada.
Maestro a perifrico
La transmisin de un comando desde el maestro hasta un
perifrico consiste en:
1.
2.
3.
4.
Perifrico a maestro
La respuesta de un perifrico al comando enviado por el maestro
consiste en:
1.
2.
Checksum
El byte de checksum se calcula sumando todos los bytes del bloque
enviado. El bit de acarreo en el checksum se ignora ya que el
checksum es de 8 bits.
Tiempo de respuesta
Si el maestro no recibe una respuesta del perifrico en 5 ms
volver a enviar el mismo comando u otro distinto hasta que
reciba una respuesta o pase un tiempo de espera configurado por
el perifrico. Este tiempo por defecto se puede aumentar en la
configuracin que enva el perifrico al maestro en el comando
Setup. Ms adelante veremos este comando.
Una vez transcurrido este tiempo mximo de espera, el maestro
enviar al perifrico un comando RESET por lo menos cada 10
segundos.
Cdigos de respuesta
ACK = 0x00
RET = 0xAA
NAK = 0xFF
Hardware
Como he comentado en el punto anterior, el protocolo MDB utiliza
un bus para la transmisin y recepcin de las seales entre el
maestro (VMC) y los esclavos (dispositivos perifricos). En la
siguiente figura se muestra un esquema de las conexiones entre los
distintos dispositivos de una mquina de vending.
Dispositivo cashless
Un dispositivo cashless es un dispositivo para realizar pagos sin
dinero en efectivo, por ejemplo, una tarjeta prepaga o un telfono
mvil con tecnologa NFC o mediante cdigos QR.
El cashless es un esclavo en el bus MDB y las direcciones
reservadas para este dispositivo son la 10H y la 60H, utilizare la
direccin 10H en el resto de la explicacin.
Estados
Un dispositivo cashless se puede ver como una mquina de
estados (ver siguiente Figura), estos son:
1.
Inactive
2.
Disabled
3.
Enabled
4.
Session Idle
5.
Vend
Inactive
Es el estado inicial del cashless. Se llega a l tras alimentar al
dispositivo o al hacer un RESET en cualquiera de los estados. En
este estado el dispositivo no est disponible.
El VMC enva un comando de RESET al dispositivo.
Disabled
En este estado el cashless recibir varios comandos POLL y si todo
est bien el VMC enviar un comando READER ENABLE que
pasar al cashless al estado Enabled.
Enabled
En este estado el dispositivo cashless est preparado para recibir
una seal externa que le haga iniciar una sesin de venta, por
ejemplo, un cliente acerca su terminal mvil al tag NFC. En este
estado se responde a un comando POLL con BEGIN SESSION,
esta respuesta consiste en un bloque de datos con el importe
introducido para realizar una compra.
Session Idle
En este estado el cliente selecciona un producto en el teclado de la
mquina de vending. Entonces el VMC enva un comando VEND
REQUEST con el precio y posicin del producto seleccionado. Tras
esto, El dispositivo cashless pasa al estado Vend.
Vend
En el estado Vend si el dispositivo cashless comprueba que es
correcto entregar el producto elegido, responder a un POLL con
VEND APPROVE indicando el importe del producto que valida.
Aqu el cashless tambin podra responder VEND DENIED si no
validase la entrega del producto elegido, por ejemplo.