Sei sulla pagina 1di 3

Detalles del problema

¿Puedo agregar un noveno bit de datos a mi


comunicación serial con los productos de National
Instruments?

Solución
Los protocolos en serie para ciertos instrumentos
utilizan un marco de fecha de 9 bits, en lugar de los 8
bits de datos más comunes y un bit de paridad. Sin
embargo, el UART en todos los productos en serie de
National Instruments solo admite de 5 a 8 bits de
datos, paridad par / impar / marca / espacio / ninguno
y bits de parada de 1 / 1.5 / 2. Como el UART no
admite 9 bits de datos directamente, no hay ninguna
disposición en el controlador para lograr esto.

Hay dos soluciones alternativas que puede usar para


comunicarse con 9 bits.

1. Use el bit de paridad como un noveno bit de datos:

Transmisión:
1. Deberá configurar el puerto para 8 bits de datos.
2. Para agregar un noveno bit a su transmisión,
deberá establecer explícitamente el bit de paridad
en Mark o Space para cada byte que se
transmita. Mark es un bit de alta paridad (1), y
Space es un bit de baja paridad (0).
Por ejemplo, si necesita transmitir binario 000100010,
transmitiría hexadecimal 0x88 y establecería la
paridad en Espacio. Si necesitara transmitir el binario
000100011, aún transmitiría el hexadecimal 0x88 pero
establecería la paridad en Mark. Tenga en cuenta que
cuando se muestra en binario, el bit menos
significativo es el bit más a la izquierda, ya que el bit
menos significativo se envía primero en la transmisión
en serie.

Recepción:
1. Configure el puerto para 8 bits de datos con la
comprobación de paridad habilitada, configurada
como Espacio o Marca.
2. Lee un byte a la vez.
3. Si obtiene algún error de paridad, sabe que el
noveno bit es lo contrario de lo que configuró.
4. Añade el bit apropiado.
Por ejemplo, supongamos que establece su paridad
como Espacio. Si lee en un byte y obtiene un error de
paridad, sabe que el noveno bit es Mark y puede
agregar el bit apropiado.

Un problema con esto es que en LabVIEW 7.0 y


versiones posteriores, cuando NI-VISA recibe un byte
de datos con paridad incorrecta, reemplaza
completamente los datos en serie con el carácter de
error, que por defecto es 0 . LabVIEW 6.1 y versiones
anteriores no reemplazan un byte de datos con un
byte de reemplazo de error de paridad. Puede cambiar
este comportamiento modificando el
archivo visaconf.ini .
Tenga en cuenta que si su instrumento solo necesita
recibir el noveno bit de datos para fines de
direccionamiento, pero nunca envía datos en el
noveno bit, solo debe configurar la paridad una vez a
lo que su instrumento espera.

Cómo modificar el archivo visaconf.ini para


deshabilitar el bit de reemplazo de error:

Para los usuarios de Windows XP, el


archivo visaconf.ini se encuentra en la
carpeta <Documentos y configuraciones> \
Todos los usuarios \ Datos de aplicación
\ National Instruments \ Nivisa .

Para los usuarios de Windows Vista o posterior, el


archivo visaconf.ini se encuentra en la
carpeta C: \ ProgramData \ National
Instruments \ NIvisa .

Agregue las siguientes líneas al archivo y guarde:

Potrebbero piacerti anche