LIN ldf文件配置

参考瑞萨ldf文件进行理解

//注意:LDF语言要区分大小写的!
LIN_description_file;         //LIN描述文件 
LIN_protocol_version =2.1;       //LIN协议版本 
LIN_language_version =2.1;       //LIN语言版本 
LIN_speed = 19.2 kbps;         //LIN通信速度 

节点定义
抖动(Jitter)为帧的同步间隔段的下降沿与帧时隙起始时刻相差的时间。时基(Time Base)为LIN子网的最小计时单位,通常设定为 5ms或 10ms。

Nodes 
{           
  Master: CEM, 5 ms, 0.1 ms;       //主机节点,名称:CEM,时基:5ms,抖动:0.1ms 
  Slaves: LSM, RSM;         //从机节点,LSM,RSM 
} 

信号定义
根据上面定义的主从节点编写具体的信号

Signals 
{             
  InternalLightsRequest: 2, 0, CEM, LSM, RSM;      //信号名称:IntLightsRequest,  
  //长度:2bit,初始值:0, 
  //发布节点:CEM,收听节点:LSM、RSM 
  RightIntLightsSwitch: 8, 0, RSM, CEM;       //信号名称:RightIntLightsSwitch, 
  //长度:8,初始值:0, 
  //发布节点:RSM,收听节点:CEM 
  LeftIntLightsSwitch: 8, 0, LSM, CEM;        //信号名称:LeftIntlLightsSwitch, 
  //长度:8,初始值:0, 
  //发布节点:LSM,收听节点:CEM 
  LSMerror: 1, 0, LSM, CEM;        //信号名称:LSMerror,长度:1,初始值:0, 
  //发布节点:LSM,收听节点:CEM 
  RSMerror: 1, 0, RSM, CEM;        //信号名称:RSMerror,长度:1,初始值:0, 
  //发布节点:LSM,收听节点:CEM 
  IntTest: 2, 0, LSM, CEM;        //信号名称:IntTest,长度:2,初始值:0, 
  //发布节点:LSM,收听节点:CEM 
} 

帧定义
上面信号定义中的长度单位是 bit位 帧定义长度单位是 字节
帧是由信号所组成,基本都是无条件帧。事件触发帧和偶发帧很少会用到这里没有列出。

Frames 
{           //帧定义 
  CEM_Frm1: 0x01, CEM, 1 
  {       //帧名称:CEM_Frm1,帧ID:0x01, 
    //该帧的发布节点:CEM,数据段为1个字节 
    InternalLightsRequest, 0;       //包含的信号名称 
    //为 InternalLightsRequest,  
    //在帧中的偏移量为0 
  } 
  LSM_Frm1: 0x02, LSM, 2 
  {       //帧名称:LSM_Frm1,帧ID:0x02, 
    //该帧的发布节点:LSM,数据段为2 个字节 
    LeftIntLightsSwitch, 0;         //包含的信号名称为LeftIntLightsSwitch,  
    //在帧中的偏移量为0 
  } 
  LSM_Frm2: 0x03, LSM, 1 
  {       //帧名称:LSM_Frm2,帧ID:0x03, 
    //该帧的发布节点:LSM,数据段为1 个字节 
    LSMerror, 0;                 //包含的信号名称为LSMerror,帧中偏移量为0 
    IntError, 1;           //包含的信号名称为IntError,帧中偏移量为1 
  } 
  RSM_Frm1: 0x04, RSM, 2 
  {       //帧名称:RSM_Frm1,帧ID:0x04, 
    //该帧的发布节点:RSM,数据段为2 个字节 
    RightIntLightsSwitch, 0;        //包含的信号名称为 RightIntLightsSwitch, 
    //在帧中的偏移量为0 
  } 
  RSM_Frm2: 0x05, RSM, 1 
  {       //帧名称:RSM_Frm2,帧ID:0x05, 
//该帧的发布节点:RSM,数据段为1 个字节 
  RSMerror, 0;          //包含的信号名称为 RSMerror,帧中偏移量为0 
  } 
}

节点属性定义
P2_min: 从 LIN 子网接收到主机请求帧到 LIN 的从机节点准备好数据发送应答之间的最小时间间隔。
ST_min: 从机节点准备接收下一个帧(主机请求帧)或准备发送下一个帧(从机应答帧)的应答部分所需要的最小准备时间。

