MIL-STD-1553B

MIL-STD-1553B Embedded Development Kit

Who: Georgia Tech Research Institute (GTRI), Georgia Institute of Technology (GT)
When: 2012
Where: Atlanta, GA
Languages: C (pre-C99), i8085 assembly, VHDL

GTRI has multiple contracts to redesign existing systems and update them with modern electronics. The i8085 was nearing end-of-life, so GTRI requested that we implement the i8085 in VHDL and produce a development kit for prototyping new hardware. The final product resulted in a Micro-C program (running on i8085 in VHDL) talking over a MIL-STD-1553B bus to blink a light on a receiving board.

The MIL-STD-1553B Embedded Development Kit consisted of a Xilinx Spartan FPGA and two MIL-STD-1553B capable daughter cards of our own design. The FPGA board interfaced with MIL-STD-1553B transceivers to prove that we could communicate over the bus with our software.

Our primary challenge was getting software running on our i8085 FPGA device. We revived an old ISO-C compiler (Micro-C) and managed to get software compiling in a virtual machine. Next, the vendor's 1553 driver needed to be back-ported for i8085 compilation. This was challening, as many modern conveniences and best practices are not valid in prior to C99. The compiler also had its own separate limitations, such as lack of support for float/double/long/enum/typedef.

After getting example code running on our i8085 design, we created a VHDL system architecture that allowed us to interface with our daughter board and run the i8085 demo program.

Writing Samples

Source Code

8085-HI6130-Port: Port of HI-6130 Driver and Demo Project to a MICRO-C Compiler for the 8085
SREC-to-COE: Converter to convert Motorola SREC hex files to Xilinx COE memory initialization files.
1553-Firmware: Contains VHDL implementing an 8085, Holt HI-6130 1553 IC, and Memory. Also includes firmware used to demo the system.

High Level Schedule / Waterfall

1474993589111.png

MIL-STD-1553B Bus Analyzer

Who: Georgia Tech Research Institute (GTRI)
When: 2009-2010
Where: Atlanta, GA
Languages: C, Visual C++

Phillip's major software development experience was working on a MIL-STD-1553B bus analyzer. The software supported monitoring, recording, playback, and decoding messages sent to EW/avionics systems. This software had been written and maintained by GTRI for 10-20 years, leading to a large and unruly code base.

Phillip supported a major release cycle and was responsible for a variety of activities:

  • Integrating support for decoding traffic on new systems
  • Incorporating new interface updates for supported systems
  • Fixing bugs identified in previous releases
  • Reviewing formal software test plan, fixing errors, and incorporating requirements for new feature sets
  • Running formal software tests prior to releasing the software to the customer