Reka bentuk terminal pemantauan kualiti kuasa berdasarkan cip DSP TMS320F2812

Kemas kini: 12 Disember 2023
DSP (Digital Signal Processor) digunakan lebih dan lebih kerap dalam aplikasi kejuruteraan hari ini. Terdapat tiga sebab utama untuk ini: Pertama, ia mempunyai keupayaan pengkomputeran yang berkuasa, mampu pelbagai algoritma pemprosesan isyarat digital seperti FFT dan penapisan digital; Kedua, pengeluar DSP utama telah mereka bentuk IDE berkaitan (pembangunan bersepadu) untuk produk mereka. Persekitaran), yang menjadikan pembangunan aplikasi DSP lebih berkuasa; ketiga, ia mempunyai prestasi kos yang tinggi, dan benar-benar berdaya saing dengan prestasi yang berkuasa dan harga yang rendah.

TI mereka bentuk persekitaran pembangunan visual bersepadu CCS (CodeComposerStudio) untuk DSP syarikat, dan DSP/BIOS ialah bahagian penting CCS. Ia pada asasnya ialah kernel sistem pengendalian masa nyata berdasarkan platform DSP siri TMS320, dan juga merupakan bahagian teras perisian masa nyata TI teknologi-teknologi eXpressDSP. DSP/BIOS terutamanya merangkumi tiga aspek: kernel berbilang benang, alat analisis masa nyata, perpustakaan konfigurasi persisian.

1 Keperluan fungsi sistem

Fungsi utama terminal pemantauan kualiti kuasa adalah untuk memantau dan menganalisis kualiti kuasa grid kuasa (Tiga Fasa voltan dan semasa) dalam masa nyata. Pembolehubah pemantauan utama ialah: voltan dan nilai berkesan arus, kuasa aktif dan reaktif, kekerapan voltan, ketidakseimbangan tiga fasa, setiap voltan harmonik dan kadar kandungan arus, faktor kuasa, faktor kuasa peralihan fasa, turun naik voltan, masa yang lama, Flicker untuk a masa yang singkat.

Sistem memilih cip DSP berprestasi tinggi TI TMS320F2812 sebagai teras pemprosesan, dan kelajuan pemprosesan 150MIPSnya mencukupi untuk memenuhi keperluan masa nyata sistem. Mengikut keperluan sistem, sistem dibahagikan kepada modul berfungsi berikut: pemeriksaan sendiri berpandu modul, modul pelaksanaan tugas pengumpulan, modul prapemprosesan data kualiti kuasa, modul operasi analisis kualiti kuasa, modul storan data, modul komunikasi dan modul interaksi manusia-komputer.

Mengikut kaedah pengaturcaraan tradisional, modul berfungsi ini akan disusun bersama dalam struktur berjujukan, dan panggilan dan pertukaran antara modul dilengkapkan dengan kod setiap modul, supaya modul aplikasi berada dalam keadaan berganding. Jika anda ingin menambah modul fungsi baharu atau mengubah suai modul fungsi sedia ada, bukan sahaja kod panggilan modul berkaitan mesti diubah suai, tetapi modul baharu juga jelas akan mempengaruhi ciri tindak balas masa sistem asal, menjadikan peningkatan dan penyelenggaraan agak menyusahkan.

Kemunculan DSP/BIOS menyediakan satu lagi mekanisme untuk mengatur modul berfungsi program aplikasi. Ia menganggap setiap modul berfungsi sebagai utas tugas. Melalui perkhidmatan kernel boleh dikonfigurasikan, setiap utas tugas memultipleks sumber CPU mengikut keutamaan penjadual sistem. Setiap utas tugasan melepasi penyegerakan, komunikasi dan pertukaran Data, dsb. diselaraskan. Mekanisme ini meningkatkan kebolehselenggaraan aplikasi dan menyediakan kaedah ujian semula yang lebih mudah dan maju. Mengikut ciri-ciri di atas, sistem ini menggunakan DSP/BIOS sebagai kernel masa nyata, dan mereka bentuk keseluruhan sistem berdasarkan ini.

Rajah 1 menunjukkan klasifikasi modul berfungsi sistem di bawah DSP/BIOS.

