查看: 13598|回复: 7

[其他] 关于飞思卡尔单片机LIN总线的使用问题。

[复制链接]

该用户从未签到

5

主题

16

帖子

0

新手上路

Rank: 1

积分
35
最后登录
1970-1-1
发表于 2012-3-9 16:22:09 | 显示全部楼层 |阅读模式
各位老大,最近刚搞完CAN总线,开始转战LIN总线。但LIN总线发现一头雾水,貌似连几个寄存器都没有,还是和SCI复用的。看了一些资料说LIN都是要使用飞思卡尔自己的API,然后再飞思卡尔的官网上下载了个FSL LIN Driver Package 4.1,但是发现根本用不来。这下怎么搞啊,完全没有头绪,各位搞过这些的老大们,能不能指点下...给点资料或者给点网上的下载链接。留个邮箱:xsy_86@163.com。
我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

5

主题

16

帖子

0

新手上路

Rank: 1

积分
35
最后登录
1970-1-1
 楼主| 发表于 2012-3-9 16:36:38 | 显示全部楼层

RE:关于飞思卡尔单片机LIN总线的使用问题。

怎么感觉网上找CAN总线资料或者买CAN总线书的一堆一堆的,但是搞LIN 的就没有几个了,资料也不好找。咋回事啊?
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

5

主题

16

帖子

0

新手上路

Rank: 1

积分
35
最后登录
1970-1-1
 楼主| 发表于 2012-3-9 16:59:13 | 显示全部楼层

回复:关于飞思卡尔单片机LIN总线的使用问题。

