主题中讨论的其他器件: AFE031
工具/软件:Code Composer Studio
尊敬的先生/女士:
我是 BOOSTXL-AFE031-DF1的新产品。 我了解 具有 SunSpec 快速关断功能的应用 BFSK 传输方法和接收器。 但我不知道 双向通信协议的实现方式、以确保 不会同时传输。 请给 我提供任何 说明带有两个端口的主从通信协议的文档。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
尊敬的先生/女士:
我是 BOOSTXL-AFE031-DF1的新产品。 我了解 具有 SunSpec 快速关断功能的应用 BFSK 传输方法和接收器。 但我不知道 双向通信协议的实现方式、以确保 不会同时传输。 请给 我提供任何 说明带有两个端口的主从通信协议的文档。
您好、Leela、
半双工意味着传输或接收调制频率可一次通过电力线发送。 发送和接收信号不能同时发送。 这与全双工模式相反、双方可以 同时进行通信、例如电话线路通信。
AFE031 IC 包含两个收发器功能。 某些应用中的某些模块可能只需要发送器功能(出于低成本的目的、也许不需要在太阳能 PLC 网络中接收任何信息);而某些模块的设计同时具有发送和接收功能、这通常是控制器。 NB-PLC 通信中没有特定的严格主模块或从模块定义。 出于通信控制的目的、您可以将控制器命名为主站、但也可以通过 PV PLC 网络将多个具有收发器功能的站点、这是不常见的。
PLC 网络与标准串行通信协议不同、其中主从功能定义良好。 PLC 网络更类似于 AM/FM 无线电或便携式无线电通信网络。 如果有人正在广播消息、只要所有用户都拨打相同的频率、就可以收听广播。 此类应用不需要安全性(除了特定的调制频率、协议定义和编码变化等)。
如果两个发送器碰巧同时广播(这通常不会发生)。 传输的消息必须在不同的时间重新发送(通常情况下、NB-PLC 网络不以这种方式配置、因为只有一个控制器用于从各个节点收集数据。) 如果有两个 PLC 模块同时发送或广播不同的消息、则可能无法理解接收器模块、并且调制波形将在电力线上发生碰撞、并且解调信号可能不会被 MCU 正确中断、 等效于错误或通信干扰。
下面是该应用的一些 AFE031 PLC 参考。
https://www.ti.com/tool/TIDA-060001
https://www.ti.com/lit/ug/sbou133/sbou133.pdf?ts=1594839817577&ref_url=https%253A%252F%252Fwww.google.com%252F
如果您有其他问题、请告知我们。
最棒的
Raymond
尊敬的先生:
感谢您的详细回答。 我不需要太多澄清、因此我要编写应用程序。
在我的应用中,我使用两个控制器和两个 AFE031模块。 一个控制器(TMS320)用于控制电机逆变器,它还通过电力线通信(采用 B-FSK 方法 Sunspec 协议)发送数据。 电源线的另一端(接收端)我使用了另一个控制器(MSP 系列)来接收数据和管理我 的显示系统(128*64 LCD 和很少的开关按钮)。 已决定进行基于半双工的数据传输( 可以通过电力线一次发送或接收调制频率)。 两个控制器都已通电 并运行各自的任务(一个用于控制驱动器,另一个用于管理显示)
现在、数据需要基于 一个控制器命令信号(数据包中的读取或写入位)来回传输两个控制器。 从这里、我不清楚 如何管理数据包位以 通过 相互通信来回发送数据包。
{如果一个控制器配置为发送器并向其他控制器发送数据包、则在启动时配置为接收器的另一个控制器会接收到数据包、但由于其他任务正在运行、因此一次不会响应。 在这种情况 下、我的主控制器已更改 AFE031的配置、以接收来自显示控制器的数据(因此两者都设置为接收器)}。
请 给我一些想法。 这将对我大有帮助。
您好、Leela、
现在、数据需要基于 一个控制器命令信号(数据包中的读取或写入位)来回传输两个控制器。 从这里、我不清楚 如何管理数据包位以 通过 相互通信来回发送数据包。
您的两个控制器都可以在应用中配置为发送器和接收器。 您是否编写了代码来处理电力线上的通信数据包?
您可以发送特定代码来告知 MCU 模块是否处于接收模式或传输模式。 MCU 检测到特殊指令后、您可以在发送或接收模式下对其进行编程。 另一端必须执行接收或发送模式。 换言之、如果您有两个控制器、一个必须要侦听、另一个必须传输、反之亦然。 由于 Sunspec 协议是一种慢速通信协议、因此将有足够的时间发送一条独特的消息以告知其他控制器侦听或传输。 发送命令或中断后、您可以确认模式。 或者您也可以在时间循环中执行此操作:对于一小时内的 x 分钟测试、一个处于发送器模式、而另一个控制器处于接收器模式。 在一小时内的 y 分钟内、第一个控制器从发送器转换为接收器、另一个控制器从接收变为发送。
我只是在这一点上猜测、因为我不知道您到底拥有什么。
最棒的
Raymond
您好、Leela、
可能有一种通过电力线进行双向通信的方法。 如果您在一条电力线上使用两组 FSK 频率。 对于 SunSpectc、您将使用131.25kHz 和143.75kHz、这是一组。 如果您提高或降低 BW、并创建第二组表示"1"和"0"的频带、则所有四个频率分量都可以在电力线中共存。
这样做可能需要偏离 SunSpec 协议,但数据传输原理应该是相同的。 我没有尝试过这种方法。 此外、您可能还必须增加接收器端的带通滤波器 我刚才介绍过它。 理论上、这是可能的、您可能必须更改解调方法来解码模拟信号。
AFE031的 PA 可支持高达300kHz 左右的 Tx/Rx BW。 因此、可以在 IC 中执行此操作。
最棒的
Raymond