How should the nRF 5340 CCM peripheral's MODE.DATARATE field be set when using the peripheral in asynchronous mode (i.e. not encrypt/decrypt-on-the-fly)?

Hello,

I a working on a project that uses the nRF5340 CCM peripheral (Network core) in an asynchronous mode. That is, I encrypt PDUs prior to scheduling them for transmission on the radio and I decrypt PDUs after having successfully received them from the radio. I'm not using the on-the-fly mechanism that operates synchronously with the radio because I don't have enough space in my proprietary protocol to allow the CCM to get configured between radio TX/RX operations.

I use the radio at 2 different data rates (1 Mbps and 2Mbps) depending on the state of the link. My question is what is the effect of the CCM's MODE.DATARATE field when using the CCM in an asynchronous mode? I was initially just leaving the DATARATE field at the default of 1 Mbps because I'm not using the synchronous on-the-fly method and I assumed it would have no effect. What I discovered though is that the time it takes to decrypt a PDU when DATARATE = 1Mbps is approximately twice as long as it takes the radios to TX/RX that PDU. As a result the CCM decrypt operations were unable to keep up with the receiving radio when the link is busy. So I tried to change the MODE.DATARATE setting to 2Mbps when I was using the radios in 2Mbps mode. This cut the decryption time roughly in half, but now there is ALWAYS a MIC mismatch on the receiving side when I attempt to decrypt the PDUs.

Am I missing something? Is there a way to configure and use the CCM asynchronously but have it operate at the 2Mbps rate?

Thanks,

Kevin

Related