Click for SR Home Page

Legacy FAQ Index and Answers

These FAQs are for our legacy products. For our current product FAQs go to FAQ Index.

Click on one of the legacy frequently asked questions below to go directly to its answer
Or click on the black category name to browse all the answers in that category

Data Acquisition Questions - General
What does aggregate sampling rate mean for a multiplexed system ?
Do your A/D products work with European 220 vac power sources ?
Do your A/D products work with Win2K/XP or Linux ?
Do your A/D products work with National Instruments LabVIEW ?
What is the format of OUT files ?
What is the format of DAT files ?
Do you have a view and playback program ?
 
Data Acquisition Questions - PARxCH specific
Can I use a USB to parallel dongle with the PARxCH ?
Is there a 2 channel PARxCH ?
How much crosstalk is there between channels on the PAR4CH and PAR8CH ?
What is the analog input range of the PARxCH ?
What is the overvoltage protection range of the PARxCH ?
Does the PARxCH have any digital input/output capabilities ?
What factors affect the maximum achievable sampling rate on the PARxCH ?
What is the impedance of the PARxCH analog inputs ?
What is the input sensitivity of the PARxCH ?
How do I calibrate the PARxCH A/D converters ?
What length parallel port cable can I use with the PARxCH and PAR24B ?
 
Amplifier Questions
Why would I need an amplifier with a 24 bit A/D converter ?
How does an amplifier affect the noise level of acquired data ?
What type of analog input cable is best for the AMP4CH-DF ?
 
Mini ITX & PC104 Questions
What are Mini ITX and PC104 ?
Does SR supply Mini ITX and PC104 turnkey systems ?
What skills are required to setup a Mini ITX or PC104 system ?
Do you sell any PC104 related products ?
Where can I buy other Mini ITX or PC104 products ?
What features should I look for when buying Mini ITX or PC104 products ?
Can I use a 2.5 hard disk in my Mini ITX or PC104 system ?
How much power does it take to run a Mini ITX or PC104 system ?
Can I run scope.exe on a headless system ?
 
Digital Signal Processing Questions
What is DSP ?
Why are floating point DSPs easier to use than fixed point ?
What are algebraic assembler mnemonics ?
 
GPS Questions
What do abbreviations like GPS, PPS, NMEA mean ?
What NMEA messages are available with the PARGPS and what is their format ?
How does your GPS time stamping work ?
What GPS antennas can I use with your products ?
Can I use the PARGPS by itself to get time without the PARxCH ?
How does the PARGPS connect to the A/D ?
Can I use a USB to serial dongle with the PARGPS ?
Why does the mouse go crazy when the PARGPS is connected ?
Why is PARGPS diag failing ?
What is the typical GPS time accuracy ?
How can I set the PC time with the PARGPS ?
Can I use the PARGPS with Win95/98/ME ?
Can I use the PARGPS in my basement ?
What if the antenna cable is too short to reach the window ?
 






Legacy Data Acquisition Answers

 
Q: What does aggregate sampling rate mean for a multiplexed system ?

For acquisition systems with a single A/D converter and a programmable analog multiplexer, quoting a per channel acquisition rate can be tricky.

The best number to quote is the raw sampling rate of the single A/D. In the case of the DSPA64/HLF system, this is usually 138 kHz, and is referred to as the aggregate sampling rate. How this is spread out over the input channels is under program control and up to the user.

For example, if the 138 kHz on the DSPA64 is spread out evenly over the 64 input channels, then a sampling rate of 138/64 = 2.15 kHz results on each channel. Of course the entire 138 kHz can be put on a single channel if you like, with any other combination in between being acceptable too.

 
Q: Do your A/D products work with European 220 vac power sources ?

The boards themselves require the following power supply voltages:

  PARxCH: 9 vac or +12 vdc
  PAR24B: 9 vac or +/-12 vdc
  DSPA64: +/-12 vac and +5 vdc

We normally provide external wall style transformers that convert US 110 vac wall voltages to these board level requirements.

For the PARxCH or PAR24B we will (on request) provide wall transformers with 220 vac Continental European style wall plugs, or 220 vac chassis mount transformers with wire leads for custom installations.

For the DSPA64 we have only 110 vac type power supplies. For that product users must provide a separate 220 to 110 vac step down transformer.

 
Q: Do your A/D products work with Win2K/XP or Linux ?

They do. We provide kernel mode device drivers which allow application programs running on Win2K, WinXP or Linux to communicate with our A/D hardware. We also provide some simple utility programs to make installing and removing the driver very easy.

 
Q: Do your A/D products work with National Instruments LabVIEW ?