Node_attributes 
{          //节点属性定义 
  RSM 
  {            //节点名称为RSM的节点的定义 
    LIN_protocol =2.0;         //该节点依据LIN 协议 2.0设计 
    configured_NAD = 0x20;        //配置 NAD为 0x20 
    product_id = 0x4E4E, 0x4553, 1;          //产品ID:厂商ID为0x4E4E, 
             //功能 ID为 0x4553,可变 ID为 1 
    response_error = RSMerror;        //应答错误名称:RSMerror 
    P2_min = 150 ms;          
    ST_min = 50 ms;          
    configurable_frames 
    { 
      Node_Status_Event = 0x000; CEM_Frm1 = 0x0001; LSM_Frm1 = 0x0002; LSM_Frm2 = 0x0003;
    } 
             //可配置的帧列表 
  } 
  LSM 
  {            //节点名称为LSM的节点的定义 
    LIN_protocol =2.1;         //该节点依据LIN 协议 2.1设计 
    configured_NAD = 0x21;        //配置 NAD为 0x20 
    initial_NAD = 0x01;         //初始 NAD为 0x01 
    product_id = 0x4A4F, 0x4841, 1;      //产品 ID:厂商 ID为 0x4A4F,功能ID为 0x4841 
    response_error = LSMerror;        //应答错误名称为:LSMerror 
    fault_state_signals = IntTest;              //错误状态信号为 IntTest 
    P2_min = 150 ms;         
    ST_min = 50 ms;          
    configurable_frames 
    {
      Node_Status_Event; CEM_Frm1; LSM_Frm1; LSM_Frm2;
    }    
    //可配置的帧列表 
  } 
}

任务进度表
对于总线上报文发送进行调度的间隔顺序定义

Schedule_tables 
{         //进度表定义 
  Configuration_Schedule 
  {       //进度表名称为:Configuration_Schedule 
    AssignNAD {LSM} delay 15 ms;      //给节点 LSM分配NAD,帧时隙为 15ms, 
    AssignFrameIdRange {LSM, 0} delay 15 ms;  
    //给节点 LSM从第0 帧开始分配 PID, 
    //帧时隙为15ms 
    AssignFrameId {RSM, CEM_Frm1} delay 15 ms;        
    //给节点 RSM的帧 CEM_Frm1 分配PID, 
    //帧时隙为15ms 
    AssignFrameId {RSM, RSM_Frm1} delay 15 ms;        
    //给节点 RSM的帧 RSM_Frm1 分配PID, 
    //帧时隙为15ms 
    AssignFrameId {RSM, RSM_Frm2} delay 15 ms;        
    //给节点 RSM的帧 RSM_Frm2 分配PID, 
    //帧时隙为15ms 
  } 

  Normal_Schedule 
  {         //进度表名称为:Normal_Schedule 
    CEM_Frm1 delay 15 ms;       //帧 CEM_Frm1,帧时隙15ms 
    LSM_Frm2 delay 15 ms;       //帧 LSM_Frm2,帧时隙15ms 
    RSM_Frm2 delay 15 ms;       //帧 RSM_Frm2,帧时隙15ms  
    Node_Status_Event delay 10 ms;      //事件触发帧Node_Status_Event, 
    //帧时隙 10ms 
  } 

  MRF_schedule
  {         /进度表名称为:MRF_schedule 
    MasterReq delay 10 ms;        //主机请求帧,帧时隙 10ms 
  } 
  SRF_schedule 
  {         //进度表名称为:SRF_schedule 
    SlaveResp delay 10 ms;        //从机应答帧,帧时隙 10ms 
  } 

  Collision_resolver 
  {         //发生冲突时需保证非事件触发帧的传输时序 
    //进度表名称:Collision_resolver 
    CEM_Frm1 delay 15 ms;       //帧 CEM_Frm1,帧时隙15ms 
    LSM_Frm2 delay 15 ms;       //帧 LSM_Frm2,帧时隙15ms 
    RSM_Frm2 delay 15 ms;       //帧 RSM_Frm2,帧时隙15ms 
    RSM_Frm1 delay 10 ms;            //轮询 RSM节点 
    //帧 RSM_Frm1,帧时隙10ms 
    CEM_Frm1 delay 15 ms;       //帧 CEM_Frm1,帧时隙15ms 
    LSM_Frm2 delay 15 ms;        //帧 LSM_Frm2,帧时隙15ms 
    RSM_Frm2 delay 15 ms;        //帧 RSM_Frm2,帧时隙15ms 
    LSM_Frm1 delay 10 ms;        //轮询 LSM节点 
    //帧 LSM_Frm1,帧时隙10ms 
  } 
} 

信号编码和映射
这是对数据的大小以及具体实际进行定义
一种信号对应一种编码准则

Signal_encoding_types 
{        //信号编码类型:Signal_encoding_types 
  Dig2Bit 
  {           //信号编码类型名称:Dig2Bit 
    logical_value, 0, “off”;        //逻辑值 0,代表“off” 
    logical_value, 1, “on”;        //逻辑值 1,代表“on” 
    logical_value, 2, “error”;        //逻辑值 2,代表“error” 
    logical_value, 3,void;        //逻辑值 3,代表“void” 
  } 
  ErrorEncoding 
  {         //信号编码类型名称:ErrorEncoding 
    logical_value, 0, “OK”;        //逻辑值 0,代表“OK” 
    logical_value, 1, “error”;        //逻辑值 1,代表“error” 
  } 
  FaultStateEncoding 
  {        //信号编码类型名称:FaultStateEncoding 
    logical_value, 0, “No test result”;      //逻辑值 0,代表“No test result” 
    logical_value, 1, “failed”;       //逻辑值 1,代表“failed” 
    logical_value, 2, “passed”;       //逻辑值 2,代表“passed” 
    logical_value, 3, “not used”;       //逻辑值 3,代表“not used” 
  } 
  LightEncoding 
  {         //信号编码类型名称:LightEncoding 
    logical_value, 0, “Off”;        //逻辑值:0,代表:“Off” 
    physical_value, 1, 254, 1, 100, “lux”;     //物理值:1,最小值:1, 
    //最大值:254,缩放倍数:1, 
    //偏移量:100,文字信息:“lux” 
    logical_value, 255, “error”;       //逻辑值:255,代表:“error” 
  } 
} 

