0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

昊芯HX2000系列芯片 以USB_LIN通信收发实例讲解LIN网络通信功能

OH9y_HAAWKING20 来源: 中科昊芯 作者:中科昊芯 2022-12-14 13:42 次阅读

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

c2d38a80-7b6c-11ed-8abf-dac502259ad0.jpg

c2f60a42-7b6c-11ed-8abf-dac502259ad0.jpg

c31ef524-7b6c-11ed-8abf-dac502259ad0.png

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

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

c34e2dc6-7b6c-11ed-8abf-dac502259ad0.jpg

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接收所发送的数据,硬件连接如下图所示:

c39a57fa-7b6c-11ed-8abf-dac502259ad0.jpg

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

intmain(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(); } return0; }

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

c3c0cb7e-7b6c-11ed-8abf-dac502259ad0.jpg

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

c4017f16-7b6c-11ed-8abf-dac502259ad0.jpg

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

c45d8dec-7b6c-11ed-8abf-dac502259ad0.jpg

关于昊芯

“智由芯生 创享未来”,昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构RISC-V,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。

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

    关注

    544

    文章

    7685

    浏览量

    344376
  • 寄存器
    +关注

    关注

    30

    文章

    5030

    浏览量

    117734
  • usb
    usb
    +关注

    关注

    59

    文章

    7434

    浏览量

    258183
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87443
  • 数字信号
    +关注

    关注

    2

    文章

    796

    浏览量

    47221
  • LIN
    LIN
    +关注

    关注

    4

    文章

    189

    浏览量

    39871
  • 平头哥
    +关注

    关注

    0

    文章

    62

    浏览量

    8931
  • 中科昊芯
    +关注

    关注

    5

    文章

    73

    浏览量

    5051
收藏 人收藏

    评论

    相关推荐

    MM32F5270 UART实现LIN通信

    LIN(Local Interconnect Network)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议,其目标定位于车身网络模块节点间的低端通信
    的头像 发表于 01-04 17:35 1788次阅读
    MM32F5270 UART实现<b class='flag-5'>LIN</b><b class='flag-5'>通信</b>

    使用USB-8476 LIN2.1的通信问题

    大家好我是一个LIN通信小白,最近我在做在LabVIEW中用USB-8476使电脑能与PCB板通信LIN2.1,波特率19200)。发送帧
    发表于 08-17 14:24

    LIN总线在BCM车身网络中的应用

    在汽车车身网络通信速率越低抗干扰能力越强。因此LIN总线在BCM车身网络中经常用于控制一些开关、车窗、车门、后视镜等。如下图所示LIN的最
    发表于 05-31 07:19

    请问什么是LIN总线通信

    哪位大侠用过LIN总线通信,可不可以教小弟一下 怎么入手 协议也看不懂 也不知道怎么编程 用的是飞思卡尔的MCU芯片
    发表于 07-01 03:01

    LIN通信能直接进行吗?

    请问,我看在库函数例程中同时有USART_Cmd()和USART_LINCmd()两个函数,不知道在配置寄存器的时候是否需要在CR2中使能LIN模式后,在CR1中再使能串口啊?,还有就是在使能LIN模式,接入LIN
    发表于 06-02 15:02

    汽修示波器测量汽车LIN总线信号及波形分析

    `汽车网络通信中除了CAN的通信方式外,还有另外一种低成本通信方式——LIN系统。它的英文是“Local Interconnect Network”,
    发表于 08-07 18:15

    在MM32F013x上如何实现LIN通信功能应用

    在MM32F013x上实现LIN通信功能应用什么是LINLIN总线特点LIN总线帧结构MM32F013x LIN
    发表于 03-03 06:39

    【应用笔记】基于海CS32F03x UART外设软件模拟LIN从机与LIN总线通信

    本应用笔记,旨在帮助用户使用海通用MCU CS32F03x系列芯片软件实现LIN总线协议解析和通信。本文
    发表于 11-22 16:49

    综合CAN和LIN通信功能的TPMS系统设计和应用

    综合CAN和LIN通信功能的TPMS系统设计和应用 引言   本文通过TPMS在国外某车型上的设计和应用,详细介绍TPMS软硬件设计方法。本方案中综合了CAN、LIN总线的设计
    发表于 11-18 10:41 2732次阅读
    综合CAN和<b class='flag-5'>LIN</b><b class='flag-5'>通信</b><b class='flag-5'>功能</b>的TPMS系统设计和应用

    NCV7425:局部互连网络(LIN)收发

     NCV7425是一个全功能的局部互连网络(LIN)收发器,可作为LIN协议控制器和物理总线之间的接口。NCV7425
    发表于 01-12 11:53 2410次阅读
    NCV7425:局部互连<b class='flag-5'>网络</b>(<b class='flag-5'>LIN</b>)<b class='flag-5'>收发</b>器

    LIN入门基础之LIN 2.1讲解资料下载

    本资料面向LIN总线初学者,对什么是LINLIN的特征,物理层、协议层及应用层相关规定进行说明。本资料主要是针对LIN2.1讲解
    发表于 03-29 14:06 34次下载
    <b class='flag-5'>LIN</b>入门基础之<b class='flag-5'>LIN</b> 2.1<b class='flag-5'>讲解</b>资料下载

    芯教程丨平头哥助力中科昊芯HX2000系列芯片专题SCI串口通信(二)AutoBaud自动波特率

    自中科昊芯推出专题讲解SCI串口通信以来,第一期主要讲解SCI串口FIFO通信原理,本期主要讲解SCI串口自动波特率,FIFO中断
    的头像 发表于 04-27 14:48 498次阅读
    芯教程丨平头哥助力中科昊芯<b class='flag-5'>HX2000</b><b class='flag-5'>系列</b><b class='flag-5'>芯片</b>专题SCI串口<b class='flag-5'>通信</b>(二)AutoBaud自动波特率

    芯力特LIN收发芯片SIT1021总线DC/AC参数完全符合LIN标准

    芯力特LIN收发芯片SIT1021是一款本地互联网络LIN)物理层收发器,符合
    的头像 发表于 03-08 09:42 1222次阅读
    芯力特<b class='flag-5'>LIN</b><b class='flag-5'>收发</b>器<b class='flag-5'>芯片</b>SIT1021总线DC/AC参数完全符合<b class='flag-5'>LIN</b>标准

    测量汽车LIN总线信号及波形分析-汽修示波器

    汽车网络通信中除了CAN的通信方式外,还有另外一种低成本通信方式——LIN系统。它的英文是“LocalInterconnectNetwork”,LI
    的头像 发表于 12-03 15:54 2236次阅读
    测量汽车<b class='flag-5'>LIN</b>总线信号及波形分析-汽修示波器

    芯教程丨平头哥助力中科昊芯HX2000系列芯片专题SCI串口通信(三)FIFO中断通信

    自中科昊芯推出专题讲解SCI串口通信以来,第一期主要讲解SCI串口FIFO通信原理,第二期主要讲解SCI串口自动波特率,本期主要
    的头像 发表于 05-26 11:14 605次阅读
    芯教程丨平头哥助力中科昊芯<b class='flag-5'>HX2000</b><b class='flag-5'>系列</b><b class='flag-5'>芯片</b>专题SCI串口<b class='flag-5'>通信</b>(三)FIFO中断<b class='flag-5'>通信</b>