They do if you're willing to prepare small Call Library VI's to access the DLL function libraries we provide.

All our A/D's come with function libraries written in C and available as DLL's. These functions perform tasks such as initializing the A/D and reading acquired data. They can be called from LabVIEW by setting the properties of a Call Library VI to match the name and arguments of the DLL functions.

All our DLL functions use the C calling convention which adds the total size of the function arguments to the function name. So you will need to check the list of DLL exports to determine the proper function name for LabView.

 
Q: What is the format of OUT files ?

The .out file format contains the binary analog data values in multiplexed format exactly as they come from the A/D board. For our 16 bit DSPA64 product data values are stored as 16 bit integers, while for our 24 bit products they are stored as 32 bit integers.

The data is organized with the data for the first time point for each channel, followed by the data for the next time point for each channel and so on. This is referred to as time multiplexed format. All data is written out in little-endian PC byte order, where the low byte is written first.

When simp and scope write .out files, they also write a single separate header file with a .hdr extension. This file contains information such as sampling rate and number of channels that apply to all the .out data files. The format of this header file can be seen by looking at the HDR_data structure in the simp.h file in the \sr\parxch\simple directory.

An easy way to see the information in a .out file and its corresponding .hdr file is to use the out2asc utility program. This utility converts a binary .out file into an ASCII text file you can examine with any text editor. Out2asc is located in the \sr\parxch\convert\ascii directory. A conversion utility for IASPEI SUDS format is also available.

 
Q: What is the format of DAT files ?

The .dat file format is more complicated than the .out format because it includes GPS time stamping information along with digital recording. The best discussion of the .dat file format and the defines and C structures used to implement it can be found in the comments in \sr\parxch\include\srdat.h. But, here is a short overview:

The .dat file format is comprised of a leading header followed by data records of differing types. All data is saved in standard little-endian PC byte order, with the low byte written first.

The leading header is 4096 bytes long, and has the structure SrDatHdrLayout as covered in srdat.h. The header includes information for things such as sampling rate, number of channels and etc, which are common across the file.

Following the leading 4096 byte header are the data records. Each data record starts off with a short 128 byte RecordTag structure identifying the format and size of the data following in the record.

The allowed data record formats currently include 24 bit analog, PPS, and RS232 serial NMEA data. The most detailed of these is the 24 bit analog record type, which besides 24 bit analog A/D data, may also contain GPS marks and digital recording. See the comments in \sr\parxch\include\srdat.h and \sr\pargps\include\pargps.h for details.

An easy way to see the information in a .dat file is to use the dat2asc utility program. This utility converts a binary .dat file into an ASCII text file you can examine with any text editor. Dat2asc is located in the \sr\parxch\convert\ascii directory. A conversion utility for IASPEI SUDS format is also available.

 
Q: Do you have a view and playback program ?

Yes, besides the PARxCH scope and simp programs that run the data acquisition and generate files, we also have a viewing and playback program for later viewing of data files. The view.exe Windows GUI program is included with the standard PARxCH software distribution at no additional cost.

View can also be used to excellent advantage across networks to check in on "headless node" systems.

For viewing acquired SER1CH-UA data, we recommend the free GnuPlot plotting utility described on the web (www.gnuplot.info).







Legacy PARxCH A/D Answers

 
Q: Can I use a USB to parallel dongle with the PARxCH ?

Sorry, but no. The PARxCH driver talks directly to the parallel port hardware. All the USB to parallel software we're aware of works by intercepting user space calls and would not see the calls our driver makes.

Add-in parallel port cards should work fine as long as they properly emulate a true motherboard parallel port. Add-in cards using the MosChip or NetMos chipset are ok for BPP mode only, but are known to fail when using EPP mode or interrupts. One PCMCIA parallel port card for a laptop that has worked for us is the Quatech Parallel PCMCIA Card Spp-100.

 
Q: Is there a 2 channel PARxCH ?

No. The PARxCH family of products are available only in 1, 4, or 8 channel versions. For 2 or 3 channels, use the PAR4CH. For 5, 6, or 7 channels, use the PAR8CH.

 
Q: How much crosstalk is there between channels on the PAR4CH and PAR8CH ?

Almost none since each channel has its own individual A/D converter chip. Basically, the channel to channel isolation is so complete that the crosstalk is too small to measure.

 
Q: What is the analog input range of the PARxCH ?

