This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52832: SPIM1/2 don't generate SCKs

I have a custom board with an nRF52832 (CIAA-B0), and I am trying to use the SPI Master.

When I use SPIM1 or SPIM2, the transaction hangs, but the same code talking to SPIM0 succeeds.

I load the EasyDMA with 2 RAM buffers, with RX/TX sizes equal (=5), then trigger TASKS_START=1.

The symptom:

1) EVENTS_STARTED is signalled, but EVENTS_ENDx (TX/RX/END) are not (minutes/hours). EVENTS_STOPPED is not signalled.

2) I see no SCK activity on a scope.

3) The EasyDMA AMOUNT fields stay at 0. (I'm not sure whether I should expect them to change mid-transaction, but they don't.)

I am not using any conflicting SPI/TWI units. I am configuring the GPIOs per PS section 31.5, plus high (H0H1) drive. I stepwise reduced the SPI speed to 125kHz. I even tried (stepwise) taking all of the pins away from the SPI, with no change in symptom.

To use SPIM0, I had to move my I2C to TWIM1. My I2C slave board is in re-work, so I can't try it right now; I'm now concerned that TWIM1 will have an anomaly as well. (I eventually want to use TWIM0 and TWIM1, which is why I was trying to use SPIM2 in the first place.)

I was concerned that my SPI slave was interfering somehow, but since SPIM0 works exactly as expected I don't think so.

Is there anything else I can try? Is there something special about SPIM0 (or alternatively SPIM1/2)?

Parents Reply Children
No Data
Related