Menu English Ukrainian Russia Laman Utama

Perpustakaan teknikal percuma untuk penggemar dan profesional Perpustakaan teknikal percuma


ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK
Perpustakaan percuma / Skim peranti radio-elektronik dan elektrik

Pemain audio MP3 dan Opus. Ensiklopedia elektronik radio dan kejuruteraan elektrik

Perpustakaan teknikal percuma

Ensiklopedia elektronik radio dan kejuruteraan elektrik / Audio

Komen artikel Komen artikel

Artikel ini menerangkan pemain mudah alih buatan sendiri untuk fail muzik dalam format biasa daripada kad memori microSD. Ia dipasang pada mikropengawal STM32F407VGT6 dalam kes daripada telefon bimbit NOKIA 1100.

Skim pemain ditunjukkan dalam rajah. 1. Ia menggunakan maksimum komponen elektronik yang terdapat pada papan pembangunan STM32F4DISCOVERY. Ini termasuk mikropengawal STM32F407VGT6 (DD1), LD3985M25R (DA1) dan LD3985M33R (DA3), pengawal selia voltan bersepadu CS43L22 (DD2) serta komponen kod pasif yang diperlukan. Daripada telefon bimbit NOKIA 1100, sebagai tambahan kepada kes dan bateri, penyambung untuk menyambungkan fon kepala XS3, panel hadapan dengan LCD HG1, membran untuk butang SB1-SB17 yang dibentuk oleh pad sesentuh sepusat pada papan litar bercetak, dan penyambung untuk menyambungkan bateri G1 digunakan. Di samping itu, papan pemain mengandungi pemegang untuk kad memori microSD TFC-WPCE-08 (XS1), sekumpulan pad kenalan untuk menyambungkan pengaturcara Xp1, penyambung miniUSB-B 5075BMR-05-SM (XS2).

Pemain audio MP3 dan Opus
nasi. 1. Susun atur pemain (klik untuk besarkan)

Pemasangan diod VD1, VD4, VD5, VD6 digunakan untuk melindungi daripada litar nyahcas elektrostatik yang disambungkan kepada penyambung XS2 dan XS3. Penyambung yang tinggal terletak di dalam petak bateri dan tidak memerlukan perlindungan. Cip (DA2) ialah pengawal cas bateri litium-ion G1 dengan voltan maksimum 4,2 V. Perintang R9 mengurangkan penurunan voltan pada cip ini semasa mengecas, menyebabkan ia menjadi panas. Perintang R10 menetapkan arus pengecasan maksimum Isal.maks mengikut formula Isetiap ap.maks = 1000/R10. Dengan rintangan R10 ditetapkan dalam kiloohms, nilai arus pengecasan diperoleh dalam miliamp.

Adalah disyorkan untuk mengecas bateri litium-ion dengan arus tidak lebih daripada 1C, di mana C ialah kapasiti bateri. Kapasiti bateri BL-5C yang digunakan ialah kira-kira 1000 mAh, arus pengecasan maksimum yang dibenarkan untuk cip LTC4054ES5-4.2 ialah 800 mA. Memandangkan pengecasan dijalankan dari bas USB, kapasiti bebannya (500 mA) juga mesti diambil kira. Oleh itu, nilai disyorkan R10 ialah 2 kOhm. Selain itu, dengan mengukur voltan merentasi R10, anda boleh menentukan nilai semasa arus pengecasan bateri menggunakan formula Izar= 1000 UR10/ R10 (semasa - dalam miliamp, voltan - dalam volt, rintangan - dalam kiloohms).

Apabila penyambung XS2 disambungkan ke bas USB, transistor kesan medan VT1 memutuskan sambungan bateri G1 daripada litar kuasa pemain. Voltan 5 V dari pin 1 penyambung XS2 membuka transistor VT5, voltan get transistor VT3 menjadi negatif berbanding puncanya. Transistor VT3 terbuka, termasuk pemain.

Apabila tiada voltan pada pin 1 penyambung XS2, potensi get transistor VT3 adalah hampir dengan potensi sumbernya dan transistor ditutup.

