Custom Projects

Custom Hardware Software Projects


Engineers at Xecon Associates are capable of producing custom electronic systems employing pure hardware or combined hardware-software designs. Our major experience is in the development of systems or sub-systems employing embedded hardware-firmware-software mechanizations.

For limited complexity embedded processors we usually program routines in Assembly Language so as to obtain the most efficient implementation possible.  Additionally, we have designed our own proprietary Real Time Operating System (RTOS) that can be modified to fit a large class of applications.

On more complex system designs we would generally employ a higher level programming language during the development process.  The language of choice is generally C,  or C++. Java would be employed if the specific system or application dictated its use.

Many system designs can also benefit from hardware mechanizations using complex logic devices. Using such custom designed devices one can often shrink the the physical size of the hardware by considerable magnitudes and reduce the attendant power consumption by equally sizeable margins.  Xecon Engineers have experience in the development of custom chips employing standard cells or ASIC (Application Specific Integrated Circuit) devices.  We also frequently use programmable logic devices such as PLA's, PAL's, CPLD's, and FPGA's in many of our designs. A fully custom chip would be employed only where a large production run or special application (e.g. spacecraft) would warrant the cost incurred.  Smaller or single device applications would benefit from the use of low cost programmable logic devices.

To better understand how this process works a discussion of the design configuration of a typical application might be instructive. Consider the case of instrumentation for the Hobbs Observatory Alta-Azimuth 61 cm Newtonian Telescope. The basic control laws for the telescope are implemented in an IBM style personal computer (PC).  This control program was written in the standard 'C' programming language.  It contains approximately 3,000 lines of code.  The object of this computer is to initially steer the telescope to the desired celestial object and then to continually track the motion of that object across the sky.  The central control computer in turn communicates with two other IBM PC's and three special purpose embedded control processors.  The other PC machines provide for (1) the initial equatorial celestial body coordinate inputs to the control computer, and (2) the control of an attached CCD Camera.  Each axis of the telescope is controlled by its own special purpose embedded processor and regularly receives position update (motor velocity) commands from the central computer.  CompuMotor controllers are used on both the azimuth and elevation axis.  Each of these devices employs an 8080 firmware controlled microprocessor.  A Xecon embedded controller is used at the optical axis to de-rotate the image as the telescope tracks an object across the sky.  It also controls focusing and filter selection. The device is implemented with a firmware controlled 8051 microprocessor.

Additional work is progressing for integration a new Image Processing Computer and an additional CCD Camera into this facility.  This will be a fully custom hardware-firmware-software system.  It consists of a firmware controlled microprocessor element XEP12K  that operates a CCD Camera. An IBM \Personal Computer functions as as the master system controller and image processor. The 8051 microprocessor firmware located at the camera uses a Xecon RTOS and is programmed in Assembly Language.  Hardware included in the XEP12K also employs several Xilinx CPLD devices to reduce the physical size of the peripheral logic at the camera proper.  The control and image processing programs used at the remotely located master PC were both written in the 'C' language. 
 

      

No comments:

Post a Comment