西莫电机圈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 1164|回复: 5

[原创] dsp控制与通信

[复制链接]

该用户从未签到

发表于 2017-5-30 12:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

在进行dsp28335调试电机过程中,之前一直采用ccs3.3的在线调试窗口(设置转速等),电机正常运行至8500rpm。
现在想实现串口通信,485,中转芯片rms3485。首先编写了上位机(labview),发送电机转速,转向等8个数据至dsp,将电流转速等12个数据发送至上位机,(dsp接收数据采用fifo,且采用fifo中断保存数据和发送数据,同时采用发送fifo,但发送fifo中断没有使能),出现以下问题:
1.电机在200rpm以下,正常运行,在300rpm以后会和通信频率保持一致的咯噔咯噔响,我们分析产生了制动力矩;
2.发送数据时,给txffcbuf(具体忘了)赋值,感觉并没有像是等12个数据都存入fifo(深度等于12),才发送,而是,赋值便发送了;
3.以前编写的2812程序,发送数据时直接将值给写入txffcbuf即可,现在这样做,无法发送数据,只有把while(xready==1)写在后面才能发出来,但是此时要发送12个数据只能采用for(i=0;i++;i<=13)才可,换句话说,必须赋值13次才能发成功,若写出小于等于12,只能发送12个数据;
4.将发送数据全部去掉,只保留dsp接收功能,电机就没问题。

以上问题已经炸毛,所以,退回用通信助手吧,结果:
1.通信助手在800rpm以下没问题,高速就不行了。。。。一样的咯噔以下电机就降速了,连续发送接收数据时,会偶尔咯噔,与通信频率无关了。。。

求助大神啊
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过

签到天数: 15 天

连续签到: 1 天

[LV.4]偶尔看看III

发表于 2017-5-31 14:00 | 显示全部楼层
与通信无关,那只能与电机控制本身有关了。没代码没电路的这怎么分析啊?

点评

像不像他的程序中中断冲突了?  详情 回复 发表于 2017-6-7 14:57
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2017-6-7 14:57 | 显示全部楼层
xiaoxiao201005 发表于 2017-5-31 14:00
与通信无关,那只能与电机控制本身有关了。没代码没电路的这怎么分析啊?

像不像他的程序中中断冲突了?

点评

很像很像,但是我用FIFO,配置中是关断了发送FIFO中断,同时也关闭了发送中断,所以我检查中断,就没有发现问题  详情 回复 发表于 2017-6-8 17:06
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-6-8 17:06 | 显示全部楼层
秋天不再 发表于 2017-6-7 14:57
像不像他的程序中中断冲突了?

很像很像,但是我用FIFO,配置中是关断了发送FIFO中断,同时也关闭了发送中断,所以我检查中断,就没有发现问题
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2017-6-9 08:49 | 显示全部楼层
1、发送接收中断优先级设低
2、你的for(i=0;i++;i<=13)不要放在中断处理函数里
3、检查有没有可能你的3.3v电源被拉低

点评

恩恩 然后: 1.中断优先级问题应该不用考虑,我其他中断在执行的时候,进中断都是先关了全局中断,是不是就不会有这个问题呢?另外,DSp的FIFO接收中断是由上位机传送数据个数触发,难道在发送SVPWm波的时候又触  详情 回复 发表于 2017-6-9 17:58
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-6-9 17:58 | 显示全部楼层
秋天不再 发表于 2017-6-9 08:49
1、发送接收中断优先级设低
2、你的for(i=0;i++;i

恩恩

然后:
1.中断优先级问题应该不用考虑,我其他中断在执行的时候,进中断都是先关了全局中断,是不是就不会有这个问题呢?另外,DSp的FIFO接收中断是由上位机传送数据个数触发,难道在发送SVPWm波的时候又触发中断了?按说其他中断都关了的~~
2.for函数为何不能放到中断里面呢?那应该放到哪里呢,while(1)?
3.恩恩,我跑一下看一下电源问题,但是这个发送数据的问题感觉像是程序问题,又感觉像是RMS3485的问题(以前没用过)~~

谢谢您的指导
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西莫电机圈 ( 浙ICP备10025899号-3 浙公网安备:33028202000436号

GMT+8, 2024-4-24 19:54 , Processed in 0.123268 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表