Flyback 发表于 2012-5-16 11:06:44

大跃进之FPGA/CPLD--咨询芯片选型和入门建议

公司产品现在是 工控机跑DOS 加运动控制卡控制4路伺服电机

现在产品准备升级,打算使用嵌入式主控,前一阵测试了stm32使用使用4个定时器控制四路脉冲输出,由于中断响应冲突,导致频率准确度低

现在思路是:
1--最BT的方法,用多片STM32
2--STM32加上运动控制芯片(还没找到合适的)
2--STM32加上CPLD/FPGA实现,后者负责发送特定个数的脉冲,通过SPI或者fsmc和stm32通信

本人只接触过很老的cpld MAXII,完全不了解现在是什么发展到什么状况了

预计实现功能:四路独立脉冲按照预先设定好的加减速曲线发送脉冲,在运行时能增减脉冲个数
曲线参数通过SPI或者FSMC通信

zkf0100007 发表于 2012-5-16 11:18:23

sparta 6啊,如果非要用CPLD的话CoolRunner 系列也不错

Flyback 发表于 2012-5-16 11:21:28

很奇怪,我这提示zkf0100007回复,点进来居然看不到

Flyback 发表于 2012-5-16 12:17:51

刚找到一个电机控制芯片,只是频率只有20K,我的应用需要50k的频率

linjpxt 发表于 2012-5-16 12:57:12

你这个要求不太高,所以大部分的CPLD都可以满足,比如你说的 max ii,当然也可以用现在比较新的 max v 但其实差不多的.
我现在也在做类似的东西,不过打算会选lattice 的 XO2

Flyback 发表于 2012-5-16 13:03:03

本帖最后由 Flyback 于 2012-5-16 13:16 编辑

linjpxt 发表于 2012-5-16 12:57 static/image/common/back.gif
你这个要求不太高,所以大部分的CPLD都可以满足,比如你说的 max ii,当然也可以用现在比较新的 max v 但其实 ...

同路人啊

项目周期不是很紧张,打算入手新的片子,现在市场上主要用的cpld有哪些系列呢

MachXO2这个还有硬件spi之类的东西,很不错

y595906642 发表于 2012-5-16 13:16:31

xc3s50an 当cpld使 很好用

Flyback 发表于 2012-5-16 14:22:44

y595906642 发表于 2012-5-16 13:16 static/image/common/back.gif
xc3s50an 当cpld使 很好用

刚刚试图回忆一下cpld 的工作方式,发现前几年学的时候压根没学通,汗颜……

拿fpga当cpld使,除了逻辑单元多了,还有什么区别吗

linjpxt 发表于 2012-5-16 15:44:56

Flyback 发表于 2012-5-16 13:03 static/image/common/back.gif
同路人啊

项目周期不是很紧张,打算入手新的片子,现在市场上主要用的cpld有哪些系列呢


其实SPI是很简单的东西,也消耗不了多少资源的,自己写都OK,不过片上的PLL倒是挺不错的,喜欢这个. 不过这个布线有点难,因为封装比较小.

wye11083 发表于 2012-5-16 22:09:09

SPI我写的有一个,主从无关,就是一个收发器,应该足够用了。LZ要是能详细解释各个操作部分,我可以为LZ写一份FPGA程序(CPLD也是可以跑的,只要能编进去)。到现在都不理解伺服电机和步进电机、直流电机间的根本区别。

Flyback 发表于 2012-5-16 22:24:32

wye11083 发表于 2012-5-16 22:09 static/image/common/back.gif
SPI我写的有一个,主从无关,就是一个收发器,应该足够用了。LZ要是能详细解释各个操作部分,我可以为LZ写 ...

ls用的啥fpga呢,这几天准备入个开发板

wye11083 发表于 2012-5-16 22:26:21

我用的是核心板,老的S2E的,不过跟FPGA关系不大,主要还是在程序。

Flyback 发表于 2012-5-17 08:27:32

wye11083 发表于 2012-5-16 22:26 static/image/common/back.gif
我用的是核心板,老的S2E的,不过跟FPGA关系不大,主要还是在程序。

做了下功课,收集了各个公司的开发环境:
Altera--MaxplusII;Quartus;
Xilinx--ISE;
Lattice--ispLEVER;
不知道原厂的开发工具现在是什么情况,还是有其他第三方开发工具,我记得altium designer支持FPGA的开发

wye11083 发表于 2012-5-17 08:43:37

