我正在尝试通过多个配置节省时间(在我的系统中,每个配置下载大约需要1分钟)。 所以我使用GPIO0和GPIO1加载多个配置。 由于内存限制,TPS6.5982万只能将0x400字节用于闪存中的配置(0x2800-0x2BFF),尽管0x2800-0x2FFF可用。 不知道为什么不能使用另一个0x400。
我使用ApplCustomization工具的版本2.15 来有3个配置集,使用虚拟地址(DBG1)0,(DBG2)0,1 (93.1kOhm),0,2 (156k)和0,3 (220k)。 然后,我只更改SinkCapabilities,以便在GPIO0或1下降时请求单个5V PDO,在GPIO0上升时请求5V/12V 2 PDO设置,在GPIO1上升时请求5V/20V PDO设置。 这将占用0x400空间的0x3F0,因此我不能拥有4个配置集。
在杂项配置页面上,我将应用配置组1设置为GPIO低转换为0x1,GPIO高转换为0x2。 我将应用程序配置组2设置为GPIO低转换为0x1,GPIO高转换为0x3。 我在两个应用程序配置中都将命令通道设置为CMD3。 然后我将上升边缘和下降边缘的4CC命令设置为'ANeg'。 我在每个应用程序配置中的所有4个插槽中填充了'ANeg',以查看它是否可以解决我的问题。
最后,在GPIO事件映射寄存器下,我将GPIO0设置为'加载应用配置集1'作为映射事件,将GPIO1设置为加载应用配置集2。
我将项目和二进制文件都保存到低/全部,然后下载到带有TPS6.5982万 IC的主板上。 然后,我连接到TP6.5982万 EVM板,开关设置为0110(6),这样它将通告5V,12V和20V的源功能,并为该板供电。 我有一台PD分析器在查看CC线。
结果:
当我切换GPIO0时,它在5V和12V之间切换,因为它加载不同的配置,然后发送Aneg命令。 我在探头时看到GPIO0开关,我在分析仪上看到一条轨迹,显示请求,并在EVM板在5V和12V之间切换时显示PSRDY。
但是... 如果我在GPIO1中尝试相同的操作,则不起作用。 我探测球并看到GPIO1线的高低切换。 我还使用Aardvark和主机接口实用程序,并读取一个5V PDO和两个5V和20V PDO之间的汇容量寄存器(0x33)切换。 但是,我看不到PD流量,EVM板也不会更改指示灯。 我可以在切换GPIO1后使用HIT发送'ANeg'命令,然后我看到PD流量,它工作正常。 因此,出于某种原因,切换GPIO1不会发送命令,即使我看到配置更改?!? 我必须使用HIT手动发送命令。 GPIO0工作正常,没有此问题。
我将AppConfigGroup2 (GPIO1)上的命令通道更改为CMD1,而不是CMD3,但这没有帮助,我仍然看不到任何PD流量。
命令通道是否存在定时问题? 您是否在我的编程中看到任何设置不正确的内容? 为什么闪存部件的0x400/0x800仅用于配置?