Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Channel

Goal/Scope

Proposed Testing Strategy

Main Channels

SPI (Eric)

Tester Code (Arduino):

Target Code (ZP3): (tick)

Additional Notes:

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 (ethan)

Tester Code (Arduino):

Target Code (ZP3): (tick)

Additional Notes:

ZP3 has 5 UART Channel, Arduino only has 4, thinking of ways to get around this.

Can transmit and receive data from and to a device.

Send UART message from testing board and see if target can echo the message back to the EVB.

I2C (ethan)

Tester Code (Arduino):

Target Code (ZP3): (tick)

Additional Notes:

ZP3 has 3 I2C nodes, Arduino has 2.

Can transmit and receive data from and to a device.

Connect 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.

PWM (Eric)

Target Code (ZP3):

Additional Notes:

None.

PWM DMA (Ethan)

Target Code (ZP3): (tick)

Additional Notes:

None.

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. (Ethan)

GPIO (ethan)

Tester Code (Arduino):

Target Code (ZP3): (tick)

Additional Notes:

None.

Can toggle on and off.

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 (ethan)

Tester Code (Arduino):

Target Code (ZP3):

Additional Notes:

Still unsure how to test this.

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 (eric)

Target Code (ZP3): (tick)

Additional Notes:

None.

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 (eric)

Target Code (ZP3):

Additional Notes:

None.

Can light up.

Run simple blink test code on each on-board LED.

MISC

GPIO Interlock

Pins:

  • PF2 (GPIO_IL_D) (tick)

  • PF3 (GPIO_IL_C) (tick)

  • PG6 (GPIO_IL_B) (tick)

  • PG7 (GPIO_IL_A) (tick)

GPIO interlock, should be read high (3V3) to ensure interface board is properly connected.

Read the pins.

uSD_Detect (tick)

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 V = PWR_SENSE * 18.28395 (280k, 16.2k voltage divider)

DMM

VBAT_B_SENSE

Pin: PC2 (ADC2_IN3)

Measures the voltage of battery B

Calculated using:

V = VBAT_B_SENSE * 18.28395 (280k, 16.2k voltage divider)

DMM

VBAT_A_SENSE

Pin: PB1 (ADC2_IN16)

Measures the voltage of battery A

Calculated using:

V = VBAT_A_SENSE * 18.28395 (280k, 16.2k voltage divider)

DMM

...