Time stamping

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

cross mob
Anonymous
Not applicable

  Recently there was a customer request to have a time stamp whenever a message was received on CAN. He was looking for using a RTC to note the time whenever there is a message received and no. of cycles by DMA for time stamp. 

   

DMA is configured to transfer 3 bytes of data from SRAM((RTC_currentTimeDate.Hour, RTC_currentTimeDate.Min, RTC_currentTimeDate.Sec) to SRAM timeStamp array of 3 bytes.

   

Since this is intraspoke transfer the time taken is =
Arbitration phase time(1) + Fetch Phase(1) + Source engine phase(N + 1) + Destination engine phase(N + 1) + Write back phase(1) = 
1+1+ (3/2 +1) + (3/2+1) +1 = 9 cycles.
So as soon as the message is received the DMA takes 9 cycles to transfer the RTC data to array.

   

Hope this is helpful:)

   
        
0 Likes
0 Replies