芯教程|平头哥助力昊芯HX2000系列芯片LIN本地网络互连

描述

随着能源需求的日益增长,科技的日趋智能化,复杂高效的多机控制,已日趋成为人们生产生活必然趋势。中科昊芯顺应时代要求,推出适用于高精度工业自动化运动控制的新版HXS320F28034数字信号处理器DSP,其LIN模块LIN总线收发,以28位寄存器可编程实现228种不同波特率,以匹配多种20kbps以下总线传输需求,从而更加高效地助力于工程师,可实现1片主DSP,与16片从DSP间的控制指令收发,广泛应用于电动汽车、智能家居等高复杂度控制领域。

 

芯片芯片芯片

自平头哥半导体有限公司的剑池集成开发环境(简称“CDK”)支持HX2000系列芯片调试以来,本期以USB_LIN通信收发实例讲解LIN网络通信功能。

 

HX2000系列LIN总线通信格式如下,可通过SCIGCR1[LINMODE]配置,选择SCI/LIN模式;通过SCIGCR1[CLK_MASTER],选择主/从机模式;通过SCIGCR1配置,选择所需的传输格式参数;通过配置MBUFMODE位,选择多缓冲模式;通过编程BRSR寄存器,配置传输波特率;通过SCIGCR1[SWnRST]使能,复位释放LIN总线模块;通过SCIFORMAT[LENGTH]配置,实现1~8字节的总线通信传输,过程为:

 

芯片

 

PC端通过LIN收发器,向DSP发送无条件帧头,DSP通过LINID[RECEIVEID]接收有效帧ID,将通过SCISETINT[SETIDINT]触发ID有效中断:根据该ID所对应的帧属性,确定主机的传输状态;若为主机发送,则通过SCIGCR1[RXENA]使能打开接收线,由LINRDx寄存器,通过GPIO定义的LINRX引脚,接收来自LIN收发器发送的帧数据;若为主机接收,需延迟一段帧时隙,以完成同步帧、ID有效帧接收操作后,由DSP的LINTDx寄存器,通过SCIGCR1[TXENA]使能打开发送线,通过GPIO所定义的LINTX引脚,发送数据给LIN收发器,通过LIN收发器向PC端发送数据。

 

 

由此设计USB_LIN通信收发实例:采用LIN、LIN传输芯片与USB_LIN转换模块,通过USB_LIN网络调试软件,向CPU发送任意一组数据,CPU接收所发送的数据,硬件连接如下图所示:

 

芯片

 

基于以上分析,在CDK上开发LIN通信程序,代码包括:LIN的GPIO配置、初始化参数配置、LIN帧头ID接收中断判断服务程序,LIN总线发送与接收程序,主程序调用执行。主要代码如下:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

int main(void){  /*系统时钟初始化*/  InitSysCtrl();  /*LIN的GPIO引脚配置*/  InitLinaGpio();  /*LIN_LIN功能参数配置*/  LIN_LIN_init();/  /*关中断*/  InitPieCtrl();  /*清中断*/  IER=0x0000;  IFR=0x0000;  /*初始化中断向量表*/  InitPieVectTable();  EALLOW;  /*ID有效掩码匹配中断,用于判断主机的传输状态*/  PieVectTable.LIN1INTA=&LIN1_isr;  EDIS;  /*打开CPU的IER中断*/  IER|=M_INT9;  /*打开PIE对应的中断*/  PieCtrlRegs.PIEIER9.bit.INTx4=1;  /*打开全局中断*/  EINT;  /*LIN中断及ID配置*/  LIN_interrupt_init();  /*ID掩码发送,用于生成帧头*/  LinaRegs.LINID.bit.IDBYTE=LIN_ID;  while(1)  {    /*LIN发送*/    receive_data=LIN_trans();  }  return 0;}

CDK上开发LIN通信收发程序,编译结果为:

 

芯片

 

编译通过后,就可以开始调试了,调试结果为:

 

芯片

 

调试后,可通过USB_LIN网络通信软件,查看发送与接收到的数据如下图:

 

芯片

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分