Our PARxCH products support a +/-10v analog input range. This is a popular standard for A/D systems.

 
Q: What is the overvoltage protection range of the PARxCH ?

On the PARxCH, overvoltage input protection is provided by input series resistors and the protection diodes internal to the A/D converters themselves. Usually the input series resistors are around 10K ohms. And since most internal IC protection diodes can pass at least 10ma you get something like 100v of continuous protection.

Users needing protection beyond these sorts of limits should consider their own external protection networks. However, be aware that at high precision, many networks can degrade system resolution and TC temperature performance. You should carefully evaluate the impact of any protection network you select.

 
Q: Does the PARxCH have any digital input/output capabilities ?

Our PARxCH 1/4/8 channel 24 bit A/D systems have four digital input bits and four digital output bits available on a DB15 connector on the front panel. The output bits are latched while the input bits are polled. In addition, the system also has a front panel LED that can be toggled to provide a visual output. These bits are intended for general purpose control applications of external equipment in conjunction with analog data acquisition.

The digital input bit values can be accessed on the PAR1CH and PAR4CH in a polled fashion by calling the ParXchUserIoRd library function from software. While the PAR8CH supports this polled style of digital input too, it has enhanced firmware to automatically sample the digital input each time a new piece of analog data is acquired.

Our PAR24B 8 channel 24 bit A/D system has a digital output byte available on a 13x2 pin header. The output value is latched, and can be updated in the 100's of kHz range. The system also has an on board LED to indicate the value of the lowest bit of the output byte.

 
Q: What factors affect the maximum achievable sampling rate on the PARxCH ?

For the PARxCH data acquisition systems, the maximum sampling rate is in part determined by the PC and software you are running.

For example, consider saving data to the hard disk. If the PC and its disk system is fast, then there will be less of a bottleneck in saving the data. In general, we have found a 500 MHz or greater PC is sufficient to sustain the 5 kHz rate. By comparison, a 25 MHz 386 PC104 card is only capable of something more like 800 Hz.

Note: The PC must also use one of the faster parallel port protocols, EPP or ECP/EPP in order to achieve the 5 kHz rate. The BPP protocols are too slow.

 
Q: What is the impedance of the PARxCH analog inputs ?

Around 10K to 20K ohms. While many users need high impedance inputs (perhaps even in the 100+ Mohms range), we have found that it is not a good idea to put them directly on the A/D system. For an explanation see the Data Acquisition Background FAQ "What is the trouble with high impedance analog inputs".

 
Q: What is the input sensitivity of the PARxCH ?

The input sensitivity for an A/D converter is the number of digital output counts per analog input volt. While this definition seems simple enough, some care is required with differential inputs.

With the PARxCH products, the output counts goes to positive full scale when the + analog input pin is +10 volts and the - analog input pin is at -10 volts. That is a total difference of 20 volts between the + and - pins to achieve positive full scale output counts.

Conversely, the output counts goes to negative full scale when the analog voltages are reversed with the + pin driven to -10 volts, and the - pin driven to +10 volts. That is a total difference of -20 volts between the + and - pins to achieve negative full scale output counts.

Since the number of counts between positive and negative full scale is 2**24, and the total voltage span between the two extremes is 40 volts, the number of counts per volt sensitivity is:

   40 volts / 2**24 = 2.38 microvolts / count

If you are running at a sampling rate with a noise floor at the 21 bit level, then the actual sensitivity you would be able to detect would be:

   40 volts / 2**21 = 19.07 microvolts / count

To achieve greater sensitivities requires an amplifier such as our AMP4CH-DF, which is specifically designed to work with the PARxCH series of products. However, keep in mind higher signal voltages result in a better signal to noise ratio. Always run with the highest signal levels possible to obtain the best resolution, and put the amplifier as close to the sensor as possible. This is particularly true on long cable runs.

 
Q: How do I calibrate the PARxCH A/D converters ?

Even though an input range of +/-10v, or other range as appropriate, may be generally spoken about for an A/D converter, calibration is always required for precise counts/volt measurements on a particular system.

Calibration is required because input signal processing usually involves resistors, and even precision tolerance resistors are only available in stock catalog values. In addition, the PARxCH systems bias their inputs with a permanent offset for best performance.

Our software for any particular system includes a program called meter. The meter.c source code discusses how to perform a straight line calibration for that system.

 
Q: What length parallel port cable can I use with the PARxCH and PAR24B ?

The parallel port cables supplied with the PARxCH and PAR24B are 6 ft long, and this is the maximum length we usually recommend. The supplied cable is a standard male to female DB25 with all 25 wires connected straight through.