Menekan butang SB1 juga membuka transistor VT3, mikropengawal mula berfungsi dan menyemak status butang ini setiap 10 ms. Jika ia ditahan selama lebih daripada 2 saat, mikropengawal akan menetapkan paras voltan tinggi pada dasar transistor VT2, membukanya dan memastikan transistor VT3 terbuka. Selepas itu, pemain masuk ke dalam keadaan berfungsi, dan butang boleh dilepaskan. Matikan pemain dengan menekan dan menahan butang SB1 sekali lagi.

Selepas menghidupkan, mikropengawal memulakan LCD HG1 dan kad microSD yang dimasukkan ke dalam pemegang XS1, menyemak kehadiran fail konfigurasi player.ini dalam direktori akar kad (sistem fail FAT12, FAT16, FAT32 disokong). Ini ialah fail ini biasa, iaitu satu set baris "kunci - nilai". Ia menyimpan maklumat tentang fail audio yang dipilih untuk main semula pada masa pemain terakhir dimatikan, kedudukan di dalamnya dan kelantangan ditetapkan. Program ini cuba memulihkan keadaan ini. Sekiranya berlaku kegagalan (contohnya, jika kad telah diganti), fail audio pertama (dengan sambungan .mp3 atau .opus) pada kad dicari. Carian bermula dari direktori akar, fail dicari mengikut susunan di mana ia disenaraikan dalam jadual peruntukan fail pada peta.

Semasa main balik, fungsi MainThread penyahkod semasa dipanggil secara berkala, yang melakukan pembacaan daripada kad mengikut keperluan (setiap codec bertanggungjawab untuk menimbal sendiri, kerana format bekas paket audio untuk .opus dan .mp3 adalah berbeza) dan penyahkodan. Keperluan untuk melaksanakan operasi ini ditentukan oleh kepenuhan penimbal AudioBuffer bulat, yang daripadanya codec audio membaca maklumat secara tak segerak. Apabila penyahkodan fail audio semasa selesai, yang seterusnya dicari mengikut prinsip yang diterangkan di atas. Jika lintasan sistem fail selesai, main balik berhenti.

Pemain berinteraksi dengan pengguna menggunakan LCD HG1 monokrom grafik dengan resolusi 96x65 px dan butang SB 1 -SB 17. Simulasi perisian mod paparan teks digunakan dengan skrin terbahagi kepada lapan baris ketinggian 8 px. Baki bar mendatar 1px di bahagian bawah skrin digunakan untuk memaparkan secara visual kedudukan semasa dalam fail semasa main balik.

Baris pertama dari bahagian atas memaparkan (dari kiri ke kanan) voltan bateri, status pemain, kelantangan. Status dicirikan oleh aksara "0" - main balik, "-" - jeda, "<<" atau ">>" - putar balik pantas atau maju pantas, masing-masing dalam fail. Simbol dalam bentuk segi empat tepat bermaksud ralat dalam komunikasi litar mikro DD1 dan DD2 melalui antara muka I2C.

Baris 2-6 menunjukkan laluan penuh ke fail audio yang dimainkan. Baris 8 memaparkan masa main balik semasa di sebelah kiri, dan tempoh fail audio di sebelah kanan.

Butang SB1 bertukar antara mod main balik dan jeda, butang SB3 meningkatkan kelantangan, dan butang SB5 mengurangkan kelantangan, butang SB4 dihidupkan dan kunci pad kekunci dimatikan dengan butang SB15. Apabila pad kekunci dikunci, "Dikunci" dipaparkan di tengah-tengah baris 7 paparan. Menekan butang SB6 membawa kepada peralihan kepada main balik fail sebelumnya, dan butang SB8 - seterusnya. Menekan dan menahan butang ini selama lebih daripada satu saat meletakkan pemain ke dalam mod ke hadapan pantas, gulung semula atau maju, masing-masing. Menekan butang SB9 atau SB11 memuatkan fail pertama dan terakhir direktori semasa untuk main semula, masing-masing.

