FMUSER ¡Transmite video y audio sin cables más fácilmente!

[email protected] WhatsApp + 8618078869184
Idioma

    ¿Cómo diseñar un sistema de transmisión de voz digital con Ethernet?

     

    Este artículo proporciona una solución de sistema de transmisión de voz digital Ethernet integrada, que puede realizar fácilmente la función de transmisión regional del sistema de transmisión. El sistema se basa en la arquitectura del brazo y adopta el método de arbitraje terminal de reproducción del sistema para controlar la realización de la transmisión regional, y el contenido de la transmisión se puede reproducir y guardar simultáneamente.

    El sistema de transmisión de voz digital Ethernet se refiere principalmente al sistema de transmisión que utiliza Ethernet como medio de transmisión para proporcionar servicios de audio. Ethernet se puede utilizar para resolver el problema de la transmisión de señales de voz a larga distancia. Permite a los diseñadores crear una estructura de red a gran escala para realizar la transmisión de miles de señales de voz digitales en Ethernet, haciendo un uso completo de los recursos de red existentes, evitando el problema de configurar líneas repetidamente y realizando la integración de redes de transmisión e informática . Resuelve los problemas de mala calidad de sonido, susceptibilidad a interferencias, mantenimiento y gestión complejos y mala interacción en los sistemas de radiodifusión tradicionales. Al mismo tiempo, es posible seleccionar todas, parte o áreas específicas para la transmisión grupal direccional, lo que rompe la limitación de que los sistemas de transmisión tradicionales solo pueden realizar transmisiones públicas para todas las áreas. Los sistemas de transmisión de voz digital Ethernet existentes utilizan principalmente señales de control para controlar que el terminal de transmisión se una o abandone el grupo de multidifusión al realizar la función de transmisión regional. Es necesario enviar una señal de control para que el terminal se una al grupo de multidifusión antes de que se pueda realizar la transmisión. , O establecer una tabla de mapeo compleja en el lado del servidor para mantener el estado del terminal de reproducción para lograr la transmisión regional, que es más complicado de implementar.

    1 Diseño estructural

    Este sistema adopta una estructura C / S, se compone de dos partes del extremo del servidor del sistema de transmisión y el terminal de transmisión del sistema de transmisión, como se muestra en la Fig.1.

    El servidor del sistema de transmisión está implementado en una PC y es un programa de recolección, almacenamiento y transmisión de señales de voz realizado por VC ++. Esta parte recopila y almacena la señal de voz a través de un micrófono y luego transmite los datos de voz a Ethernet a través de UDP para realizar la función de transmisión de red de datos de voz.

    El terminal de reproducción del sistema de transmisión es un terminal integrado basado en LM3S8962, que puede recibir los paquetes de datos de voz IP que se le envían desde Ethernet, y el chip de decodificación de audio MS6336 completa la conversión y reproducción digital / analógica de los datos de voz.

    2 Diseño de hardware del terminal de transmisión del sistema de transmisión

    El chip de control principal del terminal de transmisión del sistema de transmisión adopta el microcontrolador LM3S8962 proporcionado por LuminaryMicro. Esta serie de chips es el primer controlador basado en ARM CortexTM-M3 con un controlador Ethernet integrado interno. Es el primer chip ARM de la industria que admite Industrial Ethernet (IEEE) y puede implementar fácilmente funciones de red.

    El chip decodificador de audio utiliza el chip MS6336 producido por MOSA. El chip es un convertidor de digital a analógico de audio estéreo de 16 bits, y los formatos de entrada digital admitidos son Justifl-ed a la derecha, Justificar a la izquierda, I2S. La interfaz de control MS6336 adopta el bus I2C, la interfaz es fácil de configurar. La parte DAC tiene una corriente precisa y estable, combinada con un excelente método de decodificación simétrica, puede reproducir señales de audio de alta calidad.

    El chip de control principal LM3S8962 está conectado a la interfaz RJ45 a través de componentes magnéticos y se utiliza para recibir datos de voz desde Ethernet. LM3S8962 proporciona señales de control y señales de datos de voz para el chip decodificador de audio MS6336. LM3S8962 admite la función I2C. Los puertos PB2 y PB3 proporcionan señales de datos y reloj I2C respectivamente. Estos dos pines se pueden conectar directamente a los pines de función I2C de MS6336 y se requiere una resistencia pull-up. LM3S8962 no admite el formato de entrada de datos requerido por MS6336. El formato de entrada de datos de MS6336 en el sistema adopta I2S. Por lo tanto, para proporcionar datos de voz a MS6336, es necesario utilizar el software de puerto GPIO de LM3S8962 para simular el formato de entrada de datos I2S requerido por MS6336. En el diseño, los puertos PA5, PA6 y PA7 se utilizan para simular esta función. Los tres pines corresponden a la señal de selección de canal I2S, la señal de reloj y la señal de datos, respectivamente. Conecte estos tres pines al pin de función I2S de MS6336.

    La estructura de hardware del terminal de reproducción del sistema de transmisión de voz digital Ethernet se muestra en la Figura 2.

    3 Diseño de software de sistemas de radiodifusión

    El software del sistema de transmisión se divide en dos partes: el software del servidor del sistema de transmisión y el software del terminal de transmisión.

    Este diseño realiza la reproducción en tiempo real de datos de voz, por lo que se requiere garantizar el rendimiento en tiempo real de la transmisión de datos de voz, pero los requisitos para la integridad de los datos no son demasiado estrictos y una pequeña cantidad de pérdida de paquetes no afectará al Efecto de reproducción general, por lo que los datos de voz del sistema La transmisión adopta el modo de transmisión UDP. Al mismo tiempo, el sistema funciona en la red de área local y hay pocos usuarios temporales. Por lo tanto, se adopta la asignación de dirección IP estática para simplificar la realización del software del terminal de reproducción.

    3.1 La recopilación, almacenamiento y transmisión de datos de voz en el lado del servidor del sistema de transmisión

    La recopilación de datos de voz se implementa utilizando funciones API de audio WAVE de bajo nivel. Para no causar la pérdida de datos de voz, el diseño utiliza doble búfer para almacenar datos de voz. El proceso de implementación se muestra en la Figura 3.

    Cuando un búfer de grabación está lleno, el sistema envía inmediatamente otro búfer de grabación al dispositivo de grabación para continuar grabando, y el programa de aplicación debe leer los datos en el búfer de grabación completo y procesarlos. Luego llame a la función waveInAddBuffer para reasignar el búfer al dispositivo de grabación para su reciclaje.

    Para evitar la pérdida de datos de voz en el proceso de grabación, no basta con utilizar el doble búfer. También debe tenerse en cuenta que cuando un búfer está lleno, la aplicación procesará los datos en el búfer y el segundo. El búfer se usa para grabar, y el tiempo de procesamiento de datos debe ser menor que el tiempo requerido para que el segundo búfer esté completamente grabado, de lo contrario, el primer búfer no se ha reasignado al dispositivo de grabación después de que el segundo búfer esté lleno, lo que provocará la pérdida de datos de voz. Cuando la frecuencia de muestreo de la señal de voz es grande, aumentar el tamaño de la memoria intermedia de manera adecuada puede resolver este problema de manera eficaz.

    Para guardar el contenido de la transmisión para su uso posterior, es necesario guardar el contenido de la transmisión en un archivo WAV. Los archivos WAV tienen un formato de encabezado fijo. Antes de guardar los datos de voz, debe configurar el encabezado del archivo WAV; de lo contrario, el archivo WAV guardado no se podrá reproducir. Cada vez que el búfer de grabación esté lleno, primero busque el final del archivo WAV y luego escriba los datos recopilados al final del archivo. Cuando finaliza todo el proceso de transmisión, todos los datos de voz se guardan en el archivo WAV, realizando el almacenamiento de los datos de voz.

    Cuando un búfer de grabación está lleno, es necesario enviar los datos de voz recopilados a través de la red. En el diseño, primero use la clase Csocket para crear un socket, y luego solo necesita encapsular los datos recopilados en un paquete IP y enviarlo. La frecuencia de muestreo de la señal de voz en este diseño es 44.1 kHz, doble canal de 16 bits. Para evitar la pérdida de datos de voz, el tamaño del búfer de grabación se establece en 1024B.

    3.2 Realización de radiodifusión regional

    Una aplicación importante del sistema de transmisión de voz digital Ethernet es no solo realizar la transmisión de toda el área, sino también realizar la función de transmisión local, es decir, transmitir al terminal designado. Por lo tanto, el paquete de multidifusión UDP se utiliza para la transmisión de datos en la transmisión de red de paquetes de datos IP de voz. Usando paquetes de multidifusión para transmitir datos, todos los terminales incluidos en el grupo en la red de área local pueden recibir los datos, realizando la transmisión de área completa. Para realizar la función de transmisión local, se agrega una estructura delante de los datos de voz en el diseño, como se muestra a continuación, y se utiliza un archivo de configuración para almacenar la dirección IP de cada terminal del sistema.

    02 Diseño del hardware del terminal de radiodifusión del sistema de radiodifusión

    El chip de control principal del terminal de transmisión del sistema de transmisión adopta el microcontrolador LM3S8962 proporcionado por LuminaryMicro. Esta serie de chips es el primer controlador basado en ARM CortexTM-M3 con un controlador Ethernet integrado interno. Es el primer chip ARM de la industria que admite Industrial Ethernet (IEEE) y puede implementar fácilmente funciones de red.

    El chip decodificador de audio utiliza el chip MS6336 producido por MOSA. El chip es un convertidor de digital a analógico de audio estéreo de 16 bits, y los formatos de entrada digital admitidos son Justifl-ed a la derecha, Justificar a la izquierda, I2S. La interfaz de control MS6336 adopta el bus I2C, la interfaz es fácil de configurar. La parte DAC tiene una corriente precisa y estable, combinada con un excelente método de decodificación simétrica, puede reproducir señales de audio de alta calidad.

    El chip de control principal LM3S8962 está conectado a la interfaz RJ45 a través de componentes magnéticos y se utiliza para recibir datos de voz desde Ethernet. LM3S8962 proporciona señales de control y señales de datos de voz para el chip decodificador de audio MS6336. LM3S8962 admite la función I2C. Los puertos PB2 y PB3 proporcionan señales de datos y reloj I2C respectivamente. Estos dos pines se pueden conectar directamente a los pines de función I2C de MS6336 y se requiere una resistencia pull-up. LM3S8962 no admite el formato de entrada de datos requerido por MS6336. El formato de entrada de datos de MS6336 en el sistema adopta I2S. Por lo tanto, para proporcionar datos de voz a MS6336, es necesario utilizar el software de puerto GPIO de LM3S8962 para simular el formato de entrada de datos I2S requerido por MS6336. En el diseño, los puertos PA5, PA6 y PA7 se utilizan para simular esta función. Los tres pines corresponden a la señal de selección de canal I2S, la señal de reloj y la señal de datos, respectivamente. Conecte estos tres pines al pin de función I2S de MS6336.

    La estructura de hardware del terminal de reproducción del sistema de transmisión de voz digital Ethernet se muestra en la Figura 2.

     

    3 Diseño de software de sistemas de radiodifusión

    El software del sistema de transmisión se divide en dos partes: el software del servidor del sistema de transmisión y el software del terminal de transmisión.

    Este diseño realiza la reproducción en tiempo real de datos de voz, por lo que se requiere garantizar el rendimiento en tiempo real de la transmisión de datos de voz, pero los requisitos para la integridad de los datos no son demasiado estrictos y una pequeña cantidad de pérdida de paquetes no afectará al Efecto de reproducción general, por lo que los datos de voz del sistema La transmisión adopta el modo de transmisión UDP. Al mismo tiempo, el sistema funciona en una red de área local con menos usuarios temporales. Por lo tanto, se adopta la asignación de direcciones IP estáticas para simplificar la realización del software del terminal de reproducción.

    3.1 La recopilación, almacenamiento y transmisión de datos de voz en el lado del servidor del sistema de transmisión

    La recopilación de datos de voz se implementa utilizando funciones API de audio WAVE de bajo nivel. Para no causar la pérdida de datos de voz, el diseño utiliza doble búfer para almacenar datos de voz. El proceso de implementación se muestra en la Figura 3.

     

    Cuando un búfer de grabación está lleno, el sistema envía inmediatamente otro búfer de grabación al dispositivo de grabación para continuar grabando, y el programa de aplicación debe leer los datos en el búfer de grabación completo y procesarlos. Luego llame a la función waveInAddBuffer para reasignar el búfer al dispositivo de grabación para su reciclaje.

    Para evitar la pérdida de datos de voz en el proceso de grabación, no basta con utilizar el doble búfer. También debe tenerse en cuenta que cuando un búfer está lleno, la aplicación procesará los datos en el búfer y el segundo. El búfer se usa para grabar, y el tiempo de procesamiento de datos debe ser menor que el tiempo requerido para que el segundo búfer esté completamente grabado, de lo contrario, el primer búfer no se ha reasignado al dispositivo de grabación después de que el segundo búfer esté lleno, lo que provocará la pérdida de datos de voz. Cuando la frecuencia de muestreo de la señal de voz es grande, aumentar el tamaño de la memoria intermedia de manera adecuada puede resolver este problema de manera eficaz.

    Para guardar el contenido de la transmisión para su uso posterior, es necesario guardar el contenido de la transmisión en un archivo WAV. Los archivos WAV tienen un formato de encabezado fijo. Antes de guardar los datos de voz, debe configurar el encabezado del archivo WAV; de lo contrario, el archivo WAV guardado no se podrá reproducir. Cada vez que el búfer de grabación esté lleno, primero busque el final del archivo WAV y luego escriba los datos recopilados al final del archivo. Cuando finaliza todo el proceso de transmisión, todos los datos de voz se guardan en el archivo WAV, realizando el almacenamiento de los datos de voz.

    Cuando un búfer de grabación está lleno, es necesario enviar los datos de voz recopilados a través de la red. En el diseño, primero use la clase Csocket para crear un socket, y luego solo necesita encapsular los datos recopilados en un paquete IP y enviarlo. La frecuencia de muestreo de la señal de voz en este diseño es 44.1 kHz, doble canal de 16 bits. Para evitar la pérdida de datos de voz, el tamaño del búfer de grabación se establece en 1024B.

    3.2 Realización de radiodifusión regional

    Una aplicación importante del sistema de transmisión de voz digital Ethernet es no solo realizar la transmisión de toda el área, sino también realizar la función de transmisión local, es decir, transmitir al terminal designado. Por lo tanto, el paquete de multidifusión UDP se utiliza para la transmisión de datos en la transmisión de red de paquetes de datos IP de voz. Usando paquetes de multidifusión para transmitir datos, todos los terminales incluidos en el grupo en la red de área local pueden recibir los datos, realizando la transmisión de área completa. Para realizar la función de transmisión local, se agrega una estructura delante de los datos de voz en el diseño, como se muestra a continuación, y se utiliza un archivo de configuración para almacenar la dirección IP de cada terminal del sistema.

    estructura STRING

    {Cadena IPNO1;

    Cadena IPNO2;

    ...

    Cadena IPNO9;

    Cadena IPNO10};

    Cuando sea necesario realizar transmisiones regionales en ciertos terminales, seleccione los números correspondientes de estos terminales en el panel del lado del servidor del sistema de transmisión (como se muestra en la Figura 4). En este momento, la dirección IP del terminal seleccionado se lee del archivo de configuración y se asigna a la variable correspondiente en la estructura. Cuando el terminal recibe un paquete de multidifusión IP, primero juzga si la estructura tiene la misma variable que su propia dirección IP, si la hay, luego se reciben y reproducen los datos, si no, los datos se descartan, realizando así el área de Difusión función. Comparado con el método de usar una señal de control para controlar el terminal de reproducción para unirse o salir del grupo de multidifusión, o para mantener dinámicamente una tabla de mapeo compleja para implementar la función de transmisión regional. Este método no necesita controlar de forma interactiva el terminal de reproducción antes de cada emisión, ni tampoco necesita realizar un seguimiento dinámico del estado del terminal. Solo necesita escribir la dirección IP correspondiente del terminal en el archivo de configuración cuando el terminal se une al sistema por primera vez. La función es sencilla de implementar.

    3.3 La realización del software de terminal de transmisión del sistema de transmisión

    El terminal de transmisión del sistema de transmisión se divide en dos partes para realizar, la parte de recepción de datos de audio se usa para recibir los datos de voz y almacenarlos y reenviarlos, y el decodificador de audio realiza la conversión D / A y la reproducción de la señal de voz. La parte receptora de datos de audio adopta la programación de Socket para recibir datos de voz desde Ethernet. Después de recibir el paquete de datos de voz, primero debe juzgar si el paquete de datos es para sí mismo. El terminal compara la variable miembro de la estructura struct STRING en el paquete IP con su propia dirección IP, y si alguna variable miembro es igual a su propia dirección IP, almacena los datos en el paquete; de ​​lo contrario, los descarta.

    Los datos de voz se reciben y almacenan en una cola circular. Debido al desorden de la transmisión de datos UDP, los paquetes de datos de voz deben clasificarse después de recibir los datos de voz en el extremo receptor de datos de voz para garantizar el procesamiento secuencial de los datos de voz y la correcta restauración de la señal de voz. Al mismo tiempo, para evitar la fluctuación de la red, los datos se procesan cada vez que hay al menos 5 paquetes en la cola circular.

    El formato de entrada de datos de MS6336 en el diseño adopta el formato I2S. Debido a que LM3S8962 no admite este formato de datos, se adopta la simulación de software para realizar la función I2S a través del puerto GPIO. Para restaurar completamente la señal de voz, es necesario asegurarse de que la sincronización de la señal I2S sea estricta y precisa, y que la conversión entre niveles altos y bajos se implemente mediante un programa de retardo. El diagrama de tiempos de I2S se muestra en la Figura 5.

    La frecuencia de reloj del terminal de transmisión del sistema de transmisión es de 40 MHz y el tiempo para enviar cada bit de datos es de 600 ns calculado a partir de la frecuencia de muestreo. LM3S8962 proporciona datos de voz a MS6336 y realiza la transmisión en serie a través del puerto GPIO según el punto de muestreo. Cada punto de muestreo contiene cuatro bytes y el proceso de envío de datos de un punto de muestreo se muestra en la Figura 6.

    4 Análisis de resultados

    El tamaño del paquete de datos de voz transmitido por el sistema a través de Ethernet es 1024B. Para evitar la fluctuación de la red, el terminal comienza a transmitir cuando recibe 5 paquetes de datos. El tiempo de retardo de la transmisión es de unos 30 ms, que cumple con los indicadores funcionales. El lado del servidor puede controlar el trabajo de 10 terminales de radiodifusión al mismo tiempo. Al seleccionar el número de terminal correspondiente en el lado del servidor, se pueden realizar con éxito todas las funciones de radiodifusión local y de radiodifusión del sistema de radiodifusión.

    Conclusión 5

    Partiendo de las necesidades reales, diseñamos e implementamos un sistema de transmisión de voz digital Ethernet. Los resultados experimentales muestran que el terminal de reproducción del sistema decide si realizar la transmisión de voz para realizar la transmisión regional es una forma simple y eficaz de realizar la transmisión global y la transmisión regional de señales de voz. El terminal del reproductor del sistema adopta la simulación de software de puerto GPIO para realizar la función I2S, que puede realizar con precisión la sincronización I2S, completar la transmisión de datos de la señal de voz y realizar la transmisión en tiempo real de la señal de voz. La estructura de diseño es razonable y puede realizar fácilmente la expansión de funciones, como transmisión de tiempo, reproducción de música, administración remota, monitoreo en tiempo real, etc. Este diseño tiene una importancia práctica importante y proporciona una base para resolver transmisiones Ethernet grandes y complejas. sistemas.

     

     

     

     

    Una lista de todas pregunta

    Apodo

    Correo electrónico

    Preguntas

    Nuestro otro producto:

    Paquete de equipo de estación de radio FM profesional

     



     

    Solución de IPTV para hoteles

     


      Ingrese el correo electrónico para recibir una sorpresa

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikáans
      sq.fmuser.org -> albanés
      ar.fmuser.org -> árabe
      hy.fmuser.org -> Armenio
      az.fmuser.org -> azerbaiyano
      eu.fmuser.org -> Vasco
      be.fmuser.org -> bielorruso
      bg.fmuser.org -> Bulgaria
      ca.fmuser.org -> catalán
      zh-CN.fmuser.org -> chino (simplificado)
      zh-TW.fmuser.org -> Chino (tradicional)
      hr.fmuser.org -> croata
      cs.fmuser.org -> checo
      da.fmuser.org -> danés
      nl.fmuser.org -> Holandés
      et.fmuser.org -> estonio
      tl.fmuser.org -> filipino
      fi.fmuser.org -> finlandés
      fr.fmuser.org -> Francés
      gl.fmuser.org -> gallego
      ka.fmuser.org -> georgiano
      de.fmuser.org -> alemán
      el.fmuser.org -> Griego
      ht.fmuser.org -> criollo haitiano
      iw.fmuser.org -> hebreo
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> islandés
      id.fmuser.org -> indonesio
      ga.fmuser.org -> irlandés
      it.fmuser.org -> Italiano
      ja.fmuser.org -> japonés
      ko.fmuser.org -> coreano
      lv.fmuser.org -> letón
      lt.fmuser.org -> Lituania
      mk.fmuser.org -> macedonio
      ms.fmuser.org -> malayo
      mt.fmuser.org -> maltés
      no.fmuser.org -> Noruega
      fa.fmuser.org -> persa
      pl.fmuser.org -> polaco
      pt.fmuser.org -> portugués
      ro.fmuser.org -> Rumano
      ru.fmuser.org -> ruso
      sr.fmuser.org -> serbio
      sk.fmuser.org -> eslovaco
      sl.fmuser.org -> Eslovenia
      es.fmuser.org -> español
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> sueco
      th.fmuser.org -> Tailandés
      tr.fmuser.org -> turco
      uk.fmuser.org -> ucraniano
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnamita
      cy.fmuser.org -> galés
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER ¡Transmite video y audio sin cables más fácilmente!

  • Contacto

    Dirección:
    Habitación No.305 Edificio HuiLan No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [email protected]

    Teléfono / WhatApps:
    +8618078869184

  • Categorías

  • Newsletter

    PRIMER O NOMBRE COMPLETO

    E-mail

  • solución paypal  Western UnionBanco de China
    E-mail:[email protected]   WhatsApp: +8618078869184 Skype: sky198710021 Chatear conmigo
    Los derechos de autor 2006 2020-accionada por el www.fmuser.org

    Contáctenos