Project Description

Problem Statement

       Cobham Aerospace is in the process of designing a new radio to be used in different types of aircraft. This radio will be split into different modules, each doing a specific function. There is no existing test setup to analyze the communication between the modules of the radio when there is noise present. The problem proposed to our team is to develop the software for the communications between the different components of radio modules for Cobham Aerospace and then inject noise into the system. We must implement our software on a required field programmable gate array (FPGA), and interface with a graphical user interface (GUI). There will be Verilog software that will include methods for testing the communication link between different radio modules. The GUI will allow the user to monitor a communication uplink and test the communication under different noise conditions.

Description

       Our design centers around a software solution to the problem. The new radio under development will be using Aurora protocol for communications between modules within the radio. This protocol will allow for high-speed communications. The project proposed to our team was to design a system to implement this protocol on an FPGA board to allow for testing. The Xilinx Spartan 6 SP605 FPGA has been decided upon at this point in time.
       The Verilog language will be written to implement the Aurora communication protocol on the board. Once the protocol is established, noise or interference will be injected into the system through hardware. The type of noise will be decided later into the project once the Verilog code to implement the Aurora communication protocol on the FPGA is finished.
       Once the Aurora communication protocol has been implemented and noise can be injected into the system, the code will be added into the FPGA board to calculate the Bit Error Rate (BER), and any other measurements requested. Finally, after the FPGA is able to calculate BER, code will be added to allow the board to communicate with the computer via USB, using RS232 communication protocol.
       After the Verilog code for the FPGA is finished, a GUI will be programmed on a PC to allow for ease of testing. The GUI will control the start and stop of the test, and will display the results received from the FPGA. The GUI will be programmed in Visual Studios using C#.
       Not many major design decisions have been made by our team, as many of the aspects of the project have been decided by Cobham. As requested the code will be written in Verilog. The one area that our group was able to make a decision was regarding how the GUI will be developed. We looked at several options, such as using Java, Visual Basic, or Visual Studios. To make the decision, we looked at the difficulty of programming in each language and then also considered all of the team members' experience with the languages. Several team members were experienced in Java and it is an easy language to program in, but it is difficult to make GUIs in that language. Only one team member had ever worked with Visual Basic, with no experience in constructing a GUI. However, a team member had experience in Visual Studios producing GUIs. Also, we performed research online and found that Visual Studios is a commonly used method to make GUIs. After considering all of the options, the team decided to use Visual Studios to produce the GUI.

Diagram

project diagram




Requirements and Specifications

Mechanical

       Mechanically the software needs to be installed on a handheld module that can be used by one person. We want it to be mechanically easy to use as possible, and should be used in an ESD safe environment. The module is mechanically constrained to be connected with USB to other components and using RS232 communication protocol over serial to the personal computer. The GUI is also mechanically constrained by the need of having a touch interface.

Interconnect USB
Package Must fit easily on a lab bench

Electrical

       Electrically we need to be able to interpret radio frequencies as accurately as possible for testing, and also be able to use our device with a wide range of different frequencies. We would like to keep the whole system as low power as possible, and would like it to interface completely using a GUI with no extra buttons for operation. We are electrically constrained to a particular FPGA board that we can use, and also a particular protocol.

Internal Power (Xilinx Board) 0.95-1.05 V
Communication Voltage (Xilinx Board) 3.3 V
Interfacing (Xilinx board) 1 Ethernet and 2 serial ports
Power Supply Power (Xilinx board) 4.05 V (absolute max)

Software

       For software needs, our GUI will have text areas displaying the various Aurora protocol settings, and user buttons to manipulate the testing methods. We would like to minimize the number of buttons to only how many are needed so as to make the GUI as user friendly as possible while still having necessary testing requirement buttons. We are constrained by the need for certain values to be displayed and also certain buttons to be on the GUI.

Values to be displayed on GUI Aurora settings, bit error rate test results
Required buttons on GUI Start, end, data file source, data transfer control options, options to repeatedly transfer data for prolonged BER testing
FPGA Programming Language Verilog
GUI Programming Language C# in Visual Studio development platform

Environment

       Environmentally we need our device to be robust enough to withstand frequent use. We would like it to be able to function in many different environmental conditions such as a variety of different temperatures and humidity, and to not be affected by mild vibrations. We are environmentally constrained only by the environment you would normally find in an average testing room at any manufacturing facility.

Temperature of Environment -65 to 150°C
Humidity < 95%
Static Discharge ESD safe environment (grounding straps and ESD mats)
Vibration No specified limitations

Documentation

       For documentation we need to have our coded software commented, a user's guide for testing operations, an operator's manual for the GUI, and any manufacturer's documentation from components we used in the system. With the following, all document constraints for configuration, maintenance, and operation of the equipment are met.

Operator's Manual for GUI Yes
Maintenance Manual No (See Xilinx maintenance manual)
User's Guide for Testing Yes
Coding, GUI, and Verilog Yes

Proposal (Opens in a new tab)