Registro 1 y 2 de residuos de alcohol. Registra egais


7.2 Registros de transferencia

7.2.1 Registro de eventos de advertencia FIFO (FWEV)

bit 7
RXFIFO3
bit 6
RXFIFO2
bit 5
RXFIFO1
bit 4
-
bit 3
TXFIFO3
bit 2
TXFIFO2
bit 1
TXFIFO1
bit 0
-
RXWARN3-1 Reservar TXWARN3-1 Reservar
0 0 0 - 0 0 0 -
r - r -

TXADVERTIR. Advertencia de falla de transmisión. Se establece en "1" cuando el punto final FIFO de transmisión correspondiente ha excedido el límite definido por el bit TFWL en el registro TXCx y la transmisión desde el punto final correspondiente está habilitada. Este bit se borra cuando se borra la condición de advertencia, ya sea escribiendo nuevos datos en el FIFO cuando se borra el FIFO, o al completarse la transferencia, como lo indica el bit TX_DONE en el registro TXSx.

RXADVERTENCIA. Advertencia de violación de recepción. Se establece en "1" cuando el punto final FIFO de transmisión correspondiente ha excedido el límite definido por el bit RFWL en el registro EPCx. Este bit se borra cuando se borra la condición de advertencia, ya sea mediante la lectura de datos del FIFO o cuando se borra el FIFO.

7.2.2 Registro de máscara de advertencia FIFO (FWMSK)

Cuando se establece el bit correspondiente en el registro FWEV, se establece WARN en el registro MAEV. Cuando se borra, el bit correspondiente en el registro FWEV no establece WARN.

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
Misma descripción de bit que en el registro FWEV
0 0 0 0 0 0 0 0
r/w

7.2.3 Número de trama Registro más significativo (FNH)

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
FM UL RFC reservado FN10-8
1 1 0 - 0 0 0
r r w/r - r

FN Número de cuadro. Este es el número de cuadro recibido actual en el último paquete SOF. Si no se recibe un número de trama válido durante 12060 bits (longitud máxima de trama, FLMAX) del intercambio anterior, el número de trama se incrementa artificialmente. Si faltan dos tramas consecutivas o no son válidas, la FN actual se "congela" y se carga con el número de trama del paquete SOF.

Si el firmware leyó el byte bajo del número de trama antes de leer el registro FNH, entonces el usuario está leyendo el contenido de un registro de búfer que contiene el valor de los tres bits del número de trama de ese registro cuando el byte bajo fue leído. La secuencia correcta para leer el número de cuadro es: FNL, FNH. Las operaciones de lectura para el registro FNH, sin una lectura inicial del registro de byte bajo del número de cuadro (FNL), lee el valor real de los tres bits menos significativos en el número de cuadro. Al reiniciar, FN se establece en "0".

RFC. Restablecer el contador de fotogramas. Establecer este bit restablece el número de cuadro a 0x0000, después de lo cual este bit se borra solo. Este bit siempre se lee como "0".

UL. Desbloquear bandera. Este bit indica que se recibieron al menos dos tramas sin el número de trama esperado, o que no se recibió ninguna SOF válida dentro del tiempo de 12060 bits. Si se establece este bit, el número de trama del siguiente paquete válido se carga en la FN. Al reiniciar, esta bandera se establece en "1".

MF. Pérdida de la bandera SOF. Este bit se establece cuando el número de trama en el paquete SOF recibido no es igual al valor esperado, o cuando no se ha recibido SOF dentro del tiempo de llegada de 12060 bits. Al reiniciar, esta bandera se establece en "1".

7.2.4 Registro de byte bajo de número de trama (FNL)

Este registro contiene el byte bajo del número de trama, como se describió anteriormente. Para garantizar la coherencia, la lectura de este byte bajo hace que los tres bits del número de trama en el registro FNH se bloqueen mientras se lee el registro. La secuencia correcta para leer el número de cuadro es: FNL, FNH. Al reiniciar, FN se establece en "0".

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
FN7-0
0 0 0 0 0 0 0 0
r

7.2.5 Registro de dirección de funciones (FAR)

Este registro establece la dirección funcional del dispositivo. Los diferentes números de punto final se configuran individualmente a través del registro de control de punto final.

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
AD_ES AD6-0
0 0 0 0 0 0 0 0
r/w r/w

ANUNCIO. Dirección. Este campo contiene una dirección de función de 7 bits utilizada para transmitir y recibir todos los caracteres dirigidos al dispositivo.

AD_ES. permiso de direccionamiento. Cuando el bit se establece en "1", los bits AD6-0 se utilizan en la comparación de direcciones (consulte la Sección 6.2 para obtener más detalles). Cuando se borra, el dispositivo no responde a ningún carácter en el bus.

Nota: Si se establece el bit DEF en el registro de control de punto de control 0, entonces el punto final 0 responde a la dirección predeterminada.

7.2.6 Registro de control DMA (DMACNTRL)

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
GUARIDA IGNRXTGL DTGL ADMA DMOD DSRC2-0
0 0 0 0 0 0 - 0
r/w r/w r/w r/w r/w r/w

DSRC. fuente DMA. El campo Bits de origen de DMA contiene un valor binario que especifica qué punto final, 1...6, está disponible para la compatibilidad con DMA. Los bits DSRC se borran al reiniciar. La Tabla 7 enumera los ajustes de bits de DSRC.

Tabla 7. Descripción de los bits DSRC

DSRC Número de punto final
2 1 0
0 0 0 1
0 0 1 2
0 1 0 3
0 1 1 4
1 0 0 5
1 0 1 6
1 1 X reservado

DMOD. Modo DMA. Este bit determina cuándo se produce una solicitud de DMA. Si se borra, aparece una solicitud de DMA cuando se completa la transferencia. Para los puntos finales de transmisión EP1, EP3 y EP5, los datos se han transferido por completo, como lo indica el bit TX_DONE (para llenar el FIFO con nuevos datos para enviar). Para los puntos finales de recepción EP2, EP4 y EP6, esto refleja el bit RX_LAST. Cuando se establece el bit DMOD, se produce una solicitud DMA cuando se establece el bit de advertencia FIFO correspondiente. El bit DMOD se borra al reiniciar.

La solicitud de DMA del punto final de transmisión está habilitada hasta que se borre el estado de la solicitud. Si DMOD se establece en "0", las solicitudes de DMA ocurren siempre que el firmware lea el registro de estado de transmisión correspondiente (TXSx), borrando así el bit TX_DONE, o si el bit TX_LAST en el registro de comando de transmisión (TXCx) instalado por software implementado en hardware. Si el bit DMOD se establece en "1", las solicitudes de DMA ocurren siempre que se eliminen las condiciones de advertencia de FIFO, ya sea por el envío de suficientes bytes al punto final o si el bit TX_DONE se establece debido a la transmisión.

La solicitud de DMA del punto final de transmisión está habilitada hasta que se borre el estado de la solicitud. Si DMOD se establece en "0", las solicitudes de DMA ocurren hasta que el firmware lee el registro de estado de recepción apropiado (RXSx), borrando así el bit RX_LAST, o si el FIFO se vacía debido a suficientes ciclos de lectura. Si el bit DMOD se establece en "1", las solicitudes de DMA se generan hasta que se borre la advertencia de violación de FIFO, o si el punto final de FIFO se vacía debido a suficientes ciclos de lectura.

Si DMOD se establece en "0" y el punto final y DMA están habilitados, se produce una solicitud de DMA siempre que el firmware lea el registro TXSx o RXSx correspondiente, borrando así el bit TX_DONE/RX_LAST. Si el bit DMOD se establece en "1" y el punto final y DMA están habilitados, entonces se produce una solicitud de DMA siempre que la advertencia de violación de FIFO indique.

ADMA. DMA automático. La configuración de este bit habilita automáticamente el punto final de recepción o transmisión seleccionado. Antes de habilitar el modo ADMA, se debe borrar el bit DEN en el registro de control DMA (DMACNTRL). El modo ADMA funciona siempre que se establezca cualquier bit que no sea NTGL en el registro de eventos DMA (DMAEV). Para inicializar el modo ADMA, se deben borrar todos los bits menos NTGL en el registro DMAEV.

Para operaciones de recepción, el receptor se enciende automáticamente; cuando se recibe un paquete, se transfiere a través de DMA a la memoria.

Para las operaciones de transferencia, el paquete de datos se envía a través de DMA desde la memoria; el transmisor se enciende automáticamente.

Cuando un dispositivo ingresa al modo ADMA, cualquier estado de punto final existente puede perderse. Si ya hay datos en el FIFO, entonces se descarta. El estado actual de RX_EN y TX_EN también puede cambiar.