2 Reka bentuk perisian berdasarkan DSP/BIOS

2.1 Perancangan benang pelaksanaan

Dalam operasi masa nyata sistem, beberapa fungsi fungsi didorong oleh isyarat kawalan luaran atau dijalankan dalam tempoh yang telah ditetapkan. Oleh itu, mod pemanduan dan tempoh pelaksanaan fungsi adalah sangat penting kepada sistem masa nyata. DSP/BIOS menyokong aplikasi berbilang benang, dan benang boleh ditakrifkan sebagai keutamaan yang berbeza.

Benang keutamaan tinggi boleh mengganggu utas keutamaan rendah, dan interaksi antara utas yang berbeza, seperti penyekatan, komunikasi dan penyegerakan, dibahagikan kepada 4 jenis berikut (keutamaan dari tinggi ke rendah): Gangguan Perkakasan (HWI) , Gangguan Perisian ( SWI), Tugasan (TSK), Benang Latar Belakang (IDL). Mengikut keperluan fungsi sistem terminal pemantauan kualiti kuasa, modul sub-fungsi sistem dibahagikan kepada 4 jenis benang di atas.

Mula-mula, jadualkan benang gangguan perkakasan (HWI). Dalam keadaan biasa, kod program utama sistem diletakkan dalam gangguan perisian atau tugas; walau bagaimanapun, kod program modul berfungsi yang berkait rapat dengan peranti luaran dan memerlukan prestasi masa nyata yang tinggi mesti diletakkan dalam gangguan perkakasan.

Selaras dengan keperluan di atas, sistem menetapkan modul subfungsi berikut sebagai benang gangguan perkakasan: Modul tugas pemerolehan A/D dan modul komunikasi (terima). Pemerolehan A/D ialah asas penting sistem ini, dan ia berkait rapat dengan perkakasan asas sistem, jadi ia ditetapkan sebagai benang gangguan perkakasan (HWI).

Proses utama ialah: cip A/D mengumpul data masa nyata grid kuasa pada frekuensi tertentu, dan kemudian berkomunikasi dengan port McPSP DSP. DSP menerima data yang dikumpul oleh cip A/D dan menyimpannya di kawasan tertentu RAM pada cip untuk menyediakan operasi benang lain. Modul komunikasi menggunakan RS485 untuk berkomunikasi dengan komputer hos, yang berkait rapat dengan perkakasan asas sistem, dan antara muka SCI DSP itu sendiri hanya mempunyai FIFO dengan maksimum 16 perkataan. Jika data yang diterima tidak diproses dalam masa, data akan hilang.

Berikut menerangkan tetapan parameter modul HWI dalam DSP/BIOS. Gangguan penerimaan port bersiri McBSP diletakkan dalam kedudukan HWI_INT6 modul HWI, dan fungsi ISR ​​ad_rx_isr() gangguan penerimaan diisi dalam item panggilan fungsi gangguan HWI_INT6; pada masa yang sama, pilih untuk menggunakan fungsi penjadualan HWI DSP/RI-OS, apabila membalas McBSP Apabila port bersiri menerima gangguan, sistem akan memanggil fungsi ad_rx_isr() secara automatik. Port bersiri McBSP menerima tetapan gangguan ditunjukkan dalam Rajah 2.

Sama seperti penetapan port bersiri McBSP menerima gangguan, SCIA menerima gangguan ditetapkan sebagai komunikasi menerima gangguan, dan fungsi ISRnya scia_rx_isr() diisi dalam item panggilan fungsi gangguan HWI_INT9. Apabila bertindak balas kepada gangguan terima, sistem memanggil fungsi scia_rx_isr() untuk diproses. Benang CLK juga merupakan salah satu benang gangguan perkakasan HWI. Ia menyediakan rujukan masa untuk operasi keseluruhan sistem, menyediakan kaedah untuk pengguna memanggil fungsi secara berkala, dan menyediakan rujukan masa untuk beberapa alat penilaian kod. Modul CLK bergantung sepenuhnya pada gangguan pemasa DSP. TMS320C2812 menyediakan 2 pemasa untuk DSP/BIOS.