我不用ISE的XST,很烂,我用Synplicity来综合,运行速度比XST的能快5倍,差别不是一般大。你这用128个宏单元的应该是足够了,比如ALTERA的MAX7系列的BG100的256AE。

hawkflyking 发表于 2012-5-17 09:23:48

用多片STM32是可以解决的1主控,2个驱动(1片驱动2电机)
STM32+CPLD也行(1+1)

CPLD用
Altera or Lattice

FPGA不推荐SRAM工艺,用ACTEL的A3P060吧

工控不差钱,稳定可靠方便开发才是,看楼主优势了.

Flyback 发表于 2012-5-17 09:27:49

wye11083 发表于 2012-5-17 08:43 static/image/common/back.gif
我不用ISE的XST,很烂,我用Synplicity来综合,运行速度比XST的能快5倍,差别不是一般大。你这用128个宏单 ...

功能大约是:
STM32运算产生一个控制曲线,每个脉冲通道对应2个表--"频率表"和"脉冲个数表"
可编程器件接收这2个表,按照按照"频率表"的频率发脉冲,每个频率发多少脉冲由"脉冲个数表"决定

还有一个就是,在发送脉冲的过程中,stm32能修改"脉冲个数表",实现对伺服电机的突发控制

由于这个东西发货量不会很大,器件成本不做严格限制

Flyback 发表于 2012-5-17 09:32:17

hawkflyking 发表于 2012-5-17 09:23 static/image/common/back.gif
用多片STM32是可以解决的1主控,2个驱动(1片驱动2电机)
STM32+CPLD也行(1+1)



刚看了EP1C3和EPM570 FPGA和CPLD的资源可以直接比较吗

还有这个EP1C3好像就是SRAM工艺的,有缺点?

Flyback 发表于 2012-5-17 09:41:11

hawkflyking 发表于 2012-5-17 09:23 static/image/common/back.gif
用多片STM32是可以解决的1主控,2个驱动(1片驱动2电机)
STM32+CPLD也行(1+1)



相对于基于SRAM的FPGA来说具有保密的优势。基于Flash的FPGA可以提供加密、低功耗、上电工作、可重复编程的方案
ProASIC3这个系列有内置的双口SRAM

现在首要任务的快速入门,做出功能样机,才能保证项目继续下去

linjpxt 发表于 2012-5-17 09:43:02

现在的CPLD也是基于查找表的机制了,所以跟FPGA是一样的,资源除了多少个LUT之外,就看还有些什么片上的资源,如乘法器,PLL,收发器之类的.FPGA一般有更多的片上资源及硬件乘法器.

hawkflyking 发表于 2012-5-17 09:45:41

Flyback 发表于 2012-5-17 09:32 static/image/common/back.gif
刚看了EP1C3和EPM570 FPGA和CPLD的资源可以直接比较吗

还有这个EP1C3好像就是SRAM工艺的,有缺点?


EP1C3和EPM570 FPGA和CPLD内部资源的结构完全不同,不能直接比较,总体来说FPGA灵活,触发器资源多,CPLD逻辑资源多,相对比较死板,但可靠性好.
如果资源够用,简单应用,CPLD是可靠的选择.

SRAM工艺的FPGA遇到高频干扰会出错的(一定几率), 而且不容易查到原因,尤其是马达的或开关电源的高频噪声.
当然屏蔽做的好可能会没事. ACTEL的FPGA是FLASH工艺的,不好买,但可靠.

根据你的应用描述, 如果你熟悉STM32,软件写的好,又了解实时性,中断控制的好的话,全部用STM32应没有问题.
我有客户是双STM32 驱动2高压直流马达.开关电源,开发了3年,终于稳定了...

Flyback 发表于 2012-5-17 09:59:20

linjpxt 发表于 2012-5-17 09:43 static/image/common/back.gif
现在的CPLD也是基于查找表的机制了,所以跟FPGA是一样的,资源除了多少个LUT之外,就看还有些什么片上的资源, ...

看来我要先了解一下我这应用到底需要多少资源才能实现

Flyback 发表于 2012-5-17 10:04:54

本帖最后由 Flyback 于 2012-5-17 10:07 编辑

hawkflyking 发表于 2012-5-17 09:45 static/image/common/back.gif
EP1C3和EPM570 FPGA和CPLD内部资源的结构完全不同,不能直接比较,总体来说FPGA灵活,触发器资源多,CPLD逻辑 ...

见笑了,之前一直用的NXP的arm7,最近才用stm32,中断处理的程序反复优化,到最后使用一个定时器加一个计数器实现1路脉冲发送,还是不能保证实时性,实在是能力有限

