FMUSER Wirless Trasmetti video e audio più facilmente!

[email protected] WhatsApp + 8618078869184
Lingua

    Come progettare un sistema di trasmissione vocale digitale con Ethernet?

     

    Questo articolo fornisce una soluzione di sistema di trasmissione vocale digitale Ethernet incorporata, che può facilmente realizzare la funzione di trasmissione regionale del sistema di trasmissione. Il sistema si basa sull'architettura del braccio e adotta il metodo di arbitraggio del terminale di riproduzione del sistema per controllare la realizzazione della trasmissione regionale e il contenuto della trasmissione può essere riprodotto e salvato contemporaneamente.

    Il sistema di trasmissione vocale digitale Ethernet si riferisce principalmente al sistema di trasmissione che utilizza Ethernet come mezzo di trasmissione per fornire servizi audio. Ethernet può essere utilizzato per risolvere il problema della trasmissione a lunga distanza di segnali vocali. Consente ai progettisti di creare una struttura di rete su larga scala per realizzare la trasmissione di migliaia di segnali vocali digitali su Ethernet, sfruttando appieno le risorse di rete esistenti, evitando il problema di creare ripetutamente linee e realizzando l'integrazione di reti di trasmissione e computer . Risolve i problemi di scarsa qualità del suono, suscettibilità alle interferenze, manutenzione e gestione complesse e scarsa interazione nei sistemi di trasmissione tradizionali. Allo stesso tempo, è possibile selezionare tutte, parte o aree specifiche per la trasmissione di gruppo direzionale, superando il limite che i sistemi di trasmissione tradizionali possono eseguire solo la trasmissione pubblica per tutte le aree. I sistemi esistenti di trasmissione vocale digitale Ethernet utilizzano principalmente segnali di controllo per controllare il terminale di trasmissione per entrare o uscire dal gruppo multicast nella realizzazione della funzione di trasmissione regionale. È necessario inviare un segnale di controllo per fare in modo che il terminale si unisca al gruppo multicast prima che la trasmissione possa essere realizzata. Oppure stabilire una complessa tabella di mappatura sul lato server per mantenere lo stato del terminale di riproduzione per ottenere la trasmissione regionale, che è più complicata da implementare.

    1 Progettazione strutturale

    Questo sistema adotta la struttura C / S, è composto da due parti dell'estremità del server del sistema di trasmissione e del terminale di trasmissione del sistema di trasmissione, come mostrato in Fig.1.

    Il server del sistema di trasmissione è implementato su un PC ed è un programma di raccolta, archiviazione e trasmissione di segnali vocali realizzato da VC ++. Questa parte raccoglie e memorizza il segnale vocale attraverso un microfono, quindi trasmette i dati vocali all'Ethernet tramite UDP per realizzare la funzione di trasmissione in rete dei dati vocali.

    Il terminale di riproduzione del sistema di trasmissione è un terminale integrato basato su LM3S8962, che può ricevere i pacchetti di dati vocali IP inviati da Ethernet, e il chip di decodifica audio MS6336 completa la conversione digitale / analogica e la riproduzione dei dati vocali

    2 Progettazione hardware del terminale di trasmissione del sistema di trasmissione

    Il chip di controllo principale del terminale di trasmissione del sistema di trasmissione adotta il microcontrollore LM3S8962 fornito da LuminaryMicro. Questa serie di chip è il primo controller basato su ARM CortexTM-M3 con un controller Ethernet integrato interno. È il primo chip ARM del settore che supporta Industrial Ethernet (IEEE) e può implementare facilmente le funzioni di rete.

    Il chip del decodificatore audio utilizza il chip MS6336 prodotto da MOSA. Il chip è un convertitore digitale-analogico audio stereo a 16 bit ei formati di ingresso digitale supportati sono Right Justifl-ed, Left Justified, I2S. L'interfaccia di controllo MS6336 adotta il bus I2C, l'interfaccia è facile da impostare. La parte DAC ha una corrente precisa e stabile, combinata con un eccellente metodo di decodifica simmetrica, in grado di riprodurre segnali audio di alta qualità.

    Il chip di controllo principale LM3S8962 è collegato all'interfaccia RJ45 tramite componenti magnetici e viene utilizzato per ricevere dati vocali dall'Ethernet. LM3S8962 fornisce segnali di controllo e segnali di dati vocali per il chip di decodifica audio MS6336. LM3S8962 supporta la funzione I2C. Le porte PB2 e PB3 forniscono rispettivamente i segnali di clock e dati I2C. Questi due pin possono essere collegati direttamente ai pin della funzione I2C dell'MS6336 ed è necessaria una resistenza di pull-up. LM3S8962 non supporta il formato di input dei dati richiesto da MS6336. Il formato di input dei dati di MS6336 nel sistema adotta I2S. Pertanto, per fornire dati vocali a MS6336, è necessario utilizzare il software della porta GPIO di LM3S8962 per simulare il formato di input dei dati I2S richiesto da MS6336. Nella progettazione, le porte PA5, PA6 e PA7 vengono utilizzate per simulare questa funzione. I tre pin corrispondono rispettivamente al segnale di selezione del canale I2S, al segnale di clock e al segnale dati. Collegare questi tre pin al pin della funzione I2S di MS6336.

    La struttura hardware del terminale di riproduzione del sistema di trasmissione vocale digitale Ethernet è mostrata nella Figura 2.

    3 Progettazione del software del sistema di trasmissione

    Il software del sistema di trasmissione è diviso in due parti: software del server del sistema di trasmissione e software del terminale di trasmissione.

    Questo design realizza la riproduzione in tempo reale dei dati vocali, quindi è necessario garantire le prestazioni in tempo reale della trasmissione dei dati vocali, ma i requisiti per l'integrità dei dati non sono troppo rigidi e una piccola quantità di perdita di pacchetti non influirà sul effetto di riproduzione generale, quindi i dati vocali del sistema La trasmissione adotta la modalità di trasmissione UDP. Allo stesso tempo, il sistema funziona nella rete locale e ci sono pochi utenti temporanei. Pertanto, l'allocazione dell'indirizzo IP statico viene adottata per semplificare la realizzazione del software del terminale di riproduzione.

    3.1 La raccolta, l'archiviazione e la trasmissione di dati vocali sul lato server del sistema di trasmissione

    La raccolta dei dati vocali viene implementata utilizzando le funzioni API audio WAVE di basso livello. Per non causare la perdita di dati vocali, il design utilizza il doppio buffering per memorizzare i dati vocali. Il processo di implementazione è mostrato nella Figura 3.

    Quando un buffer di registrazione è pieno, il sistema invia immediatamente un altro buffer di registrazione al dispositivo di registrazione per continuare la registrazione e il programma applicativo dovrebbe leggere i dati nel buffer di registrazione pieno ed elaborarli. Quindi chiama la funzione waveInAddBuffer per riassegnare il buffer al dispositivo di registrazione per il riciclaggio.

    Per evitare la perdita di dati vocali durante il processo di registrazione, non è sufficiente utilizzare semplicemente il doppio buffering. Va inoltre notato che quando un buffer è pieno, l'applicazione elaborerà i dati nel buffer e il secondo Il buffer viene utilizzato per la registrazione e il tempo di elaborazione dei dati deve essere inferiore al tempo necessario affinché il secondo buffer sia completo registrato, altrimenti il ​​primo buffer non è stato riassegnato al dispositivo di registrazione dopo che il secondo buffer è pieno, il che causerà la perdita di dati vocali. Quando la frequenza di campionamento del segnale vocale è grande, aumentare la dimensione del buffer in modo appropriato può risolvere efficacemente questo problema.

    Per salvare il contenuto della trasmissione per un uso successivo, è necessario salvare il contenuto della trasmissione in un file WAV. I file WAV hanno un formato di intestazione fisso. Prima di salvare i dati vocali, è necessario impostare l'intestazione del file WAV, altrimenti il ​​file WAV salvato non può essere riprodotto. Ogni volta che il buffer di registrazione è pieno, trova prima la fine del file WAV, quindi scrivi a turno i dati raccolti alla fine del file. Quando l'intero processo di trasmissione è terminato, tutti i dati vocali vengono salvati nel file WAV, realizzando l'archiviazione dei dati vocali.

    Quando un buffer di registrazione è pieno, è necessario inviare i dati vocali raccolti attraverso la rete. Nella progettazione, utilizza prima la classe Csocket per creare un socket, quindi devi solo incapsulare i dati raccolti in un pacchetto IP e inviarlo. La frequenza di campionamento del segnale vocale in questo design è di 44.1 kHz, doppio canale a 16 bit. Per evitare la perdita di dati vocali, la dimensione del buffer di registrazione è impostata su 1024B.

    3.2 Realizzazione di trasmissioni regionali

    Un'importante applicazione del sistema di trasmissione vocale digitale Ethernet non è solo quella di realizzare la trasmissione dell'intera area, ma anche di realizzare la funzione di trasmissione locale, cioè di trasmettere al terminale designato. Pertanto, il pacchetto multicast UDP viene utilizzato per la trasmissione di dati nella trasmissione di rete di pacchetti di dati IP voce. Utilizzando pacchetti multicast per trasmettere i dati, tutti i terminali inclusi nel gruppo nella rete locale possono ricevere i dati, realizzando l'intera area broadcast. Per realizzare la funzione di trasmissione locale, nel progetto viene aggiunta una struttura davanti ai dati vocali, come mostrato di seguito, e viene utilizzato un file di configurazione per memorizzare l'indirizzo IP di ciascun terminale del sistema.

    02 Progettazione hardware del terminale di trasmissione del sistema di trasmissione

    Il chip di controllo principale del terminale di trasmissione del sistema di trasmissione adotta il microcontrollore LM3S8962 fornito da LuminaryMicro. Questa serie di chip è il primo controller basato su ARM CortexTM-M3 con un controller Ethernet integrato interno. È il primo chip ARM del settore che supporta Industrial Ethernet (IEEE) e può implementare facilmente le funzioni di rete.

    Il chip del decodificatore audio utilizza il chip MS6336 prodotto da MOSA. Il chip è un convertitore digitale-analogico audio stereo a 16 bit ei formati di ingresso digitale supportati sono Right Justifl-ed, Left Justified, I2S. L'interfaccia di controllo MS6336 adotta il bus I2C, l'interfaccia è facile da impostare. La parte DAC ha una corrente precisa e stabile, combinata con un eccellente metodo di decodifica simmetrica, in grado di riprodurre segnali audio di alta qualità.

    Il chip di controllo principale LM3S8962 è collegato all'interfaccia RJ45 tramite componenti magnetici e viene utilizzato per ricevere dati vocali dall'Ethernet. LM3S8962 fornisce segnali di controllo e segnali di dati vocali per il chip di decodifica audio MS6336. LM3S8962 supporta la funzione I2C. Le porte PB2 e PB3 forniscono rispettivamente i segnali di clock e dati I2C. Questi due pin possono essere collegati direttamente ai pin della funzione I2C dell'MS6336 ed è necessaria una resistenza di pull-up. LM3S8962 non supporta il formato di input dei dati richiesto da MS6336. Il formato di input dei dati di MS6336 nel sistema adotta I2S. Pertanto, per fornire dati vocali a MS6336, è necessario utilizzare il software della porta GPIO di LM3S8962 per simulare il formato di input dei dati I2S richiesto da MS6336. Nella progettazione, le porte PA5, PA6 e PA7 vengono utilizzate per simulare questa funzione. I tre pin corrispondono rispettivamente al segnale di selezione del canale I2S, al segnale di clock e al segnale dati. Collegare questi tre pin al pin della funzione I2S di MS6336.

    La struttura hardware del terminale di riproduzione del sistema di trasmissione vocale digitale Ethernet è mostrata nella Figura 2.

     

    3 Progettazione del software del sistema di trasmissione

    Il software del sistema di trasmissione è diviso in due parti: software del server del sistema di trasmissione e software del terminale di trasmissione.

    Questo design realizza la riproduzione in tempo reale dei dati vocali, quindi è necessario garantire le prestazioni in tempo reale della trasmissione dei dati vocali, ma i requisiti per l'integrità dei dati non sono troppo rigidi e una piccola quantità di perdita di pacchetti non influirà sul effetto di riproduzione generale, quindi i dati vocali del sistema La trasmissione adotta la modalità di trasmissione UDP. Allo stesso tempo, il sistema funziona in una rete locale con meno utenti temporanei. Pertanto, l'allocazione dell'indirizzo IP statico viene adottata per semplificare la realizzazione del software del terminale di riproduzione.

    3.1 La raccolta, l'archiviazione e la trasmissione di dati vocali sul lato server del sistema di trasmissione

    La raccolta dei dati vocali viene implementata utilizzando le funzioni API audio WAVE di basso livello. Per non causare la perdita di dati vocali, il design utilizza il doppio buffering per memorizzare i dati vocali. Il processo di implementazione è mostrato nella Figura 3.

     

    Quando un buffer di registrazione è pieno, il sistema invia immediatamente un altro buffer di registrazione al dispositivo di registrazione per continuare la registrazione e il programma applicativo dovrebbe leggere i dati nel buffer di registrazione pieno ed elaborarli. Quindi chiama la funzione waveInAddBuffer per riassegnare il buffer al dispositivo di registrazione per il riciclaggio.

    Per evitare la perdita di dati vocali durante il processo di registrazione, non è sufficiente utilizzare semplicemente il doppio buffering. Va inoltre notato che quando un buffer è pieno, l'applicazione elaborerà i dati nel buffer e il secondo Il buffer viene utilizzato per la registrazione e il tempo di elaborazione dei dati deve essere inferiore al tempo necessario affinché il secondo buffer sia completo registrato, altrimenti il ​​primo buffer non è stato riassegnato al dispositivo di registrazione dopo che il secondo buffer è pieno, il che causerà la perdita di dati vocali. Quando la frequenza di campionamento del segnale vocale è grande, aumentare la dimensione del buffer in modo appropriato può risolvere efficacemente questo problema.

    Per salvare il contenuto della trasmissione per un uso successivo, è necessario salvare il contenuto della trasmissione in un file WAV. I file WAV hanno un formato di intestazione fisso. Prima di salvare i dati vocali, è necessario impostare l'intestazione del file WAV, altrimenti il ​​file WAV salvato non può essere riprodotto. Ogni volta che il buffer di registrazione è pieno, trova prima la fine del file WAV, quindi scrivi a turno i dati raccolti alla fine del file. Quando l'intero processo di trasmissione è terminato, tutti i dati vocali vengono salvati nel file WAV, realizzando l'archiviazione dei dati vocali.

    Quando un buffer di registrazione è pieno, è necessario inviare i dati vocali raccolti attraverso la rete. Nella progettazione, utilizza prima la classe Csocket per creare un socket, quindi devi solo incapsulare i dati raccolti in un pacchetto IP e inviarlo. La frequenza di campionamento del segnale vocale in questo design è di 44.1 kHz, doppio canale a 16 bit. Per evitare la perdita di dati vocali, la dimensione del buffer di registrazione è impostata su 1024B.

    3.2 Realizzazione di trasmissioni regionali

    Un'importante applicazione del sistema di trasmissione vocale digitale Ethernet non è solo quella di realizzare la trasmissione dell'intera area, ma anche di realizzare la funzione di trasmissione locale, cioè di trasmettere al terminale designato. Pertanto, il pacchetto multicast UDP viene utilizzato per la trasmissione di dati nella trasmissione di rete di pacchetti di dati IP voce. Utilizzando pacchetti multicast per trasmettere i dati, tutti i terminali inclusi nel gruppo nella rete locale possono ricevere i dati, realizzando l'intera area broadcast. Per realizzare la funzione di trasmissione locale, nel progetto viene aggiunta una struttura davanti ai dati vocali, come mostrato di seguito, e viene utilizzato un file di configurazione per memorizzare l'indirizzo IP di ciascun terminale del sistema.

    struttura STRING

    {Stringa IPNO1;

    Stringa IPNO2;

    ...

    Stringa IPNO9;

    Stringa IPNO10};

    Quando è necessario eseguire la trasmissione regionale su alcuni terminali, selezionare i numeri corrispondenti di questi terminali sul pannello del lato server del sistema di trasmissione (come mostrato in Figura 4). A questo punto, l'indirizzo IP del terminale selezionato viene letto dal file di configurazione e assegnato alla variabile corrispondente nella struttura. Quando il terminale riceve un pacchetto multicast IP, prima giudica se la struttura ha la stessa variabile del proprio indirizzo IP, se c'è, quindi i dati vengono ricevuti e riprodotti, in caso contrario i dati vengono scartati, realizzando così l'area Broadcast funzione. Rispetto al metodo di utilizzo di un segnale di controllo per controllare il terminale di riproduzione per entrare o uscire dal gruppo multicast o per mantenere dinamicamente una tabella di mappatura complessa per implementare la funzione di trasmissione regionale. Questo metodo non ha bisogno di controllare interattivamente il terminale di riproduzione prima di ogni trasmissione, né ha bisogno di tracciare dinamicamente lo stato del terminale. È sufficiente scrivere l'indirizzo IP corrispondente del terminale nel file di configurazione quando il terminale si collega al sistema per la prima volta. La funzione è semplice da implementare.

    3.3 La realizzazione del software del terminale di trasmissione del sistema di trasmissione

    Il terminale di trasmissione del sistema di trasmissione è diviso in due parti da realizzare, la parte di ricezione dei dati audio viene utilizzata per ricevere i dati vocali e memorizzare e inoltrare, e il decoder audio realizza la conversione D / A e la riproduzione del segnale vocale. La parte di ricezione dei dati audio adotta la programmazione Socket per ricevere i dati vocali dall'Ethernet. Dopo aver ricevuto il pacchetto di dati vocali, deve prima valutare se il pacchetto di dati è per se stesso. Il terminale confronta la variabile membro della struttura STRINGA nel pacchetto IP con il proprio indirizzo IP e se una qualsiasi variabile membro è uguale al proprio indirizzo IP, memorizza i dati nel pacchetto, altrimenti la scarta.

    I dati vocali vengono ricevuti e memorizzati in una coda circolare. A causa del disturbo della trasmissione dei dati UDP, i pacchetti di dati vocali devono essere ordinati dopo che i dati vocali sono stati ricevuti all'estremità di ricezione dei dati vocali per garantire l'elaborazione sequenziale dei dati vocali e il corretto ripristino del segnale vocale. Allo stesso tempo, per evitare il jitter della rete, i dati vengono elaborati ogni volta che ci sono almeno 5 pacchetti nella coda circolare.

    Il formato di input dei dati di MS6336 nel progetto adotta il formato I2S. Poiché LM3S8962 non supporta questo formato dati, la simulazione software viene adottata per realizzare la funzione I2S tramite la porta GPIO. Per ripristinare completamente il segnale vocale, è necessario assicurarsi che la temporizzazione del segnale I2S sia rigorosa e precisa e la conversione tra livelli alti e bassi sia implementata da un programma di ritardo. Il diagramma temporale I2S è mostrato nella Figura 5.

    La frequenza di clock del terminale di trasmissione del sistema di trasmissione è di 40 MHz e il tempo per inviare ciascun bit di dati è di 600 ns calcolato dalla frequenza di campionamento. LM3S8962 fornisce dati vocali a MS6336 e realizza la trasmissione seriale tramite la porta GPIO in base al punto di campionamento. Ogni punto di campionamento contiene quattro byte e il processo di invio dei dati di un punto di campionamento è mostrato nella Figura 6.

    4 Analisi dei risultati

    La dimensione del pacchetto di dati vocali trasmesso dal sistema tramite Ethernet è 1024B. Per evitare il jitter della rete, il terminale inizia a trasmettere quando riceve 5 pacchetti di dati. Il tempo di ritardo della trasmissione è di circa 30 ms, che soddisfa gli indicatori funzionali. Il lato server può controllare il lavoro di 10 terminali di trasmissione contemporaneamente. Selezionando il numero di terminale corrispondente sul lato server, è possibile realizzare con successo l'intera area broadcasting e le funzioni di broadcasting locale del sistema di broadcasting.

    Conclusione 5

    Partendo dalle effettive esigenze progettiamo e realizziamo un sistema di trasmissione vocale digitale Ethernet. I risultati sperimentali mostrano che il terminale di riproduzione del sistema decide se eseguire la trasmissione vocale per realizzare la trasmissione regionale è un modo semplice ed efficace per realizzare la trasmissione globale e la trasmissione regionale di segnali vocali. Il terminale del lettore di sistema adotta la simulazione del software della porta GPIO per realizzare la funzione I2S, che può realizzare con precisione la temporizzazione I2S, completare la trasmissione dei dati del segnale vocale e realizzare la trasmissione in tempo reale del segnale vocale. La struttura del design è ragionevole e può facilmente realizzare l'espansione delle funzioni, come la trasmissione temporale, la riproduzione di musica, la gestione remota, il monitoraggio in tempo reale, ecc. Questo design ha un importante significato pratico e fornisce una base per la risoluzione di trasmissioni Ethernet grandi e complesse sistemi.

     

     

     

     

    Elencare tutte le domande

    Nickname

    E-mail

    Domande

    Il nostro altro prodotto:

    Pacchetto di apparecchiature per stazioni radio FM professionali

     



     

    Soluzione IPTV per hotel

     


      Inserisci l'email per ricevere una sorpresa

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albanese
      ar.fmuser.org -> Arabo
      hy.fmuser.org -> Armenian
      az.fmuser.org -> Azerbaigiano
      eu.fmuser.org -> Basco
      be.fmuser.org -> bielorusso
      bg.fmuser.org -> Bulgaro
      ca.fmuser.org -> Catalano
      zh-CN.fmuser.org -> Cinese (semplificato)
      zh-TW.fmuser.org -> Cinese (Tradizionale)
      hr.fmuser.org -> croato
      cs.fmuser.org -> ceco
      da.fmuser.org -> danese
      nl.fmuser.org -> Olandese
      et.fmuser.org -> Estone
      tl.fmuser.org -> Filippino
      fi.fmuser.org -> finlandese
      fr.fmuser.org -> Francese
      gl.fmuser.org -> Galiziano
      ka.fmuser.org -> georgiano
      de.fmuser.org -> tedesco
      el.fmuser.org -> Greca
      ht.fmuser.org -> Creolo haitiano
      iw.fmuser.org -> Ebraico
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> Islandese
      id.fmuser.org -> Indonesiano
      ga.fmuser.org -> Irlandese
      it.fmuser.org -> Italiano
      ja.fmuser.org -> giapponese
      ko.fmuser.org -> coreano
      lv.fmuser.org -> Lettone
      lt.fmuser.org -> Lithuanian
      mk.fmuser.org -> Macedone
      ms.fmuser.org -> Malese
      mt.fmuser.org -> Maltese
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> persiano
      pl.fmuser.org -> polacco
      pt.fmuser.org -> portoghese
      ro.fmuser.org -> Romeno
      ru.fmuser.org -> Russo
      sr.fmuser.org -> Serbo
      sk.fmuser.org -> slovacco
      sl.fmuser.org -> Sloveno
      es.fmuser.org -> spagnolo
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> svedese
      th.fmuser.org -> Thai
      tr.fmuser.org -> turco
      uk.fmuser.org -> Ucraino
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnamita
      cy.fmuser.org -> Gallese
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless Trasmetti video e audio più facilmente!

  • Contatti

    Indirizzo:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Cina 510620

    E-mail:
    [email protected]

    Telefono/WhatApp:
    + 8618078869184

  • Categorie

  • Newsletter

    NOME PRIMO O COMPLETO

    E-mail

  • soluzione paypal  Western UnionBanca di Cina
    E-mail:[email protected]   WhatsApp: +8618078869184 Skype: sky198710021 Chatta con me
    Copyright 2006-2020 Powered By www.fmuser.org

    Contatti