Implementación de los principios de organización de una interfaz USB de hardware. USB (bus serie universal)

La transmisión isócrona de tributos está vinculada a la sincronización de adjuntos compartidos por un sistema. Al mismo tiempo, el extremo del controlador USB, si la computadora está conectada a un micrófono USB (dzherelo danih) y altavoces USB (para recibir datos), y a los componentes de audio conectados entre ellos a través del software miksher (cliente PZ) . El cuero de los componentes se puede usar como "testigo" aproximadamente una hora y sincronización: un micrófono, por ejemplo, puede tener una frecuencia de vibración de 8 kHz y una tasa de bits de 1 byte (bit 64 Kbit / s), altavoces estéreo - 44,1 kHz y una tasa de bits de 4x2 bytes (176 Kb / s), y el mezclador puede funcionar a una frecuencia de vibración de 32 kHz. Mezclador en todo el sistema є con un buen idioma, en la sincronización de dzherelo con la cabeza (reloj maestro). Mezclador de programación envuelto en paquetes; período de canto servicio (digamos, 20 ms - frecuencia 50 Hz). Los mezcladores son responsables de los módulos de frecuencias de vibración estrechas, que combinan la vibración de la vibración en una sola, si la frecuencia de salida es de entrada, o "almacenan" (interpolan) nuevas vibraciones industriales, que son de la misma frecuencia. Para los sistemas USB, la madre se alimenta con las siguientes frecuencias:

  • F S (reloj de muestreo, frecuencia de danih) - frecuencia de muestreo para dzherel (fuente) y sumidero de danih;
  • F SOF (reloj de bus, frecuencia de bus): velocidad de fotogramas (1 kHz) para video general y micro fotogramas (8 kHz). Con una alta frecuencia de todos los archivos adjuntos USB, descargue marcadores en una mazorca de marcos SOF;
  • F X (reloj de servicio, frecuencia de servicio): la frecuencia desde la que se ejecuta el cliente PZ antes de los controladores de transmisión USB y la recepción de los datos isócronos.

En sistemas sin un dzherel ficticio, la sincronización entre pares de señales de sincronización puede mostrar los siguientes tipos:

  • deriva (deriva del reloj): visualización de formalmente las mismas frecuencias de nominal (no dos generadores absolutamente idénticos);
  • tremtinnya (jitter del reloj) - el número de frecuencias al nominal;
  • diferencias de fase de reloj a reloj, cuando las señales no están vinculadas al sistema PLL.

En los sistemas digitales de transmisión de datos, la transmisión de datos recae en aquellos, donde había escasez de dinero, o puede haber escasez de dinero, o se puede acumular o acumular en horas. Boletín de noticias campana sonando(Realimentación). Yakiy z mechanizmіv vikoristovutsya, para establecer el tipo de sincronización, de modo que podamos adaptarnos al punto izocrónico de resistencia de la extensión dada.

Para USB, para el método de sincronización de puntos finales (dzherel o para recibir datos) del sistema, admite clases de adjuntos asíncronos, síncronos y adaptables (más precisamente, puntos finales), a la piel de cualquier tipo de canal USB. El tipo de sincronización se establece mediante atributos de 3 y 2 bytes del descriptor de punto final (div. Rozd. 4.1.3).

Adjuntos asincrónicos Hay mucha flexibilidad en el estrechamiento de su frecuencia de vibraciones con las altas frecuencias SOF del sistema USB. Su frecuencia de transmisión es fija y programada. El número de bytes que se proporciona para usar en el marco de máscara USB no es permanente. Asincrónicamente dzherelo danih Expongo implícitamente mi velocidad de transmisión por la cantidad de vibraciones que se pueden transmitir en un cuadro; el programa del cliente se asegurará de que el estilo de lo dado sea realmente bueno. Aceptación asincrónica Danih es culpable de olvidar un timbre de timbre obvio para el controlador adaptativo del software del cliente para asegurar la velocidad del flujo (div. Dal). Con los accesorios de un accesorio-jerel asincrónico, también puede utilizar un reproductor de CD desde la sincronización de un generador de cuarzo o una conexión de televisión por satélite. La culata del receptor es acciones baratas, que se pueden aplicar desde el dzherel de sincronización interna.

Anexos sincrónicos hay un generador interno, que se puede sincronizar con latidos SOF (frecuencia del sistema 1 u 8 kHz); A frecuencias más altas, se proporcionará una sincronización más precisa, sin la necesidad de llamadas desde micro-marcos. Dzherela y priymachі para el marco de la piel generan (en vivo), sin embargo, la cantidad de bytes dados, cómo subir al escenario del programa del canal. Con la ayuda de un jerel sincrónico, puede usar un micrófono digital con una frecuencia de vibración, que se puede sintetizar para SOF. El sintetizador de frecuencia es responsable de la posibilidad de medir 1-2 marcadores (a través de feliz misericordia transmisión), disponible en una frecuencia constante. Tsi punto vikoristovuyut un sonido de llamada implícito, ajustando la frecuencia del autobús. Desde el punto de vista programático, la organización de canales con dichos anexos es muy sencilla.

Los archivos adjuntos adaptables pueden ajustar su frecuencia interna y brindar la cantidad necesaria de dinero (en los límites del cantante). Adaptativamente, dzherelo permitió el cambio de velocidad para la gestión del propietario, de modo que se evitaría el evidente sonido del timbre. Para una recepción adaptativa de información sobre la frecuencia, se proporciona la fuente de entrada. En viznacha mittєve el valor de la frecuencia del número de tributos tomados para el intervalo promedio. En tal rango, está implícitamente directo a la desnudez de la frecuencia. Usando un reproductor de CD dzherel є adaptable desde un convertidor de frecuencia integrado SRC (convertidor de frecuencia de muestreo), y aceptando: altavoces de alta calidad o auriculares USB.

El controlador USB le permite ajustar la velocidad de fotogramas, en conjunto, si la frecuencia de sincronización interna es menor que un archivo adjunto. Pidstroyuvannya está conectado a través del mecanismo de un anillo de llamada, que permite que la trama cambie entre ± 1 intervalo de bit. El anillo de llamada, que permite el uso del valor de las frecuencias de conexión debido a la frecuencia del bus, puede ser una retroalimentación explícita o implícita.

La recepción asíncrona es claramente culpable de cambiar la frecuencia de transmisión de tramas dadas al controlador de host. No permita que el controlador de host corrija continuamente el número de bytes que se transmiten para el marco de la máscara, lo que no permite actualizar ni vaciar el búfer del archivo adjunto. Santuario

F f = F S / F SOF

Agregaré una cantidad de bytes para que se transmitan en una trama. El número entero no puede verse como un número entero, por lo que esta parte de la parte es un volumen continuo de transmisiones (tamaño del campo de datos) con un punto final dado en el marco de la piel, y la parte de disparo es un excedente. que se acumulará, que se verá abrumado por la cantidad de transmisiones durante el período ... El valor de F f para este tipo de caída es culpable de contar la tasa en un intervalo promedio no menor a 1 s. El precio puede cambiar en una hora (desearía que se pudiera redondear), por lo que el host es culpable de encenderlo periódicamente en el anexo, si hay datos de retroalimentación explícitos.

El tamaño máximo de transmisión para un cuadro y una velocidad de cuadro de hasta 1023 bytes y 1 kHz para los modos FS y 3072 bytes para 8 kHz para los modos HS, por lo tanto, para transmitir sonidos de timbre, necesita:

  • Modos FS: 10 bits cada uno para partes de disparo completas;
  • en modo HS: 12 tiempos para toda la parte y 13 tiempos para la parte de disparo.

Dani de un sonido de timbre explícito se tomará del punto final, que tiene el mismo número que el primer punto, como resultado de salir victorioso del tributo. El punto también es isócrono, en el descriptor del bit = 01 bytes de atributos deben aplicarse al victoriano para el anillo de llamada (div. Rozd. 4.1.3). El descriptor tiene un intervalo de validación (campo binterval), por el cual el host es responsable de alimentar la señal del tono de llamada, de modo que la señal sea gratuita. Esto permite que el controlador de host corrija continuamente el número de bytes que se transmitirán por trama de piel, lo que no permite reequipar o vaciar el búfer de aceptación de adjuntos. Desde la última experiencia, no hay cambios, el punto puede ser aceptado para su uso por un paquete de tributos a cero dozhini.

De manera similar, el tablero adaptativo se utilizó para generar información sobre el tono de llamada del host, del marco al marco y del mismo estilo que requiere el controlador del host.

