DMA FCE(CRC) calculation clock speed on TC3xx

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
QC43s
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

Hi all, 

I'm using TC3xx and trying to make a FCE module works. I also integrated DMA ME to move 16kB data into FCE's input register. After DMA confirm back to software that transaction process done, The FCE needs about 0.25ms to calculate CRC8 0x1D, 0.95ms to calculate CRC16 0x1D, and 0.45ms to calculate CRC32. That makes me confuse why does it take too much time to complete the calculation.  I setting the amount data transaction each time below: 

DMA: 

  • bytes per transaction: 16000 bytes
  • TREL reload value: 4000 for CRC32, 8000 for CRC16, and 16000 for CRC8
  • RROAT on, destination address offset.

Final RES result from FCE produced is not synchronized with the DMA transaction process. I use Trace 32 and see that  FCE input register received last bytes data but no CRC, RES results. 

0 Likes
7 Replies
Nambi
Moderator
Moderator
Moderator
50 likes received 5 likes given 100 solutions authored

Hi,

1. How is the measurement done?

2. a) What is the total data size for which CRC is calculated?

b) What is the time taken for  the CRC calculation of the entire dataset which is being deemed as large?

Best Regards.

0 Likes
QC43s
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

Hi Nambi, 

Thanks for your response here. I wanna share my answer to your questions below:

1. I create the callback function to notify the DMA transaction done, and set the timer start from that time pointer. Then I while loop to read the RES register from FCE until it get the expected result

2. The total data size is 16000 bytes, and I test for all 4 CRCs: CCITT CRC16, CRC8_SAEJ1850, CRC32P4, and CRC32 Ethernet. 

As I mentioned, I tested all 4 CRCs to calculate same amount data 16000 bytes and collect the time taken for each type here: CRC16 is ~0.9ms, CRC32 is ~0.45, and CRC8 is ~0.25ms. 

Best, 

0 Likes
Meet_T
Moderator
Moderator
Moderator
25 likes received 50 solutions authored 100 replies posted

 

 

1. If you are using iLLD based project then can you please provide your code if possible, using which you are measuring this timings for CRC calculation, so we can verify the same at our end. If sharing the entire code is not possible then please provide a part of the code that explains the measurement part.

 

Best Regards.

0 Likes
QC43s
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

.

0 Likes
QC43s
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

I am using MCAL driver also.

Thanks for your help.

Best,

0 Likes
Nambi
Moderator
Moderator
Moderator
50 likes received 5 likes given 100 solutions authored

Hi,

MCISAR is a commercial software covered under NDA. Its details cannot be discussed in the community.

Best Regards.

0 Likes
QC43s
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

Hi Nambi, 

we have MCISAR, is any chance that I could have that file? I am willing to communicate in email.

 

0 Likes