0 Replies Latest reply on Mar 19, 2013 1:17 AM by anush.shet

    Time stamping

    anush.shet

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