An interresting applications for the SIMM-Sys project is a distributed data-acquisition system. In such a system a small, intelligent device is placed close to the source of information (heat sensor, motion sensor, accelerometer) and the information is sent to the central control and processing unit utilizing some kind of a digital connection. The information can already be processed by the intelligent endpoint device, even simple, autonomous control functions can be implemented there. For example it is easy to put the trigger condition to the endpoint and not sending but relevant data up to the host. It is also possible to do filtering, averaging, FFT, or any other DSP functions and provide the processed information only.
The vast diversity of the possible applications dictates to derive commonly used components and implement them as a re-usable unit. Also you can identify the main components of such an intelligent device:
The processor unit and the network unit are placed in the SIMM-Sys concept on extension cards. The power supply and the real-world interface are placed on the motherboard.
For a digital logic analyzer fast and acurate sampling of digital data are key for the success. Complex trigger-conditions can also come handy to capture on real-life events. The depth of the storage is not that relevant if adequately precise triggering can be achieved. In the SIMM-Sys concept one could use a small but fast FPGA to samlpe digital data up-to 200Mhz. If higher rates are required, special shift-registers can be incorporated to the input stage. The FPGA's internal RAMS can hold a couple of 1000s of samples. Various input standards can be handled by the FPGA's programmable input section. The trigger-processing can be provided by the FPGA also by the means of a - let's say - 16 stage programmable state-machine. Data captured by the FPGA than can be read by a processor, packaged in an appropriate networking protocol and sent to the host machine using Ethernet or USB. Control information comes from the host in the opposite direction which is transformed by the local CPU into FPGA commands.
In such an application local intelligence and low power consumtion are the keywords. The motherboard should handle motor-drivers, opto- motion- and acceleration sensors. It can also provides a digital audio or video input for better environment awereness. The motherboard also must provide efficient power supply for all the components from the batteries. If desired a battery-charger can also be incorporated. The CPU card has to process the input data collected from the sensors and make intelligent decisions upon the data. It must also control the actuators according to accomplish it's goal. The goal is provided for the robot by a host machine through some kind of a wireless link. It can be a radio-link like dect, blue-tooth or wireles ethernet or an infra-red connection.
It's also an interresting application to use a flock of such robots to perform a given task. In such a case co-operation can make the robots life easier but states another challenge: communication between robots themselves. A trivial example of such a co-operation would be to use robots to extend the range of the robots by relaying communication with the host.
When it comes to massively parallel algorythms clusters of computers are often used. Traditional PCs are connected into large nets and in many cases a special Linux variant is run on them. The small form-factor and the low power-consumtion of the SIMM-Sys CPU cards make these devices ideal for such applications. The up-comming strong-ARM cpu card will have the processing power adequate for such applications and the large memory of the board will provide enough room for those applications. The features of the CPU cards make it possible to move the processing nodes to very close to each other, thus enabling designing fast communction devices easily. These devices are able to run Linux thus such applications can be ported easily. The price-budget of such an application will be comparable to the ones using traditional PCs as nodes.