Al borrar ADMA, el dispositivo sale del modo ADMA. DEN puede borrarse al mismo tiempo o más tarde. Si al mismo tiempo, todas las operaciones de DMA se detienen inmediatamente y el firmware debe enviar los datos restantes. Si es más tarde, el dispositivo completará cualquier operación DMA actual antes de salir del modo ADMA (consulte la descripción del bit DSHL en el registro DMAEV).

DTGL. conmutador DMA. Este bit se utiliza para determinar el estado de las operaciones de ADMA durante la inicialización. En la inicialización, el firmware establece este bit en "1" si comienza con una operación DATA1 y en "0" si comienza con una operación DATA0.

Escribir este bit también actualiza el bit NTGL en el registro DMAEV.

IGNRXTGL. Ignorando el cambio de RX. Si este bit está establecido, la comparación entre el bit NTGL en el registro DMAEV y el bit TOGGLE en el registro RXSx correspondiente se ignora durante las operaciones de recepción. En este caso, la falta de coincidencia de ambos bits durante una operación de recepción no detendrá la operación ADMA. Si este bit no está configurado, ADMA se detiene por una discrepancia de bit. Después de un reinicio, este bit se establece en "0".

7.2.7 Registro de eventos DMA (DMAEV)

Los bits de este registro se utilizan en el modo ADMA. Los bits 0…3 pueden provocar una interrupción si no se borran, incluso si el dispositivo no ha configurado el modo ADMA. Hasta que se borren todos estos bits, el modo ADMA no se puede inicializar. El modo ADMA finaliza automáticamente cuando se establece cualquiera de estos bits.

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
reservado NTGL Reservar DSIZ DCNT DERR DSHLT
- 0 - 0 0 - 0
- r - Vaca Vaca Vaca Vaca