You may be able to run longer cables, and even string successive cables together in a pinch. It depends on the characteristics of your particular PC's parallel port. But generally a single cable of shorter length will cause fewer troubles and is recommended.

In specific installations we may be able to increase the cable length. The record is 50 ft with a PAR24B. Please contact us if longer cable length is a design requirement for your installation.







Legacy Amplifier Answers

 
Q: Why would I need an amplifier with a 24 bit A/D converter ?

An amplifier can serve two useful purposes. First, it can increase the input sensitivity (counts/volt) of the A/D. Second, it can increase the input impedance of the A/D.

With the PARxCH series of products, the full differential input sensitivity is: 40v / 2**24 = 2.38 microvolts per count. And actually, if you have a noise floor at 21 bits, then it is 40v / 2**21 = 19.07 microvolts per count. For some applications this is not enough sensitivity. Adding in an amplifier with a gain of 100 improves the 21 bit level sensitivity to 190 nanovolts / count. Of course the amplifier also reduces the maximum differential input voltage range to +/-100 millivolts.

In regard to input impedance, the normal impedance of the PARxCH inputs are 16k ohms. For many applications this is a good match. But, there are applications where higher input impedances are desirable. With the AMP4CH-DF included in the signal processing path, the input impedance can be set at any value desired. The amplifier inputs are non inverting op amp inputs with impedance in the 100+ Meg ohm range. There are provisions on the board for additional resistors in parallel with the inputs to reduce the input impedance to any suitable level. Normally we populate the parallel resistors with 51k ohm.

Do not assume that a higher input impedance is better. If you are running cabling from an active sensor to the amplifier inputs, then lower input impedance on the AMP4CH-DF or PARxCH is actually better. With a lower input impedance, the currents from your signals are larger and compete less with the noise currents from 50/60Hz noise and leakage. The larger the signal is with respect to the background noise the better. Of course if you are using a passive sensor, a higher input impedance may be required so the sensor is not loaded excessively. In those cases it is usually a good idea to experiment to find the best match between signal current and sensor loading. The parallel resistors on the AMP4CH-DF make it easy to optimally tune the system.

 
Q: How does an amplifier affect the noise level of acquired data ?

It is a basic fact that as an amplifier's gain increases it will add more noise. At gains of 100 or less with the inputs shorted the AMP4CH-DF does not add any noise that we can detect. At a gain of 1000 you will see the amp itself contribute noise.

In fact, beyond a gain of 100 with the AMP4CH-DF, it is almost a zero sum game. For example, if you increase the AMP4CH-DF gain to 200, you will see approximately one additional bit of noise on the A/D display in scope. At first, one might be happy saying they can see smaller signals at a gain of 200. But, if the amp starts contributing one bit to the output noise floor, you really are effectively running with a gain of 100. At a gain of 100 the AMP4CH-DF does not add to the noise floor, yet still provides the benefits of an amplifier.

Also note that with the inputs shorted you will see one noise floor, while with the inputs open you will see another. This is mostly controlled by the 51K resistors in parallel with the inputs on the AMP4CH-DF amplifier board itself. At these signal levels the Johnson thermal noise of the input impedance becomes a consideration. Changing the 51K resistors or the impedance of the driving signal will correspondingly change the Johnson noise contribution.

 
Q: What type of analog input cable is best for the AMP4CH-DF ?

At a gain of 100 in front of a 24 bit A/D converter, signal levels are small enough that flat ribbon cable becomes susceptible to 50/60Hz noise pickup. In fact, even "twisted ribbon" can have 50/60Hz problems because it has flat stretches of cable. When 50/60Hz flux lines cross open loops of cable, noise voltages are generated by Faraday's law.

Discrete twisted pair cable is ideal for analog inputs to the AMP4CH-DF amplifier. A simple round shielded twisted pair cable is available from Belden Wire for about $22/100ft. Actually, even unshielded twisted pair made with single wires and a drill is very effective. For best results make sure the twist runs all the way from your sensor to the AMP4CH-DF inputs with no flat untwisted stretches.







Legacy Mini-ITX and PC104 Answers

 
Q: What are Mini ITX and PC104 ?

Many industry standards with the goal of defining the size, shape, and connectors for small PC systems have been proposed and implemented over the years.

Two of the more popular standards have been the PC104 at 3.5 x 3.75" and more recently the Mini ITX at 6.7 x 6.7". Each of these two standards have their own advantages. Both are compatible with SR A/D products.

 
Q: Does SR supply Mini ITX and PC104 turnkey systems ?

