Version 4 (modified by antoni, 16 years ago) |
---|
First and basic step to advance in the process of defining a common framework to de-velop 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 with 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 (Platform-Hardware Abstraction Layer), has been defined and designed to provide such features.
The context within the applications will run is a matter to take into account because this strongly determines the framework. Signal processing applications are most of process-ing input signals and deliver 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 im-plementation. The particularity of such interfaces between several entities is that is un-known at develop 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 implemented in the framework. In the following lines we define in terms of functionalities where the design must support on: • First and most important, 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) ori-ented. • Parameter or variable (signals) evolution capture during the execution of the ap-plication. • Processing resource parameters evolution capture for its autonomous manage-ment or control. • Auto-learning/cognitive capabilities for the internal resource management.
Figure 3 1 – P-HAL Layers Schematic
To illustrate the concept of P-HAL 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 Figure 3 1, 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.