I saw a description about on-the-fly CCM mode decryption in the nRF54L10 datasheet, but the Configuration section of CCM00 states that it does not support on-the-fly decryption. I'd like to know if it is actually supported?
I saw a description about on-the-fly CCM mode decryption in the nRF54L10 datasheet, but the Configuration section of CCM00 states that it does not support on-the-fly decryption. I'd like to know if it is actually supported?
For anyone who wonders, the on-the-fly-decryption mechanism is a feature where the CCM peripheral is instructed to start decrypting at the beginning of radio packet reception and then reads from RAM in the same pace that the packet is being received on the radio. That way, a small chunk is decrypted at a time, and when the packet reception has completed (typically after CRC has been received), the decrypted result can be read immediately. The other alternative is to wait for the complete packet reception and then start decryption, which can take a while, especially if the packet is long. The on-the-fly decryption mechanism thus lowers the latency when the packet can be processed after reception.
Note that on-the-fly encryption, compared to decryption, is not necessary. The reason is that the packet encryption process can be started just before the packet is to be sent over the air and then run at full speed (which is fortunately faster than the radio transmission). There is no need to slow down the encryption to exactly match the packet transmission speed, as opposed to when we receive and decrypt.
To answer your question, no, on-the-fly decryption for CCM is not supported on the nRF54L series. My quick guess is that the CCM module was copy-pasted from the nRF52 design, where the CCM module runs at the same fixed clock frequency as the radio (or fixed multiple/factor of the clock speed), while on the nRF54L it runs at a faster dynamic speed, i.e. either 64 MHz or 128 MHz. So if you try to enable it anyway, it will probably not be correctly synchronized with the radio packet reception. I can be totally wrong though.
In any case, the CCM module is much faster on nRF54L compared to nRF52 (64 or 128 MHz vs 16 MHz) so in most situations the whole packet decryption can be started and completed during the reception of the 24-bit CRC for 125/500 kbps and 1MBit BLE (up to 255 byte packets). As the documentation says, for higher bitrates like 2 MBit/s, the CCM module might require some extra microseconds before the packet decryption completes, so you should always wait for the END event.
For anyone who wonders, the on-the-fly-decryption mechanism is a feature where the CCM peripheral is instructed to start decrypting at the beginning of radio packet reception and then reads from RAM in the same pace that the packet is being received on the radio. That way, a small chunk is decrypted at a time, and when the packet reception has completed (typically after CRC has been received), the decrypted result can be read immediately. The other alternative is to wait for the complete packet reception and then start decryption, which can take a while, especially if the packet is long. The on-the-fly decryption mechanism thus lowers the latency when the packet can be processed after reception.
Note that on-the-fly encryption, compared to decryption, is not necessary. The reason is that the packet encryption process can be started just before the packet is to be sent over the air and then run at full speed (which is fortunately faster than the radio transmission). There is no need to slow down the encryption to exactly match the packet transmission speed, as opposed to when we receive and decrypt.
To answer your question, no, on-the-fly decryption for CCM is not supported on the nRF54L series. My quick guess is that the CCM module was copy-pasted from the nRF52 design, where the CCM module runs at the same fixed clock frequency as the radio (or fixed multiple/factor of the clock speed), while on the nRF54L it runs at a faster dynamic speed, i.e. either 64 MHz or 128 MHz. So if you try to enable it anyway, it will probably not be correctly synchronized with the radio packet reception. I can be totally wrong though.
In any case, the CCM module is much faster on nRF54L compared to nRF52 (64 or 128 MHz vs 16 MHz) so in most situations the whole packet decryption can be started and completed during the reception of the 24-bit CRC for 125/500 kbps and 1MBit BLE (up to 255 byte packets). As the documentation says, for higher bitrates like 2 MBit/s, the CCM module might require some extra microseconds before the packet decryption completes, so you should always wait for the END event.
OK, thanks!