DSP与PC通信的问题

[复制链接]
1108|11
 楼主| Rospiers 发表于 2017-11-14 10:33 | 显示全部楼层 |阅读模式
在电机控制中,想把采样数据发到电脑上看。
采样数据为浮点数。
但SCI的寄存器只有485528-1-1.html" target="_blank" class="relatedlink">8位,我把浮点数转换成ASCII码发送,时间太长影响了电机控制性能。
所以想问一下,有没有更快的办法。
Lewisnx 发表于 2017-11-14 10:47 | 显示全部楼层
若要更快,就别让电脑处理了,既然用了DSP,就让DSP来处理它
CCompton 发表于 2017-11-14 11:01 | 显示全部楼层
UNION FLOATTOBYTE{
CHAR BDATA[4];
FLOAT FDATA;
} DATA;
DATA.FDATA=浮点数;
DATA.BYTE[0]=1 OF 4;
DATA.BYTE[1]=2 OF 4;
DATA.BYTE[2]=3 OF 4;
DATA.BYTE[3]=4 OF 4;
下位机 用来发送;
计算机在反相组装
Richardd 发表于 2017-11-14 11:14 | 显示全部楼层
DSP里的char也是16位的
Mattheww 发表于 2017-11-14 11:24 | 显示全部楼层
UNION FLOATTOBYTE{
STRUCT {
  Uint16      BYTE3:8;     // 31:24
   Uint16      BYTE2:8;     // 23:16
   Uint16      BYTE1:8;     // 15:8
   Uint16      BYTE0:8;     // 7:0        
}BDATA;
FLOAT FDATA;//FLOAT 是32位的前提下
} DATA;
Erichk 发表于 2017-11-14 16:58 | 显示全部楼层
对于浮点型数据,比如说电流采样结果,一般都上传的是IQ格式的数据,一个IQ格式的数据为32位,共四个字节,那就拆分为四个字节按照一个字节一个字节传输,这样在上位机再将IQ格式的数据合成并转换为实际电流值即可,需要说明的是一般来讲RS485传输数据本身速度不会很快,如果作为一般控制和数据显示没有问题的
mnynt121 发表于 2017-11-14 22:11 | 显示全部楼层
可以使用usb作为数据。
plsbackup 发表于 2017-11-14 22:11 | 显示全部楼层
提高传输速度也可以。
kmzuaz 发表于 2017-11-14 22:11 | 显示全部楼层
使用usb。
mnynt121 发表于 2017-11-14 22:12 | 显示全部楼层
串口通信的速度太慢了。
plsbackup 发表于 2017-11-14 22:12 | 显示全部楼层
串口最大可以到3Mhz。
kmzuaz 发表于 2017-11-14 22:12 | 显示全部楼层
现在的usb都集成了usb模块,方便设计。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

116

主题

377

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部