FMUSER Wirless Overfør video og lyd enklere!
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
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.
Vår andre produkt:
Profesjonell FM-radiostasjonsutstyrspakke
|
||
|
Skriv inn e-post for å få en overraskelse
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
Type kategori
Nyhetsbrev