Signal_representation 
{        //信号表示定义 
  Dig2Bit: InternalLightsRequest;          //应用信号编码类型为 Dig2Bit的信号 
  //InternalLightsRequest 
  ErrorEncoding: RSMerror, LSMerror;     //应用信号编码类型为 ErrorEncoding 的 
  //信号 RSMerror,LSMerror 
  FaultStateEncoding: IntError;       //应用信号编码类型为 
  //FaultStateEncoding 的信号 IntError 
  LightEncoding: RightIntLightsSwitch, LefttIntLightsSwitch;      
  //应用信号编码类型为 LightEncoding的 
  //信号 RightIntLightsSwitch, 
  //LefttIntLightsSwitch 
} 

### 回答1: LIN (Local Interconnection Network)是一种局域网通信协议,LIN LDF (LIN Description File)是用于描述LIN通信网络配置和信号定义的文件格式。下载LIN LDF文件通常有两种方式。 第一种方式是通过互联网下载。用户可以在相关的网站或论坛上搜索LIN LDF文件,并下载到本地计算机。下载前,用户需确保选择的LIN LDF文件与自己的LIN网络配置相匹配,以保证下载的文件能正确地描述和定义LIN网络的配置和信号。 第二种方式是通过特定的软件工具下载。一些LIN分析工具和开发环境提供了LDF文件下载功能。用户可以通过连接LIN分析工具和LIN网络,使用相应的软件工具下载LDF文件。这种方式能够更加方便地获取与当前网络匹配的LDF文件,并且可以实时更新和配置LIN网络。 不论采用哪种方式下载LIN LDF文件,用户在使用之前还需要了解LDF文件的格式和内容,以便正确地配置和使用LIN网络。LIN LDF文件通常包括LIN网络的节点配置、信号定义、帧定义等信息,用户可以根据具体需求进行配置和参数设置,以满足自己的LIN通信需求。 总之,下载LIN LDF文件是为了配置和定义LIN通信网络的文件,用户可以通过互联网或特定软件工具进行下载,下载文件之后需了解其格式和内容,并根据需求进行配置和使用。 ### 回答2: lin ldf文件是指LIN(Local Interconnect Network)总线通信协议的数据记录文件,用来描述和保存LIN网络节点之间的通讯数据。要下载lin ldf文件,我们可以通过以下步骤进行操作: 首先,我们需要找到要下载的lin ldf文件的来源。通常,这样的文件可以从LIN网络的设备制造商或者相关的开发平台上获取到。如果是从设备制造商处获取,可以进入其官方网站或者联系他们的技术支持部门,以获取lin ldf文件的下载链接或者相关文档。 获取到下载链接后,我们可以通过浏览器访问该链接,点击下载按钮或者链接,开始下载lin ldf文件。在下载过程,我们需要确保网络连接的稳定和良好,以避免下载过程出现断或者网络错误。 当下载完成后,我们可以在下载文件的保存路径找到lin ldf文件。通常,浏览器会将下载的文件保存在默认的下载文件,我们可以在浏览器设置查看或修改下载文件夹的保存路径。另外,我们还可以选择将lin ldf文件保存到我们想要的位置,以便后续的使用和访问。 总结起来,要下载lin ldf文件,我们需要找到文件的来源,获取下载链接,并通过浏览器下载和保存文件。下载完成后,我们可以在指定的保存路径找到lin ldf文件,并可根据需要进行后续的操作和使用。 ### 回答3: LDF文件是一种与SQL Server数据库日志相关的文件格式,用于记录数据库操作的详细信息。下载LDF文件的方法取决于您要获取该文件的位置以及您的操作系统。 如果您要下载LDF文件作为数据库备份,您可以通过以下步骤进行操作: 1. 打开SQL Server Management Studio (SSMS)。 2. 连接到目标数据库服务器。 3. 在“对象资源管理器”或“查询窗口”,选择您要备份的数据库。 4. 右键单击该数据库并选择“任务”>“备份”。 5. 在“备份类型”选择“日志”,并指定要保存LDF文件的路径。 6. 单击“确定”开始备份过程,并等待备份完成。 如果您需要从某个数据库服务器下载LDF文件,您可以使用远程桌面协议(Remote Desktop Protocol)或FTP等工具来访问该服务器,并导航到LDF文件所在的目录。然后,您可以右键单击文件并选择“下载”或将其复制到您的本地计算机。 需要注意的是,对于某些数据库或服务器,您可能需要具备管理员权限或经过身份验证来下载LDF文件。此外,出于安全性考虑,某些环境可能限制对LDF文件的访问权限。 总结而言,下载LDF文件的具体步骤取决于您的具体需求和所处环境。无论如何,确保在下载或访问LDF文件时遵循相关的安全和权限规定。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值