Penyambung XS3 - tersedia dalam perumah yang digunakan untuk menyambungkan set kepala. Alat dengar itu sendiri mempunyai bicu untuk palam audio standard dengan diameter 3,5 mm, yang mana fon kepala disambungkan. Set kepala juga mempunyai butang yang menyambungkan litar BTN dan GND apabila ditekan, dan rintangan antara kenalan butang yang dilepaskan adalah kira-kira satu kiloohm. Dalam pemain, talian BTN disambungkan ke litar 3,3 V melalui perintang R21, oleh itu, dengan mengukur voltan pada talian ini, seseorang boleh menilai kedua-dua kehadiran set kepala yang disambungkan dan keadaan butangnya. Fungsi butang set kepala adalah serupa dengan fungsi butang pemain SB1 - anda boleh menukarnya daripada mod main balik kepada mod jeda dan sebaliknya, dan juga mematikannya. Walau bagaimanapun, anda tidak boleh menghidupkan pemain yang menggunakannya. Apabila papan kekunci dikunci, butang set kepala kekal aktif.

Penyambung XS2 menggantikan lensa lampu suluh LED dalam telefon. Apabila tahap logik yang tinggi dikesan pada input PA1 mikropengawal yang disambungkan ke pin 9 penyambung ini, program mula memaparkan arus pengecasan bateri dalam ampere di penjuru kanan sebelah atas paparan. Selain itu, acara ini menghidupkan pemain secara automatik jika ia dimatikan. Secara lalai, selepas itu, pemain berfungsi dalam mod main balik biasa, yang membolehkan anda mendengar muzik dan mengecas bateri pada masa yang sama.

Apabila anda menekan butang SB13, program ini menyimpan keadaan pemain dalam fail player.ini dan mengkonfigurasi modul mikropengawal USB untuk berfungsi dalam mod MSC (Mass Storage Class). Dalam mod ini, komputer mengenali pemain yang disambungkan ke penyambung USB sebagai peranti storan boleh tanggal, kandungannya sepadan dengan yang dirakam pada kad microSD yang dimasukkan ke dalam pemain. Maklumat ditukar dengan komputer hanya dalam mod Kelajuan Penuh dengan lebar jalur tidak lebih daripada 12 Mbps. Paparan masih menunjukkan nilai semasa arus pengecasan, dalam baris 3 - tulisan "USB Disk", dalam baris 4 dan 5 - masing-masing, kelajuan membaca dan menulis. Dengan menekan butang SB12, peranti kembali ke mod pemain.

Lukisan papan litar bercetak pemain ditunjukkan dalam rajah. 2. Dimensi dan bentuknya dipilih sama dengan papan telefon bimbit NOKIA 1100, di mana ia diletakkan (Gamb. 3). Papan mesti dibuat mengikut teknologi dengan lubang bersalut, jika tidak, ia perlu memasukkan dan memateri kepingan wayar tin di kedua-dua belah ke dalam semua vias (dengan pad pada kedua-dua belah papan) dan mematerinya di kedua-dua belah. Lokasi bahagian pada papan ditunjukkan dalam rajah. 4 dalam skala 2:1. Ia juga menunjukkan topeng yang diperbuat daripada varnis penebat tahan haba, yang mana ia perlu untuk melindungi konduktor bercetak. Jika topeng tidak digunakan, maka adalah perlu untuk mengasingkan sekurang-kurangnya kawasan di mana konduktor mendekati kenalan bercetak butang dan kawasan di bawah bekas logam pemegang kad microSD XS1.

Pemain audio MP3 dan Opus
nasi. 2. Lukisan papan litar bercetak pemain

Pemain audio MP3 dan Opus
nasi. 3. Telefon bimbit NOKIA 1100

Pemain audio MP3 dan Opus
nasi. 4. Lokasi bahagian pada papan

Kod daripada fail walkgeek-v1.2-n1100-with-mp3.hex yang dilampirkan pada artikel mesti dimasukkan ke dalam memori pengawal mikro yang dipasang pada papan. Kod sumber program pemain dan semua komponennya diedarkan di bawah Lesen BSD Baharu (dan lain-lain yang serasi), yang membenarkan penggunaannya dalam projek komersial tertutup. Pengecualian ialah pustaka Mp3dec, yang penambahannya kepada produk akhir memerlukan pendedahan semua kod sumber. Projek ini sentiasa dikemas kini, dan versi terkininya disiarkan dalam [1].

