Version 19 (modified by antoni, 16 years ago) |
---|
PHAL-OE Concept and Motivation
First and basic step to advance in the process of defining a common framework to develop and deploy software radio applications is to eliminate platform (hardware and support software) dependencies. Next step is making simpler to specify radio applica-tions, worrying only about algorithm description.
In this context, the possibility to add as much processing resources as required for a given application, making not necessary to change it at all, is of must importance. The possibility of (re)configuring the radio terminal and/or the base station built by using different hardware from different providers requires the capability of adding (and removing) plug-and-play hardware to (from) the system. Different hardware topologies, configurations and, above all, as-signed tasks impose restrictions on the integration of different hardware to construct software radio platforms. Due to these and the previously stated objectives, a multi-platform software abstraction layer and execution environment, P-HAL-OE (Platform-Hardware Abstraction Layer Operating Environment), has been defined and designed to provide such features.
The context where the radio applications will be executed influences strongly the system performance. Radio appliactions are built by signal processing blocks most of them adquiring input signals and delivering output signals. Thus, the first step would be as simple as provide the mechanism to the application to deal with these input/output signals. These entities can be software or hardware entities, but in any case, abstracted from real implementation. The particularity of such interfaces between several entities is that is unknown at development time, and only during execution time all the entities will be unified and the entire application will be build.
These and more ideas should be incorporated to the framework. In the following lines we define the main list of functionalities where the PHAL-OE must support on:
• Flexibility. The framework must efficiently implement the flexibility concept required by SDR.
• Execution control management.
• Hide the platform heterogeneity to the radio application. Abstraction layers are required.
• Computing resource management.
• Computing objects data packet oriented messaging. Not processor (device) oriented.
• Parameter or variable (signals) evolution capture during the execution of the application.
• Processing resource parameters evolution captured for autonomous management or control.
• Auto-learning/cognitive capabilities for the internal resource management.
• Support to the Cognitive Radio strategies
P-HAL Layers Schematic
To illustrate the concept of PHAL-OE as a simple mechanism of information exchange lets consider, for example, the following simple piece of code of an execution thread of a general radio application:
for ever { sample=read(MY_INPUT,BYTES_PER_SAMPLE);
result=process_sample(sample); write(MY_OUTPUT,BYTES_PER_SAMPLE,result);
}
The process_sample function of the previous example can be written using any kind of portable programming language (C/C++ or VHDL for example) that can be compiled and translated to processor specific binary files. On the other hand, the read and write operators closely depend on the platform and must be specifically designed for it. Thus, when porting this code to another platform, the read and write specific P-HAL library implementation will be used.
Now the question is: would this simple P-HAL be enough to build Software Radio sig-nal processing applications? The answer is yes. Only a short specification of an origin and a destination of a data flow is enough to build any kind of application. Similar to the Turing Machine computing theory, any kind of processing machine based on a sin-gle operation of moving data from one origin to a destination is able to execute any kind of processing task. Thus, porting this concept to signal processing tasks is trivial.
In previous figure, a representation of the abstraction layers involved in P-HAL is drawn. On the top we see the connection graph of the object pieces building the radio application, this is the Abstract Application Layer. On the next level, objects are mapped into real Processing Elements (PE), they physically need a place to be executed or located on (the mapping pattern is not important by now). The P-HAL Layer is the abstraction layer found between the real application processes and the Hardware Layer. An overall P-HAL Platform is represented although three PE (each of them enabling the P-HAL functionalities) are under it.
Attachments
- PHALOEH2.gif (41.3 KB) - added by antoni 16 years ago.
- PHALOEH3.gif (29.0 KB) - added by antoni 16 years ago.
- ALOEV0.png (243.4 KB) - added by antoni 16 years ago.