背景
-
某客户诉求,要求某机型支持串口参数(波特率,数据位等)改配
-
串口配置参数更改步骤:bios菜单设置→bios自动复位→下发给cpld→bmc监听smc传递的参数值,读到配置发生变更后进行串口参数改配
-
波特率设置后,需要把联通的其他Uart的参数一起配置;如当建立sol会话后,配置变更时需要同时更改输入端口和Uart5的配置参数
-
设计约束,1、使能Hisport over Uart后设备无法访问,源Uart的波特率等参数信息无法查询。2、当前仅支持查询波特率,无法得知停止位数据位等其他参数的情况。故原有Uart对象下的参数属性用于维护当前Uart的参数配置,而cpld传来的新配置用新对象承载
-
串口连接状态变更时,需要将对端连接的串口信息重新配置;如断开连接时需要将对端连接的Uart恢复为默认参数配置
-
串口参数配置修改的源端口不一定是Uart,也可能是Port口,故不能将Uart直接复用承载cpld下发的信息
决策点(必填,一句话描述待决策点)
新增私有对象UartDynamicConfig,用于承载从硬件获得到的串口参数值
详细描述(必填,描述待评审接口的详细内容)
1、新增私有对象UartDynamicConfig
变化类型:新增私有对象
应用场景:用于承载从硬件获得到的串口参数值,包括原始数据和经映射得到的具体实际的参数值,并将其参数适配到源节点(如果是Uart)和源节点相连的所有Uart。
持久化类型: 无
操作权限:ReadOnly
详细描述:
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| SysComId | 新增属性 | u8 | 只读 R:ReadOnly | 无 | false | 支持动态配置的输入端口Id | Uart:0~15,Port:16~31,与SerialManagement的SrcSerial/DestSerial属性保持一致 |
| RawConfigData | 新增属性 | u64 | 只读 R:ReadOnly | 无 | true | 从cpld读到的串口参数原始数据 | 默认值0,代表串口参数配回默认值 |
示例
"UartDynamicConfig_0": {
"SysComId": 0,
"RawConfigData": "<=/Scanner_Chan0Conf.Value"
}
遗留问题
1、属性更名:
Id → SysComId
ConfigRaw → RawConfigData
2、“BaudRate”、“DataBit”、“ParityBit”、“StopBit”、"FlowControl"不在csr里面配置
3、Interconnectuartdynamicconfig对象名变更为UartDynamicConfig
4、RawConfigData属性大小从U32扩增为U64,预留以后参数变更扩增
评审结论
闭环遗留问题后允许新增