ts_102622中文规范 下载本文

当host的配置发生变化时,host将修改session identity。但是session identity的默认值永远不能由host写入。session identity使用随机值。

每个host将它自己的WRITELIST写进host controller的administration gate,用来通知host controller哪个host可以与它进行通信。如果源host没有在目标host的WHITELIST中,host controller将拒绝源host的创建pipe请求。

WHITELIST不包含host controller的HID和能访问它的host的HID。 WHITELIST是包含了表1中定义的host identifier的一个数组。 HOST_TYPE的编码定义如下: ? ‘0000’= Host controller; ? ‘0100’= Terminal; ? ‘0200’= UICC;

? ‘0300’= Embedded secure element;

? ‘04FF’= SD cards as defined by SD Association; ? ‘FFFF’= Unknown host type; ? 其他值为RFU。

在8.4章描述的会话初始化期间,host将HOST_TYPE写进host controller的administration gate registry中,优先于任何pipe创建,后续也不能再被修改。

Host controller将通知所有连接的host,一个新的host已被正确识别,以下条件之一满足时,将发送一个EVT_HOT_PLUG事件给每个host administration gate:

? 当上电后,系统里的每个host都已正确的初始化

? 当一个host连接到HCI network,且已设置了它的HOST_TYPE。

7.1.1.2 Host administration gate

Host上的administration gate提供了包含管理本host的pipe的服务的入口。Host上的administration gate没有定义registry 入口。

7.1.2 Link management gate

7.1.2.1 Host controller link management gate

Host controller link management gate提供了下一层的信息。Registry不是保持不变的。 表21列出了registry的入口

7.1.2.2 Host link management gate

Host link management gate提供了与数据链路层相关的信息的入口。Registry不是一直不变的。

表22列出了registry的入口。

7.1.3 Identity management gate

Identity management gate提供了host的软件和硬件的信息。Registry会一直保持不变。 所有host及host controller都提供这个gate。做为目标gate,identity management gate接收至少一个来自它的WHITELIST中的host的pipe。

表23列出了registry的入口。

根据本规范,host将HCI_VERSION设为‘02’。每次发布新规范版本,这个值都会递增,但是新版本不会完全兼容以前的版本。每个符合之前版本HCI的host将只使用本规范中的命令和参数来处理向后兼容。一个与更高HCI版本号的host连接的host,只能按照自己的低版本来操作。

Host controller的MAX_CURRENT参数表示在不同非接操作模式下它能为host提供的最大电流。Host的MAX_CURRENT参数表示host在非接模式下最优表现所需要的电流。Host只在本规范定义范围内使用最大电流。

7.1.4 Loop back gate

Loop back gate提供测试HCI network的服务入口。作为目标gate,loop back gate将接收来自WHITELIST上的host的至少一个pipe。

Loop back gate没有定义registry入口。

7.2 Generic gates

Generic gates与管理host network无关,但是为它的host提供了其他functions。对于非接平台,这些functions和registries在第9、10、11章中定义。

8. HCI procedures

8.1 Pipe management

8.1.1 pipe creation

图6描述了一个host A怎样请求建立一个动态pipe,在它自己的一个gate和host B的gate之间。所有通信使用PIPE1。

序列流执行如下:

1)Host A向host controller请求建立一个pipe,PIPEX。Host controller将验证host B administration gate WHITELIST是否包含Host A的标识。如果Host A不在Host B的WHITELIST中,host controller将发送一个ANY_E_PIPE_ACCESS_DENIED响应给Host A,并停止关于创建命令的任何进一步操作。

2)Host controller分配一个未使用过的pipe identifier。

3)Host controller通知host B,host A请求创建一个PIPEX。 4)Host B响应,确认接受PIPEX。

5)Host controller响应host A,PIPEX已被创建。

6)如果host B不接受PIPEX的创建,它将回一个合适的响应码。

当host controller想要创建一个pipe,那么将分配一个pipe identifier并执行上述第2步和第3步。

当一个host要与host controller建立一个pipe,那么仅执行第1步和第4步。

图4描述了WHITELIST怎样影响一个host创建pipe。刚开始,与host B关联的WHITELIST中初始时并没有包含host A的HID,所以请求被拒绝。后来host B更新了WHITELIST,后续的请求被接受。