FMUSER Wirless Overfør video og lyd enklere!

[e-postbeskyttet] WhatsApp + 8618078869184
Språk

    Hvordan designe et digitalt stemmesendingssystem med Ethernet?

     

    Denne artikkelen gir en innebygd Ethernet digital stemme kringkastingssystem løsning, som enkelt kan realisere den regionale kringkastingsfunksjonen til kringkastingssystemet. Systemet er basert på armarkitekturen og vedtar metoden for systemavspilling terminal voldgift for å kontrollere realiseringen av regional kringkasting, og kringkastingsinnholdet kan spilles og lagres samtidig.

    Ethernet digitale talesendingssystem refererer hovedsakelig til kringkastingssystemet som bruker Ethernet som overføringsmedium for å tilby lydtjenester. Ethernet kan brukes til å løse problemet med langdistanseoverføring av talesignaler. Tillater designere å lage en storstilt nettverksstruktur for å realisere overføring av tusenvis av digitale talesignaler på Ethernet, ved å utnytte eksisterende nettverksressurser fullt ut, unngå problemer med gjentatte ganger å sette opp linjer og realisere integrasjonen av kringkastings- og datanettverk. . Det løser problemene med dårlig lydkvalitet, mottakelighet for forstyrrelser, komplekst vedlikehold og administrasjon, og dårlig interaksjon i tradisjonelle kringkastingssystemer. Samtidig er det mulig å velge alle, deler eller spesifikke områder for retningsbestemt gruppesending, noe som bryter gjennom begrensningen at tradisjonelle kringkastingssystemer bare kan utføre offentlig kringkasting for alle områder. Eksisterende Ethernet digitale talesendingssystemer bruker for det meste styresignaler for å kontrollere kringkastingsterminalen for å bli med eller forlate multicast-gruppen for å realisere den regionale kringkastingsfunksjonen. Det er nødvendig å sende et styresignal for å få terminalen til å bli med i multicast-gruppen før kringkasting kan realiseres. , Eller opprett en kompleks kartleggingstabell på serversiden for å opprettholde tilstanden til avspillingsterminalen for å oppnå regional kringkasting, som er mer komplisert å implementere.

    1 Strukturell utforming

    Dette systemet vedtar C / S-struktur, består av to deler av kringkastingssystemserverenden og kringkastingssystemets kringkastingsterminal, som vist i figur 1.

    Serveren til kringkastingssystemet er implementert på en PC, og det er et program for stemmesignalinnsamling, lagring og nettverksoverføring realisert av VC ++. Denne delen samler og lagrer stemmesignalet gjennom en mikrofon, og overfører deretter taledataene til Ethernet via UDP for å realisere nettverksoverføringsfunksjonen til taledata.

    Kringkastingssystemavspillingsterminalen er en innebygd terminal basert på LM3S8962, som kan motta IP-stemmedatapakker sendt til den fra Ethernet, og lydavkodningsbrikken MS6336 fullfører digital / analog konvertering og avspilling av taledata

    2 Broadcast-system kringkasting terminal maskinvare design

    Hovedkontrollbrikken til kringkastingsterminalen for kringkastingssystemet vedtar mikrokontrolleren LM3S8962 levert av LuminaryMicro. Denne brikkeserien er den første ARM CortexTM-M3-baserte kontrolleren med en intern integrert Ethernet-kontroller. Det er bransjens første ARM-brikke som støtter Industrial Ethernet (IEEE) og som enkelt kan implementere nettverksfunksjoner.

    Lyddekoderbrikken bruker MS6336-brikken produsert av MOSA. Brikken er en 16-bit stereolyd digital-til-analog-omformer, og de støttede digitale inngangsformatene er Right Justifl-ed, Left Justified, I2S. MS6336 kontrollgrensesnitt vedtar I2C-buss, grensesnittet er enkelt å sette. DAC-delen har nøyaktig og stabil strøm, kombinert med en utmerket symmetrisk dekodingsmetode, kan gjengi lydsignaler av høy kvalitet.

    Hovedkontrollbrikken LM3S8962 er koblet til RJ45-grensesnittet gjennom magnetiske komponenter, og brukes til å motta taledata fra Ethernet. LM3S8962 gir styresignaler og taledatasignaler for lyddekoderbrikken MS6336. LM3S8962 støtter I2C-funksjon. PB2 og PB3 porter gir henholdsvis I2C klokke og datasignaler. Disse to pinnene kan kobles direkte til I2C-funksjonspinnene til MS6336, og det kreves en motstand mot trekk. LM3S8962 støtter ikke datainndataformatet som kreves av MS6336. Datainndataformatet MS6336 i systemet vedtar I2S. Derfor, for å skaffe taledata til MS6336, er det nødvendig å bruke GPIO-portprogramvare til LM3S8962 for å simulere I2S-datainnformat som kreves av MS6336. I designet brukes PA5-, PA6- og PA7-porter for å simulere denne funksjonen. De tre pinnene tilsvarer henholdsvis I2S kanalvalg signal, klokkesignal og datasignal. Koble disse tre pinnene til I2S-funksjonstappen til MS6336.

    Maskinvarestrukturen til avspillingsterminalen til Ethernet digitale talesendingssystem er vist i figur 2.

    3 Programvare for kringkastingssystem

    Kringkastingsprogramvaren er delt inn i to deler: programvare for kringkastingssystemserver og programvare for kringkastingsterminal.

    Denne designen realiserer avspilling i sanntid av taledata, så det er nødvendig å garantere sanntidsytelsen til taledataoverføring, men kravene til dataintegritet er ikke for strenge, og en liten mengde tap av pakke vil ikke påvirke samlet avspillingseffekt, slik at stemmedataene til systemet Overføringen vedtar UDP-overføringsmodus. Samtidig fungerer systemet i lokalnettverket, og det er få midlertidige brukere. Derfor blir den statiske IP-adressetildelingen vedtatt for å forenkle realiseringen av programvaren for avspillingsterminalen.

    3.1 Innsamling, lagring og overføring av taledata på serversiden av kringkastingssystemet

    Samlingen av taledata implementeres ved hjelp av lavt nivå WAVE audio API-funksjoner. For ikke å forårsake tap av taledata, bruker designen dobbel buffering for å lagre taledata. Implementeringsprosessen er vist i figur 3.

    Når en opptaksbuffer er full, sender systemet umiddelbart en annen opptaksbuffer til opptaksenheten for å fortsette opptaket, og applikasjonsprogrammet bør lese dataene i full opptaksbuffer og behandle det. Ring deretter waveInAddBuffer-funksjonen for å tilordne bufferen til opptaksenheten for resirkulering på nytt.

    For å forhindre tap av taledata i opptaksprosessen, er det ikke nok å bare bruke dobbel buffering. Det skal også bemerkes at når en buffer er full, vil applikasjonen behandle dataene i bufferen og den andre. Bufferen brukes til opptak, og databehandlingstiden må være kortere enn tiden som kreves for at den andre bufferen skal være fullstendig innspilt, ellers har ikke den første bufferen blitt tildelt opptaksenheten etter at den andre bufferen er full, noe som vil medføre tap av taledata. Når stemmesignalets samplingsfrekvens er stor, kan det å løse dette problemet effektivt å øke størrelsen på bufferen.

    For å lagre kringkastet innhold for senere bruk, er det nødvendig å lagre kringkastet innhold i en WAV-fil. WAV-filer har et fast toppformat. Før du lagrer taledata, må du angi overskriften til WAV-filen, ellers kan ikke den lagrede WAV-filen spilles av. Hver gang opptaksbufferen er full, må du først finne slutten på WAV-filen og deretter skrive de innsamlede dataene på slutten av filen. Når hele kringkastingsprosessen er over, lagres alle taledataene i WAV-filen, og realiserer lagring av taledata.

    Når en opptaksbuffer er full, er det nødvendig å sende innsamlede taledata gjennom nettverket. I designet bruker du først Csocket-klassen til å lage en sokkel, og trenger da bare å kapsle de innsamlede dataene i en IP-pakke og sende den ut. Samplingsfrekvensen til stemmesignalet i dette designet er 44.1 kHz, 16-biters dual-channel. For å unngå tap av taledata er størrelsen på opptaksbufferen satt til 1024B.

    3.2 Realisering av regional kringkasting

    En viktig anvendelse av Ethernet digital stemmesendingssystem er ikke bare å realisere hele kringkasting, men også å realisere den lokale kringkastingsfunksjonen, det vil si å kringkaste til den angitte terminalen. Derfor brukes UDP multicast-pakken for dataoverføring i nettverksoverføring av IP-talepakker. Ved å bruke multicast-pakker for å overføre data, kan alle terminaler som inngår i gruppen i lokalnettverket motta dataene og realisere hele områdesendingen. For å realisere den lokale kringkastingsfunksjonen, blir en struktur lagt til foran taledataene i designet, som vist nedenfor, og en konfigurasjonsfil brukes til å lagre IP-adressen til hver terminal i systemet.

    02 Kringkastingssystem kringkasting terminal hardware design

    Hovedkontrollbrikken til kringkastingsterminalen for kringkastingssystemet vedtar mikrokontrolleren LM3S8962 levert av LuminaryMicro. Denne brikkeserien er den første ARM CortexTM-M3-baserte kontrolleren med en intern integrert Ethernet-kontroller. Det er bransjens første ARM-brikke som støtter Industrial Ethernet (IEEE) og som enkelt kan implementere nettverksfunksjoner.

    Lyddekoderbrikken bruker MS6336-brikken produsert av MOSA. Brikken er en 16-bit stereolyd digital-til-analog-omformer, og de støttede digitale inngangsformatene er Right Justifl-ed, Left Justified, I2S. MS6336 kontrollgrensesnitt vedtar I2C-buss, grensesnittet er enkelt å sette. DAC-delen har nøyaktig og stabil strøm, kombinert med en utmerket symmetrisk dekodingsmetode, kan gjengi lydsignaler av høy kvalitet.

    Hovedkontrollbrikken LM3S8962 er koblet til RJ45-grensesnittet gjennom magnetiske komponenter, og brukes til å motta taledata fra Ethernet. LM3S8962 gir styresignaler og taledatasignaler for lyddekoderbrikken MS6336. LM3S8962 støtter I2C-funksjon. PB2 og PB3 porter gir henholdsvis I2C klokke og datasignaler. Disse to pinnene kan kobles direkte til I2C-funksjonspinnene til MS6336, og det kreves en motstand mot trekk. LM3S8962 støtter ikke datainndataformatet som kreves av MS6336. Datainndataformatet MS6336 i systemet vedtar I2S. Derfor, for å skaffe taledata til MS6336, er det nødvendig å bruke GPIO-portprogramvare til LM3S8962 for å simulere I2S-datainnformat som kreves av MS6336. I designet brukes PA5-, PA6- og PA7-porter for å simulere denne funksjonen. De tre pinnene tilsvarer henholdsvis I2S kanalvalg signal, klokkesignal og datasignal. Koble disse tre pinnene til I2S-funksjonstappen til MS6336.

    Maskinvarestrukturen til avspillingsterminalen til Ethernet digitale talesendingssystem er vist i figur 2.

     

    3 Programvare for kringkastingssystem

    Kringkastingsprogramvaren er delt inn i to deler: programvare for kringkastingssystemserver og programvare for kringkastingsterminal.

    Denne designen realiserer avspilling i sanntid av taledata, så det er nødvendig å garantere sanntidsytelsen til taledataoverføring, men kravene til dataintegritet er ikke for strenge, og en liten mengde tap av pakke vil ikke påvirke generell avspillingseffekt, slik at stemmedataene til systemet Overføringen vedtar UDP-overføringsmodus. Samtidig fungerer systemet i et lokalt nettverk med færre midlertidige brukere. Derfor blir statisk IP-adressetildeling vedtatt for å forenkle realiseringen av programvaren for avspillingsterminalen.

    3.1 Innsamling, lagring og overføring av taledata på serversiden av kringkastingssystemet

    Samlingen av taledata implementeres ved hjelp av lavt nivå WAVE audio API-funksjoner. For ikke å forårsake tap av taledata, bruker designen dobbel buffering for å lagre taledata. Implementeringsprosessen er vist i figur 3.

     

    Når en opptaksbuffer er full, sender systemet umiddelbart en annen opptaksbuffer til opptaksenheten for å fortsette opptaket, og applikasjonsprogrammet bør lese dataene i full opptaksbuffer og behandle det. Ring deretter waveInAddBuffer-funksjonen for å tilordne bufferen til opptaksenheten for resirkulering på nytt.

    For å forhindre tap av taledata i opptaksprosessen, er det ikke nok å bare bruke dobbel buffering. Det skal også bemerkes at når en buffer er full, vil applikasjonen behandle dataene i bufferen og den andre. Bufferen brukes til opptak, og databehandlingstiden må være kortere enn tiden som kreves for at den andre bufferen skal være fullstendig innspilt, ellers har ikke den første bufferen blitt tildelt opptaksenheten etter at den andre bufferen er full, noe som vil medføre tap av taledata. Når stemmesignalets samplingsfrekvens er stor, kan det å løse dette problemet effektivt å øke størrelsen på bufferen.

    For å lagre kringkastet innhold for senere bruk, er det nødvendig å lagre kringkastet innhold i en WAV-fil. WAV-filer har et fast toppformat. Før du lagrer taledata, må du angi overskriften til WAV-filen, ellers kan ikke den lagrede WAV-filen spilles av. Hver gang opptaksbufferen er full, må du først finne slutten på WAV-filen og deretter skrive de innsamlede dataene på slutten av filen. Når hele kringkastingsprosessen er over, lagres alle taledataene i WAV-filen, og realiserer lagring av taledata.

    Når en opptaksbuffer er full, er det nødvendig å sende innsamlede taledata gjennom nettverket. I designet bruker du først Csocket-klassen til å lage en sokkel, og trenger da bare å kapsle de innsamlede dataene i en IP-pakke og sende den ut. Samplingsfrekvensen til stemmesignalet i dette designet er 44.1 kHz, 16-biters dual-channel. For å unngå tap av taledata er størrelsen på opptaksbufferen satt til 1024B.

    3.2 Realisering av regional kringkasting

    En viktig anvendelse av Ethernet digital stemmesendingssystem er ikke bare å realisere hele kringkasting, men også å realisere den lokale kringkastingsfunksjonen, det vil si å kringkaste til den angitte terminalen. Derfor brukes UDP multicast-pakken for dataoverføring i nettverksoverføring av IP-talepakker. Ved å bruke multicast-pakker for å overføre data, kan alle terminaler som inngår i gruppen i lokalnettverket motta dataene og realisere hele områdesendingen. For å realisere den lokale kringkastingsfunksjonen, blir en struktur lagt til foran taledataene i designet, som vist nedenfor, og en konfigurasjonsfil brukes til å lagre IP-adressen til hver terminal i systemet.

    struktur STRING

    {Streng IPNO1;

    Streng IPNO2;

    ...

    Streng IPNO9;

    Streng IPNO10};

    Når det er nødvendig å utføre regional kringkasting på visse terminaler, velger du de tilsvarende numrene på disse terminalene på panelet på serversiden av kringkastingssystemet (som vist i figur 4). På dette tidspunktet leses IP-adressen til den valgte terminalen fra konfigurasjonsfilen og tilordnes den tilsvarende variabelen i strukturen. Når terminalen mottar en IP multicast-pakke, vurderer den først om strukturen har samme variabel som sin egen IP-adresse, hvis det er, så blir dataene mottatt og spilt, hvis ikke, blir data kastet, og realiserer dermed området Broadcast funksjon. Sammenlignet med metoden for å bruke et styresignal for å kontrollere avspillingsterminalen for å bli med eller forlate multicast-gruppen, eller for å dynamisk opprettholde en kompleks kartleggingstabell for å implementere den regionale kringkastingsfunksjonen. Denne metoden trenger ikke å interagere med avspillingsterminalen før hver sending, og den trenger heller ikke å spore terminalens tilstand dynamisk. Det trenger bare å skrive terminalens tilsvarende IP-adresse i konfigurasjonsfilen når terminalen blir med i systemet for første gang. Funksjonen er enkel å implementere.

    3.3 Realiseringen av kringkastingsprogramvare for kringkastingssystem

    Kringkastingssystemets kringkastingsterminal er delt inn i to deler for å realisere, den mottakende delen av lyddata brukes til å motta taledataene og lagre og videresende, og lyddekoderen realiserer D / A-konvertering og avspilling av talesignalet. Delen for mottak av lyddata vedtar Socket-programmering for å motta taledata fra Ethernet. Etter å ha mottatt stemmedatapakken, må den først bedømme om datapakken er for seg selv. Terminalen sammenligner medlemsvariabelen til strukturen struct STRING i IP-pakken med sin egen IP-adresse, og hvis en medlemsvariabel er lik sin egen IP-adresse, lagrer den dataene i pakken, ellers forkaster den den.

    Taledataene mottas og lagres i en sirkulær kø. På grunn av forstyrrelsen i UDP-dataoverføring, må taledatapakkene sorteres etter at taledataene er mottatt i stemmedata-mottakersiden for å sikre sekvensiell behandling av taledataene og riktig gjenopprettingsstemmesignal. For å unngå nettverksjitter blir data samtidig behandlet hver gang det er minst 5 pakker i den sirkulære køen.

    Datainndataformatet til MS6336 i designet vedtar I2S-format. Siden LM3S8962 ikke støtter dette dataformatet, blir programvaresimulering tatt i bruk for å realisere I2S-funksjonen via GPIO-porten. For å fullstendig gjenopprette talesignalet er det nødvendig å sikre at timingen for I2S-signalet er streng og nøyaktig, og konverteringen mellom høye og lave nivåer blir implementert av et forsinkelsesprogram. I2S-tidsdiagrammet er vist i figur 5.

    Kringfrekvens for kringkastingssystemets kringkastingsterminal er 40 MHz, og tiden for å sende hver databit er 600 ns beregnet fra samplingsfrekvensen. LM3S8962 gir taledata til MS6336, og realiserer seriell overføring gjennom GPIO-port i henhold til prøvetakingspunktet. Hvert prøvetakingspunkt inneholder fire byte, og datasendingsprosessen til et prøvetakingspunkt er vist i figur 6.

    4 Resultatanalyse

    Størrelsen på stemmedatapakken som overføres av systemet via Ethernet er 1024B. For å unngå jitter i nettverket, begynner terminalen å kringkaste når de mottar 5 datapakker. Sendingforsinkelsestiden er omtrent 30 ms, som oppfyller funksjonsindikatorene. Serversiden kan kontrollere arbeidet til 10 kringkastingsterminaler samtidig. Ved å velge det tilsvarende terminalnummeret på serversiden kan hele kringkastings- og lokale kringkastingsfunksjonene til kringkastingssystemet realiseres.

    5 Konklusjon

    Med utgangspunkt i faktiske behov designer og implementerer vi et Ethernet digital stemmekringkastingssystem. De eksperimentelle resultatene viser at systemets avspillingsterminal bestemmer om de skal utføre stemmekringkasting for å realisere regional kringkasting, er en enkel og effektiv måte å realisere global kringkasting og regional kringkasting av talesignaler. Systemavspillerterminalen vedtar GPIO-portprogramvaresimulering for å realisere I2S-funksjonen, som nøyaktig kan realisere I2S-timingen, fullføre dataoverføringen av talesignalet og realisere sanntidsutsendelsen av talesignalet. Designstrukturen er rimelig og kan lett realisere utvidelse av funksjoner, for eksempel timing kringkasting, musikkavspilling, fjernstyring, sanntidsovervåking osv. Denne designen har viktig praktisk betydning og gir grunnlag for å løse store og komplekse Ethernet-sendinger systemer.

     

     

     

     

    List alle Spørsmål

    kallenavn

    Epost

    spørsmål

    Vår andre produkt:

    Profesjonell FM-radiostasjonsutstyrspakke

     



     

    Hotell IPTV-løsning

     


      Skriv inn e-post for å få en overraskelse

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albansk
      ar.fmuser.org -> arabisk
      hy.fmuser.org -> armensk
      az.fmuser.org -> aserbajdsjansk
      eu.fmuser.org -> baskisk
      be.fmuser.org -> hviterussisk
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> katalansk
      zh-CN.fmuser.org -> Kinesisk (forenklet)
      zh-TW.fmuser.org -> Kinesisk (tradisjonell)
      hr.fmuser.org -> Kroatisk
      cs.fmuser.org -> tsjekkisk
      da.fmuser.org -> dansk
      nl.fmuser.org -> Nederlandsk
      et.fmuser.org -> estisk
      tl.fmuser.org -> filippinsk
      fi.fmuser.org -> finsk
      fr.fmuser.org -> French
      gl.fmuser.org -> galisisk
      ka.fmuser.org -> Georgisk
      de.fmuser.org -> tysk
      el.fmuser.org -> gresk
      ht.fmuser.org -> haitisk kreolsk
      iw.fmuser.org -> hebraisk
      hi.fmuser.org -> hindi
      hu.fmuser.org -> Ungarsk
      is.fmuser.org -> islandsk
      id.fmuser.org -> indonesisk
      ga.fmuser.org -> Irsk
      it.fmuser.org -> Italiensk
      ja.fmuser.org -> japansk
      ko.fmuser.org -> koreansk
      lv.fmuser.org -> lettisk
      lt.fmuser.org -> litauisk
      mk.fmuser.org -> makedonsk
      ms.fmuser.org -> malaysisk
      mt.fmuser.org -> maltesisk
      no.fmuser.org -> norsk
      fa.fmuser.org -> persisk
      pl.fmuser.org -> polsk
      pt.fmuser.org -> portugisisk
      ro.fmuser.org -> rumensk
      ru.fmuser.org -> russisk
      sr.fmuser.org -> serbisk
      sk.fmuser.org -> Slovakisk
      sl.fmuser.org -> Slovenian
      es.fmuser.org -> spansk
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> svensk
      th.fmuser.org -> Thai
      tr.fmuser.org -> tyrkisk
      uk.fmuser.org -> ukrainsk
      ur.fmuser.org -> urdu
      vi.fmuser.org -> Vietnamesisk
      cy.fmuser.org -> walisisk
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless Overfør video og lyd enklere!

  • Kontakt

    Adresse:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620

    E-post:
    [e-postbeskyttet]

    Tlf / WhatApps:
    + 8618078869184

  • Type kategori

  • Nyhetsbrev

    FØRSTE ELLER FULLT NAVN

    E-post

  • paypal løsning  Western UnionBank of China
    E-post:[e-postbeskyttet]   WhatsApp: +8618078869184 Skype: sky198710021 Chat med meg
    Copyright 2006-2020 Powered By www.fmuser.org

    Kontakt oss