DSHLT. Parada suave DMA. Este bit se establece cuando el firmware detiene las operaciones de ADMA. Este bit se establece solo después de que el motor DMA haya completado todas las operaciones de limpieza necesarias y haya regresado al estado inactivo. Se realiza bajo las siguientes condiciones:

  • Si el bit ADMA se borra (y DEN permanece establecido). En este caso, finaliza la operación actual. Esto significa que cualquier dato en el FIFO se transfiere a la memoria a través de DMA. El bit DSHLT se establece solo después de esto. Tenga en cuenta que DEN permanece establecido y es posible que deba borrarse más tarde.
  • Si se borra DEN (ADMA puede permanecer configurado o borrarse al mismo tiempo). Esto detiene todas las operaciones de DMA e inmediatamente establece el bit DSHLT. Si estos datos están en FIFO, entonces se almacenan pero no se transmiten.
  • Si el firmware intenta leer y escribir los registros EPCx, TXCx, RXCx, TXCx o RXSx apropiados (cuando están configurados DEN y ADMA en el registro DMACNTRL). Esto detiene todas las operaciones de DMA e inmediatamente establece el bit DSHLT. Una operación de lectura o escritura no tiene efecto.

    DERR. Error DMA. Este bit se establece para indicar que un paquete se recibió o envió incorrectamente. También se establece si el bit TOGGLE en el registro RXSx/TXSx no es igual al bit NTGL en el registro DMAEV después de que se haya enviado/recibido un paquete. (Tenga en cuenta que esta comparación se realiza antes de que cambie el estado del bit NTGL debido a la transmisión del paquete).

    Para recibir, DERR es equivalente a RX_ERR. Para la transmisión, es equivalente a TX_DONE (establecido) y ACK_STAT (no configurado). Si se establece el bit AEH en el registro del contador de errores DMA (DMAERR), DERR no se establecerá hasta que se borre DMAERRCNT en el registro DMAERR y se detecte otro error. Los errores se manejan como se define en el registro DMAERR.

    DCNT. contador DMA. Este bit se establece cuando el registro del contador DMA (DMACNT) es "0" (ver registro DMACNT).

    DSIZ. Tamaño DMA. Este bit solo es relevante para las operaciones de recepción de DMA. Indica que el paquete recibido es menor que la longitud total del FIFO. Por lo general, muestra el final de una gran cantidad de transmisiones en ráfaga.

    NTGL. siguiente interruptor. Este bit determina el estado de conmutación cuando se envía el siguiente paquete de datos (si se envía) o el estado de conmutación cuando se espera el siguiente paquete de datos (si se recibe). Este bit se inicializa escribiendo el bit DTGL en el registro DMACNTRL. Luego cambia de estado cada vez que se envía o recibe un paquete en el punto final actualmente seleccionado por DSRC2-0. Si se produce una operación de escritura DTGL al mismo tiempo que una operación de actualización de bits, entonces la operación de escritura tiene prioridad.

    Si hay una transmisión en curso durante las operaciones de ADMA, el bit DTGL sobrescribe el bit TOGGLE correspondiente en el registro TXCx. Esto asegura la correcta conmutación de datos en el USB.

    Tenga en cuenta que no hay bits de máscara correspondientes para estos eventos porque no se utilizan para generar una interrupción.

    7.2.8 Registro de máscara DMA (DMAMSK)

    Cualquier bit establecido en "1" en este registro establece automáticamente el bit DMA en el registro ALTEV cuando ocurre el evento correspondiente en el registro DMAEV. De lo contrario, la configuración del bit DMA está deshabilitada. Descripción de los bits 0…3, ver registro DMAEV.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    DSIZ DCNT DERR DSHLT
    - 0 0 - 0
    - r/w r/w r/w r/w

    7.2.9 Registro espejo (MIR)

    Este registro es de sólo lectura. Simplemente leerlo no cambia el estado del registro TXSx o RXSx, el firmware es libre de verificar el estado del canal.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    ESTADO
    -
    r
  • ESTADO Estado. Este campo refleja los bits de estado del transmisor o receptor seleccionado en el campo DSRC2-0 en el registro DMACNTRL (DMA no tiene que estar activo o habilitado). Corresponde a TXSx o RXSx.

    7.2.10 Registro contador DMA (DMACNT)

    Este registro especifica el número máximo definido para operaciones ADMA.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    AEH DMAERRCNT
    0 0 0 0 0 0 - 0
    r/w r/w

    DCUENTO. contador DMA. Este campo se reduce al completar una operación de DMA hasta que se convierte en 0. El bit DCNT en el registro de eventos de DMA se establece solo cuando la siguiente operación de DMA se completa con éxito. Este registro no pierde su significado.

    Para las operaciones de recepción, este contador se reduce cuando un paquete se recibe correctamente y luego se transfiere a la memoria a través de DMA.

    Para las operaciones de transferencia, este contador disminuye cuando un paquete se transfiere desde la memoria a través de DMA y luego se envía correctamente.

    DCOUNT debe configurarse de la siguiente manera: DCOUNT = (Packet No. to send) -1

    Si una operación de escritura DMACNT ocurre al mismo tiempo que una operación de decremento, entonces la operación de escritura tiene prioridad.

    7.2.11 Registro de errores de DMA (DMAERR)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    FHT HOS MODOWK Reservar ENUC ESUSB PNDUC PND USB
    0 0 0 - 1 1 1 1
    w/r0 w/r w/r - w/r w/r Vaca Vaca

    DMAERRCNT. Contador de errores de DMA. Junto con la capacidad de manejo de errores aritméticos, este contador determina el número máximo de errores de bus consecutivos antes de detener el modo ADMA. El firmware puede establecer el contador de 7 bits en un valor preestablecido. Después de que se inicia ADMA, el contador disminuye en 1 desde el valor preestablecido cada vez que se detecta un error de bus. Cada transición exitosa restablece el contador al valor preestablecido. Cuando se detiene el modo ADMA, el contador también vuelve al valor preestablecido.

    Si el contador llega a 0 y se detecta otro paquete erróneo, se establece el bit DERR en el registro de eventos DMA. Detalles en el apartado 7.2.7. Este registro no pierde su significado.

    DMAERRCNT debe establecerse de la siguiente manera: DMAERRCNT = 3D (intentos máximos de envío intentados) - 1

    El acceso de escritura a este registro solo es posible cuando ADMA está inactivo. De lo contrario, se ignora. La lectura de este registro mientras ADMA está activo devuelve el valor actual del contador. La lectura de un registro cuando ADMA está inactivo devuelve el valor preestablecido. El contador solo se reduce si se establece AEH (gestión automática de errores habilitada).

    Manejo automático de errores. Este bit tiene dos significados diferentes según el modo de transición actual:

  • Modo no isócrono

    Este modo se usa para transferencias, interrupciones y control de arreglos grandes. La configuración de AEH en este modo permite el procesamiento automático de paquetes que contienen CRC o errores de coincidencia de bits.

    Si este bit se establece durante las operaciones de transmisión, el dispositivo recarga automáticamente el FIFO y reordena la cola de paquetes para la cual el controlador principal no devolvió un ACK. Si se borra este bit, se desactiva el manejo automático de errores.

    Si este bit se establece durante las operaciones de recepción, un paquete recibido por error (como se define en la descripción del bit DERR en el registro DMAEV) se borra automáticamente del FIFO para volver a adquirir ese paquete. Si se borra este bit, se desactiva el manejo automático de errores.

  • Modo isócrono

    Establecer este bit permite que el dispositivo ignore los paquetes recibidos con errores (como se define en la descripción del bit DERR en el registro DMAEV).

    Si este bit se establece durante las operaciones de recepción, el dispositivo borra y restablece automáticamente el FIFO para recibir el siguiente paquete. El paquete erróneo se ignora y no pasa a través de DMA. Si se borra este bit, se desactiva el manejo automático de errores.

    7.2.12 Habilitar registro (WKUP)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    PARAR DEF reservado EP3-0
    0 0 - 0 0 0 0 0
    r/w r/w - r; equipo a "0"

    PNDUSB. Habilitación USB esperada. Este bit indica que este dispositivo se encenderá por actividad USB. También envía una señal de solicitud de interrupción de activación. El controlador principal debe borrar el bit PNDUSB con una entrada "0". Un restablecimiento completo establece este bit.

    PNDUC. Esperando a que se encienda el microcontrolador. Este bit indica que el dispositivo se encenderá cuando lo solicite el microcontrolador. También envía una señal de solicitud de interrupción de activación. El bit PNDUC debe ser borrado por el controlador principal con una entrada "0". Un restablecimiento completo establece este bit.

    ESUSB. Resolución USB. Cuando se establece en "1", este bit permite que el dispositivo se encienda cuando se detecta actividad USB.

    ENUC. resolución del microcontrolador. Cuando se establece en "1", este bit permite que el dispositivo se encienda cuando el microcontrolador accede al dispositivo.

    MODOWK. Habilitar modo. Este bit selecciona el intervalo después del cual el dispositivo genera una interrupción de encendido (si está habilitado) cuando ocurre un evento de encendido, como se muestra a continuación:

    0 - Genera una interrupción de encendido inmediato

    1 - Genera una interrupción de encendido después de un retraso de encendido

    HOS. Parada de suspensión. Cuando se establece este bit, el dispositivo entra en modo Halt tan pronto como entra en estado suspendido. Escribir "1" en el estado suspendido no tiene efecto.

    FHT. Parada forzada. Cuando el host no está conectado (NAT en el registro MCNTRL está establecido en "0"), la configuración de este bit pone al host en modo Halt. Cuando el host está conectado (NAT a "1"), se ignora la entrada "1".

    7.2.13 Registro de control de punto final 0 (EPC0)

    Este registro controla el punto final 0.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Reservar ACK_STAT TX_HECHO TCOUNT4-0
    - 0 0 0 0 0 0 0
    - CDR CDR r

    ep. punto final Este campo contiene la dirección del punto final de 4 bits. Para el punto final 0, el hardware establece estos bits en 0000b.

    DEF. Dirección predeterminada. Cuando se establece el bit, el dispositivo responde a la dirección predeterminada, independientemente del contenido de los campos FAR6-0/EP03-0 Cuando se envía un carácter IN para un punto final, el bit DEF se borra automáticamente.

    Este bit ayuda en la transición de la dirección predeterminada a la dirección asignada. Saltar de la dirección predeterminada 00000000000b a la dirección especificada durante la numeración del bus puede fallar en medio de la secuencia de escape SET_ADDRESS. Esto es necesario para completar la secuencia de control. Sin embargo, la dirección debe cambiarse inmediatamente después del final de esta secuencia para evitar errores cuando otra secuencia de escape sigue inmediatamente al comando SET_ADRESS.

    Tras el restablecimiento del USB, el firmware tiene 10 ms para instalarse y debe escribir 0x80 en el registro FAR y 0x00 en el registro EPC0. Al recibir el comando SET_ADRESS, el firmware debe escribir 0x40 en el registro EPC0 y 0x80 en el registro FAR.

    PARAR.

    1. - El FIFO de transmisión está habilitado y se recibe un carácter IN.

    2. - Recibir FIFO habilitado y carácter OUT recibido.

    Nota:

    Tras la transmisión de un acuse de recibo de la señal STALL, se establecen los bits RX_LAST y TX_DONE en los registros de estado de transmisión/recepción correspondientes.

    7.2.14 Registro de estado de transmisión 0 (TXS0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    reservado IGN_IN ENJUAGAR PALANCA Reservar TX_ES
    - 0 0 0 0 0 - 0
    - r/w r/w HW r/w - r/w HW

    TCOUNT. Contador de transferencias. Este bit indica el número de bytes vacíos disponibles en el FIFO. Este campo nunca excede 8 para el punto final 0.

    TX_HECHO. Transferencia completada. Cuando se establece el bit, indica que se ha transmitido todo el paquete. Se borra cuando se lee este registro.

    ACK_STAT. Estado de reconocimiento. Este bit indica el estado, recibido del controlador principal, de un acuse de recibo de un paquete enviado previamente. Este bit se interpreta cuando TX_DONE se establece en "1". Se establece cuando se recibe un acuse de recibo; de lo contrario, permanece purificado. Este bit también se borra cuando se lee este registro.

    7.2.15 Registro de comando de transmisión 0 (TXC0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    reservado IGN_IN ENJUAGAR PALANCA Reservar TX_ES
    - 0 0 0 0 0 - 0
    - r/w r/w HW r/w - r/w HW

    TX_ES. Permiso de transferencia. Este bit permite la transferencia de datos desde FIFO. El chip lo borra después de que se transmite un solo paquete, o se reconoce STALL, en respuesta al carácter IN. Debe ser configurado por el firmware para comenzar a transmitir el paquete. El bit RX_EN en el registro de comando de recepción 0 (RXC0) anula este bit; porque si se establece RX_EN, el bit TX_EN se ignora hasta que se borra RX_EN.

    Los paquetes de longitud cero se muestran cuando se establece este bit sin que se escriba ningún dato FIFO.

    PALANCA.

    ENJUAGAR. Escribir un 1 en este bit borra todos los datos del punto de control FIFO, restablece el punto final al estado inactivo, borra los punteros de lectura y escritura FIFO y luego se borra solo. Si el punto final actualmente usa FIFO0 para transferir datos a USB, entonces el vaciado se retrasa hasta que se complete la transferencia. Este bit se borra al reiniciar. Es equivalente al bit FLUSH en el registro RXC0.

    IGN_EN. Ignorando el carácter IN. Cuando se establece este bit, el punto final ignorará cualquier carácter IN dirigido a su dirección configurada.

    7.2.16 Registro de datos de transmisión 0 (TXD0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    TXFD
    -
    r/w

    TXFD. Transferencia de bytes de datos FIFO. Para obtener una descripción del manejo de datos, consulte "Operaciones de punto final de administración FIFO0 bidireccional" en la Sección 6.2.2.

    El firmware espera que solo se escriba el paquete de datos útil. PID y CRC16 se generan automáticamente.

    7.2.17 Registro de estado de recepción 0 (RXS0)

    Este es el registro de estado de recepción para el punto final de control bidireccional 0. Para recibir un paquete SETUP después de recibir un paquete OUT/SETUP de longitud cero, hay dos copias de hardware de este registro. Uno contiene el estado de recepción de un paquete de longitud cero y el otro contiene el estado del próximo paquete SETUP con datos. Si una ráfaga de longitud cero sigue a una ráfaga SETUP, entonces la primera lectura de este registro indica el estado de la ráfaga de longitud cero (con RX_LAST establecido en "1" y RCOUNT establecido en "0"), y la segunda lectura muestra el estado de la ráfaga SETUP.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Reservar CONFIGURACIÓN PALANCA RX_ÚLTIMO RCOUNT3-0
    - 0 0 0 0 0 0 0
    - CDR CDR CDR r

    RECUENTO. Mostrador de recepción. Este bit indica el número de bytes presentes en el RX FIFO. Este campo nunca excede 8 para el punto final 0.

    RX_ÚLTIMO.

    PALANCA. Este bit determina el uso del PID al transmitir un paquete. Un valor de "0" genera un PID DATA0 y un valor de "1" genera un PID DATA1. Este bit no se modifica por hardware.

    CONFIGURACIÓN. Este bit indica que se ha recibido un paquete de instalación. Este bit no cambia para un paquete de longitud cero. Este bit se borra cuando se lee este registro.

    7.2.18 Registro de comando de recepción 0 (RXC0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    reservado ENJUAGAR IGN_SETUP IGN_SALIDA RX_ES
    - 0 0 0 0
    - r/w r/w r/w r/w HW

    RX_ES. Permiso de aceptación. La recepción de un carácter OUT se deshabilita después de recibir cada paquete de datos, o cuando se devuelve un reconocimiento STALL en respuesta a un carácter OUT. Los paquetes de longitud cero se muestran cuando se establece este bit sin que se escriba ningún dato FIFO. Se debe escribir un "1" en este bit para volver a habilitar la recepción de datos. Siempre se permite recibir un paquete SETUP. En el caso de paquetes de CONFIGURACIÓN de ida y vuelta (para un punto final dado) donde se recibe un paquete de CONFIGURACIÓN válido con otros caracteres que no son de CONFIGURACIÓN, el controlador de punto final descarta el nuevo paquete de CONFIGURACIÓN y devuelve un ACK. Esto proporciona la recuperación de un estado en el que el controlador principal perdió el ACK del primer carácter SETUP.

    ENJUAGAR. Escribir un 1 en este bit borra todos los datos del punto de control FIFO, restablece el punto final al estado inactivo, borra los punteros de lectura y escritura FIFO y luego se borra solo. Si el punto final actualmente usa FIFO0 para transferir datos a USB, entonces el vaciado se retrasa hasta que se complete la transferencia. Este bit se borra al reiniciar. Es equivalente al bit FLUSH en el registro TXC0.

    IGN_SALIDA. Ignore el carácter OUT. Cuando se establece este bit, el punto final ignorará cualquier carácter de SALIDA dirigido a su dirección configurada.

    IGN_SETUP.

    7.2.19 Registro de datos de transmisión 0 (RXD0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    RXFD
    -
    r/w

    RXFD. Recibir un byte de datos FIFO. Para obtener una descripción del manejo de datos, consulte "Operaciones de punto final de administración FIFO0 bidireccional" en la Sección 6.2.2.

    El firmware solo espera leer un paquete de datos útil. PID y CRC16 se eliminan automáticamente del flujo de datos entrantes.

    7.2.20 Registro de control de punto final 0 (EPC1…EPC6)

    Cada punto final unidireccional tiene un registro EPCx con los bits que se describen a continuación.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    PARAR reserva YO ASI EP_ES EP3-0
    0 - 0 0 0 0 0 0
    r/w - r/w r/w r/w

    ep. punto final Este campo contiene la dirección del punto final de 4 bits.

    EP_ES. Resolución de punto final. Cuando se establece este bit, el campo EP3-0 se usa para la comparación de direcciones, junto con el campo AD6-0 en el registro FAR. Descripción en el apartado 6.2. Cuando se borra, el terminal no responde a ningún carácter en el bus USB.

    Nota: AD_EN en el registro FAR permite la comparación de la dirección global del dispositivo. Si se borra, el dispositivo no responde a ninguna dirección, independientemente del estado de EP_EN.

    YO ASI. Isócrono. Cuando este bit se establece en "1", el punto final es isócrono. Esto supone que se envía un NAK si el punto final no está listo pero está permitido; porque si se recibe un carácter IN y no hay datos disponibles en FIFO para transmisión, o si se recibe un carácter OUT y FIFO está lleno, entonces no hay protocolo de enlace USB para transferencia isócrona.

    PARAR. La configuración de este bit hace que el chip genere reconocimientos de señal STALL en las siguientes condiciones:

    3. El FIFO de transmisión está habilitado y se recibe un símbolo IN.

    4. La recepción FIFO está habilitada y se recibe un carácter de SALIDA.
    Nota: El símbolo SETUP no genera una señal STALL cuando se establece este bit.

    7.2.21 Registro de estado de transmisión X (TXS1, TXS2, TXS3)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    TX_URUN ACK_STAT TX_HECHO TCOUNT4-0
    0 0 0 0 0 0 0 0
    CDR CDR CDR r

    TCOUNT. Contador de transferencias. Este bit indica el número de bytes vacíos disponibles en el FIFO. Si este número es mayor que 31, se informa un valor de 31.

    TX_HECHO. Transferencia completada. Cuando se establece el bit, indica que el punto final ha respondido al paquete USB. Tres condiciones pueden hacer que el bit se establezca:

    1. El paquete de datos completo se envió en respuesta a un carácter IN con una operación no ISO.

    2. El punto final envió un reconocimiento en respuesta al carácter IN.

    3. El servicio programado de una trama ISO se ha enviado o descartado.
    Este bit se borra cuando se lee este registro.

    ACK_STAT. Estado de reconocimiento. Este bit se interpreta cuando se establece TX_DONE.

    Para operaciones no ISO, este bit indica el estado de reconocimiento (desde el controlador principal) del ACK para un paquete enviado previamente. Este bit se establece cuando se recibe un ACK; de lo contrario, se borra.

    Para operaciones ISO, este bit se establece si se ha realizado una comparación del byte bajo del número de trama (consulte "IGN_ISOMSK" en la Sección 7.2.22) y se han enviado datos en respuesta a un carácter IN. De lo contrario, este bit se borra, FIFO se borra y TX_DONE se establece.

    Este bit también se borra cuando se lee este registro.

    TX_URUN. Parada anticipada del FIFO transmisor. Este bit se establece si el FIFO de transmisión se vacía durante la transmisión y no se han escrito nuevos datos en el FIFO. Si es así, entonces el controlador de capa de arquitectura de red (MAC) emite un error de coincidencia de bits después de EOP. Este bit se restablece cuando se lee este registro.

    7.2.22 Enviar registro de comando X (TXC1, TXC2, TXC3)

    Cada punto final de transmisión (1, 3 y 5) tiene un registro de comando de transmisión con los bits que se describen a continuación.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    IGN_ISOMSK TFWL1-0 RFF ENJUAGAR PALANCA ULTIMO TX_ES
    0 0 0 0 0 0 0 0
    r/w r/w r/w HW r/w HW r/w r/w HW r/w HW

    TX_ES. Permiso de transferencia. Este bit permite la transferencia de datos desde FIFO. El chip lo borra después de que se transmite un solo paquete, o se reconoce STALL, en respuesta al carácter IN. Debe ser configurado por el firmware para comenzar a transmitir el paquete.

    ULTIMO. Establecer este bit indica que el paquete de entrada se ha escrito en FIFO. Esto se usa para ingresar el flujo de datos en el FIFO mientras la transmisión real está en progreso. Si el bit ÚLTIMO no está establecido y el FIFO de transmisión se vacía durante la transmisión, un EOP es seguido por un error de coincidencia de bit de bus. Los paquetes de longitud cero se indican configurando este bit, sin escribir datos en el FIFO.

    PALANCA. El funcionamiento de este bit difiere dependiendo de si se utilizan operaciones ISO o no ISO.

    Para operaciones no ISO, especifica el uso del PID al transmitir el paquete. Un valor de "0" genera un PID DATA0 y un valor de "1" genera un PID DATA1. Este bit no se modifica por hardware.

    Para las operaciones ISO, este bit y los bits bajos del contador de tramas (FNL0) actúan como el máximo para que el bit TX_EN aplique la secuencia de ráfagas a números de tramas especiales; porque la transmisión solo es posible si el bit 0 en el registro FNL está establecido en TOGGLE. Si no se recibe el símbolo IN mientras esta condición es verdadera, entonces el contenido del FIFO se borra con el siguiente SOF. Si el punto final se establece en ISO, los datos siempre se transfieren con el PID DATA0.

    Este bit no se modifica por hardware.

    ENJUAGAR. Escribir un 1 en este bit borra todos los datos del FIFO de transmisión correspondiente, restablece el punto final al estado inactivo y borra los punteros FIFO de lectura y escritura. Si el controlador de capa de arquitectura de red (MAC) actualmente utiliza FIFO0 para la transferencia de datos, los datos se borran cuando se completa la transferencia. Después de borrar los datos, el hardware restablece este bit.

    RFF. Recarga FIFO. Establecer el bit ÚLTIMO almacena automáticamente el puntero de lectura de transmisión (TXRP). Cuando se establece el bit RFF, el TXRP almacenado en búfer se vuelve a cargar en TXRP. Esto permite al usuario repetir la última transición si no se recibió un ACK del controlador principal. Si un controlador de arquitectura de red (MAC) está utilizando actualmente una transferencia FIFO, TXRP solo se restablece cuando se completa la transferencia. Después de un reinicio, este bit se restablece por hardware.

    TFWL. Transmitiendo el límite de advertencia de violación de FIFO. Estos bits determinan cuántos bytes se pueden transferir desde el FIFO correspondiente antes de que ocurra una condición de cancelación. Si el número de bytes restantes en el FIFO es igual o menor que el límite seleccionado en el que se produce una advertencia de violación, se establece el bit TXWARN en el registro FWEV. Para evitar interrupciones causadas por la configuración de este bit (durante el llenado FIFO antes de que comience una transmisión), el bit TXWARN se establece solo cuando la transmisión desde el punto final está habilitada (TX_ENx se establece en el registro TXCx). Ver tabla 8.

    Tabla 8. Configuración del límite de advertencia de infracción FIFO de transmisión

    IGN_ISOMSK. Ignorar máscara ISO. Este bit solo es efectivo si el punto final está configurado para ser isócrono. Si el bit está establecido, deshabilita el bloqueo de ciertos números de trama con la función de intercalado de bits TOGGLE, por lo que los datos se transmiten al recibir el siguiente carácter IN. Si el bit está limpio, los datos se transmiten cuando FNL0 es igual a TOGGLE. Este bit se borra al reiniciar.

    7.2.23 Transmitir registro de datos X (TXD1, TXD2, TXD3)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    TXFD
    -
    w

    TXFD. Transferencia de bytes de datos FIFO. Para obtener una descripción del procesamiento de datos de punto final FIFO, consulte "Operaciones de punto final de transmisión (TXFIFO1, TXFIFO2, TXFIFO3)" en la sección 6.2.2. El firmware espera que solo se escriba el paquete de datos útil. PID y CRC16 se insertan automáticamente en el flujo de datos entrantes.

    7.2.24 Registro de estado de recepción X (RXS1, RXS2, RXS3)

    Cada canal del punto final de recepción (2, 4 y 6) tiene un registro de estado de recepción con los bits definidos a continuación. Para recibir un paquete SETUP después de recibir un paquete OUT de longitud cero, hay dos copias de hardware de este registro. Uno contiene el estado de recepción de un paquete de longitud cero y el otro contiene el estado del próximo paquete SETUP con datos. Si un paquete de longitud cero sigue a un paquete SETUP, la primera lectura de este registro indica el estado del paquete de longitud cero y la segunda lectura indica el estado del paquete SETUP.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    RE_ERR CONFIGURACIÓN PALANCA RX_ÚLTIMO RCOUNT3-0
    0 0 0 0 0 0 0 0
    CDR CDR HW del CDR CDR r

    RECUENTO. Mostrador de recepción. Este bit indica el número de bytes presentes en el punto final FIFO receptor. Este campo nunca supera el valor 15, para el punto final 0.

    RX_ÚLTIMO.Últimos bytes recibidos. Indica que se envió un ACK al finalizar una operación de recepción exitosa. Se borra cuando se lee este registro.

    PALANCA. La operación de este bit difiere dependiendo de si se usa una operación ISO o no ISO.

    Para operaciones que no sean ISO, un valor de "0" indica que se recibió correctamente un paquete con un PID DATA0 y un valor de "1" que el paquete tiene un PID DATA1.

    Para operaciones ISO, este bit se muestra mediante los bits bajos del contador de tramas (FNL0) después de una recepción exitosa para este punto final.

    Este bit se restablece a "0" cuando se lee el registro RXSx.

    CONFIGURACIÓN. Este bit indica que se ha recibido un paquete de instalación. Este bit se borra cuando se lee este registro.

    RX_ERR. Recibir error. Cuando se establece el bit, indica un error de capa de red, como un error de coincidencia de bits o CRC. Si este bit está establecido, el firmware borrará el FIFO correspondiente.

    7.2.25 Registro de comando de recepción X (RXC1, RXC2, RXC3)


    Cada uno de los puntos finales de recepción (2, 4 y 6) tiene un registro de comando de recepción con los bits que se describen a continuación.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Reservar RFWL Reservar ENJUAGAR IGN_SETUP Reservar RX_ES
    - 0 0 - 0 0 - 0
    - r/w - r/w r/w - r/w

    RX_ES. Permiso de aceptación. La recepción de un carácter OUT se deshabilita después de recibir cada paquete de datos, o cuando se devuelve un reconocimiento STALL en respuesta a un carácter OUT. Se debe escribir un "1" en este bit para volver a habilitar la recepción de datos. Siempre se permite recibir un paquete SETUP. En el caso de paquetes SETUP de ida y vuelta (para un punto final dado), cuando se recibe un paquete SETUP válido con otros caracteres que no son SETUP, el punto final receptor descarta el nuevo paquete SETUP y devuelve un ACK. Si, en cualquier otro caso, la máquina de estado receptora no puede aceptar el paquete SETUP, entonces no se puede generar HANDSHAKE.

    IGN_SETUP. Ignorando el carácter SETUP. Cuando se establece este bit, el punto final ignorará cualquier carácter de CONFIGURACIÓN dirigido a su dirección configurada.

    ENJUAGAR. Escribir un 1 en este bit borra todos los datos del punto de control de control FIFO, restablece el punto final al estado inactivo y borra los punteros de lectura y escritura FIFO. Si el controlador de capa de arquitectura de red (MAC) está utilizando FIFO0 actualmente para recibir datos, entonces el vaciado se retrasa hasta que finaliza la recepción.

    RFWL1-0. Recibir límite de advertencia de violación de FIFO. Estos bits determinan cuántos bytes se pueden recibir del FIFO correspondiente antes de que ocurra una condición de cancelación. Si el número de bytes vacíos que quedan en el FIFO es igual o menor que el límite seleccionado en el que se produce una advertencia de infracción, se establece el bit RXWARN en el registro FWEV.

    Tabla 9. Configuración del límite de advertencia de infracción FIFO de recepción

    7.2.26 Transmitir registro de datos X (RXD1, RXD2, RXD3)

    Cada uno de los tres puntos finales FIFO de recepción tiene un registro de datos de recepción con los bits que se describen a continuación.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    RXFD
    -
    r/w

    RXFD. Recibir un byte de datos FIFO. Para obtener una descripción del procesamiento de datos de punto final FIFO, consulte "Operaciones de recepción de punto final (RXFIFO1, RXFIFO2, RXFIFO3)" en la sección 6.2.2.

    El firmware solo espera leer un paquete de datos útil. PID y CRC16 son interrumpidos por la máquina de estado de recepción.

    7.3 Colocación de registros

    La Tabla 10 enumera todos los registros de dispositivos, sus direcciones y sus abreviaturas.

    Tabla 10. Tarjeta de memoria USB N9603/4

    Dirección Registro mnemotécnico Registrar nombre
    0x00 MCNTRL Sede
    0x01 CONF Configuración del reloj
    0x02 reservado
    0x03 LIBRAR ID de modificación
    0x04 LEJOS dirección funcional
    0x05 NFSR Estado funcional del nodo
    0x06 MAEV Evento principal
    0x07 MAMSK Máscara principal
    0x08 ALTEV evento intercalado
    0x09 ALTMSK Máscara intercalada
    0x0A TXEV Evento de transferencia
    0x0B TXMSK Máscara de transferencia
    0x0C RXEV Recibir evento
    0x0D RXMSK Recibir máscara
    0x0E NAKEV evento NAK
    0x0F NAKMSK máscara NAK
    0x10 FWEV Evento de advertencia de infracción FIFO
    0x11 FWMSK Máscara de advertencia FIFO
    0x12 FNH Byte alto del número de trama
    0x13 FNL Byte bajo del número de trama
    0x14 DMACNTRL Gestión DMA
    0x15 DMAEV evento DMA
    0x16 DMAMSK máscara DMA
    0x17 MIR Espejo
    0x18 DMACNT contador DMA
    0x19 DMAERR Contador de errores DMA
    0x1A reservado
    0x1B WKUP Inclusión
    0x1C - 0x1F reservado
    0x20 EPC0 Gestión de terminales 0
    0x21 TXD0 Transferencia de datos 0
    0x22 TXS0 Transferir estado 0
    0x23 TXC0 Enviar comando 0
    0x24 reservado
    0x25 RXD0 Recepción de datos 0
    0x26 RXS0 Recibir estado 0
    0x27 RXC0 Recibir comando 0
    0x28 EPC1 Gestión de terminales 1
    0x29 TXD1 Transferencia de datos 1
    0x2A TXS1 Transferir estado 1
    0x2B TXC1 Enviar comando 1
    0x2C EPC2 Gestión de terminales 2
    0x2D RXD1 Recibir datos 1
    0x2E RXS1 Recibir estado 1
    0x2F RXC1 Recibir comando 1
    0x30 EPC3 Gestión de terminales 3
    0x31 TXD2 Transferencia de datos 2
    0x32 TXS2 Transferir estado 2
    0x33 TXC2 Transferir comando 2
    0x34 EPC4 Gestión de terminales 4
    0x35 RXD2 Recibir datos 2
    0x36 RXS2 Recibir estado 2
    0x37 RXC2 Recibir comando 2
    0x38 EPC5 Gestión de terminales 5
    0x39 TXD3 Transferencia de datos 3
    0x3A TXS3 Transferir estado 3
    0x3B TXC3 Transferir comando 3
    0x3C EPC6 Gestión de terminales 6
  • La contabilización de productos en EGAIS se realiza con referencia a los formularios de registro específicos 1 y 2. Los formularios de registro indicados caracterizan los bienes y corresponden a cada artículo individual en la factura electrónica.

    En "1C: UNF" los formularios de registro corresponden a los elementos de directorios Referencias a TTN en el formulario 1 y Referencias a TTN en el formulario 2.

    En el Registro No. 1, los productos se almacenan por lotes en el contexto de la Referencia 1 y la Referencia 2. En el Registro No. 2, en el contexto del nombre del alcohol y del fabricante/importador. En el Registro No. 3 - en el contexto de la Referencia 2 e identificadores digitales.

    Estas referencias se cargan automáticamente con documentos Restos de EGAIS, El acto de poner en el equilibrio de EGAIS y Conocimiento de embarque EGAIS (entrante) al intercambiar con EGAIS.

    También es posible descargar los certificados por su número en el formulario de selección de certificados (comando Solicitar ayuda).

    Unidades de almacenamiento de saldos en EGAIS

    En los informes recibidos de EGAIS, se debe tener en cuenta en qué unidades se almacenan los productos en EGAIS: en piezas (si los productos están empacados, empacados) o en decalitros (si no están empacados).

    Tipo de producto en EGAIS - lleno o desempaquetado– determinado por el proveedor al enviar la información. En "1C: UNF" se puede visualizar en el elemento correspondiente del directorio Clasificador de productos alcohólicos.

    El volumen de una unidad de producción o embalaje de transporte de productos de calado en decalitros se establece en el directorio elemento Nomenclatura.

    Para conciliar los saldos y eliminar las discrepancias en el Sistema de Información Automatizado del Estado Unificado y Seguridad de la Información, debe:

    • Solicitar saldos en EGAIS.
    • Devolver la mercancía al almacén si es necesario.

    Solicitud de saldos en EGAIS

    Para enviar una solicitud a EGAIS sobre saldos vigentes, se utiliza un documento Restos de EGAIS(capítulo ObtenciónEGAÍS).

    Solicitud de saldos según Registro N° 1

    Para obtener los saldos del Registro N° 1 EGAIS, debe utilizar el documento Restos de EGAIS.

    Crear un documento, en el marcador Principal indicar organización EGAIS y coloque el interruptor en la posición Registro No. 1.

    Pase el documento. El estado del documento creado tomará automáticamente el valor Reclutar.

    Se enviará una solicitud a EGAIS para recibir los saldos. El estado del documento cambiará a Transferido a la UTM.

    Puede obtener el resultado de la consulta manualmente usando el botón Protocolo de intercambiohacer un intercambio.

    sobras recibidas y en el marcador Restos según EGAIS se cargará la información.

    Vaya al marcador y haga clic en el botón Rellene las discrepancias. Los datos de los saldos de productos alcohólicos de la EGAIS en IB se ajustarán de acuerdo con los datos de la EGAIS.

    Estas cifras se incluirán en el informe en la columna Cantidad (según IB).

    Solicitud de saldos bajo el Registro N° 2

    La solicitud de saldos en el Registro N° 2 se realiza de manera similar al Registro N° 1.

    La diferencia es que al solicitar saldos del Registro N° 2 en forma de documento Restos de EGAIS en el marcador Principal se debe instalar el interruptor solicitud de saldos en modo Registro No. 2.

    Marcador Ajuste de saldos contables en este caso no estará disponible. El documento (similar a la solicitud de Registro N° 1) se envía a EGAIS.

    Después de recibir una respuesta en el marcador Restos según EGAIS la información actual se cargará automáticamente.

    Ajuste de saldos EGAIS

    Los informes ayudarán a verificar discrepancias en el saldo de productos alcohólicos de acuerdo con el Sistema de Información Automatizado del Estado Unificado y nuestra base de datos. Restos en los Registros N° 1, 2, 3.

    Para generar un informe, vaya al lugar de trabajo Intercambio con EGAISValoresInformes EGAIS y crear un nuevo informe.

    Rellene el campo Organización y haga clic en el enlace Solicitar un informe.

    Después de recibir una respuesta de EGAIS, el estado del documento cambiará automáticamente a Informe recibido.

    El informe está disponible Resto de productos alcohólicos.

    Registro. registro de turnos

    Un registro es un dispositivo hecho en flip-flops para realizar una serie de acciones con números binarios. Para aquellos que no saben qué es un disparador, le recomendamos que se familiarice con el flip-flop RS más simple.

    La función más simple de los registros es recordar un número y almacenarlo durante mucho tiempo. Estos dispositivos se denominan registros de almacenamiento. Aquí está el ejemplo más simple.

    Las entradas D0 - D2 se alimentan con el número a almacenar. Tan pronto como aparece un pulso de sincronización en la entrada C, el número se escribe en el flip-flop, cambiando su estado. La figura muestra un registro de almacenamiento de tres bits. Cuando se aplica el número 111 2 a las entradas, también aparecerá en las salidas directas de los disparadores ( Q0 - Q2). En salidas invertidas ( Q0 - Q2) será naturalmente 000 2 . Señal R ( Reiniciar) o restablecer, los flip-flops se establecen en el estado cero.

    Los registros de uso común constan de 4, 8 o 16 flip-flops. La imagen de un registro de cuatro bits en los diagramas de circuitos puede ser así.

    La figura no muestra las salidas de disparo invertidas y la señal R. Los registros siempre se indican en letras latinas. RG. Si el registro está cambiando, entonces se dibuja una flecha dirigida a la izquierda, derecha o doble debajo de la designación.

    Registros de desplazamiento o registros de desplazamiento.

    El registro de desplazamiento es un dispositivo que consta de varios flip-flops conectados en serie, cuyo número determina el ancho de bit del registro. Los registros se utilizan ampliamente en informática para convertir códigos. Paralelo a serie y viceversa.

    Además, los registros de desplazamiento son la base ( ALU) de una unidad aritmético-lógica, ya que cuando un número binario se desplaza un bit a la izquierda, el número se multiplica por dos, y cuando un número se desplaza un bit a la derecha, el número se divide por dos. Por lo tanto, la más extendida reversible o bidireccional registros

    Considere un registro de desplazamiento de cuatro bits que convierte el código binario en serie en paralelo. El uso de un código de serie se justifica por el hecho de que se pueden transmitir grandes cantidades de información a través de una línea. Un ejemplo de ello es el Universal Serial Bus, el puerto USB de cualquier dispositivo. El número de flip-flops en este registro puede ser cualquiera. Basta con conectar una salida directa Q3 Con D entrada del siguiente disparador, y así sucesivamente hasta que se alcance la profundidad de bits requerida.

    El registro funciona de la siguiente manera. Se introduce el primer bit de información. D0. Simultáneamente con este bit, llega un pulso de reloj a la entrada DE. Entradas DE todos los activadores incluidos en el registro se combinan entre sí. Con la llegada del primer pulso de reloj, el nivel en la entrada D0 se escribe en el primer disparador y desde la salida Q0 llega a la entrada del siguiente disparador, pero el segundo disparador no escribe, ya que el reloj ya ha terminado.

    Cuando llega el siguiente pulso de reloj, el nivel presente en la entrada del segundo disparador se almacena en él y se alimenta a la entrada del tercer disparador. Al mismo tiempo, el siguiente bit de información se almacena en el primer flip-flop. Después de la llegada del cuarto pulso de reloj, los cuatro flip-flops del registro registrarán los niveles lógicos que se ingresaron secuencialmente. D0.

    Digamos que estos son los niveles 0110 2 . Luego, este número binario se puede mostrar conectando LED a las salidas de activación. Entonces, el registro considerado se representa en el diagrama del circuito.

    Se puede ver que hay una flecha en la imagen condicional, un indicador de que se trata de un registro de desplazamiento.

    Considere cómo funciona un registro de desplazamiento universal de cuatro bits K155IR1(analógico - SN7495N). Aquí está su estructura interna.

    El registro contiene cuatro flip-flops D, que están interconectados mediante elementos lógicos AND-OR adicionales, que le permiten implementar varias funciones. En el diagrama:

      V2 - entrada de control. Selecciona el modo de funcionamiento de la caja registradora.

      Q1 - Q4 activan las salidas de las que se toma el código paralelo.

      V1 - entrada para el código de serie.

      C1, C2 - pulsos de reloj.

      D1 - D4 - entradas para escribir un código paralelo.

    El algoritmo de operación de registro es el siguiente. Si se aplica un potencial bajo a la entrada V2, se envían pulsos de reloj a C1 y se suministran bits de información a la entrada V1, entonces el registro se desplaza a la derecha. Después de recibir cuatro bits en las salidas de los flip-flops Q1 - Q4, obtenemos un código paralelo. Por lo tanto, el código de serie se convierte en paralelo.

    Para la transformación inversa, el código paralelo se escribe en las entradas D1 - D4, con un alto potencial aplicado a la entrada V2 y pulsos de reloj a la entrada C2. Luego, al aplicar un potencial bajo a la entrada V2 y pulsos de reloj a la entrada C1, cambiamos el código escrito y se elimina un código serial de la salida del último disparador.

    Por su estructura, este es uno de los registros de desplazamiento más simples.

    Los registros de desplazamiento en la tecnología digital pueden servir como base sobre la cual se ensamblan los nodos con propiedades interesantes. Estos son, por ejemplo, contadores de anillo, que se denominan contadores de Johnson. Tal contador tiene el doble de estados que el número de activadores que lo componen. Por ejemplo, si el contador de anillos consta de tres flip-flops, tendrá seis estados estables. No se alimenta nada a la entrada del contador, excepto los pulsos de reloj. En el estado inicial, todos los flip-flops están "reiniciados", es decir, hay ceros lógicos en las salidas directas de los flip-flops, pero en la entrada D el primer disparador de la salida inversa del tercer disparador es una unidad lógica. Empecemos a dar pulsos de reloj y el proceso ha comenzado.

    La tabla de verdad muestra claramente cómo cambia el código binario cuando se reciben seis pulsos de reloj.

    norte Q2 Q1 Q0
    1 0 0 1
    2 0 1 1
    3 1 1 1
    4 1 1 0
    5 1 0 0
    6 0 0 0

    Ahora ya sabe qué es el registro y cómo se puede utilizar en la práctica. La base de cualquier registro es un disparador. El número de flip-flops en un registro determina su capacidad. Los aficionados a los microcontroladores saben que el elemento más importante de cualquier microcontrolador, ya sea PIC, AVR, STM o MSP, es el registro.

    La última vez, consideramos la opción de aumentar las salidas del microcontrolador usando un chip decodificador, hoy consideraremos una versión más avanzada en el registro de desplazamiento 74HC595. Usando solo un microcircuito, puede tener a su disposición 8 salidas adicionales, usando solo 3 patas del microcontrolador. Y gracias a la capacidad de expansión, al agregar un segundo microcircuito, la cantidad de salidas se puede aumentar a 16. Si no es suficiente, puede agregar una tercera y obtener 24 salidas para usar, y este truco se puede repetir tantas veces como desee. . Al mismo tiempo, la cantidad de patas ocupadas del microcontrolador seguirá siendo 3, ¡hermosa!

    Entonces, echemos un vistazo más de cerca a la asignación de pines del microcircuito y aprendamos cómo controlar el registro de desplazamiento 74hc595 en el Bascom-AVR.

    Para empezar, familiaricémonos con las conclusiones del microcircuito, o más bien, con su funcionalidad. A continuación se muestra un recorte de la hoja de datos de 74hc595 con la designación de los pines del microcircuito:


    • Q0…Q7– salidas que serán controladas. Pueden estar en tres estados: uno lógico, cero lógico y estado Hi-Z de alta resistencia
    • TIERRA- Tierra
    • Q7'– salida destinada a la conexión en serie de registros.
    • SRES- restablecimiento de registro.
    • SH_CP– entrada para pulsos de reloj
    • ST_CP- datos de entrada de "bloqueo"
    • Equipo original– entrada que transfiere las salidas de HI-Z al estado de trabajo
    • D.S.- Entrada de datos
    • CCV- Suministro de 5 voltios

    Lógica de registro

    Cuando en la entrada del reloj SH_CP aparece uno lógico, un bit ubicado en la entrada de datos D.S. leer y escribir en el registro de desplazamiento. Este bit se escribe en el bit menos significativo. Cuando el siguiente pulso de alto nivel llega a la entrada del reloj, el siguiente bit de la entrada de datos se escribe en el registro de desplazamiento. Y el bit que se grabó anteriormente se desplaza un bit a la izquierda, y el bit recién llegado ocupa su lugar. El siguiente pulso de reloj escribirá el tercer bit, y los dos anteriores avanzarán más. Cuando se llenan los ocho bits y llega el noveno pulso de reloj, el registro comienza a llenarse nuevamente desde el bit menos significativo y todo se repite nuevamente. ¿Qué datos aparecerían en las salidas? Q0…Q7 necesitas "fijarlos". Para hacer esto, necesita aplicar una unidad lógica a la entrada ST_CP.

    - SRES reinicia el registro, configurando todas las salidas Q0…Q7 a un estado cero lógico. Para restablecer, debe aplicar un cero lógico a esta entrada y aplicar un pulso positivo a la entrada ST_CP. Una característica muy útil, ya que cuando se aplica energía al microcircuito, aparece un cierto valor arbitrario en la salida. Cuando se trabaja con un registro, este pin debe ser una unidad lógica.

    - Equipo original(habilitación de salida) si aplica un 1 lógico aquí, entonces las salidas estarán en un estado HI-Z de alta resistencia. Cuando aplicamos un 0 lógico a esta entrada, las salidas estarán en condiciones de trabajo.

    - Q7' diseñado para la conexión en serie de registros de desplazamiento.

    Pero es mejor ver una vez que leer dos veces =) así que veamos la animación:


    Trabajando con el registro en la frente

    Cuando se domina el trabajo con un microcircuito desconocido, a menudo es útil trabajar en la frente, es decir, sacudir directamente las patas de control, lo que le permite comprender mejor los principios de trabajar con el sujeto. Entonces, siguiendo la lógica del trabajo, escribí un programa que tendrá que generar el número binario 10010010 en la salida del registro

    $archivo de registro = "attiny2313.dat"
    $cristal = 1000000

    Configuración puertob= Producción

    Sh_cpAlias puertob. 3 "pie para pulsos de reloj
    DsAlias puertob. 2 "pierna para salida de datos
    St_cpAlias puertob. 0 "pierna para" enclavar "datos en un registro de retención


    "salida a través del registro del número 146 (en representación binaria 10010010)

    St_cp= 0 "poner el pie en modo de grabación de datos

    Ds= 1 "establecer el primer bit
    Sh_cp= 0 "dar un pulso a la salida del reloj
    Sh_cp= 1

    Ds= 0 "establecer el segundo bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "establecer el tercer bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 1 "establecer cuarto bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "establecer el quinto bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "establecer el sexto bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 1 "establecer el séptimo bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "establecer el octavo bit
    Sh_cp= 0
    Sh_cp= 1

    St_cp= 1 "Bloquear los datos ingresados

    Final


    compilamos, cosemos en el microcontrolador o miramos en el simulador y vemos nuestra combinación en la salida.


    ¡Funciona, el número enviado apareció en la salida del registro!

    Trabajar con el registro de esta manera, aunque es posible, es demasiado engorroso y ocupa mucha memoria de programa. Pero, por otro lado, demuestra claramente toda la metodología de trabajo con este microcircuito. Consideremos un método más adecuado.

    Gestión del registro 74HC595 en Bascom a través del comando ShiftOut

    Bascom-AVR tiene un comando maravilloso para trabajar con todo tipo de interfaces seriales DESPLAZAR FUERA
    Este comando en sí mismo descompondrá el número en componentes de bits y los enviará secuencialmente a cualquier pin del microcontrolador, al mismo tiempo que puede emitir pulsos de reloj. Para trabajar con registros de desplazamiento, ¡eso es todo! Sintaxis del comando:

    SHIFTOUT Datapin, Clockpin, var, opción


    Datapin - puerto de microcontrolador para salida de datos

    Clockpin - puerto de microcontrolador para salida de reloj

    Var - los datos que queremos enviar al registro

    Opción: un número de 0 a 3, este parámetro selecciona el orden en que se ingresarán los datos en el registro y el nivel activo en la línea del reloj en el que se escribe el bit:
    option=0 - el bit más significativo va primero, Reloj activa baja
    opción=1 -
    bit alto va primero, Reloj nivel activo alto
    opción=2 -
    el bit bajo va primero, Reloj activa baja
    opción=3 -
    el bit bajo va primero, Reloj nivel activo alto

    En nuestro caso, para trabajar con el registro 74HC595, el parámetro de opción debe estar configurado en 1 o 3.

    Para bloquear datos en un registro, use el comando Pulso de salida. Este comando envía un pulso a la pata del microcontrolador con una duración determinada. La configuración del comando se ve así:

    Ahora emitamos el número 10010001 (145 en decimal) a la salida del registro conectado al microcontrolador de acuerdo con el esquema anterior:

    $archivo de registro = "attiny2313.dat"
    $cristal = 1000000

    Oscuro A Comobytes
    Configuración puertob= Producción

    A= 145

    gosub Hc595 "Vamos a la subrutina de envío de datos

    Final

    Hc595: "subrutina para enviar datos

    Desplazar fuera puertob. 2, puerto b. 3 , A , 1 "enviando datos para registrarse
    Pulso de salida puerto b, 0, 5 "datos de bloqueo
    devolver

    Después de flashear el microcontrolador, puede ver una imagen similar, la combinación de bits enviada se establece en la salida del registro de desplazamiento.


    Como puede ver, el control del registro de desplazamiento 74HC595 en Bascom consta de solo dos líneas de código y no presenta ninguna dificultad.

    Aumento de la profundidad de bits

    EGAIS para catering y no solo: este es un tema bastante relevante que enfrentan casi todos los empresarios, en los estantes de los cuales hay bebidas alcohólicas. Los cambios globales en el sistema EGAIS ya han ocurrido dos veces, pero generalmente guardo silencio sobre las pequeñas cosas. Y ahora todos, compañeros, nos enfrentamos a una nueva bestia en forma de contabilidad blot y la aparición del Registro Nº 3 en EGAIS.

    A partir del 1 de julio de 2018, los participantes del mercado del alcohol debían cambiar a la contabilidad de productos pieza por pieza en la versión actualizada del Sistema de Información Automatizado del Estado Unificado. FSRAR ya ha publicado explicaciones para entidades comerciales en su sitio web ─ “Recomendaciones metodológicas para mantener registros de pieza en EGAIS”, pero la introducción del nuevo sistema de contabilidad salió mal, por lo que 289-FZ dio luz verde para posponer el lanzamiento de registros blot para 1 de octubre de 2019. En general, el día X ya llegó hace unas semanas y vale la pena averiguar cómo trabajamos en EGAIS 3.0

    ¿Qué es EGAIS 3.0?

    La tarea de la tercera actualización del EGAIS es rastrear cada botella o litro de alcohol desde el momento de la producción (o en algunos casos, la importación) hasta la venta final al consumidor final, lucha o cualquier otro tipo de disposición de la botella. por el vendedor

    Cada botella está marcada con un identificador digital único, que está contenido en el código de barras del impuesto especial (para alcohol importado) o la marca especial federal (para un productor local que vende dentro de Rusia).

    Todos los documentos digitales del movimiento de alcohol en el sistema EGAIS deben contener un identificador digital. Esto ayuda al estado a rastrear el movimiento de cualquier botella de alcohol y saber a quién y cuándo se vendió.

    En la nueva versión del Sistema de Información Automatizado del Estado Unificado, aún se mantienen los formularios de registro 1 y 2 (RFU 1 y RFU 2). El formulario de documento 1 se genera automáticamente en el sistema EGAIS, para cada lote de alcohol, a solicitud del fabricante o importador. Contiene información sobre cada lote alcohólico.

    RFU 2 es en realidad un archivo adjunto a la carta de porte (carta de porte), que se envía al destinatario en formato electrónico. En otras palabras, este es un identificador asignado automáticamente para cada artículo de la hoja de ruta.

    El cambio más importante en EGAIS 3.0 es el nuevo Registro No. 3 y el bloque de registro 2 para un grupo de alcohol fuerte

    Ahora tenemos tres registros EGAIS

    Registro nº 1 EGAIS─ almacén, para reflejar información sobre el lote de alcohol en el contexto de RFU 1 y RFU 2

    Registro nº 2 EGAIS- sala de compras. Ahora se usa solo para productos genéricos (cerveza, sidra, poiret e hidromiel), así como para hombres fuertes que todavía vienen con marcas de estilo antiguo. Aquí hay información sobre el fabricante, el nombre del producto y un código de barras.

    Y por supuesto, una tormenta para todos los participantes en el mercado de venta de alcohol. Registro nº 3 EGAIS- aquí se especifica la información del primer registro y se contiene el identificador único de cada botella de alcohol. Los datos de este registro se adjuntan a un número de lote único y no se pueden separar de ninguna manera.

    Características de la contabilidad de cerveza y alcohol fuerte.

    Solo hay dos tipos de productos: etiquetados y sin etiquetar. El sistema EGAIS y el todopoderoso FSRAR lo tienen en cuenta de la siguiente manera:

    - sin marcar en el primer y/o segundo registro. El saldo total en ambos es todo el alcohol del parqué

    - etiquetado (es decir, cualquier alcohol excepto cerveza, sidra, hidromiel y poire) - figura solo en el primer y tercer registro. Aquí la situación es diferente, el resto del primer registro debe coincidir exactamente con el resto del tercero. Si la cantidad no coincide, solo tiene 30 días para averiguar el motivo. De lo contrario, hola Código Administrativo.

    ¿Sellos antiguos en EGAIS 3.0?

    Si el alcohol se produjo antes del 1 de julio de 2018 (y como dice 289-FZ, entonces antes del 1 de octubre), entonces no se requiere que contenga una marca actualizada. La contabilidad se lleva en los dos primeros registros, y puede trabajar con este borracho hasta que esté completamente fuera de circulación. Lo descartamos y lo aceptamos de la forma en que estamos acostumbrados a hacerlo ahora.

    Escaneo de cada botella en EGAIS

    Cuando aparezcan nuevas marcas en el mercado, tendremos que escanear cada botella que venga con ella. En principio, esto no se puede hacer, pero aquí puede ocurrir un "resorting", es decir, la marca se incluirá en una organización, pero de hecho se ubicará en otra. Si esto sucede, en poco tiempo todo debe resolverse con la conexión del FSRAR, lo que ningún empresario que se precie quiere hacer, por lo tanto, es mejor escanear cada botella que pasa por EGAIS con un escáner 2D. Al escanear cada botella entrante y vendida de inmediato, se protegerá de las discrepancias. Es cierto que mientras haya sellos antiguos en circulación, habrá mucha confusión.

    ¿Qué hacer si el sello está dañado o no se puede leer?

    Si recibiste alcohol y ves que la marca está dañada o no se lee al retirar, mi consejo es que rechaces todo el suministro, de lo contrario tendrás que hacer un acto de discrepancia o solicitar un duplicado a EGAIS, que luego debe pegarse en la botella. ¿Quién lo necesita?

    Cómo tomar alcohol (EGAIS)

    Una vez que haya escaneado las marcas de alcohol entrante, puede realizar las siguientes operaciones:

    1) Aceptar la mercancía. El borracho ingresa al Registro N° 1 con la posterior vinculación de la marca al Registro N° 3.

    2) Aceptar parcialmente la mercancía. Es decir, habilitar al departamento de contabilidad para que elabore un Acta de disconformidad sobre posiciones no aceptadas.

    3) No acepte la mercancía

    Un poco más adelante publicaré instrucciones paso a paso para trabajar en el sistema EGAIS para la restauración pública.

    ¿Cuándo presentar una declaración de alcohol en 2019?

    Las declaraciones de alcohol y cerveza se presentan trimestralmente en los siguientes plazos:

    • 4º trimestre 2018 del 01/01/2019 al 21/01/2019 inclusive
    • 1 trimestre 2019 del 01/04/2019 al 22/04/2019 inclusive
    • 2º trimestre 2019 del 01/07/2019 al 22/07/2019 inclusive.
    • 3er trimestre 2019 del 01.10.2019 al 21.10.2019 inclusive.
    • 4º trimestre 2019 del 01/01/2020 al 20/01/2020 inclusive

    En 2019, los plazos para la presentación de declaraciones de alcohol y cerveza caen en día libre para todos los trimestres de informe, excepto el cuarto trimestre. Por lo tanto, el último día de informe del fin de semana se transfiere al primer día hábil.

    ¿Se puede cancelar EGAIS?

    La cancelación de EGAIS es un mito. Siempre sufriremos con eso, pero espero que el sistema finalmente se depure y sea lo más accesible posible para las personas. Bueno, o al menos deja de mentir así.

    Y la última de las novedades previstas

    El nuevo año 2019 será el comienzo de la introducción de un sistema de control experimental para la venta virtual de alcohol. Está previsto que se lleve a cabo por etapas:

    • 2019 el inicio del control de las tiendas online de cerveza, sidra, hidromiel y vino, en botellas con marcado especial del lugar de origen y ubicación geográfica;
    • 2020: será posible vender alcohol solo con una licencia especial;
    • 2022: todos los tipos de alcohol se venderán exclusivamente a través de EGAIS.
    CATEGORIAS

    ARTICULOS POPULARES

    2022 "gcchili.ru" - Sobre los dientes. Implantación. Piedra de diente. Garganta