CMSIS-Driver Validation  Version 1.0
Driver Validation
 All Files Functions Variables Typedefs Macros Groups Pages
Ethernet Validation

Ethernet test cases. More...

Functions

void ETH_MAC_GetCapabilities (void)
 Test case: ETH_MAC_GetCapabilities.
 
void ETH_MAC_Initialization (void)
 Test case: ETH_MAC_Initialization.
 
void ETH_MAC_CheckInvalidInit (void)
 Test case: ETH_MAC_CheckInvalidInit.
 
void ETH_MAC_PowerControl (void)
 Test case: ETH_MAC_PowerControl.
 
void ETH_MAC_SetBusSpeed (void)
 Test case: ETH_MAC_SetBusSpeed.
 
void ETH_MAC_Config_Mode (void)
 Test case: ETH_MAC_Config_Mode.
 
void ETH_MAC_Config_CommonParams (void)
 Test case: ETH_MAC_Config_CommonParams.
 
void ETH_PHY_Initialization (void)
 Test case: ETH_PHY_Initialization.
 
void ETH_PHY_CheckInvalidInit (void)
 Test case: ETH_PHY_CheckInvalidInit.
 
void ETH_PHY_PowerControl (void)
 Test case: ETH_PHY_PowerControl.
 
void ETH_PHY_Config (void)
 Test case: ETH_PHY_Config.
 
void ETH_Loopback_Transfer (void)
 Test case: ETH_Loopback_Transfer.
 
void ETH_MAC_PTP_ControlTimer (void)
 Test case: ETH_MAC_PTP_ControlTimer.
 
void ETH_Loopback_PTP (void)
 Test case: ETH_Loopback_PTP.
 

Description

The Ethernet validation test performs the following checks:

Loopback Communication Setup

To perform loopback communication tests, it is required to connect the RX and TX lines of the Ethernet cable together:

ethernet_loopback.png

Various Ethernet loopback plugs are available from different vendors that fulfill this purpose.

Function Documentation

void ETH_Loopback_PTP ( void  )

The test case ETH_Loopback_PTP verifies the Precision Time Protocol functions ControlTimer, GetRxFrameTime and GetTxFrameTime with the sequence:

  • Initialize
  • Power on
  • Set Control Timer
  • Transfer a frame
  • Get TX frame time
  • Get RX frame time
  • Power off
  • Uninitialize
void ETH_Loopback_Transfer ( void  )

The test case ETH_Loopback_Transfer verifies data transfer via Ehernet with the following sequence:

  • Buffer allocation
  • Initialize
  • Power on
  • Ethernet connection
  • Set output buffer pattern
  • Transfer data chunks
  • Set output buffer with random data
  • Transfer data chunks
  • Power off
  • Uninitialize
void ETH_MAC_CheckInvalidInit ( void  )

The test case ETH_MAC_CheckInvalidInit verifies the driver behaviour when receiving an invalid initialization sequence:

  • Uninitialize
  • PowerControl with Power off
  • PowerControl with Power on
  • Control
  • PowerControl with Power off
  • Uninitialize
void ETH_MAC_Config_CommonParams ( void  )

The test case ETH_MAC_Config_CommonParams verifies the Ethernet MAC Control function with the sequence:

  • Initialize
  • Power on
  • Configure Ethernet MAC bus
  • Configure receiver
  • Configure transmitter
  • Power off
  • Uninitialize
void ETH_MAC_Config_Mode ( void  )

The test case ETH_MAC_Config_Mode verifies the Ethernet MAC Control function with the sequence:

  • Initialize
  • Power on
  • Set full duplex
  • Set half duplex
  • Power off
  • Uninitialize
void ETH_MAC_GetCapabilities ( void  )

The test case ETH_MAC_GetCapabilities verifies the Ethernet MAC function GetCapabilities.

void ETH_MAC_Initialization ( void  )

The test case ETH_MAC_Initialization verifies the Ethernet MAC functions in the following order:

  • Initialize without callback
  • Uninitialize
  • Initialize with callback if supported
  • Uninitialize
void ETH_MAC_PowerControl ( void  )

The test case ETH_MAC_PowerControl verifies the Ethernet MAC PowerControl function with the sequence:

  • Initialize
  • Power on
  • Set bus speed 10M
  • Set bus speed 100M
  • Set bus speed 1G
  • Power off
  • Uninitialize
void ETH_MAC_PTP_ControlTimer ( void  )

The test case ETH_MAC_PTP_ControlTimer verifies the PTP ControlTimer function with the sequence:

  • Initialize
  • Power on
  • Set Time
  • Adjust Clock
  • Increment Time
  • Decrement Time
  • Set Alarm
  • Power off
  • Uninitialize
void ETH_MAC_SetBusSpeed ( void  )

The test case ETH_MAC_SetBusSpeed verifies the Ethernet MAC Control function with the sequence:

  • Initialize
  • Power on
  • Set bus speed 10M
  • Set bus speed 100M
  • Set bus speed 1G
  • Power off
  • Uninitialize
void ETH_PHY_CheckInvalidInit ( void  )

The test case ETH_PHY_CheckInvalidInit verifies the driver behaviour when receiving an invalid initialization sequence:

  • Uninitialize
  • PowerControl with Power off
  • PowerControl with Power on
  • SetInterface to configure the Ehternet PHY bus
  • SetMode to configure the Ehternet PHY bus
  • PowerControl with Power off
  • Uninitialize
void ETH_PHY_Config ( void  )

The test case ETH_PHY_Config verifies the PHY functions

  • Initialize
  • Power on
  • SetInterface
  • SetMode
  • Power off
  • Uninitialize
void ETH_PHY_Initialization ( void  )

The test case ETH_PHY_Initialization verifies the Ethernet PHY functions in the following order:

  • Initialize with read and write functions
void ETH_PHY_PowerControl ( void  )

The test case ETH_PHY_PowerControl verifies the Ethernet PHY PowerControl function with the sequence:

  • Initialize
  • Power on
  • Power low
  • Power off
  • Uninitialize