This page covers three specialized topics.
Buffering and USB Latency
The USB 2.0 port transfers raw data at a maximum rate of 480M bits/second. With overhead the USB port
can transfer data reliably at an average rate of about 30MB/second.
USB performance depends on the PC and on how the PC is loaded. The PC can stop servicing the USB port
for an indefinite period, typically leading to occasional delays of up to 100 milliseconds.
The USB latency period is the maximum time from when the PC application sends data or commands until
the Acoustic Camera receives the data or commands. The ACAM has a large local buffer to compensate for
USB latency. This buffer normally is configured as more than 12M 32-bit input samples distributed between
the ACAM hardware, the PC's USB driver and SIG's interface software.
CcmService
The low-level hardware interface of the SIG Acoustic Camera is controlled by a Windows service,
CcmService.Exe. It is installed and started as part of the CcmAccess install process. Once started, the
service periodically checks for connection of a ACAM device. Once connected, the service establishes
communication with the CCM. After this has been done, application software can access the hardware using
the CcmApi DLL (CcmApi.DLL).
CcmService will write status and error messages to the Windows Application Event Log. To view these
messages, run the Event Viewer program from the Administrative Tools folder. Find the Application log
entries under the Windows Logs folder. Note that many programs place entries into this log. The
CcmService entries can be found easily by sorting by "source".
The normal status messages are Service Started, Service Stopped, USB Connected, USB Disconnected, CCM
Available, and CCM Configuration Loaded. Service errors will contain an error message and a set of numbers
that can be useful for troubleshooting.
CcmAccess Programming API
Applications can be developed using a the provided programming API (ccmapi.dll). Refer to the separate
CcmAccess API manual for details.
6