Introduction
The BlueStorm, Xtreme/104-Plus, and Xtreme/104-Express are high performance
multiport serial communications adapters. The BlueStorm/LP and BlueStorm/SP are PCI
compliant Plug and Play devices. The BlueStorm/Express is a PCI Express
compliant Plug and Play device. The Xtreme/104-Plus is a PC104-Plus
compliant Plug and Play device. The Xtreme/104-Express is a PCIe/104
compliant Plug and Play device.
This driver is a stand alone driver and does NOT require devc-ser8250
to run.
The maximum baud rate that can be set is typically 921.6 Kbps.
This depends on the board’s crystal frequency. The characteristics of
the serial cables used will often limit this speed for RS-232 ports.
RS-485/422 ports with proper twisted pair wires will work at these
higher rates.
The driver will automatically detect the board’s crystal frequency and
use this information to produce the specified baud rates.
Note:
This driver has implemented the interrupt handler using an event triggered
method (as opposed to doing processing in the interrupt handler).
This means that CPU usage will be accurately reported. Most drivers do not
process interrupts this way and will wind up hiding the actual CPU usage.
The big advantage of implementing a driver using the event approach is that
overall system performance will be better or more “real time” because the
interrupt handler will not use potentially large chunks of CPU time without
allowing other tasks to run.
We are able to create a driver that makes use of this advanced event method
of processing because of the large FIFOs on the BlueStorm/Xtreme card and
that the UART used implements flow control on the UART.
Driver Installation
The following steps should be performed to install the driver
on the host system:
1. Copy the install package to a tmp directory.
2. Unzip the package: “gunzip ctipuq6v*.gz”
3. Move to the root directory: “cd /”
4. Untar the package: “tar -xvf <tmp dir>/ctipciuartq6*.tar
At this point all the required files should exist on your system to run
the host driver.
The Connect Tech Inc BlueStorm, Xtreme/104-Plus, and Xtreme/104-Express
are Plug and Play devices.
Under QNX6 this means that the user DOES NOT have to enter the Hardware
parameters like the IRQ, I/O ports or memory regions. This information is
retrieved from the PCI BIOS by the PCI driver. However the user is
responsible for entering the devc-serCtiPciUart command line into the
rc.local file.
Command Line Arguments
devc-serCtiPciUart operates with the following command line parameters:
Option | Type | Meaning |
---|---|---|
-a | number | Set hysteresis level for Auto RTS/DTR Flow Control (default -a 4) |
-b | number | Define initial baud rate (default 57600) |
-C | number | Size of canonical input buffer (default 256) |
-D | number | Set system log output level (min 1, max 126, default 0) |
-e | Set options to \”edit\” mode | |
-E | Set options to \”raw\” mode (default) | |
-h | Enable Auto RTS for RS485 | |
-H | Disable Auto RTS for RS485 | |
-i | Disable modem signal interrupt | |
-I | number | Size of raw input buffer (default 2048) |
-f | Enable hardware flow control (default) | |
-F | Disable hardware flow control | |
-N | name | Prefix to register (default /dev/ser) |
-O | number | Size of output buffer (default 2048) |
-p | number | Parameters that follow are for this port number and higher |
-s | Enable software flow control | |
-S | Disable software flow control (default) | |
-t | number | Enable receive FIFO and set receive trigger level (default -t 56) |
-T | number | Enable transmit FIFO and set transmit FIFO size (default -T 1) |
-u | unit | Set serial unit number (default 1) |
-v | number | Set verbose output level (min 1, max 126, default 0) |
-W | Enable FIFO blast write for fast tto; tcdrain will not work | |
-X | Disable high speed tti handling | |
Note: | FIFO trigger levels are scaled by a factor of 4 times for 256 byte FIFO equiped UARTs except if the value is set to 1. |
Examples:
devc-serCtiPciUart &
– starts driver, device names will start at /dev/ser1.
devc-serCtiPciUart -u 2 &
– starts the driver naming the devices /dev/ser2, /dev/ser3 etc
NOTE: Be sure to include the space after the -N argument.
Receive/Transmit FIFO
Full use of the large FIFOs on the board are provided in this driver and
enabled by default. The FIFO settings have been chosen to provide the best
performance for the average user, but can be altered using the -T and -t
command line options.
These FIFOs allow the board to provide high transfer speeds without putting
excessive load on the host computer or resulting in data loss.
RS485 Mode Support
RS-485/422 4 wire Full Duplex:
If using full duplex, there are no settings to be changed in software, only the proper jumpering on the hardware is required.
RS-485/422 2 wire Half Duplex:
If using half duplex, jumper the board correctly, and use our ctty utility:
# ctty +rts </dev/ser#
NOTE: The driver MUST be started with hardware flow control OFF if using two-wire half duplex cable
# devc-serCtiPciUart -F &
You can also start the driver with the -h option (Enable Auto RTS for 485), instead of using ctty. Only use the ‘-h’ option if you plan to use all of your BlueStorm ports as half-duplex (it applies it to all ports).
Testing the Newly Installed Ports
You can perform a simple loopback test with a terminal program (i.e. qtalk) and a loopback connector to ensure that the newly installed ports are functioning.
Connect the loopback connector to the port you want to test and run qtalk. When you type a character, you should see it on the screen, which means that the port is working. If you remove the loopback connector, the characters that you type should not appear on the screen.
Assuming that you want to test ser1 with qtalk, run:
qtalk -m /dev/ser1