FMUSER Wirless Mengirim Video Dan Audio Lebih Mudah!

[email dilindungi] WhatsApp + 8618078869184
Bahasa

    Bagaimana merancang sistem penyiaran suara digital dengan Ethernet?

     

    Artikel ini memberikan solusi sistem penyiaran suara digital Ethernet tertanam, yang dapat dengan mudah mewujudkan fungsi penyiaran regional dari sistem penyiaran. Sistem ini didasarkan pada arsitektur lengan dan mengadopsi metode arbitrase terminal pemutaran sistem untuk mengontrol realisasi siaran regional, dan konten siaran dapat diputar dan disimpan secara bersamaan.

    Sistem penyiaran suara digital Ethernet terutama mengacu pada sistem penyiaran yang menggunakan Ethernet sebagai media transmisi untuk menyediakan layanan audio. Ethernet dapat digunakan untuk memecahkan masalah transmisi sinyal suara jarak jauh. Memungkinkan perancang untuk membuat struktur jaringan skala besar untuk mewujudkan transmisi ribuan sinyal suara digital di Ethernet, memanfaatkan sepenuhnya sumber daya jaringan yang ada, menghindari masalah pengaturan jalur berulang kali, dan mewujudkan integrasi penyiaran dan jaringan komputer . Ini memecahkan masalah kualitas suara yang buruk, kerentanan terhadap gangguan, pemeliharaan dan pengelolaan yang rumit, dan interaksi yang buruk dalam sistem penyiaran tradisional. Pada saat yang sama, dimungkinkan untuk memilih semua, sebagian atau wilayah tertentu untuk penyiaran kelompok terarah, yang menerobos batasan bahwa sistem penyiaran tradisional hanya dapat melakukan penyiaran publik untuk semua wilayah. Sistem penyiaran suara digital Ethernet yang ada kebanyakan menggunakan sinyal kontrol untuk mengontrol terminal penyiaran untuk bergabung atau keluar dari grup multicast dalam mewujudkan fungsi penyiaran regional. Anda perlu mengirim sinyal kontrol untuk membuat terminal bergabung dengan grup multicast sebelum penyiaran dapat dilakukan. , Atau buat tabel pemetaan yang rumit di sisi server untuk mempertahankan status terminal pemutaran untuk mencapai penyiaran regional, yang lebih rumit untuk diterapkan.

    1 Desain struktural

    Sistem ini mengadopsi struktur C / S, terdiri dari dua bagian ujung server sistem siaran dan terminal siaran sistem siaran, seperti yang ditunjukkan pada Gambar 1.

    Server sistem siaran diimplementasikan pada PC, dan ini adalah program pengumpulan, penyimpanan, dan transmisi jaringan sinyal suara yang direalisasikan oleh VC ++. Bagian ini mengumpulkan dan menyimpan sinyal suara melalui mikrofon, dan kemudian mengirimkan data suara ke Ethernet melalui UDP untuk mewujudkan fungsi transmisi jaringan data suara.

    Terminal pemutaran sistem siaran adalah terminal tertanam berdasarkan LM3S8962, yang dapat menerima paket data suara IP yang dikirim dari Ethernet, dan chip decoding audio MS6336 menyelesaikan konversi digital / analog dan pemutaran data suara

    2 Desain perangkat keras terminal siaran sistem siaran

    Chip kontrol utama dari terminal siaran sistem penyiaran mengadopsi mikrokontroler LM3S8962 yang disediakan oleh LuminaryMicro. Rangkaian chip ini adalah pengontrol berbasis ARM CortexTM-M3 pertama dengan pengontrol Ethernet terintegrasi internal. Ini adalah chip ARM pertama di industri yang mendukung Industrial Ethernet (IEEE) dan dapat dengan mudah mengimplementasikan fungsi jaringan.

    Chip dekoder audio menggunakan chip MS6336 yang diproduksi oleh MOSA. Chip ini adalah konverter digital-ke-analog audio stereo 16-bit, dan format input digital yang didukung adalah Right Justifl-ed, Left Justified, I2S. Antarmuka kontrol MS6336 mengadopsi bus I2C, antarmuka mudah diatur. Bagian DAC memiliki arus yang akurat dan stabil, dikombinasikan dengan metode decoding simetris yang sangat baik, dapat mereproduksi sinyal audio berkualitas tinggi.

    Chip kontrol utama LM3S8962 disambungkan ke antarmuka RJ45 melalui komponen magnetik, dan digunakan untuk menerima data suara dari Ethernet. LM3S8962 menyediakan sinyal kontrol dan sinyal data suara untuk chip decoder audio MS6336. LM3S8962 mendukung fungsi I2C. Port PB2 dan PB3 masing-masing menyediakan clock I2C dan sinyal data. Kedua pin ini dapat langsung dihubungkan ke pin fungsi I2C MS6336, dan diperlukan resistor pull-up. LM3S8962 tidak mendukung format input data yang diperlukan oleh MS6336. Format input data MS6336 dalam sistem mengadopsi I2S. Oleh karena itu, untuk menyediakan data suara ke MS6336, perlu menggunakan perangkat lunak port GPIO dari LM3S8962 untuk mensimulasikan format input data I2S yang diperlukan oleh MS6336. Dalam desain, port PA5, PA6, dan PA7 digunakan untuk mensimulasikan fungsi ini. Ketiga pin tersebut masing-masing berhubungan dengan sinyal pemilihan saluran I2S, sinyal clock dan sinyal data. Hubungkan ketiga pin ini ke pin fungsi I2S pada MS6336.

    Struktur perangkat keras terminal pemutaran dari sistem penyiaran suara digital Ethernet ditunjukkan pada Gambar 2.

    3 Desain perangkat lunak sistem penyiaran

    Perangkat lunak sistem penyiaran dibagi menjadi dua bagian: perangkat lunak server sistem penyiaran dan perangkat lunak terminal penyiaran.

    Desain ini menyadari pemutaran data suara secara real-time, sehingga kinerja transmisi data suara secara real-time harus dijamin, tetapi persyaratan untuk integritas data tidak terlalu ketat, dan sejumlah kecil kehilangan paket tidak akan memengaruhi efek pemutaran keseluruhan, sehingga data suara sistem Transmisi mengadopsi mode transmisi UDP. Pada saat yang sama, sistem bekerja di jaringan area lokal dan hanya ada sedikit pengguna sementara. Oleh karena itu, alokasi alamat IP statis diadopsi untuk menyederhanakan realisasi perangkat lunak terminal pemutaran.

    3.1 Pengumpulan, penyimpanan, dan transmisi data suara di sisi server sistem penyiaran

    Pengumpulan data suara diimplementasikan menggunakan fungsi API audio WAVE tingkat rendah. Agar tidak menyebabkan hilangnya data suara maka perancangan menggunakan buffering ganda untuk menyimpan data suara. Proses implementasi ditunjukkan pada Gambar 3.

    Ketika satu buffer perekaman penuh, sistem segera mengirimkan buffer perekaman lain ke perangkat perekam untuk melanjutkan perekaman, dan program aplikasi harus membaca data dalam buffer perekaman penuh dan memprosesnya. Kemudian panggil fungsi waveInAddBuffer untuk menetapkan kembali buffer ke perangkat perekam untuk didaur ulang.

    Untuk mencegah hilangnya data suara dalam proses perekaman, tidak cukup hanya menggunakan buffering ganda. Perlu juga dicatat bahwa ketika satu buffer penuh, aplikasi akan memproses data di buffer dan buffer kedua digunakan untuk merekam, dan waktu pemrosesan data harus kurang dari waktu yang dibutuhkan agar buffer kedua dapat sepenuhnya direkam, jika tidak buffer pertama belum ditetapkan kembali ke perangkat perekam setelah buffer kedua penuh, yang akan menyebabkan hilangnya data suara. Ketika kecepatan sampel sinyal suara besar, meningkatkan ukuran buffer secara tepat dapat mengatasi masalah ini secara efektif.

    Untuk menyimpan konten siaran untuk digunakan nanti, Anda perlu menyimpan konten siaran dalam file WAV. File WAV memiliki format header tetap. Sebelum menyimpan data suara, Anda perlu mengatur header file WAV, jika tidak file WAV yang disimpan tidak dapat diputar. Setiap kali buffer perekaman penuh, pertama-tama temukan bagian akhir file WAV, lalu tulis data yang dikumpulkan di akhir file secara bergantian. Ketika seluruh proses siaran selesai, semua data suara disimpan dalam file WAV, mewujudkan penyimpanan data suara.

    Saat buffer rekaman penuh, data suara yang dikumpulkan perlu dikirim melalui jaringan. Dalam desain, pertama gunakan kelas Csocket untuk membuat soket, dan kemudian hanya perlu merangkum data yang dikumpulkan ke dalam paket IP dan mengirimkannya. Tingkat pengambilan sampel sinyal suara dalam desain ini adalah 44.1 kHz, saluran ganda 16-bit. Untuk menghindari hilangnya data suara, ukuran buffer perekaman diatur ke 1024B.

    3.2 Realisasi penyiaran regional

    Aplikasi penting dari sistem penyiaran suara digital Ethernet tidak hanya untuk mewujudkan penyiaran seluruh area, tetapi juga untuk mewujudkan fungsi penyiaran lokal, yaitu untuk menyiarkan ke terminal yang ditunjuk. Oleh karena itu, paket multicast UDP digunakan untuk transmisi data di jaringan transmisi paket data IP suara. Menggunakan paket multicast untuk mengirimkan data, semua terminal yang termasuk dalam grup di jaringan area lokal dapat menerima data, mewujudkan siaran seluruh area. Untuk mewujudkan fungsi siaran lokal, struktur ditambahkan di depan data suara dalam desain, seperti yang ditunjukkan di bawah ini, dan file konfigurasi digunakan untuk menyimpan alamat IP dari setiap terminal sistem.

    02 Desain perangkat keras terminal siaran sistem penyiaran

    Chip kontrol utama dari terminal siaran sistem penyiaran mengadopsi mikrokontroler LM3S8962 yang disediakan oleh LuminaryMicro. Rangkaian chip ini adalah pengontrol berbasis ARM CortexTM-M3 pertama dengan pengontrol Ethernet terintegrasi internal. Ini adalah chip ARM pertama di industri yang mendukung Industrial Ethernet (IEEE) dan dapat dengan mudah mengimplementasikan fungsi jaringan.

    Chip dekoder audio menggunakan chip MS6336 yang diproduksi oleh MOSA. Chip ini adalah konverter digital-ke-analog audio stereo 16-bit, dan format input digital yang didukung adalah Right Justifl-ed, Left Justified, I2S. Antarmuka kontrol MS6336 mengadopsi bus I2C, antarmuka mudah diatur. Bagian DAC memiliki arus yang akurat dan stabil, dikombinasikan dengan metode decoding simetris yang sangat baik, dapat mereproduksi sinyal audio berkualitas tinggi.

    Chip kontrol utama LM3S8962 disambungkan ke antarmuka RJ45 melalui komponen magnetik, dan digunakan untuk menerima data suara dari Ethernet. LM3S8962 menyediakan sinyal kontrol dan sinyal data suara untuk chip decoder audio MS6336. LM3S8962 mendukung fungsi I2C. Port PB2 dan PB3 masing-masing menyediakan clock I2C dan sinyal data. Kedua pin ini dapat langsung dihubungkan ke pin fungsi I2C MS6336, dan diperlukan resistor pull-up. LM3S8962 tidak mendukung format input data yang diperlukan oleh MS6336. Format input data MS6336 dalam sistem mengadopsi I2S. Oleh karena itu, untuk menyediakan data suara ke MS6336, perlu menggunakan perangkat lunak port GPIO dari LM3S8962 untuk mensimulasikan format input data I2S yang diperlukan oleh MS6336. Dalam desain, port PA5, PA6, dan PA7 digunakan untuk mensimulasikan fungsi ini. Ketiga pin tersebut masing-masing berhubungan dengan sinyal pemilihan saluran I2S, sinyal clock dan sinyal data. Hubungkan ketiga pin ini ke pin fungsi I2S pada MS6336.

    Struktur perangkat keras terminal pemutaran dari sistem penyiaran suara digital Ethernet ditunjukkan pada Gambar 2.

     

    3 Desain perangkat lunak sistem penyiaran

    Perangkat lunak sistem penyiaran dibagi menjadi dua bagian: perangkat lunak server sistem penyiaran dan perangkat lunak terminal penyiaran.

    Desain ini menyadari pemutaran data suara secara real-time, sehingga kinerja transmisi data suara secara real-time harus dijamin, tetapi persyaratan untuk integritas data tidak terlalu ketat, dan sejumlah kecil kehilangan paket tidak akan memengaruhi efek pemutaran keseluruhan, sehingga data suara sistem Transmisi mengadopsi mode transmisi UDP. Pada saat yang sama, sistem bekerja di jaringan area lokal dengan lebih sedikit pengguna sementara. Oleh karena itu, alokasi alamat IP statis diadopsi untuk menyederhanakan realisasi perangkat lunak terminal pemutaran.

    3.1 Pengumpulan, penyimpanan, dan transmisi data suara di sisi server sistem penyiaran

    Pengumpulan data suara diimplementasikan menggunakan fungsi API audio WAVE tingkat rendah. Agar tidak menyebabkan hilangnya data suara maka perancangan menggunakan buffering ganda untuk menyimpan data suara. Proses implementasi ditunjukkan pada Gambar 3.

     

    Ketika satu buffer perekaman penuh, sistem segera mengirimkan buffer perekaman lain ke perangkat perekam untuk melanjutkan perekaman, dan program aplikasi harus membaca data dalam buffer perekaman penuh dan memprosesnya. Kemudian panggil fungsi waveInAddBuffer untuk menetapkan kembali buffer ke perangkat perekam untuk didaur ulang.

    Untuk mencegah hilangnya data suara dalam proses perekaman, tidak cukup hanya menggunakan buffering ganda. Perlu juga dicatat bahwa ketika satu buffer penuh, aplikasi akan memproses data di buffer dan buffer kedua digunakan untuk merekam, dan waktu pemrosesan data harus kurang dari waktu yang dibutuhkan agar buffer kedua dapat sepenuhnya direkam, jika tidak buffer pertama belum ditetapkan kembali ke perangkat perekam setelah buffer kedua penuh, yang akan menyebabkan hilangnya data suara. Ketika kecepatan sampel sinyal suara besar, meningkatkan ukuran buffer secara tepat dapat mengatasi masalah ini secara efektif.

    Untuk menyimpan konten siaran untuk digunakan nanti, Anda perlu menyimpan konten siaran dalam file WAV. File WAV memiliki format header tetap. Sebelum menyimpan data suara, Anda perlu mengatur header file WAV, jika tidak file WAV yang disimpan tidak dapat diputar. Setiap kali buffer perekaman penuh, pertama-tama temukan bagian akhir file WAV, lalu tulis data yang dikumpulkan di akhir file secara bergantian. Ketika seluruh proses siaran selesai, semua data suara disimpan dalam file WAV, mewujudkan penyimpanan data suara.

    Saat buffer rekaman penuh, data suara yang dikumpulkan perlu dikirim melalui jaringan. Dalam desain, pertama gunakan kelas Csocket untuk membuat soket, dan kemudian hanya perlu merangkum data yang dikumpulkan ke dalam paket IP dan mengirimkannya. Tingkat pengambilan sampel sinyal suara dalam desain ini adalah 44.1 kHz, saluran ganda 16-bit. Untuk menghindari hilangnya data suara, ukuran buffer perekaman diatur ke 1024B.

    3.2 Realisasi penyiaran regional

    Aplikasi penting dari sistem penyiaran suara digital Ethernet tidak hanya untuk mewujudkan penyiaran seluruh area, tetapi juga untuk mewujudkan fungsi penyiaran lokal, yaitu untuk menyiarkan ke terminal yang ditunjuk. Oleh karena itu, paket multicast UDP digunakan untuk transmisi data di jaringan transmisi paket data IP suara. Menggunakan paket multicast untuk mengirimkan data, semua terminal yang termasuk dalam grup di jaringan area lokal dapat menerima data, mewujudkan siaran seluruh area. Untuk mewujudkan fungsi siaran lokal, struktur ditambahkan di depan data suara dalam desain, seperti yang ditunjukkan di bawah ini, dan file konfigurasi digunakan untuk menyimpan alamat IP dari setiap terminal sistem.

    struktur STRING

    {Rangkaian IPNO1;

    Tali IPNO2;

    ...

    Tali IPNO9;

    Untai IPNO10};

    Jika perlu untuk melakukan siaran regional di terminal tertentu, pilih nomor yang sesuai dari terminal ini pada panel sisi server dari sistem penyiaran (seperti yang ditunjukkan pada Gambar 4). Saat ini, alamat IP dari terminal yang dipilih dibaca dari file konfigurasi dan ditetapkan ke variabel terkait dalam struktur. Ketika terminal menerima paket multicast IP, pertama-tama menilai apakah struktur tersebut memiliki variabel yang sama dengan alamat IP-nya sendiri, jika ada, maka data diterima dan diputar, jika tidak, data tersebut dibuang, sehingga menyadari area Broadcast fungsi. Dibandingkan dengan metode menggunakan sinyal kontrol untuk mengontrol terminal pemutaran untuk bergabung atau meninggalkan grup multicast, atau secara dinamis memelihara tabel pemetaan kompleks untuk mengimplementasikan fungsi siaran regional. Metode ini tidak perlu mengontrol terminal pemutaran secara interaktif sebelum setiap siaran, juga tidak perlu melacak status terminal secara dinamis. Ini hanya perlu menulis alamat IP terminal yang sesuai ke dalam file konfigurasi ketika terminal bergabung dengan sistem untuk pertama kalinya. Fungsinya sederhana untuk diterapkan.

    3.3 Realisasi perangkat lunak terminal siaran sistem siaran

    Terminal siaran sistem siaran dibagi menjadi dua bagian untuk mewujudkan, bagian penerima data audio digunakan untuk menerima data suara dan menyimpan dan meneruskan, dan dekoder audio menyadari konversi D / A dan pemutaran sinyal suara. Bagian penerima data audio mengadopsi pemrograman Socket untuk menerima data suara dari Ethernet. Setelah menerima paket data suara, pertama kali harus menilai apakah paket data itu untuk dirinya sendiri. Terminal membandingkan variabel anggota struktur struct STRING dalam paket IP dengan alamat IP-nya sendiri, dan jika ada variabel anggota yang sama dengan alamat IP-nya sendiri, ia menyimpan data dalam paket, jika tidak membuangnya.

    Data suara diterima dan disimpan dalam antrian melingkar. Karena gangguan transmisi data UDP, paket data suara perlu diurutkan setelah data suara diterima di ujung penerima data suara untuk memastikan pemrosesan data suara secara berurutan dan pemulihan sinyal Suara yang benar. Pada saat yang sama, untuk menghindari jitter jaringan, data diproses setiap saat saat ada setidaknya 5 paket dalam antrian melingkar.

    Format input data MS6336 di desain mengadopsi format I2S. Karena LM3S8962 tidak mendukung format data ini, simulasi perangkat lunak diadopsi untuk mewujudkan fungsi I2S melalui port GPIO. Untuk memulihkan sinyal suara sepenuhnya, penting untuk memastikan bahwa waktu sinyal I2S ketat dan akurat, dan konversi antara level tinggi dan rendah diimplementasikan oleh program penundaan. Diagram waktu I2S ditunjukkan pada Gambar 5.

    Frekuensi jam terminal siaran sistem siaran adalah 40 MHz, dan waktu untuk mengirim setiap bit data adalah 600 ns yang dihitung dari laju pengambilan sampel. LM3S8962 menyediakan data suara ke MS6336, dan menyadari transmisi serial melalui port GPIO menurut titik pengambilan sampel. Setiap titik pengambilan sampel berisi empat byte, dan proses pengiriman data titik pengambilan sampel ditunjukkan pada Gambar 6.

    4 Analisis hasil

    Ukuran paket data suara yang dikirimkan oleh sistem melalui Ethernet adalah 1024B. Untuk menghindari jitter jaringan, terminal mulai menyiarkan saat menerima 5 paket data. Waktu tunda siaran sekitar 30 ms, yang memenuhi indikator fungsional. Sisi server dapat mengontrol kerja 10 terminal penyiaran pada saat yang bersamaan. Dengan memilih nomor terminal yang sesuai di sisi server, seluruh area penyiaran dan fungsi penyiaran lokal dari sistem penyiaran dapat berhasil direalisasikan.

    5 Kesimpulan

    Berawal dari kebutuhan aktual, kami merancang dan mengimplementasikan sistem penyiaran suara digital Ethernet. Hasil percobaan menunjukkan bahwa terminal pemutaran sistem memutuskan apakah akan melakukan penyiaran suara untuk mewujudkan penyiaran regional adalah cara yang sederhana dan efektif untuk mewujudkan penyiaran global dan penyiaran regional dari sinyal suara. Terminal pemutar sistem mengadopsi simulasi perangkat lunak port GPIO untuk mewujudkan fungsi I2S, yang secara akurat dapat mewujudkan waktu I2S, menyelesaikan transmisi data sinyal suara, dan mewujudkan siaran sinyal suara secara real-time. Struktur desainnya masuk akal, dan dapat dengan mudah mewujudkan perluasan fungsi, seperti siaran waktu, pemutaran musik, manajemen jarak jauh, pemantauan waktu nyata, dll. Desain ini memiliki signifikansi praktis yang penting dan memberikan landasan untuk menyelesaikan siaran Ethernet yang besar dan kompleks sistem.

     

     

     

     

    Daftar semua Pertanyaan

    Nama panggilan

    Email

    Pertanyaan

    produk kami yang lain:

    Paket Peralatan Stasiun Radio FM Profesional

     



     

    Solusi IPTV Hotel

     


      Masukkan email untuk mendapatkan kejutan

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikans
      sq.fmuser.org -> Albania
      ar.fmuser.org -> Arab
      hy.fmuser.org -> Armenia
      az.fmuser.org -> Azerbaijan
      eu.fmuser.org -> Basque
      be.fmuser.org -> Belarusia
      bg.fmuser.org -> Bulgaria
      ca.fmuser.org -> Catalan
      zh-CN.fmuser.org -> Cina (Sederhana)
      zh-TW.fmuser.org -> Mandarin (Tradisional)
      hr.fmuser.org -> Kroasia
      cs.fmuser.org -> Ceko
      da.fmuser.org -> Denmark
      nl.fmuser.org -> Belanda
      et.fmuser.org -> Estonia
      tl.fmuser.org -> Filipina
      fi.fmuser.org -> Finlandia
      fr.fmuser.org -> Perancis
      gl.fmuser.org -> Galicia
      ka.fmuser.org -> Georgia
      de.fmuser.org -> Jerman
      el.fmuser.org -> Yunani
      ht.fmuser.org -> Kreol Haiti
      iw.fmuser.org -> Ibrani
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hongaria
      is.fmuser.org -> Islandia
      id.fmuser.org -> Bahasa Indonesia
      ga.fmuser.org -> Irlandia
      it.fmuser.org -> Italia
      ja.fmuser.org -> Jepang
      ko.fmuser.org -> Korea
      lv.fmuser.org -> Latvia
      lt.fmuser.org -> Lithuania
      mk.fmuser.org -> Makedonia
      ms.fmuser.org -> Melayu
      mt.fmuser.org -> Malta
      no.fmuser.org -> Norwegia
      fa.fmuser.org -> Persia
      pl.fmuser.org -> Polandia
      pt.fmuser.org -> Portugis
      ro.fmuser.org -> Rumania
      ru.fmuser.org -> Rusia
      sr.fmuser.org -> Serbia
      sk.fmuser.org -> Slowakia
      sl.fmuser.org -> Slovenia
      es.fmuser.org -> Spanyol
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> Swedia
      th.fmuser.org -> Thailand
      tr.fmuser.org -> Turki
      uk.fmuser.org -> Ukraina
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnam
      cy.fmuser.org -> Welsh
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless Mengirim Video Dan Audio Lebih Mudah!

  • Kontak

    Alamat:
    No.305 Kamar HuiLan Building No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [email dilindungi]

    Telp / WhatApps:
    +8618078869184

  • Kategori

  • Buletin

    NAMA DEPAN ATAU LENGKAP

    E-mail

  • solusi paypal  Western UnionBank OF China
    E-mail:[email dilindungi]   WhatsApp: +8618078869184 Skype: sky198710021 Ngobrol denganku
    Copyright 2006-2020 Powered By www.fmuser.org

    Hubungi Kami