Communication in a Data Acquisition Processor system occurs at three levels:
Ordinarily, the only level you will think about is the application level, for sending your configuration information and starting the onboard processing.
Task level. Data taken from hardware devices must be moved, stored in memory, processed to produce new results in some cases, and transferred to the host processor. Within the DAPL system, all transfers are done through a consistent mechanism known as "data pipes". A generalized set of data movement commands provides full access to any kind of input or output data, without concern for hardware details. Transfers follow the pipe connections your configuration specifies. Each data flow has the appearance of a continuous stream.
Transfer level. At the transfer level, processed data are moved across the host data bus. The DAPL system uses the data channels and protocols set up by the DAPcell services, and driver functions are supplied automatically.
Application level. A reserved connection between the DAPcell server and the DAPL command interpreter task is always available, for creating or removing configurations, setting values of shared variables, and controlling task execution. Interpreters have a reputation for being slow, but this is not a problem in the DAPL system! You don't have to operate the hardware through DAPL, just tell it when to start. The actual operations are highly optimized.