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

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

3天内不再提示

HPM5300系列SEI串行编码器接口:如何设置通讯协议(上)

先楫半导体HPMicro 2023-12-20 08:17 次阅读

工程苗小兵

先楫资深FAE工程师

电力电子与电力传动专业硕士研究生,一个从事了20多年的功率控制的工程小兵,有多年的电机驱动和电源控制经验,专注电力电子控制方向。

01.串行编码器接口SEI 的应用场景

SEI 串行编码器接口

是HPM单片机独创的通信接口外设,可以在同一个硬件接口上实现不同类型的串行通信协议的数据收发。

是5300精确位置系统的一部分,可以与系统中的其它外设协同工作。

主要应用场景:

作为主机,从外部的串行编码器读取电机运动信息(绝对位置、速度、圈数、故障…等),交由 MMC单元 或 主控软件 进行电机驱动控制。

作为从机,QEIv2或RDC模块将从传感器(光、霍尔、旋变)获取的位置数据,经SEI转换成不同的协议后发送给外部的电机驱动器PLC、运动控制卡、伺服驱动……)。

定制通讯,可以在多种不同的串行协议间进行转换;也可以根据自己的需要定制协议,并可实现硬件自主通讯。

2b3ac91a-9ecd-11ee-9788-92fbcf53809c.png

(图示:5300精确位置系统)

02.串行编码器接口SEI 的主要特性

●2 个 SEI 控制器

●9 个数据寄存器

● 最高支持 64 条指令

● 支持同步通信 和 异步通信

● 支持主机模式和从机模式(作为编码器)

● 支持 RS-485RS-422 接口

● 每个 SEI 控制器支持共 3 种触发方式

外部触发,包括触发输入及触发输出各 8 路

周期性触发

软件触发

● 支持精确控制 SAMPLE 或 UPDATE 位置信息与时间戳的时机

● 支持命令匹配及指令跳转

● 支持自动 CRC 校验

● 支持自动奇偶校验

● 支持 WatchDog

● 支持超时 TIMEOUT 及收发 CDM/CDS

●灵活实现多种编码器协议:Tamagawa、HIPERFACE、Nikon 、SSI、BiSS-C、EnDat2.1/2.2

2b3fc50a-9ecd-11ee-9788-92fbcf53809c.png

03.HPM5300 串行编码器接口SEI 的组成结构

SEI模块的寄存器组成


引擎寄存器

负责模块使能控制、超时处理、看门狗配置,和反馈执行状态、指令指针等

收发控制

负责收发配置,数据传输长度、波特率、空闲状态、同步或异步控制模式等收发控制

触发

负责外部输入触发、周期触发、软件触发模式配置

负责输出触发,可以配置外部触发命令

命令

包含8个命令表及其相关的比较位和最大、最小值范围

负责命令数据的长度、校验、大小端格式等

锁存器

负责4个锁存器的跳转配置、输出延迟和输出选择

位置寄存器

包含sample和update对应的位置寄存器组

负责触发sample和update的配置

中断寄存器

负责中断使能配置、状态记录、中断指令和中断指令匹配的配置

指令内存

存放64条可配置的指令,SEI0 与 SEI1共用

数据寄存器组

存放9组数据寄存器, SEI0 与 SEI1共用

2b43856e-9ecd-11ee-9788-92fbcf53809c.png

04.串行编码器接口SEI的工作原理:通讯指令

Tamagawa、BiSS-C和SSI,这三种不同协议的编码器为例,通信协议之前存在较大的差异:异步vs同步、校验方式、大小端、数据长度、返回信息延迟、通讯结束标志、触发采样和更新位置时刻等。

SEI 的大致方法是把通讯协议分解成多个典型节点,每个节点对应一条指令,通过不同指令组合实现通讯完成。

2b4c4d52-9ecd-11ee-9788-92fbcf53809c.png

Tamagawa

