This Repository is for the microcontroller utilized in the PSCR MCV QoE measurement system. This code is utilized by the measurement systems described in NIST IR 8206 and NIST IR 8275. The code is written for the TI MSP430F5529 processor and was developed using a MSP-EXP430F5529LP LaunchPad board.
The following projects require the use of this firmware:
The code was compiled and loaded using TI Code Composer Studio (CCS) IDE, available here: http://www.ti.com/tool/CCSTUDIO.
The Matlab-test folder contains code to test the microcontroller. This code only requires base MATLAB and allows the functionality of the microcontroller board to be tested. This can be used with a newly programed board as a quick check that everything is working as expected. The test can be started as follows.
RItest
To complete all parts of the test you will need a multimeter and/or an oscilloscope and a wire to connect P6.0 to 3.3V. Alternately a variable bench supply can be used to determine the switching threshold. If all that is desired is to determine that the firmware was loaded correctly and able to communicate with MATLAB, simply vusually checking that the LEDs come on is sufficient.
The command line interface implemented by the software is primarily intended to be used with the radioInterface MATLAB class. It can, however, be easily used manually with a serial terminal program. Commands are case sensitive. The commands are listed below:
- help: If help is called with no arguments, it displays a list of all possible commands. If the name of a command is passed to help, then it gives a short description of what the command does and what arguments to pass to it.
- ptt: The ptt command activates or deactivates the push to talk signal. If no arguments are given, it will display the ptt status. If the first argument is on or off, then the ptt signal is activated or deactivated respectively. If the first argument is delay then the second argument is the delay in seconds and the ptt signal will be activated after that number of seconds. The number of seconds is adjustable with about 1 ms resolution and can be up to 64 seconds. The actual delay is printed by the ptt command when the delay argument is given.
- devtype: The devtype command is for identification of the device. It is mainly so the MATLAB class can search for a usable device on one of the available serial ports.
- LED: The LED command will turn on or off one of the LEDs on the board.
- closeout: The closeout command is primarily meant to be called when the radioInterface class is deleted. It deactivates the ptt signal and turns off all of the LEDs. It takes no arguments.
- temp: The temp command is used to measure both the MSP430 temperature and an optional external thermistor. The thermistor connects to analog channel 5 on P6.5. The code was used with a Cantherm MF52A2103J3470 thermistor as the bottom leg (connected to ground) of a voltage divider with the other resistor, connected to 3.3V, being a 10 k ohm. The internal temperature measures the die temperature of the MSP430 which is generally a bit higher than ambient due to the internal voltage regulator.
- id: The id command is used to get a unique ID for each board. The die record is used to return a hex string that is unique to each IC.
- bsl: The bsl command puts the processor in bootstrap loader mode. In bsl mode the virtual COM port will no longer be available and a USB HID device for the bsl will instead be used. The only way to return to the command line interface is to reset the processor. This intended for use with a possible future firmware upgrade tool.
- MSP430F5529LP
- Perfboard
- 2x10 0.1 in. pitch female headers
- Connector to audio output of audio interface
- Connector to audio inputof audio interface
- Resistors: 330 Ω, 2.2 kΩ
- Diode
- Connector for radio
- 4N35 optocoupler
Below is the schematic for the microcontroller daughter board. The pieces are described in mor detail in section 4.3 of the access time paper.