Seperti yang telah disebutkan, pemain menyediakan keupayaan untuk memainkan fail Opus. Ini ialah versi stabil codec audio lossy [2] yang dikeluarkan baru-baru ini yang dibangunkan oleh projek Xiph.org, yang terkenal dengan penyelesaian seperti Vorbis, FLAC (Free Lossless Audio Codec) dan Speex (codec pertuturan). Anda juga boleh memanggilnya Ogg - bekas media universal yang digunakan secara lalai untuk membungkus strim termampat dalam fail Opus.

Memandangkan codec Opus agak baru, tidak banyak pelaksanaannya pada sistem dengan jumlah RAM yang kecil. Salah satunya ialah Rockbox. Semasa bekerja dengan codec, ternyata perpustakaan Ogg secara dinamik memperuntukkan memori untuk cache seluruh halaman (saiz maksimum teori ialah 65 KB, yang sebenar adalah kira-kira 26 KB), serta untuk cache granulepos semua paket halaman (kira-kira 16 KB), yang banyak untuk peranti dengan 192 KB RAM. Selain itu, perpustakaan secara lalai memperuntukkan kawasan kecil memori untuk penimbal halaman, mengembangkannya semasa operasi dan setiap kali memperuntukkan memori "dengan margin".

Perkara yang sama berlaku dengan penimbal untuk nilai lacing - maklumat tentang pengedaran pakej pada halaman. Oleh itu, jika kumpulan memori dinamik adalah kecil, ia tidak lama lagi membawa kepada pemecahan yang ketara dan kemustahilan peruntukan selanjutnya memori amaun yang diperlukan.

Hasil daripada perubahan yang dibuat pada perpustakaan, caching dilakukan pada tahap paket (saiz maksimum paket maklumat stereo yang dihantar pada kelajuan 512 Kbps, dalam amalan, 1276 bait). Saiz penimbal maksimum untuk nilai lacing ialah 256 sel dua bait, dan ia juga boleh dibuat satu bait. Oleh itu, semua struktur yang dikaitkan dengan bekas Ogg, selepas pengubahsuaian, mengambil kurang daripada 2 KB RAM.

Beberapa andaian telah dibuat dalam pengubahsuaian: paket tidak boleh merentasi sempadan halaman, jumlah semak halaman tidak disemak (tiada satu pun daripada ini ditemui dalam mana-mana fail Opus). Bekerja dengan fail yang mengandungi lebih daripada satu aliran, dan dengan bilangan saluran yang berbeza daripada dua belum diuji.

Jumlah memori yang digunakan oleh codec Opus ialah 65088 bait, di mana 3856 bait diduduki oleh penimbal keluaran. Keputusan pemprofilan codec pada kadar aliran maklumat yang berbeza ditunjukkan dalam Jadual. 1.

Jadual 1

codec Opus MP3
Kelajuan, Kbps 48 196 320 512 320
Kerumitan, MIPS 43 50 74 80 21

Konsep "kerumitan" di dalamnya merujuk kepada prestasi pemproses yang diperlukan untuk penyahkodan yang berjaya. Ia dianggarkan dengan pengiraan mudah menggunakan pemasa perkakasan perbezaan antara detik kemasukan ke dalam prosedur penyahkodan setiap bingkai dan keluar daripadanya (dengan multitasking preemptive dilumpuhkan dan gangguan dilumpuhkan). Ujian menunjukkan bahawa codec MP3 memerlukan usaha pengiraan yang kurang. Tetapi Opus adalah bebas royalti, dan kualiti bunyi lebih baik apabila menggunakannya daripada semasa menggunakan MP3 dan kadar bit yang sama.