Para los puntos que requieren un anillo audible, en algunos casos es posible unificar la visión al conectar un punto especial de un anillo audible, una retroalimentación implícita. Es posible, si en el anexo hay un grupo de puntos izocrónicos conectados funcionalmente, que son dirigidos desde el generador de sincronización externo, y en el medio de ellos hay un punto directamente, opuesto al punto, pero en forma de un timbre vocal explícito. Mientras que el anillo de timbre necesario para la recepción asíncrona, la información del anillo de timbre implícito se toma de la velocidad de transmisión de la transmisión sincronizada con él. De manera similar a la dzherela adaptativa, la información del tono de llamada implícito se toma de la velocidad del receptor sincronizado. Kintseva punto danih, ya que es posible vikoristovuvati yak dzherelo tono de llamada implícito, en bytes de atributos bmAttribuye el valor de bits = 10 (div. Rozd. 4.1.3). Las conexiones de sincronización para el grupo se establecen en función del número de puntos. Para conocer el anillo de llamada implícito dzherelo para cualquier punto, haga un ruido del punto isócrono del protolezhny directamente con el mismo número o menor, que se puede encontrar en bytes atributos beats = 10.

El bus USB permite al anfitrión configurar tarjetas durante una hora con un flujo continuo de engranajes isócronos para cualquier punto. Para el host, adjuntaré una fuente de alimentación especial SYNC_FRAME (div. Sección 4.1.2), en la que especifico el número de cuadro (lo más cercano posible) y el número del punto final, hasta el cual se da la marca de la hora. Adjunto y anfitrión mayut patio interior hora por número de cuadro, que se transmite en marcadores SOF. Para los accesorios HS, confíe en la sincronización basada en el microcuadro cero del marco especificado. El mensaje de una hora se puede mostrar, por ejemplo, para indicar el momento de la transmisión izocrónica cob (al controlador de host de la ONB en el descriptor de la transmisión izocrónica se le asigna el número de la trama de inicio; para la UHC, el controlador sí mismo cambia el descriptor de trama de las transacciones izocrónicas) Con tal rango, prist_y puede volver al oído del intercambio isócrono.

El controlador de host USB es capaz de ajustar las velocidades de fotogramas. Por ejemplo, UHC є SOF_Modify registro, a través del cual puede cambiar la relación de frecuencia de 12 MHz para eliminar la frecuencia de cuadros de 1 kHz en el rango de ± 0.5%. Obviamente, el controlador de host puede ajustar la frecuencia de la sincronización interna sin un solo accesorio.

USB (bus serie universal) último neumático) se declaró que el mundo de las computadoras terminaría durante mucho tiempo: la versión de la primera versión reforzada del estándar apareció el 15 de 1996. El desarrollo del estándar ha sido introducido por las empresas autorizadas: Intel, DEC, IBM, NEC, Northen Telecom y Compaq.

El principal meta estándar, establecido ante los minoristas, es establecer la posibilidad real de koristuvach pratsyuvati en el modo Plug & Play con dependencias periféricas. Esto significa que se transfiere al archivo adjunto a la computadora operativa, se descifra automáticamente cuando se conecta a la instalación ofensiva de los controladores actuales. Krym tsyogo, bazhano anexos animados de baja energía para proporcionar desde el yo. La gran velocidad del neumático es suficiente para un gran número de dependencias periféricas. Es obvio que existe un problema histórico de recursos inestables en los buses internos de la PC IBM de una computadora inteligente: el controlador USB toma prestados solo unos pocos enchufes conectados al bus de complementos.

Las capacidades USB incluyen características técnicas:

    Visoka shvidkist obminu (velocidad de bits de señalización de máxima velocidad) - 12 Mb / s

    Suministro máximo al cable de intercambio de alta calidad - 5 m

    Tasa de bits de señalización de baja velocidad: 1,5 Mb / s

    Suministro máximo para intercambio de cables a baja velocidad - 3 m

    El número máximo de archivos adjuntos adjuntos (incluidos los multiplicadores): 127

    Puede conectar dependencias con intercambio de descuentos

    Es necesario instalar elementos adicionales como terminadores SCSI

    Fuente de alimentación para dependencias periféricas - 5 V

    La tasa de vida máxima para un pr_t_ es 500 mA

Con ese fin, es práctico conectarse a USB, como accesorios periféricos, rodeado de cámaras de video digitales y discos duros de alta velocidad. Interfaz especialmente útil para conectar accesorios, que a menudo se conectan / desconectan, como cámaras digitales. El diseño de las rosas USB está asegurado en la conexión / desconexión bagatoraz.

Posibilidad de cambiar el número de líneas de la interfaz y solicitar implementación de hardware. Live sin USB frontal solo está disponible para accesorios con salas de estar pequeñas, como teclado, mish, joysticks, solo cable de 4 hilos

Aprecio la conexión con el dzherel, tobto. a la computadora chi hub

Apropiado para la conexión al anexo periférico

Número de contacto

Apreciación

Dardo de Colir

Aquí GND es una lanza para el "cuerpo" para la vida de los accesorios periféricos, VBus - + 5V para las lanzas de la vida. El bus D + está diseñado para transferir datos sobre los neumáticos y el bus D- para recibir datos.

El cable para la transmisión a toda velocidad del bus está trenzado, puede ser capturado por la pantalla y puede usarse para el robot en el modo de baja velocidad. El cable para robots no está en el nivel más pequeño (por ejemplo, para enchufar una travesura) se puede usar como un cable no blindado.

    Elementos basicosUSB... Arquitectura física y lógica del neumático.

El bus USB (Universal Serial Bus) apareció en la mazorca en 1996 para intentar solucionar el problema de las múltiples interfaces. A esa hora, los ordenadores personales (PC) de la bola están equipados con una gran cantidad de interfaces adaptables, marrones y necesarias, pero quizás una deficiencia: todos los hedores eran de su propio tipo especial de interrupción, la actualización más frecuente.

Arquitectura USB

La arquitectura USB original se basa en la conexión de uno o más decilcoh Accesorios USB a la computadora, como en tal configuración, la cabeza keruyuchuyu adjuntos y se llama anfitrión. Conexión de archivos adjuntos USB al host cables Para el uso de una computadora y un accesorio USB centro... Computadora ma vbudovaniya hub, rangos rootear un hub.

Arquitectura USB física y lógica

Arquitectura física USB se basa en las siguientes reglas:

o los archivos adjuntos están conectados al host;

o establecimiento físico de anexos entre ellos para seguir la topología de la estrella bagato-tiery, cuya parte superior es el centro raíz;

o el centro de la visión de la piel є hub;

o segmento de cable de cuero entre dos puntos: un host con un hub y una función , un hub con un hub funcional;

o al puerto de piel del concentrador, puede conectar el accesorio USB periférico al concentrador, con el suyo propio se permite hasta 5 veces la cascada de concentradores, excepto el raíz.

Detalles de la arquitectura física desde los programas aplicados hasta la seguridad del software del sistema (PZ), volumen arquitectura lógica viglyadaє yak zvichayna zirka, el centro es є aplicado PZ, y los vértices se establecen puntos finales / El programa aplicado consiste en intercambiar información con un punto final de la piel.

Almacenes USB

El bus USB se almacena a partir de los siguientes elementos:

    controlador de host(controlador de host): el controlador principal completo, que puede ingresar a la unidad del sistema de la computadora antes del almacén y por medio de todos los accesorios en el bus USB. Para stislosti, es solo un anfitrión. En los buses USB, se permite mostrar más de un host. Unidad del sistema computadora personal Venga a uno o más hosts con un bus USB;

    prístino(dispositivo) puede ser un concentrador, una función o un dispositivo compuesto;

    Puerto(puerto) - punto de conexión;

    centro(concentrador, en un nombre - centro) - prístino, que se volverá inmejorable puerto dodatkov_ en el bus USB. Tan pronto como parezca, el concentrador convertirá un puerto ( puerto vishіdny, puerto ascendente) en puertos unlich ( bajo porty, puertos descendentes). La arquitectura de admisión está permitida para varios centros (troch más de 5). Hub para conectar y conectar dependencias a puertos y se puede utilizar para suministrar vivienda en el puerto. El cuero de los puertos puede ser un permiso para desgarrar o reabastecer sobre una nueva base o para interconectar la velocidad del intercambio. El hub asegurará el aislamiento de los segmentos de la baja velocidad de los de clase alta. Hub puede interconectar rasgueo, con puerto de piel;

    concentrador raíz(concentrador raíz): el concentrador central, donde puede iniciar sesión en el almacén del host;

    función(función): la conexión USB periférica de cualquier bloque externo, que se utiliza para transmitir y recibir información a través del bus USB. La función de piel es una información de configuración que describe las posibilidades de la conexión USB periférica a los recursos. Antes del Día de la Victoria, la función de ma buti fue establecida por el anfitrión - їy maє buti vio smuga en el canal y las opciones de configuración;

    conexión USB lógica(dispositivo lógico) є conjunto de puntos finales.

    Poderes básicosUSB-direcciones y hubs.

Poder de los archivos adjuntos USB

Detalles de USB para llegar por las malas, un conjunto de autoridades, como un archivo adjunto USB:

o direccionamiento - prist_y es culpable de ver el letrero asignado a esta dirección única y se ve privado de él;

o Configuración: si ha sido notificado, o si omite los archivos adjuntos, es culpable de dar una dirección cero para la posibilidad de configurar sus puertos;