我看FSL LIN Driver Package 4.1里面的文档将要使用LIN的API要先自己生成配置文件。而生成配置文件要先使用NCFTool工具,然后才能生成3个配置文件,lin_cfg.h,lin_cfg.c,lin_hw_cfg.c。但是要生成这3个配置文件前,先要搞一个后缀为npf的输入文件,我的单片机是MC9SX12SDP512,我想那个npf的输入文件应该是要根据单片机的不同自己写吧?但是怎么写呢?一头雾水...求高手指点。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-3-10 10:15:00 | 显示全部楼层

    RE:关于飞思卡尔单片机LIN总线的使用问题。

    LIN总线是基于串口做的,使用的时候也是要用支持LIN的串口.这个你可以参考例程,例程有写好的代码,也有生产的.在论坛,例程汇总里面有相关例程.
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    46

    帖子

    0

    注册会员

    Rank: 2

    积分
    115
    最后登录
    2022-4-8
    发表于 2012-12-20 17:32:05 | 显示全部楼层

    回复:关于飞思卡尔单片机LIN总线的使用问题。

    那位大神有LIN资料啊,给小弟也发一份把,921507436@qq.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    16
    最后登录
    1970-1-1
    发表于 2013-9-3 23:09:06 | 显示全部楼层

    回复:关于飞思卡尔单片机LIN总线的使用问题。

    回复第 3 楼 于2012-03-09 16:59:13发表:
    我看FSL LIN Driver Package 4.1里面的文档将要使用LIN的API要先自己生成配置文件。而生成配置文件要先使用NCFTool工具,然后才能生成3个配置文件,lin_cfg.h,lin_cfg.c,lin_hw_cfg.c。但是要生成这3个配置文件前,先要搞一个后缀为npf的输入文件,我的单片机是MC9SX12SDP512,我想那个npf的输入文件应该是要根据单片机的不同自己写吧?但是怎么写呢?一头雾水...求高手指点。 

    我也在官网上下载了那个文档。正在琢磨中,NPF文件应该很好写的啊!我看了例子里面的几个文件,都是描述所使用的的芯片的物理特征,NPF 应该全称是“节点物理文件”,描述你的节点硬件配置的。
    /*** MCU DEFINITION ***/
    mcu  {        
     mcu_name = MC9S12HY64; /* Must check the correct MCU name */
     bus_clock = 8000000;  /* Frequency bus of system Hz*/
     xgate_support = no;   /* Support XGATE Co-Processor */
    }

    /*** LIN HARDWARE DEFINITION ***/
    /* Sci config */
    sci {
     s12_sci0{
      sci_channel                = 0;
     }
    }
    /*** NETWORK DEFINITION ***/
    network {
     idle_timeout                  = 5 s;
     diagnostic_class              = 3;
     LI0{
      node = LINMaster;          /* Name of node described in LDF (must check consistence with LDF) */
      file = "LINDiagnostic.ldf";  /* Path to LDF file */
      device = s12_sci0;           /* Identifier to LIN Hardware, related to LIN HARDWARE DEFINITION */
        }
    }
    以上是我复制的例子里面的一个NPF文件,这个文件首先定义MCU类型,再定义SCI通道,在定义总线空闲时间,最后的网络定义里面你重要啊,有网络空闲时间检测,诊断类别,关于诊断类别详细请看LIN规范里面的定义,有三个吧,也就是这里有1、2、3三个值可以写。节点名字,这个最好写成有意义的,比如: RearLeftDoor,左后门。带LIN总线的四门电动窗开关中用的,LDF节点描述文件,你的MCU的SCI版本。就这些吧!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    19

    帖子

    0

    注册会员

    Rank: 2

    积分
    61
    最后登录
    1970-1-1
    发表于 2013-12-17 21:57:19 | 显示全部楼层

    RE:关于飞思卡尔单片机LIN总线的使用问题。

    楼主有个CAN的问题求教,我的这个CAN发送报文想通过串口调试助手显示出来,但总是无法显示啊
    #include       /* common defines and macros */
    #include "derivative.h"      /* derivative-specific definitions */

    //void CLK_Init(void);
    void SCI0_Init(void);
    void CAN_Init(void);
    void SCI0_SendByte(int data);
    int can_rvdata[20];
    unsigned char sci_num = 0;

    /*************************************************/
    /*函数功能:主函数                               */
    /*************************************************/
    void main(void)
    {
      //CLK_Init();
      SCI0_Init();
      CAN_Init();   
            EnableInterrupts;

      for(;;)
      {
       
        {
            CAN0TIER=0x07;        //允许发送中断   发送器空时引发送器空中断请求
           // SCI0_SendByte(txbuffer);   
        }
      }
    }
    /*************************************************/
    /*函数功能:MSCAN初始化                          */
    /*************************************************/
    void CAN_Init(void)
    {
      CAN0CTL0_INITRQ = 1;     //MSCAN控制寄存器0;设置进入初始化状态
      
      
      while(!(CAN0CTL1&0x01)){}; //当INITRQ=1且CANOCTL1_INITAK=1时,初始化模式有效,INITAK初始化模标志位
      
      CAN0CTL1 = 0B10000001;    //osc clock = 16MHz,使能MSCAN模块
      CAN0BTR0 = 0B01000001;    //设置波特率为  8MHz/16 = 500k
      CAN0BTR1 = 0B00111010;    //TSEG1=10;TSEG2=3
      CAN0IDAC = 0B00100000;    //设置8个8位过滤单元     MSCAN标志符验收控制寄存器
      
      CAN0IDMR0 = 0x00;          //标识符屏蔽寄存器,设置接受符ID过滤屏蔽寄存器
      CAN0IDMR1 = 0x0f;  
      CAN0IDMR2 = 0xff;  
      CAN0IDMR3 = 0xff;  
      CAN0IDMR4 = 0xff;              
      CAN0IDMR5 = 0x00;  
      CAN0IDMR6 = 0x00;  
      CAN0IDMR7 = 0x00;
      
      CAN0IDAR0 = 0x51;    //设置过滤比较码寄存器,接收所有的数据所以随便设置
      CAN0IDAR1 = 0x87;
      CAN0IDAR2 = 0xFF;
      CAN0IDAR3 = 0xFF;
      CAN0IDAR4 = 0xFF;
      CAN0IDAR5 = 0xFF;
      CAN0IDAR6 = 0xFF;
      CAN0IDAR7 = 0xFF;
      
      CAN0CTL0 = 0x00;       //退出初始化   在初始化模式时设置标识符接收/过滤寄存器
      
      while((CAN0CTL1&0x01)!=0){
      };                    //等待进入normal模式
      
      CAN0RIER = 0x01;  //    允许接收中断
    }
    /*******************中断部分**********************/
    #pragma CODE_SEG_NEAR_SEG NON_BANKED           
    /*************************************************/
    /*************************************************/
    /*函数功能:MSCAN接收数据                        */
    /*************************************************/
    void interrupt  CAN0receive(void)
    {
       uchar index ,length;
       length = (CAN0RXDLR&0x0F);              //读取将接收的数据长度
       
       for(index=0;index
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    12
    最后登录
    2017-9-6
    发表于 2017-8-29 20:42:16 | 显示全部楼层
    @xsy_86  楼主解决了吗?
    我用的芯片是MC9S12ZVLS32MFM,遇到了同样的问题。如果解决烦请指教!
    我的邮箱149233310@qq.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 20:08 , Processed in 0.099185 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表