KRITIČKA EVALUACIJA UPRAVLJAČKOG SOFTVERA ZA USRP
USB kontrolni i komunukacioni interfejs za USRP je rađen na bazi GNU Radio softvera.
Poboljšanje se sastoji u tome što je kompletan transfer kako kontrolnoh tako i komunikacionih podataka preko USB interfejsa realizovan u asinhronom režimu (tj. bez blokiranja pozivne funkcije do završetka transfera). GNU Radio koristi isključivo sinhroni interfejs za kontrolne podatke.
Poboljšanje je posebno značajno u slučaju kada je potrebno u toku transfera komunikacionih podataka vršiti odredjene kontrolne transfere, tj. podešavanje parametara USRP-a.
Testovi su vršeni u operativnom sistemu LINUX distribucijom SLAX G.12. USB komunikacija sa USRP-om je realizovana upotrebom libusb-1.0.
- Pristup FPGA registrima USRP-a
- Pristup AD9862 registrima USRP-a
Analizirana je metodologija koju koristi GNU Radio, tj. asinhroni transfer komunikacionih podataka i sinhroni transfer kontrolnih podataka kao i poboljšana metoda koja koristi isključivo asinhroni transfer podataka.
Za svaki od navedenih testova analiziran je minimalan, maksimalan kao i prosečan broj ciklusa procesora potrebnih kernelu operativnog sistema LINUX i biblioteci libusb-1.0 za upravljanje USB interfejsom po svakom prenesenom paketu komunikacionih podataka.
Rezultati testiranja su generisani test programom.
Test program je kompajliran na sledeći način: g++ -o3 usrp_v22.cpp -lusb-1.0 -lpthread -lrt -o utst
Na sledećim slikama je prikazan broj procesorskih ciklusa za odgovarajući broj jednovremenih kontrolnih transfera (0-9) za sva četiri analizirana slučaja.
Poboljšanje se sastoji u tome što je kompletan transfer kako kontrolnoh tako i komunikacionih podataka preko USB interfejsa realizovan u asinhronom režimu (tj. bez blokiranja pozivne funkcije do završetka transfera). GNU Radio koristi isključivo sinhroni interfejs za kontrolne podatke.
Poboljšanje je posebno značajno u slučaju kada je potrebno u toku transfera komunikacionih podataka vršiti odredjene kontrolne transfere, tj. podešavanje parametara USRP-a.
Testovi su vršeni u operativnom sistemu LINUX distribucijom SLAX G.12. USB komunikacija sa USRP-om je realizovana upotrebom libusb-1.0.
- Pristup FPGA registrima USRP-a
- Pristup AD9862 registrima USRP-a
Analizirana je metodologija koju koristi GNU Radio, tj. asinhroni transfer komunikacionih podataka i sinhroni transfer kontrolnih podataka kao i poboljšana metoda koja koristi isključivo asinhroni transfer podataka.
Za svaki od navedenih testova analiziran je minimalan, maksimalan kao i prosečan broj ciklusa procesora potrebnih kernelu operativnog sistema LINUX i biblioteci libusb-1.0 za upravljanje USB interfejsom po svakom prenesenom paketu komunikacionih podataka.
Rezultati testiranja su generisani test programom.
Test program je kompajliran na sledeći način: g++ -o3 usrp_v22.cpp -lusb-1.0 -lpthread -lrt -o utst
Na sledećim slikama je prikazan broj procesorskih ciklusa za odgovarajući broj jednovremenih kontrolnih transfera (0-9) za sva četiri analizirana slučaja.
Sl.1 Sinhroni transfer kontrolnih podataka prema FPGA registrima |
Sl.2 Asinhroni transfer kontrolnih podataka prema FPGA registrima |
Sl.3 Sinhroni transfer kontrolnih podataka prema AD9862 registrima | Sl.4 Asinhroni transfer kontrolnih podataka prema AD9862 registrima |
Na osnovu prikazanih performansi sistema možemo doći do zaključka, da sistem sa kompletnim asinhronim transferom može da se realizuje sa značajno manjim kašnjenjem.