CC2530数据包timestamp是用什么单位记录时间的?
时间:10-02
整理:3721RD
点击:
CC2530数据包timestamp是用什么单位记录时间的?
cc2530 Z-stack中收到的数据包格式为afIncomingMSGPacket_t ,我想知道其中uint32 timestamp; /* receipt timestamp from MAC */ 所记录的mac层时间具体在哪里产生并在什么情况下记录的?并且我查看了所记录的时间,其单位不是1ms 也不是1μs,那么到底是什么时间单位记录的。
另外这个时间能否作为节点的本地时间?又该如何调整更改呢?因为我要做节点时间同步的问题。数据结构如下
typedef struct
{
osal_event_hdr_t hdr; /* OSAL Message header */
uint16 groupId; /* Message's group ID - 0 if not set */
uint16 clusterId; /* Message's cluster ID */
afAddrType_t srcAddr; /* Source Address, if endpoint is STUBAPS_INTER_PAN_EP,
it's an InterPAN message */
uint16 macDestAddr; /* MAC header destination short address */
uint8 endPoint; /* destination endpoint */
uint8 wasBroadcast; /* TRUE if network destination was a broadcast address */
uint8 LinkQuality; /* The link quality of the received data frame */
uint8 correlation; /* The raw correlation value of the received data frame */
int8 rssi; /* The received RF power in units dBm */
uint8 SecurityUse; /* deprecated */
uint32 timestamp; /* receipt timestamp from MAC */
uint8 nwkSeqNum; /* network header frame sequence number */
afMSGCommandFormat_t cmd; /* Application Data */
} afIncomingMSGPacket_t;
我最近也在做时间同步的项目,zstack数据包中的timestamp应该是接收到包的MAC层的时间。具体时间单位如下:
timestamp unit is based on a basic time unit called Backoff Period(BP)
a Unit Backoff Period = the transmission time of 80bits(0.32ms)
如果精度要求比较高的话,个人觉得需要使用timer2来做本地时钟。
你好,我也在做时间同步的问题,请问系统占用的time2怎么使用呢?刚接触,不太懂,我就是想提取当前时间,有时间的话可以回复吗?不胜感激
你好,我也在做时间同步的问题,请问系统占用的time2怎么使用呢?刚接触,不太懂,我就是想提取当前时间,有时间的话可以回复吗?不胜感激