Kedua, susun benang gangguan perisian (SWI). Semua gangguan perisian dimulakan melalui panggilan API kernel DSP/BIOS. Untuk memudahkan kawalan, sistem menetapkan peti mel 16-bit (Peti Mel) untuk setiap objek SWI, yang boleh digunakan untuk memulakan peti mel yang sepadan secara bersyarat. Gangguan perisian. Modul subfungsi yang lebih penting daripada tugas biasa dan kerap berlaku boleh disusun dalam benang gangguan perisian (SWI). Modul sub-fungsinya termasuk: modul prapemprosesan data kualiti kuasa, modul komunikasi (hantar).

Modul prapemprosesan data kualiti kuasa terutamanya melengkapkan pemprosesan seterusnya hasil penukaran A/D. Ia adalah perlu untuk praproses hasil penukaran A/D. Oleh kerana cip A/D memilih frekuensi tetap untuk pemerolehan, tetapi kekerapan untuk grid kuasa berubah-ubah, melakukan operasi FFT secara langsung pada data yang diperoleh akan menyebabkan kebocoran spektrum. Oleh itu, data yang diperoleh mesti dipraproses. Sebagai contoh, operasi FFT 1024 mata dilakukan pada sejumlah 1024 data sebanyak 256 mata untuk setiap 4 kitaran. Dengan mengandaikan bahawa purata kekerapan 4 kitaran ialah f, resolusi frekuensi ialah f/4, dan keputusan operasi FFT ialah f/4, 2f/4, 3f/4, f, 5f/4… keamatan pada frekuensi. Oleh itu, apabila frekuensi grid kuasa fo berubah, frekuensi data grid kuasa f untuk pengiraan FFT juga berubah dengan sewajarnya, supaya frekuensi data grid kuasa f sebelum pengiraan FFT sentiasa konsisten dengan frekuensi grid kuasa semasa fo.

Operasi khusus modul prapemprosesan data kualiti kuasa adalah untuk menginterpolasi data selepas penukaran A/D, dan algoritma interpolasi menggunakan interpolasi linear. Selepas pengesahan, di bawah voltan terkadar, ralat operasi FFT yang disebabkan oleh algoritma interpolasi linear adalah dalam lingkungan 0. Dalam 1‰. Di samping itu, satu lagi fungsi modul adalah untuk mengira nilai berkesan voltan dalam kitaran. Ini adalah data yang diperlukan untuk mengira turun naik voltan dan kelipan jangka panjang dan jangka pendek. Modul komunikasi (hantar) bertanggungjawab untuk menghantar data ke komputer atas. Walaupun keperluan masa nyatanya tidak tinggi, ia berkait rapat dengan lapisan bawah perkakasan, jadi ia ditetapkan sebagai benang gangguan perisian.

Apabila port bersiri menerima gangguan berlaku, panggil fungsi scia_rx_isr() untuk memproses arahan data yang diterima, dan hantar data kualiti kuasa yang sepadan mengikut arahan yang berkaitan. DSP/BIOS menyediakan keutamaan 0 hingga 14 untuk objek gangguan perisian. Mengikut kepentingan utas di atas, keutamaan utas pemprosesan data pengumpulan ditetapkan kepada 14, utas komunikasi hos ditetapkan kepada 8, dan keutamaan lain dikhaskan untuk peningkatan perisian masa hadapan.

Perlu diingatkan bahawa benang gangguan (termasuk gangguan perkakasan dan gangguan perisian) semuanya berjalan pada timbunan yang sama. Apabila sampukan keutamaan tinggi berlaku dan menyebabkan sistem bertukar tugas, benang sampuk keutamaan tinggi akan mengganggu benang sampuk keutamaan rendah; sebelum menjalankan utas sampuk keutamaan tinggi, kandungan daftar yang berkaitan bagi utas sampuk keutamaan rendah akan disimpan, dan sampukan keutamaan tinggi Selepas utas berjalan, daftar akan dipulihkan kepada kandungan asalnya dan terus melengkapkan yang asal benang keutamaan rendah.