2b50bfd6-9ecd-11ee-9788-92fbcf53809c.png

BiSS-C

2b558494-9ecd-11ee-9788-92fbcf53809c.png

SSI

05.SEI示例

多摩川编码器主查询协议为例,调用指令设置函数sei_set_instr():

0阶段: 发送控制字,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_SEND, 0, SEI_DAT_0, SEI_DAT_2, 8);

参数设置:指定SEI0/1;指定指令指针,OP:3无时限内发送 ;CK:异步传输统一为0;CRC:CRC放入无效数据寄存器DAT_0表示当前数据不计算CRC;传输数据:放入DAT2;数据长度:8bit。

1阶段: 接收控制字,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_3, 8);

参数定义:指定SEI0/1,指定指令指针,OP:6时限内接收 ,CK:异步传输统一为0, CRC:校验值放入数据寄存器DAT_9,传输数据放入DAT_3,数据长度为8bit。

2阶段: 接收传感器状态信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_4, 8);

参数定义:其他信息同上,传输数据放入DAT_4。

3阶段: 接收位置信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_5, 24);

参数定义:其他信息同上,传输数据放入DAT_5,数据长度为24bit。

4阶段: 接收ENID,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_6, 8);

参数定义:其他信息同上,传输数据放入DAT_6,数据长度为8bit。

5阶段: 接收圈数信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_7, 24);

参数定义:其他信息同上,传输数据放入DAT_7,数据长度为24bit。

6阶段: 接收报警信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_8, 8);

参数定义:其他信息同上,传输数据放入DAT_8,数据长度为8bit。

7阶段: 接收CRC,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_0, SEI_DAT_9, 8);

参数定义:其他参数同上, CRC:数据放入无效数据寄存器DAT_0表示该指令中接收到的数据不计算CRC;如果DAT_9配置为CRC模式,前期接收数据计算后的CRC校验值会与DAT_9接收值做对比,数据长度为8bit。

8阶段: 停止指令sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_HALT, 0, SEI_DAT_0, SEI_DAT_0, 0)

参数定义:OP:0 停顿,其他参数均设为0。

通讯结束。

2b5c0666-9ecd-11ee-9788-92fbcf53809c.png2b60f266-9ecd-11ee-9788-92fbcf53809c.png

06.SEI 引擎寄存器

寄存器组成


引擎控制

负责模块使能控制、状态回倒、状态异常处理、触发使能控制、看门狗使能

指针地址配置

配置异常和初始执行指令地址指针,当执行不同数据通讯时可以修改初始执行指令地址指针实现调用不同的收发指令

看门狗配置、程序执行指针、当前指令、看门狗状态

负责监控当前工作状态

●SEI中有两组,分别应用于SEI0和SEI1

2b6488ea-9ecd-11ee-9788-92fbcf53809c.png

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

    关注

    41

    文章

    3360

    浏览量

    131539
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148496
  • 通讯
    +关注

    关注

    9

    文章

    840

    浏览量

    34365
  • 串行
    +关注

    关注

    0

    文章

    230

    浏览量

    33533