No. You will need good PC skills and hardware experience in order to set up a successful Mini ITX or PC104 system. However, if you are comfortable setting up a desktop machine you will have no problem setting up a Mini ITX. Somewhat more skill is required for PC104 systems because of nonstandard connectors. Since these systems are typically used for remote field situations, power and remote or untended operation also become important issues.

 
Q: What skills are required to setup a Mini ITX or PC104 system ?

To set up a Mini ITX system you will need modest mechanical skills to open the case and install a hard disk. You must also be comfortable with correctly connecting ribbon cables. Once the initial mechanicals are done, you must also be comfortable with installing the Win2K/XP or Linux operating system. Overall, working with a Mini ITX system is much like working on a desktop machine.

PC104 systems are typically more involved. Depending on the PC104 motherboard you are using, the connectors to keyboard and video may be very nonstandard. Also, installing the OS is usually more involved because of nonstandard CMOS and BIOS interfaces on many PC104 cpu cards. You will want to be in contact with your PC104 cpu card manufacturer to get support with these issues.

 
Q: Do you sell any PC104 related products ?

No. We are now focusing on new options like tablets and small SBCs like the Raspberry Pi and Beagle Bone Black and no longer offer a line of PAR4CH/PC104 Stack accessories that can be used when building your own custom PC104 equipment stack. These include adapter boards making it easy to connect a PC104 CPU card to the PAR4CH, a disk mount board for adding a 2.5" hard disk, and a power distribution panel allowing plenty of options for getting power to the other boards in the stack. All these boards are the same size as the PAR4CH.

 
Q: Where can I buy other Mini ITX or PC104 products ?

Both complete Mini ITX and PC104 systems and their individual components are sold by many vendors which can be found by searching the web.

The Mini ITX systems shown on our site were purchased from CaseOutlet. We have used them in our lab and at trade shows with good results. We also have several customers successfully using them in field systems they designed and put together themselves.

 
Q: What features should I look for when buying Mini ITX or PC104 products ?

When choosing a PC104 CPU card, it is best to select one that has a bi-directional parallel port located at one of the standard 0x278 or 0x378 addresses.

Other features to check are whether or not Ethernet connections are supported and how much power is required. Often increasing the CPU speed means more power is needed. Mini ITX systems equipped with the Eden C3 processor typically require less power than similar PC104 cpus.

 
Q: Can I use a 2.5 hard disk in my Mini ITX or PC104 system ?

Yes. In fact, 2.5" disks are preferable because they use less power than the 3.5" disks. This power savings can be on the order of 0.5 amp. The savings comes partly because the 2.5" disks are smaller and lighter and partly because they tend to spin at slower speeds.

You can always use a 2.5" disk in place of 3.5" disk as long as you can make the mechanical and electrical connections. For custom PC104 stacks, our PAR4CH-PC104-DISK card provides mounting holes for a 2.5" disk and a pair of headers so you can use either 2mm or .1" cable to conveniently connect with which ever PC104 CPU card you've selected.

 
Q: How much power does it take to run a Mini ITX or PC104 system ?

We have tried various PC104 cpu cards at different times. One PC104 cpu card from Ampro ran a 25 MHz 386 and idled at about 350 milliamps. Another PC104 cpu card from Megatel ran a 100 MHz 486 and idled at more than 1.0 amp. Both of those numbers without hard disks. Increasing CPU speed and adding more memory both tend to increase the power requirements.

The power consumption for PC104 cpu cards can also vary quite a bit from one PC104 manufacturer to another, even for the same cpu speed. However, none that we've seen so far have power specs as good as those for the Mini ITX systems.

For example, the sample Mini ITX system shown on this site, set up in a headless configuration (i.e. no keyboard or video), ran on less than 1 amp and included:

    Fanless Via Eden C3 533 MHz CPU
    Ethernet connection
    30 Gb Hitachi 2.5" hard disk
    PAR8CH

 
Q: Can I run scope.exe on a headless system ?

No, you should run simp instead. Scope is a graphical program that requires a video display when it opens windows and dialogs. But, when a Mini ITX or PC104 system is run "headless" it has no video or keyboard attached. Simp, on the other hand, is text only and works well on headless systems.

You will probably want to configure your system so simp is one of the tasks that runs automatically on start up. Alternatively, you can start it manually over your remote Ethernet connection. In either case, you'll want simp to be running in the background so be sure the simp DisplayData and DisplayInfo ini file options are set to OFF. When running under Linux and using telnet, use the ampersand character (&) at the end of the simp command line to request background processing. When running under Win2K/XP, you can run simp in the background by using the task scheduler to start simp.