这个功能的确有人使用ARM7实现的,但是开发周期太长,我这最好能在几个月的时间了出功能样机

想到使用FPGA就是看中硬件实现,可以多路并发,相当于我用FPGA实现我这个特殊定时器的功能

cddyy 发表于 2012-5-17 10:07:22

用STM32+EP2C8做过类似的,FSMC总线通讯,带编码器输入。

hawkflyking 发表于 2012-5-17 10:14:12

Flyback 发表于 2012-5-17 10:04 static/image/common/back.gif
见笑了,之前一直用的NXP的arm7,最近才用stm32,中断处理的程序反复优化,到最后使用一个定时器加一个计 ...

FPGA/CPLD 全硬件并发执行,实时性当然没问题,而且代码容易移植,只是受成本限制难以在大批量的产品上应用.
工控成本当然没问题,入门的话,买个便宜的ALTERA开发板写下代码评估下资源,后期移植到任何一家FPGA/CPLD上都不难,软件大同小异.

单位的话就买DE0/DE1/DE2吧,个人taobao即可

linjpxt 发表于 2012-5-17 10:27:17

Flyback 发表于 2012-5-17 09:59 static/image/common/back.gif
看来我要先了解一下我这应用到底需要多少资源才能实现

做过两路的,16位计数,16位速度跟10位加速度,大概是200多个LUT. 大概可以参考这个数值.

Flyback 发表于 2012-5-17 10:30:26

cddyy 发表于 2012-5-17 10:07 static/image/common/back.gif
用STM32+EP2C8做过类似的,FSMC总线通讯,带编码器输入。

EP2C8的资源比1C3多很多呀,是有很多其他的功能用FPGA实现的?还是类似的功能就要占用很多资源?

Flyback 发表于 2012-5-17 10:33:12

hawkflyking 发表于 2012-5-17 10:14 static/image/common/back.gif
FPGA/CPLD 全硬件并发执行,实时性当然没问题,而且代码容易移植,只是受成本限制难以在大批量的产品上应用 ...

ACTEL的片子的确很有诱惑力,zlg代理这个,购买应该不难;准备从ALTERA入手,谢谢提供这么多建议

linjpxt 发表于 2012-5-17 10:34:31

建议可以买这块板,觉得挺精致的,大部分的都有了.

Flyback 发表于 2012-5-17 10:35:41

linjpxt 发表于 2012-5-17 10:27 static/image/common/back.gif
做过两路的,16位计数,16位速度跟10位加速度,大概是200多个LUT. 大概可以参考这个数值. ...

这个很有参考价值,你的应用里有加速度这个量,FPGA也做一些运算处理吗

kebaojun305 发表于 2012-5-17 10:40:44

Flyback 发表于 2012-5-17 10:33 static/image/common/back.gif
ACTEL的片子的确很有诱惑力,zlg代理这个,购买应该不难;准备从ALTERA入手,谢谢提供这么多建议 ...

呵呵正准备推荐 ACTEL的片子呢   我也是刚有个项目在用。还正在调试中。

linjpxt 发表于 2012-5-17 10:42:28

Flyback 发表于 2012-5-17 10:35 static/image/common/back.gif
这个很有参考价值,你的应用里有加速度这个量,FPGA也做一些运算处理吗

是的,现在只是做到加速度这个,但最好提把加速度的增加量(导数)也做上去会更好一些,但目前还没完成.
FPGA的运算量不太大.

Flyback 发表于 2012-5-17 10:46:50

linjpxt 发表于 2012-5-17 10:34 static/image/common/back.gif
建议可以买这块板,觉得挺精致的,大部分的都有了.

前几天刚看到坛子里有人求购这个nano,这个板子真的很漂亮,6层pcb

Flyback 发表于 2012-5-17 10:50:47

kebaojun305 发表于 2012-5-17 10:40 static/image/common/back.gif
呵呵正准备推荐 ACTEL的片子呢   我也是刚有个项目在用。还正在调试中。

具体开发环境用啥的呢?求教

Flyback 发表于 2012-5-17 10:52:48

linjpxt 发表于 2012-5-17 10:42 static/image/common/back.gif
是的,现在只是做到加速度这个,但最好提把加速度的增加量(导数)也做上去会更好一些,但目前还没完成.
FPGA ...

我的理解是可编程芯片适合做一些类似于液晶屏控制,总线控制的东西,运算是否会很耗资源?

linjpxt 发表于 2012-5-17 10:58:55

