基于DSP的绝对式光电编码器串行接口设计

时间:2012-10-22来源:网络

一般SSI标准信号为25位,若不足25位要用零补齐,本文用到的编码器为单圈16位4 096圈的高精度编码器,总位数28位,它遵循的SSI传输格式如图5所示。

a.JPG


由图5可知,对于单圈位数和多圈位数超过25位的编码器,在编写通信程序时,需要产生32个CLOCK时序才可以将编码器的所有数据传输并接收完毕。由硬件电路可知,利用DSP的GPIOF7(CANRXA)口来模拟产生绝对式编码器读数时所需的同步时钟信号,用GPIOF6(CANTXA)口接收数据,具体通信过程如流程图6所示。
在整个流程过程中,产生CLOCK同步时钟时序以及数据处理是关键部分。整个实现过程如下:
(1)GPIOF7产生一个高到低跳变的电平,并适当延时,此时启动数据开始转换;
(2)GPIOF7产生一个低到高跳变的电平,并适当延时,此时已将最高有效位数据MSB传送至数据口,并读取数据到数据寄存器GPFDAT;
(3)连续产生32个同步时钟CLOCK信号,依次将传输32位数据到数据寄存器GPFDAT,本文读取数据方法是按位读取,每次在新加数据时,将前数据左移1位然后再加,直到完成所有数据位读取完毕;
(4)GPIOF7产生一个低到高跳变的电平,高电平保持时间相对前面CLOCK同步时钟时序长一点,数据转换完毕。
下面给出InitGpio(void)函数的部分与本文有关的代码。
h.JPG

5 实验结果
实验结果如图7所示,由图可见,CH2通道为32个CLOCK时序图,CH1通道为32个CLOCK时序下对应输出的DATA数据波形图,该绝对式编码器单圈数值为0~25 536,经4 096圈可输出范围0~268 435 456数值,检测精度为0.001 5%,运行稳定可靠。

b.JPG



6 结语
本文提供了一种基于DSP芯片TMS320F2812的通用I/O口与绝对式编码器SSI接口之间通信的硬件原理图、软件流程、程序实现步骤和部分代码。采用软件控制DSP的I/O口模拟时钟信号的方法,成功地解决了绝对式编码器SSI接口与微处理器通信的技术瓶颈,具有良好的通用性、易于实现,已成功应用于电机伺服控制系统,为微处理器与其他串行外设的通信提供了设计参考,具有一定的实用价值。

1 2 3

关键词: 绝对编码器 DSP 串行通信SSI TMS320F2812

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版