打造一个通用性MCU架构,支持CX32/AT32/NRF51/NRF52等。 OS支持RTX4/RTX5/FreeRtos。 采用VsCode+GCC组合,VsCode+KEIL5,超强开发方式。 QQ群:524408033

LiSun

打造一个通用性MCU架构,支持CX32/AT32/NRF51/NRF52等。 OS支持RTX4/RTX5/FreeRtos。 采用VsCode+GCC组合,VsCode+KEIL5,超强开发方式。 QQ群:524408033

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

7 消息负载格式

7.1 ANT+消息数据格式
所有ANT消息都有一个8字节的有效负载。对于ANT+消息,第一个字节包含数据页号,其余7个字节用于传感器特定的数据。
Table 7-1. ANT+通用消息格式
在这里插入图片描述

7.2 数据页类型
ANT+自行车灯设备配置文件中的消息包括主页和命令页面。
自行车灯主数据页面包含来自ANT+自行车灯(及任何连接的灯)的主要数据,包括状态,功能,制造商和产品信息。数据页1、2、80和81是默认应发送的自行车灯主页。如果有子灯,则应该发送第3页和第4页。
必要时,命令页面将从控制器发送到ANT+自行车灯设备。命令页面32和33用于创建,销毁和配置ANT+自行车灯网络。命令第34页用于控制ANT+自行车灯的状态,光束高度和模式。

7.3 传输方式
ANT+自行车灯设备具有定义的传输模式,该模式根据设备的当前状态而变化。以下各节定义了如何在图5-6中定义的状态下通过设备的广播和共享信道传输数据:
Table 7-2. ANT+自行车灯光设备传输模式
在这里插入图片描述

7.3.1 自行车透光模式
ANT+自行车灯每秒传输约8个数据页。主数据页1、2、80和81应包括在默认广播传输模式中。附加的主要数据页3、4、16、17和18也可以在某些时间包含在传输模式中,如以下各节所述。

因为这些页面中的数据通常是基于事件驱动的(例如,灯光状态将响应命令而更改),所以传输模式也是事件驱动的。具体来说,每当ANT+自行车灯(或副灯)的状态改变时,广播传输就会重新开始。下图对此进行了说明。

7.3.2 没有子灯的未连接ANT+自行车灯的传输模式
图7-1所示为无副灯的无连接ANT+自行车灯的常规广播传输模式。默认情况下,数据页1、2、80和81连续重复。如果设备发送了额外的公共页或制造商特定页,则应在每个模式重复后包括这些页,如模式“b”中的“X”所示。在每个模式重复中可以包括最多10个制造商特定页面。
主数据页轮询:
在这里插入图片描述

每当ANT+自行车灯接收到来自ANT+控制器的命令时,或者无论何时灯自动改变状态(即,当数据页1中的任何字段更改值时),都将视为已发生事件。在每个事件之后,传输模式都会复位,以使下一个要发送的消息是数据页1。建议在事件后发送“数据页1”3次,以确保ANT+控制器可以快速接收到该数据页。注意,在中断之后,传输模式可以如图7-1所示从头开始继续,或者可以从被中断的点恢复。

7.3.2.1 带有子灯的未连接ANT+自行车灯的传输模式
包含子灯的未连接ANT+自行车灯的广播传输模式与上面显示的默认传输模式相似,但还包括主数据页面3和4。数据页面3和4应该为每个子灯传输一次。图7-2显示了带有四个子灯的ANT+自行车灯的模式:
在这里插入图片描述
Figure 7-2. 具有子灯光数据页面的默认广播传输模式
每当ANT+自行车灯从ANT+控制器接收到命令时,此模式就会重置,以使下一条发送的消息是第1页。如果该命令特定于副灯,则该模式仍应从第1页开始(包含命令)序列号),然后是引用相关子指示灯的第3页,然后照常继续。
请注意,如果该事件发生在子灯上,则数据页面1应该被发送一次,然后是数据页面3的3个子灯页。如果该事件发生在主灯上,那么数据页面1应该被传输3次,并且多余的数据不需要第3页的传输。

7.3.3 连接后ANT+主自行车灯的传输模式
用作主灯的已连接ANT+自行车灯的常规广播传输模式,除了描述主灯的数据页之外,还包括从已连接的辅助灯转发的数据页。
不带副灯的ANT+自行车灯传送包括数据页1和可选页2、80和81的重复模式。如果ANT+自行车灯具有子灯,那么也应包括数据页3来描述每个现有的子灯,并且数据页4是可选的。这些页都是用字节1中的灯光索引1发送的,表示正在描述主灯。
此外,从连接的辅助灯接收到的任何数据页1和3也应包括在主传输模式中。可以可选地包括数据页2、4、16和17。这些页面应保持接收到的主灯索引和子灯光索引。从辅助ANT+自行车灯接收到的任何其他可选数据页都可以不变地重新传输,或者被主ANT+自行车灯忽略。
主灯的信道ID(第18页)可以任选也被包括在内。最终的传输模式如图7-3所示。
在这里插入图片描述
Figure 7-3. 主灯的常规广播传输模式
请注意,在此图中,灰色用于指示仅在某些情况下(例如,当存在子灯时)存在的页面。还要注意,与每个页面关联的灯光索引对于与主灯有关的页面显示为1,对于与其他页面有关的页面显示为> 1。