Oleh itu, jika terlalu banyak gangguan perkakasan atau benang gangguan perisian ditetapkan, timbunan akan melimpah. Atas sebab ini, kebanyakan modul tugas mesti diletakkan dalam utas tugas. Seterusnya, jadualkan benang tugasan (TSK). Seperti kebanyakan sistem masa nyata, utas tugas ialah komponen utama keseluruhan sistem. Fungsi dalam utas tugas boleh berjalan secara bebas atau selari. Modul pengurusan tugasan DSP/BIOS mengatur operasi mengikut keutamaan utas tugasan dan melengkapkan penukaran daripada satu tugasan kepada tugasan lain melalui fungsi pensuisan.

Setiap tugasan mempunyai 4 keadaan pelaksanaan: jalankan, sedia, disekat dan ditamatkan. Misi Januari dibuat, dan ia sentiasa berada di salah satu daripada empat negeri. DSP/BIOS menyediakan keutamaan -l hingga 15 untuk setiap objek tugasan. Tugasan akan dilaksanakan dalam susunan keutamaan yang ketat, tugasan dengan keutamaan yang sama akan disusun mengikut urutan pelaksanaan mengikut prinsip "dahulu dia dapat". Perlu diingatkan bahawa apabila benang tugasan dicipta, timbunan khusus kepunyaan tugas itu perlu dibuat pada masa yang sama. Tindanan digunakan untuk menyimpan pembolehubah tempatan atau sarang panggilan fungsi selanjutnya.

Kami menetapkan modul pengiraan analisis kualiti kuasa, modul storan data dan modul interaksi manusia-komputer dalam utas tugas (TSK). Modul pengiraan analisis kualiti kuasa boleh dibahagikan kepada tiga bahagian: utas tugas pengiraan harmonik, utas tugas pengiraan turun naik voltan dan utas tugas pengiraan kelipan.

Benang tugas pengiraan harmonik bertanggungjawab terutamanya untuk melaksanakan operasi FFT pada data kualiti kuasa praproses. Operasi FFT terutamanya merangkumi lima bahagian: operasi penukaran bit, operasi tetingkap, operasi rama-rama berdasarkan 2, operasi asas berpecah dan operasi jumlah persegi. Benang tugas pengiraan turun naik voltan bertanggungjawab untuk merekodkan turun naik voltan grid dalam masa 3 minit. Modul prapemprosesan data kualiti kuasa sebelumnya telah memperoleh nilai efektif voltan untuk setiap kitaran.

Dengan cara ini, hanya perlu merekodkan nilai maksimum dan minimum bagi nilai berkesan voltan dalam masa 3 minit, dan perbezaan antara keduanya ialah turun naik voltan. Benang tugas pengiraan kelipan termasuk pengiraan kelipan masa pendek dan kelipan jangka panjang. Kini kaedah reka bentuk meter kelipan IEC secara amnya diterima pakai.

Isyarat semakan kendiri adaptif input melalui penyahmodulator kuadratik, penapisan berwajaran jalur-jalur, penapisan laluan rendah tertib pertama kuasa dua, dan penilaian statistik dalam talian untuk akhirnya memperoleh nilai kelipan; tetapi kaedah ini sudah memadai Kompleks dan memakan masa. Dengan memudahkan algoritma, kaedah pengiraan yang mudah dan boleh dilaksanakan diperolehi: Pengiraan FFT dilakukan pada nilai voltan berkesan 256 kitaran berturut-turut, dan selepas satu siri pengiraan seperti pemberat, nilai kelipan 12.8s boleh diperolehi, dan nilai kelipan adalah dalam masa 10 minit.

Nilai boleh mendapat kelipan jangka pendek selepas pengiraan korelasi, dan 12 kelipan masa pendek berturut-turut (dalam 2j) boleh mendapat kelipan jangka panjang selepas pengiraan. Selepas pengesahan, algoritma ini mempunyai ralat dalam 1‰ berbanding dengan algoritma meter kelipan IEC.

Modul penyimpanan data juga diletakkan dalam utas tugas, dan prosesnya adalah untuk menyimpan hasil analisis kualiti kuasa, turun naik voltan dan nilai kelipan dalam FIash. Modul interaksi manusia-komputer merangkumi dua bahagian: tugas pengesanan papan kekunci dan tugas paparan kristal cecair. Benang tugas pengesanan papan kekunci boleh dilengkapkan oleh fungsi berkala PRD. PRD boleh menentukan masa berjalan fungsi mengikut jam masa nyata. Di sini, tetapkan tugas pengesanan papan kekunci untuk dijalankan sekali dalam 100ms untuk mengesan ketukan kekunci. Mengikut keadaan utama, kristal cecair memaparkan tugas memaparkan data kualiti kuasa terkini semasa.

