ASPEED AST1300AST2300 graphic only support basic

Advantech AE Technical Share Document
Date
Category
Abstract
Keyword
Related Product
2015/10/23
SR#
1-2282077759
■ FAQ □ SOP
Related OS
NA
Difference between Instant and Buffered (or Waveform) function in Advantech DAQ
Instant AI, Instant AO, Instant DI, Instant DO, Buffered AI, Buffered AO

Problem Description:
There are two types of method to control analogue and digital IO, one is “Instant” and another is
“buffered” (or Waveform). This FAQ will describe how these react and also the reaction in software and
hardware.

Problem Analysis:
The “Instant” function means software polling and “Buffered” function means hardware polling. In
instant function, the getData command is executed by CPU itself. Once a command is sent, one sample
would be received. However in buffered function, the data would be “stored” in a buffer on board in form
of FIFO. As the buffer is full or reach a set value, an interrupt would be generated to system with
DataReady event. At this moment, the getData command shall get a bunch of data which is gotten from
FIFO.
Fig. 1 Software polling analogue input
Fig. 2 The mechanism of buffered AI
The instant command is sent by system and through driver to firmware then finally to physical circuit.
It shall always be delay between the command and execution. You could program your application to poll
the data using a software time in a fixed frequency. However there’s three points to be considered: 1. The
smallest unit of software timer is 1 millisecond which is a limit for application. 2. Even you could rapidly
send the command through a while loop or for loop, you could not ensure the rate base on CPU loading
or CPU speed. 3. The software timer is not precise enough, i.e. 1 millisecond is not really 1 millisecond.
Page 1
Since Windows (except WinCE) and Linux are not real-time operating system, the system timer is not
reliable.
On the other hand if you want to get data or send data in a periodic way for example a periodic wave
form, you should choose the card with buffered function. You could either trust in the hardware clock
generate by the components on board or the external clock generate by a stable and precise source. The
buffered function would automatically collect/send the data and return by interrupt.

Reference:
Page 2