Programmable Sensor Output Simulator Banner
Home Overview Technical Documents Contact Links


The Technical Design of this project can be divided into Software, Firmware, and Hardware components. First, the responsibilities of each component and their interactions are defined in the System Design.

System Design

The system consists of a hardware instrument controlled via a Graphical User Interface (GUI) on a Personal Computer using Microsoft Windows Operating System and the Microsoft .NET Framework.

A Single Board Computer (SBC) forms the core of the instrument. It provides the processing power for performing multiple tasks and an off-the-shelf solution for multiple simultaneous RS232 channels. In addition to the SBC, a custom Analog I/O Module controlled by SBC provides voltage, current, and pulse frequency modulated outputs.

Design can be divided into the following three main sections:

  1. Software: Development of GUI to configure and control instrument
  2. Firmware: Development of core application and device drivers for Single Board Computer
  3. Hardware: Design of digital and analog electronics for Custom Analog I/O Module

The following are brief outlines of the software, firmware, and hardware designs. Please see Final Report under Documents for a more thorough discussion.

Software Design

  • Written in Visual C#
  • Control console for Sensor Output Simulator
    • Interface for controlling hardware device over serial communication
    • Device output logging for comparison with test equipment
  • Interface for configuring and saving a large number of system settings
    • Interactive graph for specifying output data points
    • Configuration of RS232 messages with up to 25 individually set fields

Firmware Design

  • Platform: Single Board Computer
    • Single Board Computer (TS-7200)
    • Cirrus EP9302 ARM9 CPU, 200MHz, 32bit
    • 2 COM, Ethernet, 20 DIO lines, PC/104-8/16 bit
    • Compact Flash card interface
    • PC/104 daughter board for 4 additional serial COM
  • Operating System:
    • Linux 2.4 Kernel pre-patched for TS-7200 platform
  • Programming Language: C
  • Design:
    • Driver program for interfacing with the custom analog I/O module through PC/104 bus
    • Application
    • Receiving data and configuration signals from PC
    • Controls output to serial COM on daughter board and analog I/O module

Hardware Design

  • Xilinx Field Programmable Gate Array (FPGA)
    • PC/104 Bus Logic - Address Decoding and Data Bus Control
    • 4MHz and 8 kHz Timing
    • Digital controls and Hardware First-In-First-Out (FIFO) Memory
    • Pulse Frequency Modulation (PFM) Generation
  • Analog Electronics
    • 0-5V Digital to Analog Conversion (DAC)
    • 4-20 mA Current Transmitter
    • Operational Amplifiers - Gain Adjustment, Offset Adjustment, and Voltage Range Switching
    • Relay Circuit - Voltage / Current Switching


Last Updated: April 8, 2005   


return to top

Sponsored by:

UVic Engineering AXYS Technologies