用fpga开发运动控制系统
最近想用一块fpga开发一套运动控制系统,具体方案:1.基本硬件:fpga+flash+ram+串口;
2.流程:数据由串口读入,存储于flash;运动时读入数据进行速度预处理,再进行插补,最后分别发送给5个伺服轴;
3. 速度预处理和插补在nios上完成;显示部分可以暂时不考虑;
现在主要是担心速度和容量不知道能不能满足要求,大家可以就此发表一下个人看法 :) 速度和容量有啥要求? NIOS 软核要2500-3500个宏单元,所以最少得EP2C8。 外挂单片机的话EP2C4可以了,不过EP2C8和EP2C4价差不了多少。
然后是IO FLASH 和 RAM 要很多引脚,你得算下IO够不够!
1轴(方波) A+ A- 限位1 限位2 如果要输出数字量引脚不够
我用ARM7+EP2C8做了个3轴的位置闭环,直线插补。没用软核,因为调试太多了,也不怎么会用NIOS。 容量看你怎么写,我的用了4000多个宏,没用(NIOS 软核)。
速度控制的话,软核+其它,EP2C8足够了。主要问题可能是IO不够! 我现在用的是EP1C6,程序用c代码编好后大概1000行,不知道移植到fpga上容量够不够?
管脚我想应该差不多,不行我可以做成3轴,每轴大概8个管脚; 而且程序里面要用到sqrt()开方函数,所以容量估计够呛:( 我的宏是不是不够啊?那位给点意见? 有谁做过这些东西,找人合作 ARM7+EP2C8
哪些工作分配给EP2C8完成的呢? 我是用pc+串口+ep1c6,有谁能说说fpga的Les多少与c代码的多少之间的关系么? 目前主流的方案是ARM+FPGA或者DSP+FPGA,单独用FPGA做存在很多局限性,而且调试会很头疼.当然,如果是实验性质或者要求不高的话,也是可以FPGA单芯片或者ARM单芯片做的.
PS:目前团队正在做ARM+FPGA的四轴联动,位置开环,希望可以和高手交流下.QQ:24535939 哪些工作分配给EP2C8完成的呢?
PC将X,Y轴运行距离和速度发送给ARM7,ARM7计算这次运行的数据或指令发送给FPGA。
FPGA根据ARM7送过来的数据产生肪冲或模数字量输出.(这种方法能达到比较高的输出肪冲频率,但中间不能改变速度)
肪冲的个数决定运行距离,肪冲频率决定速度。(开环) c8051汇编,跑六轴插补联动,50K-60K 现在输出频率已经不是瓶颈了,现在考察的是每条命令之间的响应时间回复【11楼】c-w-h
-----------------------------------------------------------------------
现在输出频率已经不是瓶颈了,现在考察的是每条命令之间的响应时间,也就是系统的实时性。 我现在用的是ARM S3C6410X+xilinx spartan 3a 700a
页:
[1]