Once simp is running and acquiring data, you can copy the data files to your local computer using a file transfer program like FTP under Linux or Explorer under Win2K/XP. You can then use the Windows GUI view.exe program to playback and review the acquired data in a graphical display similar to that of scope.







Legacy DSP Answers

 
Q: What is DSP ?

DSP stands for Digital Signal Processing. You will often see the term used loosely in the industry for anything that processes digital signals, but technically it has a specific meaning.

A DSP chip is a processor that has a dedicated hardware multiplier and pipeline optimized for inner product calculations. Multiplying two numbers together digitally is a complex process, much more so than other arithmetic operations like addition. In fact sometimes as much as 70% of the silicon in a DSP chip is given over to the multiplier!

In addition to the multiplier, DSP chips are equipped with a pipeline so they can perform a multiply/accumulate operation in a single instruction cycle. The collection of operations required for a multiply/accumulate is referred to as a MAC pipeline, and is the core calculation in computing an inner product. DSPs in addition have most of the features of general purpose microprocessors and can also execute general programs.

Inner products are the foundation of important numerical calculations like convolutions, FIR filters, matrix multiplies and etc. The fact that these operations can be performed at very high speed in real time has been a significant advance in computing.

Many of the numerical operations performed by a DSP can also be done with a general purpose microprocessor lacking a MAC pipeline. But because it is highly pipelined, the DSP has more horsepower on computations involving inner products. Most DSPs fetch two memory operands, perform the multiply, accumulate the result and save it to memory, all in the same instruction cycle! Even if a general microprocessor was capable of performing each of these steps in single clock cycle (which they are not), the DSP would still have 5 times the performance, because it is pipelined.

 
Q: Why are floating point DSPs easier to use than fixed point ?

DSP chips can be divided into two categories, fixed and floating point. Fixed point processors basically handle only integer numbers. This is a big limitation! Not only must you make sure your numerical process can be represented with integer arithmetic, you must also constantly guard against overflow.

The repeated accumulations that are done as part of an inner product calculation get large. If the calculation overflows at any point, the result becomes meaningless. Many fixed point DSP processors are designed for 16 bit integers. A dynamic range of 0 to 65536 is not very big. For this reason as a workaround you will see some fixed point DSPs that have 24 bit or wider accumulators.

An even better solution though is to use floating point. Then you can have a dynamic range spanning approximately 2**256 = 77 orders of magnitude. Typically, programmers using a floating point processor do not worry about overflow, and can compute inner products and FFTs of much longer length. A general rule of thumb is that fixed point DSPs are limited to inner products and FFTs of about 512 points, while there are no such limits for floating point.

Of course fixed point DSPs have their advantages. They are lower in cost, and if you can use a 16 bit integer device, may save on the memory your algorithm requires. For these reasons, they are popular for dedicated special purpose embedded applications. General purpose DSP is invariably best done with floating point processing.

 
Q: What are algebraic assembler mnemonics ?

If it has been awhile since you've done assembler programming, things have changed! The most recent trend has been to use algebraic mnemonics for the instruction set, and free format for the input syntax. What this means is now assembler code looks a whole lot like C!

For example, suppose you were adding two number in a traditional assembler syntax. You might have an instruction like: add r1,r2. In algebraic mnemonics you just write r1 = r1 + r2; When this is coupled with symbolic memory references and register names, assembler programming gets a lot easier.

The SR DSPASM DSP32C assembler takes the algebraic syntax one step further and augments it with C like control statements. If then else blocks read just like they do in a high level language.

Algebraic mnemonics are being used more and more in the industry as a superior syntax for the low level instruction sets. Many claim it as their innovation, however the approach was pioneered and developed at AT&T Bell Labs.







Legacy GPS (PARGPS) Answers

 
Q: What do abbreviations like GPS, PPS, NMEA mean ?

Like any other technical field, GPS equipment has an array of acronyms and abbreviations. Some of the more common are:

GPS: The Global Positioning System uses ground based receivers and a collection of satellites in geosynchronous orbits to determine the time and location at the receiver position.

PPS: The Pulse Per Second mark is a highly accurate electrical signal that indicates the beginning of a second as determined by the GPS satellites. Although it accurately indicates when the second starts, it gives no indication of WHICH second is starting. That information is carried in the NMEA messages described below.

