PS2 keyboard lib interferes with I2S

30 Jun 2012

I am trying to find out what part of the PS2 libs is interfering with the I2S output (the I2S output is fed by DMA). When I push some keys on the PS2 keyboard the I2S output is randomly stopped (goes to '0') and can not be restarted unless I reset the mbed. So far no luck in finding the culprit.

08 Jul 2012

By setting the divider for the I2S to '1' the output stays active (I had set the divider to '2') The display still gets disturbed by the PS2 keyboard interrupts but that is another story...

using fastlib:

    fl_select_clock_i2s(FL_CLOCK_DIV1); // assume 100MHz
    fl_i2s_set_tx_rate(1,4);            // set 25 MHz pixel clock 
08 Jul 2012

The final problem is now also solved by setting the priority of the PS2 keyboard interrupt (on keyboard clock falling edge) to the lowest level:

NVIC_SetPriority( EINT3_IRQn, 255 ); set priority to lowest (reduce vga disturbance)

The screen is now steady again.