Prism Communications Inc Phone - 410-953-0200
Fax - 410-953-6780
  Home > Capabilities > Past performance > Projects > Re-hosting ASOS-ACU software from Motorola 68010 based SBC to a PowerPC based SBC


Projects

NOAA/National Weather Service - Re-hosting ASOS-ACU software from Motorola 68010 based SBC to a PowerPC based SBC

 
Department of Commerce/NOAA/NWS Re-hosting ASOS-ACU software from Motorola 68010 based SBC to a PowerPC based SBC

The National Weather Service has deployed several networks of weather observation stations throughout the United States. Among them are the Automated Surface Observation Systems (ASOS) that consists of approximately 888 unmanned clusters of weather sensors called the ASOS stations.
The operation of each station is supervised by a rack-mounted computer system called the Acquisition Control Unit (ACU). Sensors can be connected to the ACU either directly or to remote system called Data Collection package (DCP), which is then connected back to ACU by a radio link. The configuration data for the working of the system is stored in a central location called national AOMC. The configuration data is downloaded from the AOMC using a dial-up connection. The ASOS system serves as the nation's primary surface weather observing network. It is designed to support weather forecast activities and aviation operations and, at the same time, support the needs of the meteorological, hydrological, and climatological research communities.

The baseline version of ASOS software runs on a Motorola 68010 processor based single board computer. The ASOS product improvement program required re-hosting the baseline ASOS software from the obsolete Motorola 68010 based single board Computer to a PowerPC based platform. This effort required a re-host of the baseline version of ACU software to a VME resident VGMD single board computer from Synergy Microsystems, Inc. Re-hosting the ACU software required following activities:

- Implementation of device driver using ‘C’ language
- Modifying hardware dependent modules
- Removal of latent defects
- Implementation of exception handler
- Addition of new functionalities

Implementation of Device Driver
The baseline version of ACU software has device driver written in assembly language for both synchronous and asynchronous communications. It is completely re-written using high-label language (‘C’ language) considering following advantages:
Portability: Being written in ‘C’, it is easier to port the driver to a new hardware. It requires changing portion of the driver code that is dependent on the underlying hardware.
Maintainability: Being written in high label language, it is easier to maintain.
The driver is designed to synchronize reading and writing the Serial Communication Controller with the super-scalar execution of PowerPC.

Modifying hardware dependent modules
The baseline version of ACU software had some hardware dependent modules. Re-hosting this software required changing these hardware dependent modules to suit the new hardware. The following issues were involved while modifying these hardware dependent modules:

Memory map: The bus layout of the VGMD processor board is different from the XYCOM processor board (used by the baseline version of the ACU software). The Motorola 68010 processor on XYCOM board sits on VME-bus and it directly communicates with VME devices on the system. PowerPC on VGMD board sits on PowerPC bus and it communicates with VME devices through some intermediate bridge chips. This required a completely different memory map for the VGMD processor board.

Mapping of new components: The VGMD processor board comes with components like User Flash, Boot Flash, mezzanine card, etc., and these devices were not present in XYCOM processor board. This required modifying the memory map for including these components.

Removal of VME device: The baseline version of ACU software uses a memory board (BBRAM) connected to VME bus for storing configuration and sensor related data to protect them from being lost due to power failure. As VGMD board comes with a BBRAM (mezzanine card), there is no need to use the memory board connected to the VME bus. This required removing this device from the memory map of the system.

Different signaling pattern: Because of the presence of intermediate components between PowerPC processor and VME devices, the signaling pattern is different than XYCOM processor board. The interrupt handling by PowerPC in VGMD board is also different from interrupt handling by XYCOM processor board. These differences required modification in the ACU software.

Removal of latent defects
Some latent defects were discovered during re-hosting of ACU software. These latent defects were corrected for proper operation of the system. Following is a list of some of the latent defects found in the baseline version of ACU software:

Pointer to local variable: Some functions were found to exit after passing a pointer to their local variable through message queue.

Accessing hardware directly by-passing the underlying driver: Some modules were found to be accessing hardware, bypassing the underlying driver.

Pre-emption disable while accessing critical data: some modules are found to disable pre-emption during accessing critical data, instead of using semaphores.

Application layer handling lower label signaling: application layer, instead of the underlying driver, handled the timing for modem signaling for synchronous communications.

Addition of new functionalities
New functionalities were added to ACU software during the re-host to enable efficient use of the available resources, better control over the running application and better tracking of the execution flow software. Following is a list of features added to the re-hosted ACU software:

Watchdog timer: The baseline version of ACU software does not have the functionality of recovering itself from system hangs. Watchdog timer is implemented in the re-hosted ACU software to enable the system (ACU) to warm start when it is non-operational for more than one minute due to malfunctioning software. This feature was highly desirable at typical ASOS installation at remote un-staffed locations.
Memory Protection: It was desirable to guard the system against software malfunction and also to have the ability to obtain information as to the root cause of system hangs so that they could be corrected. The re-hosted ACU software is provided with a memory protection functionality that guards the system against software malfunction, due to corruption of code space or critical data structure. The protection mechanism is such that upon attempted modification of the protected memory space, an appropriate exception is raised and the ACU performs a warm start. The mechanism causes the details of the malfunctioning code fragment, including instruction pointer and resister values, to be recorded for subsequent retrieval and analysis.

Hardware Syslogs: Hardware syslogs implemented in the re-hosted ACU software cause hardware errors to be reported by the application. These hardware errors are detected by a Board Support Package and are passed to the application for reporting, similar to application error messages.

Signature block: This feature enables ACU software to verify the data stored in Battery Backed RAM (BBRAM) before the data is being used by the application. BBRAM contains configuration and sensor related data, and it was observed when the battery voltage goes below specification, the data is not completely retained. ACU software was unable to detect this condition, and tried to start up with partial data. Signature block enables ACU to detect invalid BBRAM content and perform a cold start by deleting all the data from BBRAM.

Performance of the re-hosted ACU software
The Government has installed the re-hosted ACU software at over 20 fully operational ASOS sites throughout the United States in an effort to conduct an Operational Acceptance Test (OAT). Apart from being largely successful in the OAT, the re-hosted software also provided the following advantages over the baseline version of ASOS software.

Performance boosting: The baseline version of ASOS software experiences a drift in clock because of over-loading of the CPU and limited resources in XYCOM processor board. The processor board had not been upgraded since the development of ASOS, whereas ASOS software had undergone much enhancement over the years.

Faster processing power: PowerPC on a VGMD processor board runs at 400+MHz providing the application with faster processing power and enough bandwidth for future enhancement of ASOS.
Upgradeable DRAM: An upgradeable DRAM module in the VGMD processor board allows from 32 to 256 MB of high performance SDRAM memory. This shall provide with enough room for future enhancement ASOS software.

 
<< Back to projects
 
Top of the page
 
Copyright 1999-2005 Prism Communications, Inc