Terdapat versi program pemain untuk papan nyahpepijat STM32F4DISCOVERY. Kod yang perlu dimasukkan ke dalam memori pengawal mikro yang dipasang padanya adalah dalam fail walkgeek-v1. 1 -stm32f4discovery-with-mp3.hex (juga dilampirkan pada artikel). Dalam kes ini, fail audio dimainkan daripada pemacu kilat USB yang disambungkan ke penyambung CN5 papan melalui penyesuai. Pemain bertindak sebagai 

Tuan bas USB. Statusnya dipaparkan oleh LED oren, merah, biru dan hijau pada papan. Merah menunjukkan tidak, hijau menunjukkan kehadiran pemacu FLASH yang disambungkan, oren menunjukkan fail audio sedang dimuatkan, main semula telah berhenti atau ralat program telah berlaku, dan biru berkelip menunjukkan mod main balik. Kebanyakan butang yang terdapat dalam rajah dalam Rajah. 1, disambungkan ke papan nyahpepijat mengikut jadual. 2 (sentuhan kedua setiap butang disambungkan ke wayar biasa). Peranan butang SB8 dilakukan oleh butang "Pengguna" papan. Paparan daripada telefon NOKIA 1100 disambungkan ke papan nyahpepijat mengikut jadual. 3.

Jadual 2

Butang Talian hubungan
SB1 REZ P2.16
SB3 PE5 P2.14
SB4 PE4 P2.13
SB5 PE6 P2.11
SB6 PE7 P1.25
SB7 PE8 P1.26
SB9 PE9 P1.27
SB10 RAY P1.28
SB11 PE11 P1.29
SB12 RAY P1.30
SB13 RAY P1.31
SB14 RAY P1.32
SB15 RAY P1.33

Jadual 3

Output Rantaian Talian hubungan
1 RES RA2 P1.14
2 CS RA1 P1.11
3 VSS GND P1.5
4 SDIN RA7 P1 17
5 SCLK RA5 P1 15
6 VDD1 3 B P2.5
7 VDD2

Program pemain

Kesusasteraan

  1. Pemain muzik Walkgeek ARM Cortex-M4. - URL: code.google.eom/p/walkgeek/.
  2. Codec Audio Interaktif Opus. - URL: opus-codec.org/.

Pengarang: O. Tsaregorodtsev

Lihat artikel lain bahagian Audio.

Baca dan tulis berguna komen pada artikel ini.

<< Belakang

Berita terkini sains dan teknologi, elektronik baharu:

Kandungan alkohol bir hangat 07.05.2024

Bir, sebagai salah satu minuman beralkohol yang paling biasa, mempunyai rasa uniknya sendiri, yang boleh berubah bergantung pada suhu penggunaan. Satu kajian baru oleh pasukan saintis antarabangsa telah mendapati bahawa suhu bir mempunyai kesan yang ketara terhadap persepsi rasa alkohol. Kajian yang diketuai oleh saintis bahan Lei Jiang, mendapati bahawa pada suhu yang berbeza, molekul etanol dan air membentuk pelbagai jenis kelompok, yang mempengaruhi persepsi rasa alkohol. Pada suhu rendah, lebih banyak gugusan seperti piramid terbentuk, yang mengurangkan kepedasan rasa "etanol" dan menjadikan rasa minuman kurang alkohol. Sebaliknya, apabila suhu meningkat, gugusan menjadi lebih seperti rantai, menghasilkan rasa alkohol yang lebih ketara. Ini menjelaskan mengapa rasa beberapa minuman beralkohol, seperti baijiu, boleh berubah bergantung pada suhu. Data yang diperoleh membuka prospek baharu bagi pengeluar minuman, ...>>

Faktor risiko utama untuk ketagihan perjudian 07.05.2024

