Table of Contents
Whether running on the soft-core CPU or on the Zynq ARM processor, the embedded software functions can be partitioned in the following four main components:
- Ethernet Support – network protocol level support, including ARP and DHCP. For the case of soft-core implementation, the framework provides shared-memory access between the soft CPU and the APP space; for the Zynq platform, GigE data traffic is routed to/from the FPGA Subs-system (and APPs) through DMA. The focus is to enable communication between host and RF client.
- RF Management – new ADI RF drivers for the Zynq platform by porting the original ADI-provided drivers to the WISER embedded software environment. The drivers allow for setting of various RF parameters (center frequency, bandwidth, gain, and several other parameters.). Currently, WISER supports 4 different types of RF front-ends (USRP sbx and sbx-wide, ADI and CRKIT).
- Control API - define and implement the software API by which the software application at the node/host can control and monitor the RF client. These APIs are compatible with VITA (a.k.a uhd for the orginal GNU Radio implementation) drivers to leverage the wealth of signal processing blocks available within GNU Radio software. Hence, we have a split processing environment where some baseband functions are executed in the GNU Radio environment on the external general purpose processors (e.g. i7 on the host machine), some are executed on the embedded CPU, whereas other more time-critical functions are executed on the FPGA (e.g. Framework and APP).
- Support for data processing – the embedded CPU can perform some of the simple processing tasks enabling: a) low-latency software functions (i.e. MAC functions) or b) standalone operation (i.e. spectrum sensing without host node). This task will benefit from the ongoing effort in the open-source community on porting GNU Radio software framework to Zynq platform and we expect to fully embrace this project.