配置 LIN 通信
概述
LIN 通信架构支持单个控制器节点和 LIN 网络上最多 16 个外围节点。
LIN 节点使用消息帧交换数据。信息分为两部分:
由控制器节点生成的帧头。
帧响应包含由外围节点或控制器节点上的外围任务生成的数据(但不能同时包含两者)。
配置您的模型
首先,学习并理解 LIN 寻址系统。请参阅 TMS320F2803x Piccolo 本地互连网络 (LIN) 模块中的“消息过滤和验证”主题,文献编号:SPRUGE2A。
将模型中的 LIN 节点配置为控制器节点或外围节点:
按照说明配置“目标硬件资源”选项卡Configure Target Hardware Resources (Embedded Coder)。
在“目标硬件资源”选项卡中,选择 Peripherals 选项选项卡,然后选择 LIN。
将 LIN mode 设置为 controller 或 peripheral。
如果 LIN 节点是控制器节点:
在模型中添加一个 LIN 传输模块。该模块使控制器能够生成消息头。
要发送数据,请设置 ID 输入和 Tx ID Mask 输入,使此节点上发生 Tx ID 匹配。
要接收数据,请在模型中放置 LIN Receive 模块。设置 Rx ID Mask 输入,使该节点上发生 Rx ID 匹配。
例如,要配置一个模型,该模型包含一个控制器节点,该节点从外围节点接收数据:
向模型中添加 LIN Transmit 模块和 LIN Receive 模块。
在“目标硬件资源”选项卡中,配置 ID peripheral Task Byte。
对于 LIN Transmit 模块,设置 ID 输入。
对于 LIN Receive 模块,设置 Rx ID Mask 输入,使其满足以下条件:Rx ID Mask = ID XOR peripheral Task ID Byte。
如果 LIN 节点是外围节点:
要发送数据,请在模型中放置 LIN Transmit 模块。将 ID 输入设置为与远程控制器发出的 LIN 帧头匹配。设置 Tx ID Mask,使此节点上发生 Tx ID 匹配。
要接收数据,请在模型中放置 LIN Receive 模块。设置 Rx ID Mask 输入,使该节点发生 Rx ID 匹配。
例如,要配置一个带有外围节点的模型,该外围节点将数据传输到控制器节点:
在模型中添加一个 LIN Transmit 模块。
在“目标硬件资源”选项卡中,配置 ID byte 或 ID peripheral Task Byte(取决于 ID filtering 选项)。
在 LIN Transmit 模块中,设置 ID 输入和 Tx ID Mask 输入,使其满足以下条件:Tx ID Mask = ID XOR(ID Byte 或 ID peripheral Task Byte)。
在 LIN Receive 模块中设置 Data type 和 Data length 值,使其与传输数据的类型和长度相匹配。这些值使接收模块能够从消息帧中重建数据。
注意
LIN 发送模块继承其输入的数据类型和长度。