o transferencia de tributo: un conjunto prístino de puntos kintsev intercambian datos con el host. Para los puntos finales, scho admite diferentes tipos de transmisiones, si solo una de ellas está disponible configurable;

o Keruvannya energosposivannyam: si un prístino, cuando está enchufado, no es culpable de vivir de shini strum, scho cambio 100 mA. Al configurar los ajustes, el consumo de energía no debe exceder los 500 mA. Yakshcho el eje no se puede asegurar mediante el adjunto de las declaraciones del rasgueo;

o Suspensión: la conexión USB es culpable del modo de suspensión (modo de suspensión), en cuyo caso el rasgueo no supera los 500 μA. La conexión USB es culpable de activación automática cuando el bus está activo;

o Activación remota: la capacidad de activación remota permite que el accesorio USB conectado envíe una señal al host, que también puede activarse desde la estación zupinada. La posibilidad de un despertar remoto se describe en la configuración del accesorio USB. Las funciones de la configuración se pueden reforzar.



    El principio básico de transferir datos detrás de la interfaz.USB.

Principios de transmisión

Mecanismo de transmisión de datos є asincrónico y en bloque. El bloque de danichs transmitidos se llama Marco USB abo Marco USB que se transfiere para fijar el intervalo horario. Operado por comandos y bloques de datos que se implementarán para una abstracción lógica adicional, como ser llamado canal. Las actitudes famosas también pueden basarse en abstracciones lógicas, que se denominan puntos finales. En tal rango, el canal є enlaces lógicos entre el anfitrión y el punto dependencia... El canal se puede vincular desde el archivo abierto.

Para la transmisión de comandos (y para la transferencia de comandos), se selecciona el canal estándar, y para la transmisión de datos, se muestra sobre arroyos canales, abo de vez en cuando.

Todas las operaciones de transmisión de datos a través del bus USB son actualizadas por el host. Los accesorios USB periféricos no pueden intercambiar datos por sí mismos. El hedor puede ser privado de reaguvati por orden del anfitrión.

Mecanismo pererivan

Para el bus USB, no hay mecanismo de transferencia (yak, por ejemplo, para el último puerto). La naturaleza del anfitrión describe la conexión con el archivo adjunto y los tributos sobre la transferencia. La experiencia se muestra a intervalos fijos durante una hora, la piel comienza a sonar de 1 a 32 ms. Preestablecido, se permite supervisar hasta 64 bytes de Danih.

Desde el punto de vista del controlador, las capacidades de los robots con la transferencia son realmente iniciadas por el host, lo que no permitirá la implementación física de la interfaz USB.

Modos de transmisión

El rendimiento del bus USB, de acuerdo con las especificaciones de 1.1, es de 12 Mb / s (tob a 1,5 Mb / s). La especificación 2.0 designa el bus debido a la capacidad de rendimiento de 400 MB / s. Smuga puede pasar por las dependencias, conectado al autobús.

El bus USB tiene tres modos de transmisión:

o baja velocidad (LS, baja velocidad);

o máxima velocidad (LF, máxima velocidad);

o alta velocidad (HS, alta velocidad, solo para USB 2.0).

Intercambio de datos lógicos

Especificación USB tres rivnya lógica de las reglas de interacción del canto. Accesorio USB para revelar la parte lógica y funcional. El host se puede dividir en tres partes: la interfaz, el sistema y la PZ. La parte de la piel se ha vuelto menos propensa al coloso.

En tal rango, la operación de intercambio de datos entre el programa de aplicación y el bus USB es la forma de transferir búferes de memoria a través de lo siguiente:

o rivn klintskogo PZ en el anfitrión:

· Nómbrelo como un controlador USB;

Zabezpechu zaєmodiyu koristuvach z sistema operativo desde un lado y el controlador del sistema desde el interior;

o incluso sistémico Driver USB en el host (USB, controlador de bus serie universal):

· Numeración Keru de dependencias sobre neumáticos;

· Keruh aumentó la capacidad de rendimiento del autobús y la presión de vivir;

· Obroblyaє beber conductores Koristuvalnytsky;

o nivel del controlador de host a la interfaz de bus USB (HCD, controlador de controlador de host):

· Vuelva a escribir la entrada / salida en la estructura de los datos, para lo cual se mostrarán las transacciones físicas;

· Pratsyu con registros de host.

Antes de que se requiera que el anfitrión ingrese:

Stezhennya para conexiones y accesorios.

    Organizar flujos de almacenamiento desde un archivo adjunto y un host USB.

    Organización de transmisiones desde el host y los complementos USB dados

    Control del país de adjuntos y mantenimiento de estadísticas de actividad

    Provisión de conexiones a instalaciones eléctricas por la parte de hardware є el controlador de host es un intermediario entre el host y los anexos en el bus

    Interfaz físicaUSB

El estándar USB es la base de las especificaciones eléctricas y mecánicas del bus. Las señales de información y la tensión de alimentación de 5 V se transmiten a través de un cable chotipwired. Es posible ganar una forma diferencial de transmisión de señal en D + y D- en dos dardos. Las señales equivalentes en las transmisiones en modo estático se deben a valores bajos de 0.3 V (nivel bajo) o 2.8 V (nivel alto). Aceptación de la fuerza de entrada entre los límites - 0.5 ... + 3.8 V.

La transmisión de dos cables a USB no está interconectada por señales diferenciales. Además de la captación diferencial, la piel tiene una captación lineal pequeña de las señales D + y D-, y la transmisión de los ciclos se controla individualmente. Permite el desarrollo de más de dos líneas de líneas, ya que se puede organizar la organización de la interfaz hardware. Los rangos Diff0 y Diff1 se basan en la diferencia de potencial en las líneas D + y D: más de 200 mV por guiño, mientras que para uno de ellos el potencial es mayor para el inicio de la prueba VSE. Stan, en las entradas D + y D-, la presencia de un nivel bajo, se llama línea cero (SEO - Single-Ended Zero). Interfaz para las siguientes páginas:

* Data J State і Data Before State - Comenzaré un bit, que se transmite (o simplemente J і К), comenzaré a través de las configuraciones Diff0 y Diff1.

* Estado inactivo: pausa en el autobús.

* Estado de reanudación: señal de "despertar" para la activación del accesorio en el modo "dormir".

* Inicio de paquete (SOP): una oreja de un paquete (transición del estado inactivo a K).

* Fin del paquete (EOP): fin del paquete. * Desconectar: ​​cuando está conectado al puerto. * Conectar: ​​cuando está conectado al puerto. * Restablecer: agregaré un descuento.

Conviértase en visitante sobre la base de señales diferenciales y de línea; DiffO y Diff1 pueden ser menos importantes para una calidad más baja. Las estaciones de decodificación Disconnect, Connect y Reset tienen una hora de la línea anterior (a 2,5 ms) para las estaciones de canto.

El neumático tiene dos marchas. La velocidad de transmisión de la señal USB es de 12 Mb / s, baja: 1,5 Mb / s. Para un rendimiento general, se trenza un par con una impedancia de 90 ohmios y un segmento de hasta 5 m, para cables bajos no engarzados de hasta 3 m. Uno de esos sistemas puede salir victorioso de la noche a la mañana; remezcla de anexos zd_ysnyutsya prozoro. El bajo rendimiento está destinado a robots con una pequeña cantidad de PU, pero no requiere un alto rendimiento. El ancho de banda, que es seleccionado por el complemento, conectado a un puerto específico, se usa como un concentrador detrás de los niveles de señal en las líneas D + y D-, en lugar de reemplazar las resistencias de captación R2


    Código dado para la hora de transmisión en el autobús.USB.



    vivacidadUSB-direcciones. Gestión de servicios energéticos.



    Organización interna del neumáticoUSB... Intercambio de datos lógicos.



    Tipos de transmisiones de tributoUSB... Puntos y canales de KintsevUSB.

Accesorio de piel USB є un conjunto de puntos finales independientes, con el controlador host intercambiando información. Los puntos de Kintsev se describen mediante los siguientes parámetros:

* la frecuencia necesaria de acceso al neumático y la cobertura de servicio admisible;

* Smuga necesario para pasar el canal;

* Número de punto;

* vimogami hasta el procesamiento de tumbas;

* tamaño máximo de los paquetes que se transmiten y aceptan;

* Tipo de intercambio;

* Intercambio directo (para intercambio sucinto e isócrono).

Kozhen pristіy obov'yazkovo maє kіntsevu point con el número 0, como vikoristovutsya para inіtsіalіzatsії, zalnogo keruvannya y experimente yogo stan. El punto se configura cuando se enciende la vida y el accesorio está conectado al autobús. Adaptaciones de Vono al tipo de "control" (div. Dal).

El borde del punto cero de la función de conexión se puede utilizar para puntos adicionales, de modo que se pueda realizar el intercambio marrón de datos. Los accesorios de baja velocidad pueden acomodar hasta dos puntos adicionales, los accesorios de alta velocidad: hasta 16 puntos de introducción y 16 puntos de entrega (intercambio de protocolo). El punto no se puede encontrar hasta la configuración (establecimiento del canal meteorológico).