运算是耗资源,但也没那么多,一般都是加法运算多,如果要乘法的话,能转加法最好,不行可以选带硬件乘法器的. 另外现在片上的资源也挺足的,CPLD也都做到1,2K LUT,FPGA都到5~20K了

kebaojun305 发表于 2012-5-17 11:15:11

本帖最后由 kebaojun305 于 2012-5-17 11:23 编辑

Flyback 发表于 2012-5-17 10:50 static/image/common/back.gif
具体开发环境用啥的呢?求教

IDE 用 Libero SOC 10或者LIBERO IDE 9.x这2个基本上是一样的(功能和操作)但是风格不一样   LIBERO SOC 和 quartus的风格差不多我现在用的是libero SOC   烧录器我买的周立功的 FlashPro3500元。   软件的 License文件可以直接找周立功或者自己在官网上申请授权文件是1年的授权。

Flyback 发表于 2012-5-17 11:23:19

kebaojun305 发表于 2012-5-17 11:15 static/image/common/back.gif
IDE 用 Libero SOC 10或者LIBERO IDE 9.x这2个基本上是一样的(功能和操作)但是风格不一样   LIBE ...

ACTEL号称一直是军工级的,看来ZLG是打算低价把他拉下神坛了

kebaojun305 发表于 2012-5-17 11:25:32

现在actel的低端的价格是不贵。

hawkflyking 发表于 2012-5-17 11:31:21

kebaojun305 发表于 2012-5-17 11:15 static/image/common/back.gif
IDE 用 Libero SOC 10或者LIBERO IDE 9.x这2个基本上是一样的(功能和操作)但是风格不一样   LIBE ...

我用的是LIBERO IDE 9.x ,编程器是Mouser买的原厂的FLASHpro 4, 正在搞步进电机代码移植 DE1 -> EsayFPGA060;有机会多多交流.

kebaojun305 发表于 2012-5-17 11:34:26

本帖最后由 kebaojun305 于 2012-5-17 11:35 编辑

hawkflyking 发表于 2012-5-17 11:31 static/image/common/back.gif
我用的是LIBERO IDE 9.x ,编程器是Mouser买的原厂的FLASHpro 4, 正在搞步进电机代码移植 DE1 -> EsayFPGA ...

我也用的A3P060   多多交流刚开始 是用的libero IDE9.x后来换成soc了现在习惯 SOC了不过这2个没有啥区别只是风格上的区别而已。

hawkflyking 发表于 2012-5-17 11:39:42

kebaojun305 发表于 2012-5-17 11:34 static/image/common/back.gif
我也用的A3P060   多多交流刚开始 是用的libero IDE9.x后来换成soc了现在习惯 SOC了不过这2个 ...

Libero SOC 去年都没看到,和Quartus II风格相似?那太好了,我要下来试试. 现在能中问标注了,正在维护以前的代码.
我也是开始没多久.

Flyback 发表于 2012-5-17 11:50:37

hawkflyking 发表于 2012-5-17 11:39 static/image/common/back.gif
Libero SOC 去年都没看到,和Quartus II风格相似?那太好了,我要下来试试. 现在能中问标注了,正在维护以前 ...

正在下载,安装包1.4G;SP2400M

QUARTUS也在下,2.4G

我这次真是大跃进了……

Flyback 发表于 2012-5-17 11:53:32

kebaojun305 发表于 2012-5-17 11:34 static/image/common/back.gif
我也用的A3P060   多多交流刚开始 是用的libero IDE9.x后来换成soc了现在习惯 SOC了不过这2个 ...

先做方案,这个A3P060有usb的下载器吗
EP1C3的下载器找到了

kebaojun305 发表于 2012-5-17 11:55:46

Flyback 发表于 2012-5-17 11:50 static/image/common/back.gif
正在下载,安装包1.4G;SP2400M

QUARTUS也在下,2.4G


估计你要失望了只是风格有点近实际上 和libero IDE 9.x是一个鬼样子而已    比quartus的整合度 还是差的远我估计主要是因为quartus的 有一整套它自己的软件,而libero都是使用第3方的软件。不过习惯了 第3方软件还是不错的。通用。而且都是世界知名的软件。

kebaojun305 发表于 2012-5-17 12:00:10

本帖最后由 kebaojun305 于 2012-5-17 12:10 编辑

Flyback 发表于 2012-5-17 11:53 static/image/common/back.gif
先做方案,这个A3P060有usb的下载器吗
EP1C3的下载器找到了

