fpga多摩川编码器开源代码_TMS320F28379D之CLB解码多摩川编码器3——LIB版例程应用(原创)...

我在第二篇文章中,已经跟大家讲解了LIB版例程的解码流程,还没看的可以先了解一下,链接如下:

TMS320F28379D之CLB解码多摩川编码器2——LIB版例程讲解(原创)

我的第一篇文章,讲的入手小知识,链接如下:

TMS320F28379D之CLB解码多摩川编码器1——入手小知识(原创)

接下来,跟大家分享一下具体到工程中该如何开发和应用。

实际在工程中,我们需要认清以下几点:

  1. 波特率为2.5M,是固定的,不可修改,一个bit相当于400ns
  2. 位置解码,获得的位置信息用于伺服电机的机械角和电角度计算,DATAID0只读单圈值,接收6个字节,总共60个bit,耗时短,DATAID3读单圈值+多圈值,接收11个字节,总共110个bit,耗时长,可根据自身的实际情况来确定使用那个CF;
  3. LIB版的例程,解码+发送是要耗费20个us的执行时间的,大家可以自己测一下,而且是封库的,你优化不了,但是通过抓包和了解协议,解码函数还是可以自己写一个的,大概2us那样就解码好了,发送就不行,涉及到一点点CLB;
  4. 若工程中还存在其他中断,比如发波的EPWM中断,这个中断的优先级肯定要大于SPIBRXINT,则可采取在EPWM中断中轮询SPIBRXINT的标志位,来判断数据是否已经接收完成,毕竟一个发波中断计算一次电角度,一收一发即可,如果用FPGA解码也是这样的,只是FPGA可以并行处理,如果使用379D,也可以单独一个核电流环+解码,第二个核做位置和速度,也可以达到并行处理的目的,当然单核效果也是可以的。
  5. 控制字DATAID6和DATAIDD的使用,即读写编码器EEPROM用的,读EEPROM的时候,接收到的byte,记得做蝶式交换
8f37b141bd3d947fa9b50312b8157289.png

以上讲的几点,包括前面的两篇文章,基本上可以让你少走很多弯路,这个解码也不是什么机密了,例程都有,实际应用工程的代码,我就不PO了,例程还是第二篇文章提到的例程,大家可以自己尝试一下,自己开发,毕竟千人千版本,这里我只提供思路。

2bd723ad806a8aefcd3c76184efe2c7d.png

LIB版例程主循环

这篇应用我会在知乎做同步更新,下篇应该是跟大家分享源码版的解码程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值