ZHCAA38E August 2021 – January 2023 TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
配置每个器件的 FSITX 和 FSIRX 模块之后,应实现握手机制以在实际数据传输之前准备链中的每个器件,因为在实际情况下器件可能按任意顺序加电。
为了简化数据流,将一个器件指定为主控器件,充当握手序列的驱动器,同时将菊花链环路中的其他 N-1 个器件指定为节点。在GUID-E2C6DDB3-72E9-48DD-9CA9-9F38166D49CF.html#ID-DF3F1BC8-F6FA-4660-F243-5F25112C9D26中的示例中,器件 1 将是主控器件。应注意,其他 N-1 个节点器件将共享相同的握手配置。
握手过程可以描述为:
#ID-F8BD0ACB-20DB-492D-A53D-51AED0A04208中显示了简化的数据流。菊花链连接握手机制涉及两个 Ping 循环。Ping 循环 0 的作用是沿着器件链建立通信路径,而 Ping 循环 1 用于向节点确认通信路径良好。在 Ping 循环 0 中,节点器件等待从链中的前一个器件接收 Ping Tag0。成功接收 Ping Tag0 之后,会将其转发至链中的下一个器件。如果链中的器件未加电或没有为接收做好准备,则 Ping 循环 0 将失败。Ping 循环 0 成功(其中 Ping tag0 返回到主控器件中)之后,启动 Ping 循环 1 来通知节点器件握手序列已完成,并开始期待实际数据。
可以在测试的项目中找到握手函数,菊花链环路中的主控器件使用 handshake_lead(),其他 N-1 个器件使用 handshake_node()。