El canal (Pipe) para USB es el modelo de transmisión entre el controlador de host y el accesorio de punto final. Є dos tipos de canales: transmisiones y mensajes. El motivo de la entrega de datos desde el final del canal hasta el último, en el caso de enderezado simple. Se puede usar el mismo número de punto final para dos canales de transmisión: la introducción y el vivedennya. Hay una razón para realizovuvati tal tipo de intercambio: sucinto, isócrono e intercambio. La entrega se ordena según el pedido "pershim uv_yshov - pershim viyshov" (FIFO); desde el punto de vista del flujo de datos USB no está estructurado. Dependiendo del formato, valores específicos de USB. El host se encenderá hasta el punto final, cuando se transmita (reciba) un paquete, después de lo cual el paquete se enviará desde la información del punto final. Normalmente no es posible ponerse al día antes de la tramitación de lo anterior, de lo contrario, si se emiten las subvenciones, puede que no sea posible descartar ocasiones inservibles. El intercambio bilateral se dirige a un mismo punto. Para la entrega, es posible que deba elegir una privación del tipo "keruvannya".

Los canales están vinculados a las características que muestran los puntos finales (transmisión smuga, tipo de servicio, tamaño del búfer también). Los canales se organizan cuando se configuran los archivos adjuntos USB. Para la piel adherida al accesorio, se crea la tubería de control (tubería de control 0), que se utiliza para transmitir información sobre la configuración, la gestión y el control.



5. Tipos de engranajes

USB está disponible como modo de audio directo simple y directo dual. La transferencia de tributo se lleva a cabo entre el anfitrión y el punto final del anexo. Conecte la madre de los puntos finales, los ligamentos de la piel de ellos (el canal) surgen directamente.

Arquitectura USB de admisión de los siguientes tipos básicos de transmisiones:

* Keruyuchі posilki (Transferencias de control), que se puede usar para configurar antes de que se conecte una hora y en el proceso de robots para keruvannya con dependencias. El protocolo estará asegurado, la entrega del homenaje está garantizada. No cambio 64 bytes en función de la velocidad y 8 bytes en la baja.

* Las transferencias de datos masivas son paquetes igualmente excelentes sin vimogs duros por hora de entrega. Los engranajes se apoderan del ancho pantano del autobús. Los paquetes pueden ser un campo danih con un tamaño de 8, 16, 32 chi 64 bytes. La prioridad de las transmisiones qih es la más baja, el hedor se puede perder con una gran llanta rota. Permitido privar de nuevas emisiones.

* Interrupción: transferencias cortas (hasta 64 bytes para alta velocidad, hasta 8 bytes para baja) al tipo de caracteres que se ingresarán o coordenadas. El retiro puede ser de carácter espontáneo y los sirvientes culpables no son más propensos que no a ser culpables de actitudes. Entre las horas de servicio, el servicio se establece en el rango de 1-255 ms para mayor rendimiento y 10-255 ms - para bajo.

* Transferencias isócronas: transmisiones ininterrumpidas en tiempo real, que ocupan una parte del ancho de banda del bus frente al usuario y pueden establecer la tasa de entrega. En el desarrollo de los indultos, los datos izocrónicos se transmiten sin repetición: los paquetes no informados se ignoran. Butt - transmisión de voz digital. La tramitación de visas se inicia por la calidad de las transmisiones, y la recepción de la entrega puede ser crítica, por ejemplo, al realizar teleconferencias.

Smuga pasando el autobús se extiende a través de la instalación de canales. Se ha visto que el smog se cierra detrás del canal, y si se ha instalado un nuevo canal, dicho smog, que no encaja en el suministro de corriente, se alimenta al canal visible.

La arquitectura de la transmisión USB a la memoria intermedia interna de todos los anexos, además, además, además, además, la transmisión de una memoria intermedia es mayor que la de una memoria intermedia. El USB se puede utilizar para intercambiar datos con tal velocidad, de modo que la recepción de los tributos en el anexo, el almacenamiento en búfer, no tomó unos milisegundos.

Las transmisiones isócronas se clasifican según el método de sincronización de los puntos finales (dzherel o datos recibidos) del sistema: proporcionan una clase de accesorios asíncronos, síncronos y adaptables a la piel de cualquier tipo de canal USB.

    Anexos periféricosUSB... Vikoristannya microcircuitos firmiFTDIcómo transformarse en la última interfaz paralela.



D0 ... D7 - bus de datos bidireccional para código directo (1 - alto rіven, 0 - bajo r_ven) en tres molinos;

RD # - entrada estroboscópica danih, que se puede leer. Si en RD # hay un nivel bajo de datos del búfer tipo FIFO de hasta 128 bytes del microcircuito FT8U245AM en el bus D0 ... D7, si desea que haya un byte presente en el búfer. En la transición del rivnya bajo al rivnya danih alto, se conoce a uno del bus danih;

WR: entrada de luz estroboscópica danih, que se grabará. Los datos de los buses D0 ... D7 usan hasta 384 bytes del microcircuito FT8U245AM en el búfer de transferencia tipo FIFO para la transición del nivel alto al nivel bajo en la entrada WR por la razón, ya que el búfer no necesita ser agregado;

TXE # - entrada del mensaje en el búfer de transmisión del microcircuito FT8U245AM. Si hay un nivel bajo para todo el negocio, los datos se pueden transferir al búfer de transmisión a través de los buses D0 ... D7;

RXF #: lectura de datos del búfer búfer del microcircuito FT8U245AM. Si el precio es bajo, los datos se pueden leer en el bus D0 ... D7;


Pequeña. 1. Diagrama de Timchasova para el ciclo de lectura.


Figura 2. Escribiré el diagrama de Timchasov en el ciclo.

    InterfazI 2 C... Últimos neumáticos en la baseI 2 C... Principal características técnicas shiniI 2 C.

I 2 C es una interfaz de rotor de dos cables de Philips Corporation. En el caso del soporte técnico cob a la interfaz, la velocidad máxima de transmisión fue de 100 Kbit / s. Sin embargo, este año se introdujeron los estándares para modos de robot más avanzados I 2 C. Hasta un bus I 2 C se puede conectar un complemento con nuevo acceso, por lo que la velocidad de transmisión de estos datos se activa mediante una señal de reloj.

Se cederá el protocolo de transferencia de estas averías en tal rango, que garantice la garantía por la recepción de los datos antes mencionada.

Al transmitir un ajuste є “Maestro”, que es la transmisión inicial de datos y la forma de las señales de sincronización. El primer adjunto "Esclavo" - repara la transferencia solo después del comando, que vino de "Maestro". Para los microcontroladores PIC16CXXX, las implementaciones de hardware del modo "Esclavo" se agregarán a los módulos SSP. El modo "Maestro" se implementa mediante programación. Los términos principales que se utilizarán al describir robots con un bus I 2 C:

Transmisión- transmisión prístina y académica de datos sobre neumáticos

Priymach- prístino, ya que negaré a danі de shini

"Maestría"- ajuste, que es la transmisión inicial de esa forma, la señal de reloj

"Esclavo"- prist_y, hasta que te conviertas en "Maestro"

Multi- "Maestro"- Modo de bus de robot I 2 C con más de un "Maestro"

Arbitraje- el procedimiento, que es garante, es solo un "Maestro" por keru

Sincronización- el procedimiento para sincronizar la señal del reloj de dos o más accesorios

Las etapas de salida de la formulación de la señal en la señal de sincronización (SCL) y los datos (SDA) son responsables de los circuitos con un colector abierto (drenaje) para conectar una cantidad de entradas a través de una resistencia de llamada antes del interruptor vivo si hay más de una. el ajuste no forma la señal "0". El máximo Omnisne navantazhennya entre el Omnistyu 400 pF.

El microcircuito tiene un algoritmo de hardware para overclocking sin preservar la integridad de los datos en las mentes sobrepasando un valor. Todos los complementos de I2C pueden tener una interfaz que les permita hacer sonar uno por uno en el bus para navegar por el mismo tipo de dispositivo, ya que siempre está creciendo. En las pequeñas actuaciones ofensivas, el principio de conectar algunos ІМС con un esfuerzo animado a un intercambio de autobuses.


Kozhen prist_y rozp_znaєtsya para una dirección única y se puede utilizar para la transmisión o recepción, que es un signo del archivo adjunto.

Además, los archivos adjuntos pueden clasificarse como datos e información al transferir obsequios. Liderazgo: prístina, como la transmisión de tributos y señales de sincronización viroblya. En cualquier momento, sea prístino, cómo abordar, vvazhaєtsya, lideramos el camino hacia el líder.