Akhirnya, terdapat benang latar belakang (IDL). Benang latar belakang (IDL) mempunyai keutamaan paling rendah. Secara amnya, modul analisis masa nyata (TRA) diletakkan di dalamnya untuk dijalankan, yang boleh melakukan interaksi masa nyata dan diagnosis aplikasi DSP semasa pelaksanaan aplikasi. CCS mempunyai alat analisis masa nyata seperti rajah beban CPU, rajah pelaksanaan, kawalan saluran hos, rakaman maklumat, pemerhatian statistik, papan kawalan masa nyata dan pemerhatian kernel/objek. Siri modul berfungsi ini boleh diletakkan dalam benang IDL, melalui alat ini, operasi keseluruhan sistem DSP akan menjadi jelas sepintas lalu.

2.2 Komunikasi dan penyegerakan antara benang

Dalam sistem berbilang benang ini, akses kepada sumber yang dikongsi memerlukan penyelarasan bersama antara utas untuk diselesaikan.

Terdapat tiga kaedah komunikasi dalam persekitaran DSP/BIOS, iaitu komunikasi berasaskan paip (PIPE), komunikasi berasaskan saluran (SIO) berasaskan aliran, dan komunikasi berasaskan saluran hos (HST).

Jadual 1 menunjukkan cara 4 utas berkongsi data dan mencapai penyegerakan.

3 Analisis masa nyata sistem dan penyahpepijatan

Overhed kernel DSP/BIOS itu sendiri akan memberi kesan ke atas prestasi masa nyata program sistem. Atas sebab ini, kernel DSP/BIOS perlu dioptimumkan. Anda boleh menggunakan alat analisis DSP/BIOS yang disediakan dalam CCS untuk menentukan overhed DSP/BIOS dan kapasiti pengkomputeran keseluruhan sistem aplikasi. Contohnya, gambar rajah beban CPU dalam alat analisis masa nyata yang disediakan oleh DSP/BIOS ialah salah satu alat yang biasa digunakan.

Dalam peringkat penyepaduan akhir, disebabkan interaksi masa nyata dan sebab lain, selalunya akan terdapat beberapa ralat atau respons yang tidak tepat pada masanya. Secara umumnya, kerana fenomena ini tidak berkala dan mempunyai kekerapan kejadian yang rendah, ia sukar dicari dan dijejaki. Walau bagaimanapun, kerana modul RTA dalam DSP/BIOS dibenamkan dalam terasnya, digabungkan dengan vektor pengesanan tersuai yang disediakan oleh pembangun, ia memberikan keterlihatan unik kepada punca ralat. Fungsi visualisasi ini sangat membantu mengasingkan dan membetulkan ralat, yang tidak tersedia dalam sistem pembangunan terbenam am.

Prestasi pelaksanaan program aplikasi dalam keseluruhan sistem boleh dipertingkatkan daripada empat aspek berikut: berhati-hati memilih jenis benang untuk fungsi program yang berbeza; letakkan susunan sistem dalam memori pada cip; mengurangkan kekerapan gangguan jam; meningkatkan saiz penimbal input dan output strim.

4 ringkasan

Sebagai satu set alat yang disediakan oleh CCS, DSP/BIOS sendiri hanya menggunakan sedikit sumber CPU, tetapi ia memberikan prestasi yang agak tinggi dan mempercepatkan kemajuan pembangunan. Menggunakan DSP/BIOS sebagai sistem pengendalian masa nyata terminal pemantauan kualiti kuasa, adalah mudah untuk mengawal sumber perkakasan semasa menulis program DSP, dan untuk menyelaraskan pelbagai modul perisian secara fleksibel, yang sangat mempercepatkan kemajuan pembangunan perisian dan penyahpepijatan. Percubaan akhir membuktikan bahawa keseluruhan sistem mempunyai prestasi masa nyata yang baik dan operasi yang stabil dan boleh dipercayai.