...
todo: include a list of things to lookout for
⭐ Use DMM to make sure things are not shorted
Step 2: Supply Power (lookout for any smoking)
...
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. | Send sample SPI signals through the channels and verify output using Saleae Logic Analyzer.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. | Connect to a terminal, send Send UART message from PC testing board and see if it target can echo the message back to terminalthe EVB. |
I2C | Can transmit and receive data from and to a device.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 successfullyConnect a simple I2C peripheral to the testing board, transmit data to target. Make target do something if data is received, and return data back to test board. 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: Connect LED to each gpio pin and toggle the pins to turn them on/off continuously. | Drive GPIO pins high and output a simple message to a terminal if a HIGH signal was read from each GPIO pin confirming it was successfully pulled HIGH/LOW Connect GPIO pins of testing board to ZP3 board. ZP3 pulls pins high/low and testing board reads pins to see if they are the right state. Possibly do the other way around too. |
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 the test file. Output 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 |
...