NMEA: The National Marine Electronics Association has defined a set of standard ASCII messages that marine electronics equipment should use for communicating. This standard is very popular and is used even in non marine applications. Many GPS receivers output a small subset of the possible NMEA messages in RS232 serial format. The information contained in these messages indicates the current coarse time to the second and position.

 
Q: What NMEA messages are available with the PARGPS and what is their format ?

The PARGPS timestamping units default to providing 2 NMEA messages every second. The most important of these is the GGA message which typically looks like this:

$GPGGA,163859.0,3609.422,N,11518.713,W,1,03,1.75,00024,M,-024,M,,*62

The first field identifies the message, the next contains the time shown as hours, minutes, and seconds. The latitude and longitude in degrees, minutes, and seconds with their quadrants comprise the next four fields. The following two fields contain a GPS data quality flag and the number of currently acquired satellites. The rest of the fields are related to altitude, except for the last one which is a check sum.

The second NMEA message provided by the GPS units varies depending on the model of GPS receiver being used. The Garmin antenna used with the Rev D PARGPS provides the RMC message, while the Trimble antenna used with the earlier Rev C PARGPS provides the ZDA message. Both messages include the date and time and typically look like this:

$GPRMC,204634,A,3608.9137,N,11517.9635,W,000.0,217.1,300508,013.4,E*65

$GPZDA,232225.1,03,06,2003,,*55

For both messages, the second field represents time as hours, minutes, and seconds all packed together. The third RMC field is a validity indicator. It is followed by 4 fields containing location information and 2 fields containing speed and course data. The 10th RMC field contains the date written as DDMMYY. For the ZDA message, the date is recorded as day, month, and year in fields 3, 4, and 5 respectively.

For a complete description of the supported NMEA messages and their formats, please see Section 4.2 of the Garmin Users Manual or Appendix E of the Trimble Ace-III Users Manual that are included in the docs directory of the PARGPS software.

 
Q: How does your GPS time stamping work ?

Our systems maintain a high speed counter, and we record two values. First, the number of counts per second between PPS pulses. This calibrates the counter in terms of counts per second. Second, we record the number of counts from a PPS pulse to the next acquired sample.

With these two numbers the exact time of the acquired sample in seconds can be computed to within the delta t of the counter. Furthermore because the counts per second is recomputed every second, unless you have a huge temperature change over a one second period, the system tracks very well with temp.

The PAR1CH and PAR4CH systems use a 64 bit counter inside the PC Pentium. Count values are recorded in response to interrupts occurring on the PPS signal along with marking the corresponding analog value.

On the PAR8CH, we have a dedicated counter in the FPGA on board whose count values are saved right along with the analog data stream without interrupts.

 
Q: What GPS antennas can I use with your products ?

Our A/D products are designed to work with GPS antennas that provide both a high precision Pulse Per Second (PPS) signal and industry standard serial NMEA messages with coarse time and location. We recommend using the GGA and RMC or ZDA messages.

Our GPS product selector page lists the GPS antennas and accessories we carry. It also shows the appropriate A/D for each item. See the PARPGS user manual for more details.

 
Q: Can I use the PARGPS by itself to get time without the PARxCH ?

No. The PARGPS PPS signal must be connected to the PARxCH digital IO connector to work correctly.

 
Q: How does the PARGPS connect to the A/D ?

The PARGPS sends the PPS signal to the digital I/O header on the PARxCH A/D boards. This is used for precisely time stamping the acquired data. No analog inputs on the A/Ds are used for the GPS timing.

The NMEA coarse time and location messages are sent to the PC as RS232 strings and come up the PC serial port.

 
Q: Can I use a USB to serial dongle with the PARGPS ?

Sorry, but no. The PARGPS driver talks directly to the serial port hardware. All the USB to serial software we're aware of works by intercepting user space calls and would not see the calls our driver makes.

Add-in serial port cards should work fine as long as they properly emulate a true motherboard serial port.

 
Q: Why does the mouse go crazy when the PARGPS is connected ?

If the PARGPS is powered up and sending NMEA messages when a PC running Windows is turned on, the mouse may appear to go crazy and zip all around the screen. This happens because Windows automatically checks the serial ports when it boots to see if a Microsoft SerialBallPoint Mouse is attached. If Windows happens to see a NMEA message containing an M, B, or Z character, it mistakenly concludes the MS mouse is attached and treats every future NMEA message as a mouse command.

If this happens, you can recover. First, disconnect the PARGPS serial cable so you have control of the mouse. Then, bring up the device manager, select the SerialBallPoint mouse, right click, and select disable. Do not select uninstall or Windows will check for it again the next time is boots. After the mouse driver is disabled, it is safe to reconnect the PARGPS serial cable.

