Return to search

Embedded programmable soft-core control subsystem for digital front-end

Field-programmable gate arrays (FPGAs) provide a fully reconfigurable platform for soft-core processors. Such processors can be implemented using the general-purpose programmable logic of the FPGA, alleviating the need to incorporate hard-wired processors in embedded systems where high processing power is often not a primary design requirement.

An example of such embedded system is the digital radio-frequency front-end of a software-defined radio. A digital front-end (DFE) can be implemented as an FPGA-based system, with an embedded microcontroller executing various control functions. This kind of microcontroller subsystem is well suited for implementation using one or more soft processor cores.

The implementation part of this thesis presents a software-programmable soft-core subsystem for a digital radio-frequency front-end. The subsystem was built around a MicroBlaze soft processor core, and it was implemented on a Xilinx Virtex-7 FPGA. The design and implementation of the subsystem were carried out using Vivado design tools, and the associated software was developed in Xilinx SDK using the C programming language. The design was composed with the IP-centric, schematic-based design methodology in Vivado IP Integrator.

To verify its functionality, the subsystem was integrated into the full DFE design and tested on an ADS7-V1 evaluation board. The tests included latency measurements for automatic gain control, which is considered a soft real-time feature. However, no explicit latency constraint was defined for this particular implementation. The measurement results were compared against requirements given in the IEEE 802.11a/g specification. / Ohjelmoitavat porttimatriisit (Field-programmable gate array, FPGA) muodostavat vapaasti muokattavan alustan ohjelmistopohjaisille mikroprosessoreille. Ohjelmistopohjaisiin mikroprosessoriytimiin pohjautuva järjestelmä voidaan toteuttaa käyttämällä FPGA:n ohjelmoitavaa logiikkarakennetta. Tällaiset toteutukset vähentävät tarvetta kovopohjaisille prosessoreille sulautetuissa järjestelmissä, joilta ei välttämättä vaadita erityisen suurta prosessointikapasiteettia.

Eräs esimerkki tällaisesta sulautetusta järjestelmästä on ohjelmistoradion digitaalinen radiotaajuusetupää. Digitaalinen etupää (Digital front-end, DFE) on mahdollista toteuttaa FPGA-pohjaisena järjestelmänä, johon sisällytetään ohjaustoimintoja suorittava sulautettu mikrokontrolleri. Tällainen mikrokontrollerimoduuli on helppo toteuttaa ohjelmistopohjaisen prosessoriytimen avulla.

Tämän työn käytännön osassa esitellään ohjelmistopohjainen ohjausmoduuli digitaalisen radion radiotaajuusosaan. Moduuli on rakennettu MicroBlaze-prosessoriytimen ympärille ja toteutettu Xilinxin Virtex-7 FPGA-piirillä. Moduulin suunnittelu ja synteesi tehtiin Vivado-suunnitteluohjelmistolla, ja prosessoriytimen ajama ohjelmakoodi toteutettiin C-ohjelmointikielellä Xilinx SDK -kehitysympäristössä. Moduulin suunnitteluun käytettiin Vivado IP Integratorin IP-keskistä, kaaviopohjaista suunnittelumenetelmää. IP:llä (Intellectual Property) tarkoitetaan erilaisia valmiita prosessoriytimiä, joita yhdistelemällä voidaan toteuttaa digitaalisia piirejä.

Ohjausmoduulin toiminta varmennettiin integroimalla se kokonaiseen DFE-järjestelmään, jota testattiin ADS7-V1-evaluointipiirilevyllä. Testeihin kuului automaattisen vahvistusohjauksen vasteaikamittauksia. Automaattista vahvistusohjausta voidaan pitää reaaliaikaisena toimintona, mutta sen toimintanopeus ei ollut tässä järjestelmässä olennaista. Mittausten tuloksia vertailtiin IEEE 802.11a/g-spesifikaatiossa annettuihin vaatimuksiin.

Identiferoai:union.ndltd.org:oulo.fi/oai:oulu.fi:nbnfioulu-201606042360
Date06 June 2016
CreatorsVikamaa, T. (Teemu)
PublisherUniversity of Oulu
Source SetsUniversity of Oulu
LanguageEnglish
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/masterThesis, info:eu-repo/semantics/publishedVersion
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess, © Teemu Vikamaa, 2016

Page generated in 0.0023 seconds