Is there a more thorough documentation of the SWD interface as implemented on the nRF chips?
I'm seeing something I regard as strange when I look at things on a scope.
In order to make my nRF51822 accept a command (IDCODE for instance) I have to send the 0xA5 such that SWDIO changes on a falling SWDCLK but samples on the rising edge.
However, when the chip sends me back data that appears to change and the nRF chip changes SWDIO on a rising SWDCLK and I have to sample it on the falling edge.
That very definitely does NOT match any of the diagrams from ARM I have seen. The diagrams NEVER demonstrate a change of phase.
In addition, all of the diagrams indicate that data should change on rising edge and sample on falling edge. This is not what the nRF chips seem to be doing during the sending of the command.
However, there is a common convention in SPI that diagrams are meant to represent the transition from active to idle and is normally controlled by the Polarity and Phase bits. What is NOT common convention is changing the phase mid-transaction.
Am I missing something? I really tried to RTFM. But I'm perfectly willing to accept that I missed something that's actually documented--just point me at it.
Thanks.
(The use case here is that I need multiple programmers that can be located at the manufacturing line and that can program and can do a bit of functional test so that we can fail defective units at the line where they can be inspected in more detail and possibly reworked.)