En el caso de la especificidad de los robots del neumático, en el momento agradable para la piel, el neumático solo puede tener una delantera, pero está adherida, lo que evitará la formación de la señal SCL desde el neumático. Liderar se puede ver en el papel del líder-transmisión, así como el líder-priymach. Proteger - el neumático permite a la madre de los guías, aplicando las características singulares del comportamiento en las señales formuladas para la gestión y control de la fábrica de neumáticos. La capacidad de conectar más de un líder al autobús significa que más de un líder puede intentar dominar en ese mismo momento durante una hora. Para usunennya "zitknen", que se puede encontrar en este vypadku, el procedimiento de arbitrazhu - comportamiento del líder en la aparición del "ahogamiento" del neumático por parte del líder se ha roto.

Procedimiento para la sincronización de dos accesorios El procedimiento para sincronizar dos accesorios es que todos los accesorios I2C estén conectados al bus de acuerdo con la regla de cableado I. En la estación lista para usar, las señales SDA y SCL están en la parte superior de la estación.

    Protocolo de transferencia de datos por busI 2 C... Asignación de señales en el busI 2 C... Diagramas de tiempos de los procedimientos de transmisión.

El principio del robot

Físicamente, el bus I2C es una interfaz de dos cables con líneas bidireccionales después

Nuevas Líneas de Sincronización (SCL) y Transferencia (SDA). El bus I2C se puede utilizar para proporcionar Cualquier accesorio I2C se puede conectar al bus e intercambiar datos desde los accesorios proporcionados. Todos los archivos adjuntos están disponibles para una dirección única, y puede haber transmisiones o recepciones victoriosas, todas son funciones. Había direcciones de 7 bits en el bus I2C y direcciones de 10 bits a la vez. Підтримуй-

Hay tres velocidades de bits de alta velocidad: 100 kbit / s (modo estándar), 400 kbit / s (modo de alta velocidad) y 3,4 Mbps (modo de alta velocidad). El número máximo de dependencias que se pueden conectar se establece en un máximo de 400 pF o aproximadamente 20-30 dependencias. El estándar I2C se basa en el formato inicial, representado en la Fig. 4:

- Inicio - vkazuє, cómo se transmite el bus keruvannya al anexo que se transmitirá

- Dirección (Direcciones) - Número de 7 o 10 bits, agregaré la dirección

lee el dan, o escribe el dan en el yak.

- Bit R / W (lectura / escritura de bits): un bit, lo ordenaré, pero podré leerlo desde uno.

o regístrate para el primer archivo adjunto

- Ack (Pidtverdzhennya) - un poco de una dependencia de las dependencias de la dependencia.

wah. Como regla general, se requiere aprobación para la dirección de la piel y el byte danikh, pero no depende de ello.

- Datos (Dany): solo el número de bytes que se leerán o escribirán en el complemento.

- Parada: ordena la finalización de la aparición, cuando el cable está conectado al autobús.

A esa hora, si hay transmisiones en el bus durante el día, las señales SCL y SDA pueden ser muy altas para la apertura de la nueva resistencia.

Las señales de INICIO y DETENCIÓN se forman "Maestra" para significar la mazorca y finalizar la transmisión de datos dados.

La señal de INICIO está formada por la transición a la señal SDA del nivel alto bajo al nivel alto de la señal SCL. La señal de PARADA se indica como la transición SDA de un nivel bajo a uno alto en un nivel alto de SCL. Por lo tanto, al transmitir la señal SDA, la señal SCL se puede cambiar por un valor bajo.


La interfaz USB proporciona al desarrollador muchas posibilidades, lo que les facilita la implementación independiente de protocolos de bytes, intercambios de sumas de verificación y otros turbobots, que son necesarios para una conexión confiable a los complementos.

Mecanismo de transmisión de datos є asincrónico y en bloque. El bloque de datos que se está transmitiendo se denomina marco USB o marco USB y se transmite para fijar un intervalo de reloj. Operado por comandos y bloques de datos que se implementarán detrás de una abstracción lógica adicional, como se llama canal. Las famosas actitudes de continuar con abstracciones lógicas, llamadas puntos. En tal rango, el canal є enlaza lógicamente entre el controlador de host y el punto de la última extensión. El canal se puede vincular desde el archivo abierto.

Para la transmisión de comandos (y datos para ingresar antes del almacén de comandos), se selecciona un canal estándar, y para la transmisión de datos, se muestran flujos o canales.

La información es transmitida por el canal en los paquetes (Packet). Se recupera un paquete de piel del campo SYNC (SYNChronization), seguido del identificador de paquete PID (identificador de paquete). El campo Check es una inversión bit a bit del PID.

Sistema USB para tres rivnya lógica de las reglas de interacción del canto. Conecte el USB para revelar la interfaz, la parte lógica y funcional. El host se puede dividir en tres partes: la interfaz, el software del sistema y la seguridad. La parte de la piel se ha vuelto menos propensa al coloso. La lógica y la interacción real con ellos muestra al pequeño.

En tal rango, la operación de intercambio de datos entre el programa aplicado y el bus USV es la forma de transferir búferes de memoria durante el inicio de la guerra.
Seguridad del software del cliente Rivn en el host:

  • agregue un controlador USB;
  • Aseguraré la interacción del koristuvach con el sistema operativo por un lado y el controlador del sistema por el otro.
Rivn Enfermedad sistémica USB en host (USBD, controlador de bus serie universal):
  • anexos de numeración keru sobre neumáticos;
  • gestiónє rozpodil rendimiento de la construcción brilla esa laboriosidad;
  • para encender los controladores koristuvatsky.
Controlador de host para interfaz de bus USB (HCD, controlador de controlador de host):
  • Volveré a escribir la estructura de entrada / salida de los datos, que es el controlador de host de las transacciones físicas;
  • pratsyu con los registros del controlador de host.

Rivn klintskogo seguridad del software El tipo de transmisión requerida para la aplicación solicitada por el programa de aplicación de la operación. La asignación del tipo de transmisión al sistema es la siguiente:

  • búfer de memoria, que se denomina búfer de cliente;
  • el paquete se enviará al interno (IRP, paquete de solicitud de entrada / salida), indicando el tipo de operación requerida.
  • IRP para vengarse de la falta de suministro eléctrico (direcciones del mismo búfer en memoria operativa). El controlador del sistema USB no es necesario para la fuente de alimentación.

El controlador del controlador USB es necesario para los recursos USB de Kerovania. Ganar por las siguientes actuaciones:

  • transferencia de bus USB petulante rospodil;
  • el reconocimiento de la dirección lógica del archivo adjunto al accesorio USB físico de la piel;
  • planificación de transacciones.

Lógicamente, la transferencia de datos entre el punto final y la PZ se realiza para una vista adicional del canal y el intercambio de datos a través del canal tsy, y desde el punto de vista de la presentación de las carreras, la transferencia de la datos al viglyad por el rango ofensivo.

Software Klієntske asegurado por la fuente de alimentación IPR rіvnyu USBD.

El controlador USBD interrumpe las transacciones de acuerdo con las siguientes reglas:

  • terminaremos el pedido si todas las transacciones del almacén se han completado con éxito;
  • todos los detalles de la transacción (como la preparación para realizar, la transacción repetida a merced, la falta de preparación de la aceptación) no se llevan a la PZ del cliente;
  • PZ se puede apagar para iniciar la fuente de alimentación y la fuente de alimentación ochіkuvati o vikonannya;
  • Puede intentar señalar sobre indultos serios, cómo producir la fuente de alimentación antes de la finalización de emergencia, solo hable sobre la fuente de alimentación.

El controlador del controlador de host acepta el controlador del bus del sistema de la transacción y la ventana a lo siguiente:

  • el plan para hacer una lista de transacciones, agregarlas a la lista de transacciones;
  • vityagu de la lista a la transacción Chergov y transfiera el її її її ї ї ї ї ї ї ї ї ї ї ї ї ї ї ї і ї ї ї ї ї ї ї ї ї і en el estado del controlador del host en la interfaz de bus USB;
  • La transacción dérmica está en curso hasta su finalización.

Controlador de host para interfaz de bus USB.
Las tramas se transmiten el último bit mediante el método NRZI.

En este rango, puede formular este esquema simplificado:

  • El marco de cuero se almacena desde las opciones más prioritarias, un almacén que forma un conductor anfitrión;
  • la transferencia de piel se almacena en un número de transacciones;
  • las transacciones de skin se almacenan a partir de paquetes;
  • El paquete de cuero se almacena a partir del identificador del paquete, dado (como el olor є) y la suma de control.

Vlasne al parecer, sobre eso, como la transferencia de homenajes, ya comenzamos a hablar en el pasado statty (memoria, discutimos los puntos, los canales comunales y el inshe), solo aquí discutiremos con más detalle y el informe.

Otzhe, no, quiero que el software de seguridad del cliente dirija los datos al punto final de nuestro dispositivo. Supervisamos el IRP al canal, como USBD, habiendo configurado en nuestro punto y de acuerdo con la dirección del búfer, debe haber datos, como necesitamos enviar, y el tamaño del bloque de datos, cómo dominar. ¿Cómo ves los datos desde la distancia?

