...
Channel | Goal/Scope | Proposed Testing Strategy |
---|---|---|
Main Channels | ||
SPI | Can transmit and receive data from and to a device. Can use chip select/enable line to selectively communicate with multiple peripherals. |
SPI loopback connection should be able to test that transmit & receive work. (connect MOSI to MISO) and send random values through it, receiving what is sent. The sent value and received value should match if the SPI is working properly. |
UART | Can transmit and receive data from and to a device. | Send sample Connect to a terminal, send UART message through each channel and verify output via terminal.Or send sample UART sequence through each pinout and perform Saleae analysisfrom PC and see if it can echo the message back to terminal. |
I2C | Can transmit and receive data from and to a device.Send sample I2C sequence through each pinout and perform Saleae analysis | After research, there is no easy way to test I2C lines. Best thing to do is connect a simple I2C peripheral and see if it can communicate with it successfully. todo: find an unimportant i2c sensor/device to steal for bringup testing. Write driver for device. |
PWM | Can configure the PWM TIMS to generate PWM signals. | Basic: Configure PWM settings. Connect to oscilloscope. Inspect/analyze PWM signal. DMA: Configure PWM settings (using DMA method). Connect to oscilloscope. Inspect/analyze PWM signal. ⭐ Also could: Test by sending PWM signals to on-board LEDs and confirm functionality by visual inspection (much less rigorous than oscilloscope analysis). |
GPIO | Can toggle on and off. | Pull each GPIO pin up/down. Options to check functionality: Saleae (time consuming for simple GPIO)
|
ADC | Varying analog input is converted to a digital binary output. | Connect potentiometer to ADC in channel. Vary voltage input. Output binary values to terminal? |
MicroSD | Read/Write data to the SD Card. | Write: Create text file, write to the text file, plug the SD card into a computer and confirm that the test text file has been created and written to. Read: Read from a the test file. Check size of input variable to see that the size of the file data and variable matchOutput data to terminal. OR Attempt to read known data from a text file. Pass through an assertion or if statement. |
On-board LEDs | Can light up. | Run simple blink test code on each on-board LED. |
MISC | ||
GPIO Interlock Pins:
| GPIO interlock, should be read high (3V3) to ensure interface board is properly connected. | Read the pins. |
uSD_Detect Pin: PF11 | Pin low when SD card is inserted and high when SD card slot is vacant ❗ This functionality was not confirmed and should be checked. | Read pin (should be low when SD card is inserted and high when SD card is empty) |
PWR_SENSE Pin: PA4 (ADC2_IN9) | Measures the voltage available to the system after power filter Calculated using | DMM |
VBAT_B_SENSE Pin: PC2 (ADC2_IN3) | Measures the voltage of battery B Calculated using:
| DMM |
VBAT_A_SENSE Pin: PB1 (ADC2_IN16) | Measures the voltage of battery A Calculated using:
| DMM |
...