Hello again!
I am once again having problems using the SSI interface on the launchpad.
I initialize the SSI intrface with the following code:
// Run on 80Mhz SysCtlClockSet(SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_SYSDIV_2_5); SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); GPIOPinConfigure(GPIO_PA2_SSI0CLK); GPIOPinConfigure(GPIO_PA4_SSI0RX); GPIOPinConfigure(GPIO_PA5_SSI0TX); GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5); GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_3); // Set clock source and speed SSIClockSourceSet(SSI0_BASE, SSI_CLOCK_SYSTEM); // Set clock source SSIConfigSetExpClk(SSI0_BASE, 80000000, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 20000000, 8); // Configure as SPI master with a speed of 20MHz // Enable the SSI module SSIEnable(SSI0_BASE);
When sending data over SPI the clock looks like there are some issues with the rising/falling edges of the clock:
When going to higher speeds (10MHz):
Even higher speeds are no longer usable!
What is the problem here? I need to run on at least 20MHz, is this even possible?.
I have tried on several launchpads all with the same result. There is no hardware connected to the pin (except for the measurement probe),just the launchpad straight from the box.
Any hints? am i just being silly in trying to do something that can't be done?
Fransisco