Gana dividiendo nuestro bloque de tributo a shmatochki, que se puede transferir en una transacción і, según la prioridad del tipo de transmisión que tengamos para este punto final, para un gusano de piel, un plan, si puede haber una transacción ( a un plan). Dal, a la hora de planificar, la hora de los vinos ha dejado claro. Y en tal rango, toda nuestra viabilidad es eliminada por el punto de kintseva.

Aquí tenemos el término "transacción", también lo explicaré, bueno, tse así. Transacción- Tse una sesión con un complemento. Oskilki al autobús tenemos muchas dependencias conectadas, entonces el anfitrión físicamente no puede intercambiar estas dependencias de forma permanente e inmediata. La naturaleza del ciclo organizacional ( marcos, kadri) para problemas de piel pequeñas dependencias... El eje de la sesión se llama transacciones.

Los fotogramas siguen uno por uno con un período de 1 fotograma en ms. Una vez más, respetaré que en un cuadro no es necesariamente culpable, pero la sesión está conectada con los archivos adjuntos en el autobús, o al mismo tiempo todos los elementos de información asignados a un archivo adjunto. La transferencia de transacciones está planificada para USBD con respecto a la prioridad de los tipos de transmisiones que vibran y con los puntos finales. Y no se puede verificar el eje de transferencia de música al altavoz USB). Figurativamente se muestra un marco y transacciones con un poco a la derecha, se presenta un informe con una estructura de forma clara.

El eje ahora, con la ayuda de nueva información, podemos volver a pasar a los tipos de transmisiones y la capacidad de rendimiento del canal. Para transmisiones izocrónicas significa ocupar el 90% de la capacidad de construcción del canal. Precio significa que el 90% de una hora para un marco de piel se puede ingresar en una transacción de un tipo de transmisión. Del mismo modo, el 10% del ancho de banda del canal, transmisiones garantizadas, significa que el skin frame tiene garantizado el 10% de la hora para tomar prestadas las transacciones de las transmisiones.

Más tiempo para admirar respetuosamente a la diminuta criatura. En un bebé, no vi mucho de un pequeño intervalo en la mazorca y en el marco de la piel. De hecho, en la mazorca y en el marco de la piel, puede haber pequeños intervalos de una hora, como rango especial.

La oreja del marco de la piel se designa por la fuerza de un paquete de marcadores especial SOF(Inicio de cuadro), Antes del almacén, que incluye 11 bits jóvenes del número del marco. Todo el paquete de marcadores se utiliza para la sincronización de puntos y concentradores isócronos. En el modo HS, el marco de piel tiene una duración de 8 microframas de 125 μs cada uno, piel a partir de la cual se repara utilizando el paquete marcador SOF (con el mismo SOF, todos los microframas, que se encuentran hasta un fotograma, se transmite el mismo número).

El intervalo de una hora sobre la base del marco de la piel se llama EOF... EOF es toda una hora de silencio. Todas las transacciones se completan a finales de mayo. Es solo una hora para ver el concentrador, pero cuál es el puerto más bajo en el que tiene que tomar un sorbo, simplemente enciende el puerto y se lo dice al anfitrión.

Ahora, pasemos a las transacciones y recopilemos los informes, de modo que durante una hora la sesión esté conectada al punto final y por qué se almacenan las transacciones.

Inmediatamente en el otro, suministramos la fuente de alimentación. Las transacciones se almacenan en paquetes... Tan pronto como recuerdes, ya dijimos que si tuvieras una sesión de intercambio de datos, podrías arreglarlo sin la iniciativa del anfitrión. Entonces el eje, si la transacción es reparada por el host. Debería poder repararlo a partir de la actualización del paquete del token de transacción, en el que las direcciones del archivo adjunto, las direcciones del punto final, desde el cual el host desea "spilkuvatisya", así como la transmisión directa de datos, debe incluirse. Una vez terminado dicho paquete, adjúntelo, diríjalo y prepárese para cambiarlo. Dal, por un pequeño tiempo de espera, sigue un paquete de datos dados de un dzherel (dzherelo viznachaetsya directamente, queremos decir en el paquete de marcadores). Para transferencias izocrónicas, la transacción terminará en absoluto (no se requieren algunos ejemplos). Para resolver los otros tipos de transferencias, la transacción incluye otro tercer paquete: un paquete de confirmación o un paquete de reconocimiento. En aras de la claridad, a continuación se muestra la estructura de las transacciones.

Hablemos de paquetes en la próxima conferencia. Usogo tiene 4 tipos de paquetes: paquetes de token (token), paquetes de datos, paquetes de reconocimiento y paquetes especiales. Los paquetes pueden tener una estructura diferente, ya que se pueden almacenar de acuerdo con el tipo de paquete, si todos los tipos de paquetes se pueden ver y deyakі detrás de los campos. La estructura zagalnaya de los paquetes la muestra el pequeño diestro (para transmisiones LS / HS). El paquete se puede dividir hábilmente en un encabezado (2 bytes), que tiene una estructura básica para todos los paquetes (Sync + PID + Check), que es robado por la suma de control. La disponibilidad, tamaño y estructura del cuerpo y el número de bits del control deben depositarse según el tipo de paquete.

Además, ya sea un paquete en LS / FS que se va a reparar mediante sincronización de 8 bits: el campo Sync. Para la sincronización, se debe utilizar el bit endianness b'10000000 '. (Para HS, estableciendo el campo de sincronización en 32 bits).

Los siguientes 4 bits del identificador del paquete - PID y la primera copia - Verificar. El PID es el nombre del paquete que, aparentemente, es la siguiente estructura. A continuación hay una pequeña descripción de los otros identificadores de paquetes USB.

Ім'я PID Descripción
Marcadores de paquetes de identificación:
SOF 0101 Identificador del paquete de marcadores a la mazorca al marco. Un paquete de tal PID debe ser reemplazado por los 11 bits más recientes del número de trama, robados por la suma de control CRC5.
CONFIGURACIÓN 1101 Identificador del paquete token de la transacción Keruvannya. Un paquete de tal PID debe colocarse en la dirección de siete bits del anexo, que es el número del punto final, para el cual el host desea "subir", esa suma de control es CRC5.
FUERA 0001 Identificador del paquete de tokens de la transacción vivedennya. Un paquete con tal PID debe colocarse en la dirección de siete bits del anexo, que es el número del punto final, en el que el host supervisa los datos, y la suma de comprobación CRC5.
EN 1001 Identificador del paquete-token de la transacción ingresada. Un paquete con tal PID debe colocarse en una dirección adicional de siete bits, el número del punto final, el nombre de host está fuera de línea y la suma de comprobación CRC5.
Identificación de paquetes en cuotas:
Datos0 0011
Datos1 1011 Identificador de paquete de Danih. Un paquete de tal PID debe eliminarse de sólo n bytes de datos robados por la suma de control CRC16.
Datos2 0111 Identificación de tipos adicionales de paquetes, que se pueden utilizar en transacciones con puntos gran angular izocrónicos (para HS en USB2.0)
MData 1111
Identificación de bultos en aprobados:
ACK 0010 Un paquete con tal PID se almacena si no es del encabezado (solo un paquete de datos vacíos y sumas de control no lo son) y debe archivarse para la confirmación de una recepción no compilada de un paquete de datos.
NAK 1010 Un paquete con tal PID se almacena solo desde el encabezado y se muestra para notificar al anfitrión sobre la indisponibilidad del punto final para el intercambio de datos (indicación de ocupación).
PUESTO 1110 Un paquete con tal PID se almacenará sin el encabezado y se mostrará para notificar al host sobre la necesidad de resolver el problema.
NYET 0110 Un paquete con tal PID se almacena solo desde el encabezado y se almacena para la confirmación del recibo no reconocido y en la notificación sobre la disponibilidad del mensaje para la aceptación de un paquete ofensivo de tamaño máximo (USB2.0)
Identificación de paquetes especiales:
SILBIDO 0100 Un paquete con tal PID es un marcador de control de flujo de prueba (USB2.0). Con dicho marcador, el host encenderá los archivos adjuntos frente al frente, si está listo para aceptar los datos, en lugar del hecho de que la entrada no está lista y se necesita el NAK, luego la actualización completa de los datos se repetirá de nuevo).

Las bolsas especiales Інші no son visibles, no tenemos que conocer el olor a hedor.

Todos los paquetes se almacenan en un número entero de bytes (el tamaño de los campos, que debe incluirse antes del paquete, especialmente si se selecciona, la cantidad de tamaños de cada campo es divisible por ocho).

Todos los paquetes terminan con una señal especial EOP, para LS / FS la señal es intervalos de 3 bits.(Piznish, si se hace antes de la física, está claro, ya que se forma una señal), para HS una señal tan especial es la transmisión del último bit del canto.