官方出得都是USBFlashPro3和FlashPRO4   周立功有一个最便宜的 demo版自带有个USB的下载器 不过只支持 A3P060      http://www.embedtools.com/pro_kaifa/FPGA/EasyFPGA060.asp   最便宜的   周立功价格128元
左边的是 简易的usb下载器(只支持 A3P060)右边的是 A3P060      A3P060 资源是60K们等效宏单元 512(相当于altera公司的宏单元数)   1536的d触发器内部 18K的RAM(分4块)带有AES加密和1个PLL。

Flyback 发表于 2012-5-22 11:47:00

本帖最后由 Flyback 于 2012-5-22 12:07 编辑

稍微浏览一下各个bbs关于FPGA的讨论,决定选择ALTERA的飓风系列作为功能验证芯片,趋向于Cyclone或者CycloneII

DE0的板子的确很漂亮,但是感觉有点复杂了,准备入手一个核心板,带一些简单的外围功能的板子

资料全E文,正在慢慢啃,有点无从下手的感觉,论坛提到的“特权同学”,下载了全部视频,才看完几个小时


shinehjx 发表于 2012-5-22 12:04:41

关注,学习,希望迟点我也能实现

偏偏倒倒 发表于 2012-5-22 12:34:50

y595906642 发表于 2012-5-16 13:16 static/image/common/back.gif
xc3s50an 当cpld使 很好用

xc3S50A+SPflash,比XC3S50AN便宜很多。

y595906642 发表于 2012-5-22 13:33:20

偏偏倒倒 发表于 2012-5-22 12:34 static/image/common/back.gif
xc3S50A+SPflash,比XC3S50AN便宜很多。

图省事呗,刚学的话 一片搞定还是很不错的选择

Flyback 发表于 2012-5-24 14:40:59

这几天在整开发环境,使用quartus 11.1 web版 在altera网站上申请了license

现在编译的时候弹出警告
Warning (20028): Parallel compilation is not licensed and has been disabled
Warning (292013): Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature.

说不能并行编译
LogicLock功能不能使用

这是免费许可的权限不够还是我申请的许可有问题呢

kebaojun305 发表于 2012-5-25 10:16:28

不能并行编译 速度很慢的。我的电脑是单核的   编译起来真的慢多了。

Flyback 发表于 2012-5-29 15:13:12

本来想买DE0,又便宜又漂亮

这几天看特权的FPGA视频,决定还是买了他配套的板子,算是支持原创吧

板子刚到手跑着demo程序,有个疑惑:主芯片EP1C3,配置芯片居然是ST的25P10,这个和ALTERA自家的片子有何区别呢?

cddyy 发表于 2012-5-29 16:02:12

没区别,照用就是了。

1ongquan 发表于 2012-5-29 16:41:54

EPM570是穿CPLD马甲的FPGA

Friendz 发表于 2012-5-29 18:51:14

我是A/X通吃,建议不差钱的话直接买块开发板,测试好功能,OK后画PCB焊板出货。
XC3S50AN我现在用量最大,有序列号可用,很好。

Flyback 发表于 2012-5-29 22:49:08

暂时还真不知道ALTERA和XILINX同档次的FPGA有何区别

Flyback 发表于 2012-5-30 13:46:56

本帖最后由 Flyback 于 2012-5-30 16:31 编辑

kebaojun305 发表于 2012-5-25 10:16 static/image/common/back.gif
不能并行编译 速度很慢的。我的电脑是单核的   编译起来真的慢多了。

刚刚安装了和谐版的quartus 11.1 现在可以并行编译了

现在接触FPGA一个多星期了,测试的板子也有了

现在在找VerilogHDL方面的书,最好是能在网上买到的经典书籍

===================================分割线============================

刚刚在京东定了两本书

Altera FPGA/CPLD设计(基础篇)(第2版)-----------------EDA先锋工作室
Verilog数字系统设计教程(第2版)-----------------------------夏宇闻

fickle 发表于 2012-5-30 22:50:37

1、如果想使用actel的话,也许a3p250是个选择。可以把stm32都省了。这个a3p带个m1核。

2、不过,做电机控制ti的c2000也是选择。如果这个项目我来做,选用tms320f2808.

3、再有freescale的56f8323也是个选择。

yinjie 发表于 2012-6-11 08:08:19

如果想做一个好用到东西,还是先用一下成熟的芯片。学点经验。

rlogin 发表于 2012-6-11 09:25:38

四个脉冲输出可以一个定时器搞定,用toggle模式,4个通道出4个正好
页: [1]
查看完整版本: 大跃进之FPGA/CPLD--咨询芯片选型和入门建议