Permainan komputer menjadi satu bentuk hiburan yang semakin popular di kalangan remaja, tetapi risiko ketagihan permainan yang berkaitan masih menjadi masalah yang ketara. Para saintis Amerika menjalankan kajian untuk menentukan faktor utama yang menyumbang kepada ketagihan ini dan menawarkan cadangan untuk pencegahannya. Sepanjang enam tahun, 385 remaja telah diikuti untuk mengetahui faktor yang boleh menyebabkan mereka ketagihan perjudian. Keputusan menunjukkan bahawa 90% peserta kajian tidak berisiko mengalami ketagihan, manakala 10% menjadi penagih judi. Ternyata faktor utama dalam permulaan ketagihan perjudian adalah tahap tingkah laku prososial yang rendah. Remaja dengan tahap tingkah laku prososial yang rendah tidak menunjukkan minat terhadap bantuan dan sokongan orang lain, yang boleh menyebabkan kehilangan hubungan dengan dunia sebenar dan pergantungan yang semakin mendalam pada realiti maya yang ditawarkan oleh permainan komputer. Berdasarkan keputusan ini, saintis ...>>

Kebisingan lalu lintas melambatkan pertumbuhan anak ayam 06.05.2024

Bunyi yang mengelilingi kita di bandar moden semakin menusuk. Walau bagaimanapun, sedikit orang berfikir tentang bagaimana bunyi ini menjejaskan dunia haiwan, terutamanya makhluk halus seperti anak ayam yang belum menetas dari telur mereka. Penyelidikan baru-baru ini menjelaskan isu ini, menunjukkan akibat yang serius untuk pembangunan dan kelangsungan hidup mereka. Para saintis telah mendapati bahawa pendedahan anak ayam zebra diamondback kepada bunyi lalu lintas boleh menyebabkan gangguan serius kepada perkembangan mereka. Eksperimen telah menunjukkan bahawa pencemaran bunyi boleh melambatkan penetasan mereka dengan ketara, dan anak ayam yang muncul menghadapi beberapa masalah yang menggalakkan kesihatan. Para penyelidik juga mendapati bahawa kesan negatif pencemaran bunyi meluas ke dalam burung dewasa. Mengurangkan peluang pembiakan dan mengurangkan kesuburan menunjukkan kesan jangka panjang bunyi lalu lintas terhadap hidupan liar. Hasil kajian menyerlahkan keperluan ...>>

Berita rawak daripada Arkib

Mentega diiktiraf sebagai produk berbahaya 28.10.2021

Para saintis di Sekolah Kesihatan Awam di Universiti Harvard di Boston memanggil minyak itu sebagai produk berbahaya.

Penyelidik dari Harvard telah membuktikan bahaya pengambilan produk tenusu untuk kesihatan manusia. Kerja saintifik telah menunjukkan pengurangan 20% dalam kematian awal selepas menggantikan mentega dengan analog sayuran.

Secara keseluruhan, 120 ribu orang mengambil bahagian dalam kerja saintifik. Kajian itu menyimpulkan bahawa makan lemak tepu daripada produk tenusu membawa kepada peningkatan risiko kematian.

Pada masa yang sama, dengan peningkatan kalori sebanyak 5%, risiko kematian pramatang meningkat sebanyak 8%. Bagi setiap 2% kalori yang diambil daripada lemak trans, terdapat risiko kematian pramatang sebanyak 16% lebih tinggi.

Berita menarik lain:

▪ Bakteria isi rumah akan memberitahu tentang kehidupan peribadi anda

▪ Penderia Imej OmniVision untuk Telefon Pintar

▪ Pengukuran ketepatan tinggi jisim W-boson

▪ Nanosensor mengesan racun perosak pada buah-buahan

▪ Kereta elektrik dari BMW

Suapan berita sains dan teknologi, elektronik baharu

 

Bahan-bahan menarik Perpustakaan Teknikal Percuma:

▪ bahagian tapak Jam, pemasa, geganti, suis beban. Pemilihan artikel

▪ Artikel Argus. Ungkapan popular

▪ artikel Mengapa kaktus mempunyai jarum? Jawapan terperinci

▪ artikel Hos program radio. Deskripsi kerja

▪ artikel Pengiraan radio amatur. Direktori

▪ artikel Gentian tiruan diperoleh daripada larutan kuprum-ammonia. Pengalaman kimia

Tinggalkan komen anda pada artikel ini:

Имя:


E-mel (pilihan):


Komen:





Semua bahasa halaman ini

Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web

www.diagram.com.ua

www.diagram.com.ua
2000-2024