Los datos transmitidos a través del bus se codifican utilizando el método NRZI con la técnica de relleno de bits. Transcripción scho tse significa. Esto significa que cuando se transmite un bit cero, la señal en el bus cambiará en el otro lado, y si se redirige uno, la señal no cambiará. La inserción de bit vikoristovuyutsya para no perder la sincronización de una señal única monótona. La esencia del proceso de inserción es que se haga antes de que la piel 6 duerma uno en el dan, que el bit cero se transmita, se inserte, de inmediato, como es el significado del uno, avanzando detrás de todo el grupo de uno. (Si desea utilizar NRZI y la tecnología de personal de bit, podrá desarrollar un procedimiento especial para transferir los datos, que serán transferidos y aceptados).

Además, necesitamos calcular CRC5 y CRC16. Calculado por CRC en un tema, se ha escrito un informe al respecto. Y en el eje aquí se pueden encontrar procedimientos especiales para calcular nuestro CRC5 y CRC16.

Ahora hablemos del intervalo para verificar (recuerde, por un momento con la estructura de las transacciones, no hay muchos intervalos). Hablaremos del eje, los sonidos del hedor y ahora. Yak mi rozumієmo, la señal no está permitida para ir de dzherela al mittєvo de recepción. En primer lugar, traiga los cables, de una manera diferente, traiga los concentradores (apesta, como un pam'yata'mo, la culpa de recibir una señal de un dzherel y retransmitir una conexión); Tal vez sea Descho, bueno, nareshty , es necesario pensar que sí, pero el cliente es culpable de la madre por un día, para “comprender” el paquete, enviárselo a otra persona, que tiene la culpa del significado, etc.

En tal rango, el paquete en la parte superior de la lista no puede ser rechazado, por lo que se necesita una hora para "pensar" en el mensaje, y toda la cadena de transporte tarda una hora en "entregar" el mensaje. Desde un lado, no es posible comprobarlo de forma indefinida, pero no vendrás absorto.

Tom en Accesorios USB normalizar, en Pershe, "hora máxima de rotación de neumáticos"- una hora entera, por cualquier sentimiento de culpa, llegar a la recepción y volver al dzherel en el vipad más alto - cuando pasa el último después de 5 hubs (una hora para aquellos que quieren "entregar"), yo, en una diferente camino, "máxima visibilidad de los mensajes"- la hora máxima desde el final del EOP antes de la transferencia al paquete al final del mensaje (una hora para los que "piensan"). En los anexos, cuando se revisa el paquete, se lanzan temporizadores especiales, que brindan un intervalo que es suficiente para la formulación de tiempos de entrega, y si no es posible quitar una hora, es como una pausa.

Para FS, establezca el intervalo en intervalos de 16-18 bits, para HS: intervalos de 736-816 bits. La hora máxima, por la que soy culpable de pensar y tratar de decidir, es establecer intervalos de 7.5 bits para FS e intervalos de 192 bits para HS.

Bueno, si ya estamos hablando de intervalos de bits, la siguiente palabra es que la trivialidad del intervalo de bits para la velocidad LS se vuelve aproximadamente 667 ns (1.5 Mbps), para FS aproximadamente 83 ns, para HS aproximadamente 2 ns.

Todavía una comida más. ¿Ha visto hasta 4 identificadores de los paquetes de tributo? Estaban rompiendo todo el eje. Para transferencias del tipo bulk (massivi), control (keruyuchі) e interrumpir (interrumpir), la aceptación de la transferencia del paquete se debe a la transferencia de regreso a la fecha del paquete de confirmación. Se puede actualizar todo el paquete de confirmación (como el paquete en sí). Y si la confirmación de la transmisión exitosa del paquete de datos no fue rechazada, entonces la próxima transacción tendría que repetir el reenvío de la transmisión del paquete. Si levanta la luz, ya ha recortado los paquetes, puede usar los paquetes PID para poder usarlos. Los paquetes emparejados dominan desde PID Data0 y los paquetes no emparejados, desde PID Data1. En tal rango, habiendo recortado dos paquetes de datos con el mismo PID, se tomó la decisión, bueno, no es como datos nuevos, sino simplemente redirigir el paquete anterior, para que la transacción anterior no se elimine. el paquete de confirmación. Bit especial en el punto kintsev, al que se llamará vkazu, paquete de datos con yakim PID mi check Bit de palanca.

Garazd, desde Data0, Data1 todo está claro, pero ¿cuál es el PID Data2 y MData más exigente? Eso es lo mismo. El hedor le permite distribuir paquetes de datos en el medio del microcuadro para los puntos anchos recortados del isócrono (USB2.0).

Bueno, está bien leer sobre todas las transacciones y paquetes (que se agregarán más adelante), pasemos al nivel más bajo de implementación: la física.

Con un vistazo a la física en USB, todo es fácil de terminar. Para conectarse vía USB, se utilizan 4 dardos: + 5V, D +, D- y GND. Droti puede ser estándar kolіrne markuvannya: cable rojo - tse + 5V, negro - GND, verde - D +, bilium - D-.

Para la transmisión de bits, se utiliza una señal diferencial entre los cables D + y D-. Proporcionar + 5V y GND para ser utilizado para vivir en un anexo, así como para indicación de otras estaciones especiales (al mismo tiempo D + y D-).

En las líneas D + y D, el nivel alto aparece en la carga +3,3 (de 2,7 a 3,6).

Señal diferencial, para cualquier diferencia entre D + y D- más de 200 mV con igual esfuerzo en la línea D +> 2V, se llamará Diff1.

Señal diferencial, para cualquier diferencia entre D- y D + más de 200 mV con igual esfuerzo en la línea D-> 2V, se llamará Diff0.