收藏 人收藏

    评论

    相关推荐

    降维打击!对标主流ARM内核MCU,先楫RISC-V高性能HPM5300凭何争性价比之王?

      先楫HPM5300系列MCU主频480MHz,支持双精度浮点运算及强大的DSP扩展,达到甚至超越国际主流高性能MCU产
    的头像 发表于 08-16 09:48 2107次阅读
    降维打击!对标主流ARM内核MCU,先楫RISC-V高性能<b class='flag-5'>HPM5300</b>凭何争性价比之王?

    【先楫HPM5361EVK开发板试用体验】认识和了解先楫HPM5361EVK开发板

    、288KB SRAM,模拟部分集成16bit ADC、12bit DAC以及运放,支持各类位置传感,包括光电式、磁感应和旋转变压,同时提供灵活的编码器输入输出。HPM5300配置
    发表于 12-24 22:39

    【先楫HPM5361EVK开发板试用体验】先楫HPM5361EVK开发板初体验

    ,模拟部分集成16bit ADC、12bit DAC以及运放,支持各类位置传感,包括光电式、磁感应和旋转变压,同时提供灵活的编码器输入输出。 HPM5300配置两个八通道的PWM
    发表于 12-24 22:58

    先楫半导体HPM5300EVK开发板试用作品手册免费下载

    Flash,并提供48~100脚LOFP和OFN等封装,为工业自动化,新能源及汽车等应用提供了丰富的算力和高效的控制能力。 HPM5300EVK提供了一系列HPM5300微控制
    发表于 12-28 10:25

    HPM5300能申请样片了吗?

    HPM5300能申请样片了吗?
    发表于 06-02 09:02

    先楫新品HPM5300 ,你们都在关注啥功能?

    HPM5300 —— 高性能,运动控制,编码器,小封装,高性价比...你们最关注的是啥? 新品发布线上直播,报名,更多好礼等你来拿~ HPM5300 EVK,限量早鸟价¥169,8月16日优惠结束
    发表于 08-03 19:07

    【新品体验】先楫HPM5361EVK开发板免费试用

    HPM5300EVK提供了一系列HPM5300微控制外设的接口,包括一个ADC输入SMA接口
    发表于 10-20 10:57

    先楫半导体HPM5361EVK开发板开发资料免费下载

    HPM5300EVK 提供了一系列 HPM5300 微控制外设的接口,包括一个 ADC 输入 SMA
    发表于 10-20 11:21

    哪位大佬发一下HPM5300的SDK压缩包啊?

    哪位大佬发一下HPM5300的SDK压缩包啊?
    发表于 11-29 12:55

    HPM5300找不到的情况

    原来的没有5300选项 后来的有了5300选项 注意是 hpm_sdk-main的下载地址:https://gitee.com/hpmicro 路径参考: 这个问题不大,但困扰了我3天,希望生态你的小伙伴不踩我踩过的坑
    发表于 12-02 19:27

    详解双向/串行/同步(BiSS)位置编码器接口

    在本文对双向/串行/同步(BiSS)位置编码器接口进行讲解。 BiSS是来自iC-Haus公司的开源协议。它定义了适用于致动器和传感器(如旋转编码
    发表于 11-17 01:55 1.6w次阅读
    详解双向/<b class='flag-5'>串行</b>/同步(BiSS)位置<b class='flag-5'>编码器</b>的<b class='flag-5'>接口</b>

    先楫半导体高性能运动控制MCU HPM5300即将发布

    HPM5300EVK提供了一系列HPM5300微控制器外设的接口,包括一个ADC输入SMA接口和一个先楫标准的电机控制及传感器
    的头像 发表于 08-01 10:47 1051次阅读

    先楫半导体推出高性能运动控制MCU HPM5300系列

    2023年8月16日,高性能嵌入式解决方案厂商“上海先楫半导体(HPMicro)”正式发布全新产品系列——高性能运动控制微控制器 HPM5300。独具匠“芯”的HPM5300系列以强劲
    发表于 08-16 10:35 233次阅读

    先楫半导体高性能运动控制MCU HPM5300系列正式发布!

    【中国上海】2023年8月16日,高性能嵌入式解决方案厂商“上海先楫半导体(HPMicro)”正式发布全新产品系列——高性能运动控制微控制器HPM5300。独具匠“芯”的HPM5300系列
    的头像 发表于 08-16 12:04 415次阅读
    先楫半导体高性能运动控制MCU <b class='flag-5'>HPM5300</b><b class='flag-5'>系列</b>正式发布!

    浅谈HPM5300的端口驱动安装

    浅谈HPM5300的端口驱动安装
    的头像 发表于 11-30 20:05 352次阅读
    浅谈<b class='flag-5'>HPM5300</b>的端口驱动安装