Another way of taking care of the problem is to download a free copy of the COMDisable program provided by Microsoft. This command line utility program both displays the available serial ports and marks in the registry that the ports you specify should NOT be checked for a mouse during bootup. Here is one link for downloading COMDisable.msi from Microsoft.

 
Q: Why is PARGPS diag failing ?

The most common reason PARGPS diag fails is because the Garmin antenna has not achieved satellite lock and is not outputting a PPS signal.

There are two diagnostic programs in the PARGPS diags directory, diag and diagser. We recommend running diagser first since it is simpler. The PARGPS must be powered up with the antenna and PC serial cable connected in order for diagser to work. Once diagser is running, check the NMEA strings it returns. If the third field of the $GPRMC message is a 'V', it means the GPS information is invalid because satellite lock has not been achieved. When this field changes to 'A', the GPS info is acceptable, and you should see the red led on the front of the PARGPS begin blinking which indicates a PPS signal is being sent.

Once the red led is blinking, it is ok to run the more extensive PARGPS diag program. At this point, both the PARxCH and the PARGPS drivers should be installed and both units should be powered up with all their cables connected including the 15 pin ribbon cable from the PARGPS to the PARxCH digital I/O. Also, the PARxCH diag program should have been run earlier to verify the A/D is working correctly. Now PARGPS diag should run ok.

 
Q: What is the typical GPS time accuracy ?

The time accuracy for the PAR1CH and PAR4CH is typically 10 microseconds, while for the PAR8CH it is a guaranteed 800 nanoseconds.

Because they rely on PC interrupts, the PAR1CH and PAR4CH have some time variation due to interrupt latencies. However, this occurs only if the PC is experiencing heavy network or interrupt activity. Furthermore, the error is restricted to that one value and is not cumulative on succeeding values. Running a long term average can help distinguish and remove any outlier time stamps.

The PAR8CH system maintains an 800 nanosecond clock tick and counter on the A/D board with no latencies. The PAR8CH always has 800 nanosecond accuracy is not subject to any network or interrupt latencies.

 
Q: How can I set the PC time with the PARGPS ?

The PARxCH command line currtime program and the Visual Basic gpstime program that report the current GPS time include an option for setting the PC from the GPS time. If you have permission to change the PC time, these programs will reset the PC time immediately after starting and at the start of each new GMT day thereafter.

You can also set the PC time from your own programs using two of the DLL functions included in the software which comes with the PARGPS. Call ParGpsGetCurrentTime to get the current GPS time, then call ParGpsSetPcTime using this newly retrieved GPS time to set the PC time. Note that ParGpsSetPcTime will not work unless you have proper file and execution permissions.

 
Q: Can I use the PARGPS with Win95/98/ME ?

No. Our PARGPS software support is only under the Win2K/XP and Linux operating systems.

 
Q: Can I use the PARGPS in my basement ?

The PARGPS antennas we supply must have a sky view "line of sight" access to at least four satellites to work correctly. That won't happen if the antenna is located in a basement or inside a building. However, it is ok to hang the antenna out a window and have the coax cable coming inside.

The Garmin GPS 18x receiver used with the Rev D PARGPS does not output PPS until is has achieved satellite lock at least once, so it won't work in the basement at all. But, the older Trimble Ace-III GPS receiver used with the Rev C PARGPS puts out a steady pulse-per-second (PPS) signal once per second. Without satellite lock, the PPS isn't referenced to anything, but is does have a reasonable one second period. So, you can use that in the basement as long as you don't need absolute time corresponding to the GPS satellite clock but are happy with relative time.

 
Q: What if the antenna cable is too short to reach the window ?

The solution is very easy for the Rev D PARGPS with the Garmin GPS 18x antenna. Just purchase a DB9 male-female RS232 serial cable and connect it between the end of the antenna and PARGPS. We have successfully received the antenna signals with more than 60 feet of serial cable between the antenna and the PARGPS.

Unfortunately, the older Rev C PARGPS with the Trimble Ace-III receiver requires coax for its antenna connection which is significantly more difficult. We actually recommend reorganizing your entire setup to be closer to the window or upgrading to the newer Rev D PARGPS before trying to extend the coax antenna. If extension is your only option, you may be able to find suitable coax parts through a company called Pasternak.




http://www.symres.com/webpages/legacy/legacyfaq.htm Copyright © Symmetric Research