Stan, si en ambas líneas de señal є es bajo, probablemente GND (D + SE0 (cero de un solo extremo).

Para identificar el rendimiento, se conecta una resistencia de 1,5 kOhmios al accesorio, que tira de una línea de señal a un nivel de señal alto (+ 3,3 V). Para extensiones LS, se debe tirar de la línea D, para extensiones FS / HS, se debe tirar de la línea D +.

Las señales Diff0 y Diff1 son códigos de la estación de autobuses, que se denominan J(estado de datos J) ta K(Estado de datos K). Para LS, mill J corresponde a la señal Diff0 y K mill corresponde a la señal Diff1. Para los navpacks FS / HS, J corresponde a la señal Diff1, K - a la señal Diff0.

El bus inactivo para LS / FS es adecuado para J trivial y HS es para SE0.

Conoceré la mazorca de transmisión y me tranquilizaré al campamento de K. Oskilki, el primero en enviar un bit cero (si la transmisión se repara a partir de la transmisión de sincronización), luego toda la mazorca, yo Enviaré un valor cero al siguiente bit, antes ...

Muy bien desde el mínimo:
incluir 18f2455 - biblioteca para Vikoristovy MK
--
enable_digital_io () - mezclando todas las entradas al modo digital
--
alias Botón es pin_B7 - siempre que un botón esté conectado a nosotros, es obvio її
pin_B7_direction = entrada - tenemos un botón para entrar
--
- una fila - todo es necesario para robots con USB CDC
incluir usb_serial - bibiloteka para robots con usb
--
usb_serial_init () - --inіtsіalіzuєmo USB CDC
bucle para siempre- El ciclo principal, vikonutsya permanentemente
usb_serial_flush () -- nuevo usb... Procedimiento qia del viconuє todo lo necesario
- por la ayuda de la PC
bucle final

Habiendo compilado el código, habiendo escrito el archivo HEX en el MK para un cargador de arranque adicional, y ejecutando el adjunto, se puede instalar un nuevo adjunto en el sistema: Com-port virtual.

Ahora, si pristіy pratsyu, seguramente lo hará spіlkuvatisya.

Para leer el byte recibido la función principal usb_serial_read ( byte ) : booleano. Para la obviedad del byte rechazado ganado, ingrese yogo en el cambio especificado y gire cierto, inakshe turn falso.

Para dominar el procedimiento byte isnuє usb_serial_data... Está enmascarado para un cambio, por lo que para una actualización de byte es suficiente con asignarle un valor de byte.

El tamaño de los bytes se puede cambiar al ciclo principal, en el ciclo principal, los bytes se invierten fácilmente y, debido a la claridad, se devuelven.

incluir 18f2455
--
enable_digital_io ()
--
alias Botón es pin_B7
pin_B7_direction = entrada
--
--
incluir usb_serial
--
usb_serial_init ()
var byte ch - Zminnu aturdido
bucle para siempre- Bucle principal
usb_serial_flush ()
si(usb_serial_read (ch)) luego- si se recortan los bytes, si hay registros para ch
usb_serial_data = ch - reenvío de bytes hacia atrás
terminara si
bucle final

Compilar, bloquear el botón, revisar el live, ejecutar el gestor de arranque, ejecutar el firmware, ejecutarlo.
Agregue nueva información al sistema, ahora necesitamos software para protestar contra el robot.

No me dejes tener mi propio terminal listo para la victoria: salgo victorioso en el programa RealTerm.
El puerto está abierto con un número requerido y un supervisor.



Y se nos ha pedido que presentemos aquellos que han sido corregidos. Otzhe, todo es genial.

Software

Además, nuestro microcontrolador puede tomar bytes y devolverlos inmediatamente. Ahora escribiremos un nuevo software para dividir con él (saldré victorioso para Delphi).

Este es un nuevo proyecto, que se distribuye en forma de los componentes necesarios:
SpinEdit1: para asignar un número de puerto
Button1 - para configurar el día
Button2 - para razriv z'єdnannya
SpinEdit2 - para el byte ingresado para la décima vista
Button3 - para enviar un byte
Memo1: para ver la información recibida.

Es como ya se dijo vishche, con un com-port es necesario hacer lo mismo, ya que es un archivo de texto extraordinario: las funciones vikoristovuchi CreateFile, WriteFile y ReadFile.

No entre en detalles, estoy listo para agregar una biblioteca para robots con un puerto com: ComPort.

Si desea usar el botón de máscara, deberá usarlo y aceptar el código:

unidad Unit1;

interfaz

Usos
Windows, Mensajes, SysUtils, Variantes, Clases, Gráficos, Controles, Formularios,
Diálogos, StdCtrls, Spin, ComPort;

Escribe
TForm1 = clase (TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
Button2: TButton;
SpinEdit2: TSpinEdit;
Button3: TButton;
Memo1: TMemo;
procedimiento OnRead (Sender: TObject; ReadBytes: matriz de Byte);
procedimiento Button1Click (Sender: TObject);
procedimiento Button2Click (Sender: TObject);
procedimiento FormDestroy (Sender: TObject);
procedimiento Button3Click (Remitente: TObject);
privado
(Declaraciones privadas)
Puerto: TComPort;
público
(Declaraciones públicas)
fin;

var
Form1: TForm1;
num: entero;
implementación

Procedimiento TForm1.Button1Click (Remitente: TObject);
empezar
Puerto: = TComPort.Create (SpinEdit1.Value, br115200); // abre la puerta
Port.OnRead: = OnRead; // La lectura de Storyuєmo potik recibió danikh
Button2.Enabled: = true; // botón activo cerrar z'єdnannya
fin;

Procedimiento TForm1.Button2Click (Remitente: TObject);
empezar
Port.Free; // acurrucado z'єdnannya
Button2.Enabled: = falso; // abre el botón
fin;

Procedimiento TForm1.Button3Click (Remitente: TObject);
empezar
si Button2.Enabled, entonces Port.Write ();
fin;

Procedimiento TForm1.FormDestroy (Remitente: TObject);
empezar
si Button2.Enabled entonces
Port.Free;
fin;

Procedimiento TForm1.OnRead (Remitente: TObject; ReadBytes: matriz de Byte);
var
i: número entero;
empezar
para i: = Low (ReadBytes) to High (ReadBytes) do // atravesado por la matriz de bytes recibidos
empezar
Memo1.Text: = Memo1.Text + "." + InttoHex (ReadBytes [i], 2); // valor de dodaєmo yogo HEX en vіkno
inc (num); // Vvazhaєmo número de bytes recibidos
fin;
si num> 10 entonces comience
Memo1.Lines.Add (""); // fila portátil
num: = 0;
fin;
fin;

Lanzamiento, lo instalaré día a día, desde el byte:

Ejecute y prepare nuestro terminal más simple para robots con los accesorios USB más simples.

Puede verse que la lectura y la escritura se muestran en matrices dinámicas de bytes.

Obroblyayuyu іnformuvanu información, es posible con el protocolo de intercambio necesario, adjunto al control de flujo.

incluir 18f2455
--
enable_digital_io ()
--
alias Botón es pin_B7
pin_B7_direction = entrada
--
--
incluir usb_serial
--
usb_serial_init ()
var byte ch
var byte I - amigo travieso zminnu
bucle para siempre- Bucle principal
usb_serial_flush ()
si(usb_serial_read (ch)) luego- cuántos bytes representa el vison
caso ch de - iterado sobre el número de bytes
0: usb_serial_data = 0xff
1: usb_serial_data = Botón - presionaré los botones
DE LO CONTRARIO cuadra- así como en ella
por 16 utilizando I círculo- cargado 10 bytes de datos
usb_serial_data = ch + i - de ch a ch +15
bucle final
bloque final
caso final
terminara si
bucle final

Oportunidades adicionales

Yaksho na tsyomu zupinitisya, viide zvichayna stattya z Descripción del reporte tope una biblioteca victoriana, que abunda en los espacios abiertos. Para ese maldito hay mucha información perdida.

Danikh descuido perdonado

No es manual editar la información un byte a la vez. Incluso más a menudo en esta biblioteca impresión... Puede vengarse de los procedimientos para supervisar las donaciones en diferentes formatos: byte, hexadecimal, dec, bin, boolean.
> incluir impresión
...
var dword datos
print_dword_hex (usb_serial_data, datos)

Los nombres de todos los comandos se pueden consultar en el archivo de la biblioteca.

Conexión Ochіkuvannya a PC

Antes del inicio del ciclo principal del microcontrolador, es necesario colocar los datos frente a la PC, puede agregar filas frente a ella
tiempo(usb_cdc_line_status () == 0x00) círculo
bucle final

Priv'yazuєmo para agregar el número al puerto

Si falta todo, el sistema, cuando se conecta una nueva máscara, verá el primer número de puerto válido. Y esto significa que después de él te encontrarás con una misión.
Para no poder verlo, es necesario asignar un valor único al número de serie antes de conectar la biblioteca usb:
El número puede ser como un regalo o una venganza del símbolo simbólico.
byte constante USB_STRING3 =
{
24 , - Dovzhina masivu
0x03, - bDescriptorType
"0" , 0x00,
"1" , 0x00,
"2" , 0x00,
"3" , 0x00,
"4" , 0x00,
"5" , 0x00,
"6" , 0x00,
"7" , 0x00,
"8" , 0x00,
"9" , 0x00,
"X".0x00
}

Lo adjuntaré a mi

Los cambios en el archivo adjunto, visibles en el sistema antes de que se instalen los controladores, se pueden número de serie, debe actualizar antes de conectar la biblioteca USB.
byte constante USB_STRING2 =
{
28 , --
0x03, - bDescriptorType
"D", 0x00,
"mi", 0x00,
"metro", 0x00,
"o", 0x00,
" " , 0x00,
"B", 0x00,
"o", 0x00,
"a", 0x00,
"r", 0x00,
"D", 0x00,
" " , 0x00,
"=" , 0x00,
")" .0x00
}


Pero es una lástima, al instalar los controladores, cambie el nombre en el especificado en el archivo .inf, por lo que es como si estuviera allí


DESCRIPTION = "Demo CDC"

Accesorio de conexión automática de Organizuumo

Es una pena que no haya líneas rectas de los nobles de la viconati, por lo que resultará ser astuto.

Primero, debe asignar su propio valor único al virobnik y al producto que se puede instalar fácilmente en medio de cientos de firmwares CDC estándar.
VID y PID se ven por dinero, es decir, por el camino de los chinos: un nicho en ambos.

Firmware:
El firmware requiere dos cambios antes de conectar la biblioteca USB

palabra constante USB_SERIAL_PRODUCT_ID = 0xFF10
palabra constante USB_SERIAL_VENDOR_ID = 0xFF10

Para reemplazar FF10, puede insertar dos palabras (2 bytes). El resultado de Kintsev se encontrará en los archivos para poder entregarlo.

Conductores:
Las oscilaciones del controlador no están asignadas a nuestra combinación de VID y PID, agregaré nuestro valor al archivo .inf a mano:


% DESCRIPTION% = DriverInstall, USB \ VID_FF10 y PID_FF10


% DESCRIPTION% = DriverInstall, USB \ VID_FF10 y PID_FF10

Software:
Para la conexión del complemento / conexión al archivo adjunto, conéctese a la biblioteca ComponentUSB. No me importa la necesidad de explicar la fila de aspectos: todos los cambios se pueden realizar en el proyecto, para que se puedan completar.

Resultado

En la pantalla, es plegable y el botón de actualización está activo solo en el momento en que está conectado al complemento, con 50 ms completos de piel, el programa se alimenta al botón rechazado (que, sin embargo, es incorrecto , porque la presión del botón no se aplica al MC).

Como puede ver, la organización del intercambio de datos entre MK y PC a través de USB no está muy ocupada. Otrymane z'єdnannya puede vikoristovuvati no solo para el final de la vida: es así para el programa perfecto. También envíe a la computadora los resultados de los proyectos, las tablas fluidas de los registros y las nuevas en el lugar, debajo de la morgue con un par de luces en código Morse.

Yo nasamkinets: el rajá mirará el código de la lámpara y establecerá el ambiente. Ahí puedes saber terminar opción garniy procesamiento de datos para la organización de un protocolo de intercambio manual.

¿Era digno de una estadía? ¡Hazte amigo de amigos!