0 Replies Latest reply on Mar 19, 2013 1:15 AM by anushs_

    Time stamping

       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:)