7.3.3.1 事件后重新启动传输模式
每当发生事件时(即,当灯光改变状态时),常规模式都会中断,以使下一个发送的消息描述发生该事件的灯光的新状态。
例如,考虑一组四个ANT+自行车灯:
• 灯光索引 1 (主灯) 带有1个副灯:SLI 1。
• 灯光索引 2 (辅助灯) 带有0个子灯。
• 灯光索引 3 (辅助灯) 带有2个子灯:SLI 1和SLI 2
• 灯光索引 4 (辅助灯) 带有0个子光源。

如果在灯光索引3、子灯2上发生事件;在重新启动常规传输模式之前,传输模式将被中断,以发送数据页1/灯光索引3一次,然后发送数据页3/灯光索引3/子灯索引2三次。
图 7-4 显示了此事件之后将发送的页面传输:
在这里插入图片描述
在另一个示例中,一组事件紧接在多个灯上发生。如图7-5所示,在从数据页1 /灯光索引1恢复常规传输模式之前,传输模式被中断以发送新的信息。
选项1:排队事件
在这里插入图片描述
在这里插入图片描述
注意,如果连续事件迅速发生,则可能出现这样的情况,即在传输描述先前事件的数据页之前发生了新事件。在这种情况下:不同灯光下的事件可能会排队,然后在序列中中断(如图“选项1”中上图)或如图交错“选项2”。但是,在这两种方法中,与排队事件在同一灯光和子灯光上发生的新事件应覆盖排队事件,以确保始终传输每个灯光的当前信息。

7.3.3.2 共享信道传输模式
主灯是共享通道上的主设备,因此是管理与辅助灯通信的设备。
主灯应依次请求每个辅助灯的数据页。这应该通过发送数据页面70来完成,该页面已填充以指示所请求的数据页面(第7.22.3节)。请求页面(70)应该始终连续发送两次,以使辅助设备有时间处理请求并在下一个信道周期做出响应。
在这里插入图片描述
Figure 7-6. 共享通道上的消息流

连接命令中的“#辅助设备”字段指示应由主灯轮询哪些灯索引(第7.17.2节)。默认情况下,所有相关的光指标应包含在此请求序列中。当主通道首次打开共享通道时,直到次要指示灯找到该通道之前,将不会收到任何响应。一旦每个辅助灯找到共享通道,一旦设置了共享地址,它将开始响应请求(第5.2.3.4节)。
建议在共享通道上请求数据页的顺序如下。首次打开共享频道时,主指示灯应使用请求页面70依次从每个指示灯请求页面1。一旦主灯收到了辅助灯的响应,它就应该在下一个轮询中从该灯请求数据页16和17。如果主灯已将制造商标识的辅助灯的剩余信息和产品信息存储在数据页16和17中,则默认情况下,主灯可恢复为仅从辅助灯请求数据页1和3。
或者,如果主灯无法识别由数据页16和17标识的辅助灯,则它可以继续请求其余数据页(2、4、6(对于具有自定义模式的任何子灯)和5)从下一个轮询的次要光源。请注意,当每个指示灯连接时请求数据页面5和6允许主指示灯更快地处理对这些页面的请求。
一旦主信号灯从辅助信号灯接收到所有数据页至少一次,则主信号灯应仅从该信号灯请求数据页1和3(因为这是唯一包含随时间变化的数据的页)。
但是,由于可能会限制自行车灯上的内存,因此也仅允许从每个辅助灯请求数据页1和3,并等待请求任何其他数据页,直到它们被ANT+控制器请求为止。如果采用这种方法,则一旦从主灯请求特定页面,主灯应从相关的辅助灯请求相关页面,然后将请求的页面发送到ANT+控制器。
在所有情况下,主照明灯应定期从每个辅助照明灯请求描述所有现有子照明灯的数据页1和数据页3。
在这里插入图片描述
图 7-7. 示例:共享信道传输模式

7.3.4 连接的二级ANT+自行车灯的传输模式
辅助ANT+自行车辅助灯保持原始主通道,同时通过共享通道作为辅助灯连接。本节介绍处于连接状态时在主频道上广播的传输模式。
常规的广播传输模式是一样的,在未连接状态,但建议主灯的信道ID页(18)也包括在内,如在示出的图7-8。
每当发生事件时(即,当灯光改变状态时),此模式都会重置,以使下一个发送的消息是页面1,如图7-1和图7-2所示。
在这里插入图片描述
图 7-8. 辅助灯的广播传输模式
注意,共享从信道上的数据传输模式由主灯确定。辅助灯设置其共享地址(第5.2.3.4节),然后仅响应主灯的数据请求。

posted on 2022-08-13 11:01  xuejianqiang  阅读(75)  评论(0编辑  收藏  举报
打造一个通用性MCU架构,支持CX32/AT32/NRF51/NRF52等。 OS支持RTX4/RTX5/FreeRtos。 采用VsCode+GCC组合,VsCode+KEIL5,超强开发方式。 QQ群:524408033