搜索
bottom↓
回复: 13

多通道PWM捕获以及输出,用FPGA实现好还是用ARM?

[复制链接]

出0入0汤圆

发表于 2010-10-7 17:04:06 | 显示全部楼层 |阅读模式
最近在弄一个数码舵机控机器,要求有8路PWM输入捕获以及8路PWM输出,并通过一个串口与上位机进行通信,各位大侠你们说是用FPGA来做好,还是采用ARM来做好。
注:输出PWM必须进行混控运算,这样在FPGA中要实现一些算法,是不是有点烦琐;ARM的捕获一般是采用定时器中断来完成,这样采样多路会有细微误差?PWM输出则采用PWM模块产生。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入20汤圆

发表于 2010-10-7 17:18:07 | 显示全部楼层
没有商量,使用FPGA吧.

出0入0汤圆

 楼主| 发表于 2010-10-7 17:29:05 | 显示全部楼层
但是我在做串口通信时,一段时间通信正常,一段时间又乱码,不知道怎么回事?
通信模式是每隔20ms,将采集到的脉宽值通过串口发送到上位机。我现在附上我测试时的一些数据。请各位有过串口通信的大侠帮我指正。
2010年10月06日16时24分47秒
69 16 6A 16 5F 6B 16 6C 16 5F 6D 16 5F 6E 16 6F 16 5F 70 16 71 16 5F 72 16 5F 73 16 74 16 5F 75 16 76 16 5F 77 16 5F 78 16 79 16 5F 7A 16 7B 16 5F 7C 16 5F 7D 16 7E 16 7F 16 5F 80 16 81 16 5F 82 16 83 16 5F 84 16 85 16 5F 86 16 87 16 5F 88 16 89 16 5F 8A 16 5F 8B 16 8C 16 5F 8D 16 8E 16 60 8F 16 90 16 5F 91 16 92 16 5F 93 16 94 16 5E 95 16 96 16 60 97 16 98 16 5F 99 16 60 9A 16 5F 9B 16 9C 16 60 9D 16 9E 16 60 9F 16 5F A0 16 A1 16 5F A2 16 A3 16 5F A4 16 5F A5 16 A6 16 5F A7 16 5F A8 16 A9 16 5F AA 16 5F AB 16 5E AC 16 AD 16 5F AE 16 5F AF 16 5F B0 16 B1 16 5F B2 16 5F B3 16 5F B4 16 5F B5 16 B6 16 5F B7 16 5F B8 16 5F B9 16 BA 16 5F BB 16 5E BC 16 5E BD 16 5F BE 16 5F BF 16 5F C0 16 C1 16 5F C2 16 5F C3 16 5F C4 16 C5 16 5F C6 16 5F C7 16 5F C8 16 5F C9 16 5E CA 16 5E CB 16 CC 16 5F CD 16 5F CE 16 5F CF 16 5E D0 16 D1 16 5E D2 16 5F D3 16 5F D4 16 5F D5 16 5F D6 16 5F D7 16 5F D8 16 D9 16 5E DA 16 5F DB 16 5E DC 16 5F DD 16 DE 16 5E DF 16 5E E0 16 5E E1 16 5E E2 16 E3 16 5F E4 16 5F E5 16 5F E6 16 E7 16 5F E8 16 5E E9 16 5F EA 16 EB 16 5F EC 16 5F ED 16 5F EE 16 EF 16 5F F0 16 5F F1 16 5E F2 16 5F F3 16 F4 16 5E F5 16 5F F6 16 5F F7 16 F8 16 5F F9 16 5F FA 16 5F FB 16 5F FC 16 FD 16 5F FE 16 5F FF 16 5F 00 16 5F 01 16 5F 02 16 5F 03 16 5F 1E D2 04 16 5F 1E D4 05 16 5E 1E D1 06 16 5F 1E D2 07 16 5F 1E D4 08 16 5F 1E D2 09 16 5F 1E D2 0A 16 5F 1E D2 0B 16 5F 1E D1 0C 16 5F 1E D1 0D 16 5F 1E D2 0E 16 5F 1E D1 0F 16 5F 1E D2 10 16 5F 1E D2 11 16 5F 1E D2 12 16 5F 1E D1 13 16 5F 1E D4 14 16 5F 1E D2 15 16 5F 1E D2 16 16 5F 1E D2 17 16 5F 1E D1 18 16 5E 1E D2 19 16 5F 1E D5 1A 16 5F 1E D1 1B 16 5F 1E D2 1C 16 5E 1E D4 1D 16 5F 1E D2 1E 16 5F 1E D2 1F 16 5F 1E D1 20 16 5F 1E D1 21 16 5F 1E D1 22 16 5F 1E D2 23 16 5F 1E D2 24 16 5F 1E D1 25 16 5F 1E D4 26 16 5F 1E D2 27 16 5F 1E D2 28 16 5F 1E D2 29 16 5E 1E D2 2A 16 5F 1E D2 2B 16 5F 1E D2 2C 16 5F 1E D2 2D 16 5F 1E D2 2E 16 5F 1E D4 2F 16 5E 1E D1 30 16 5F 1E D1 31 16 5F 1E D4 32 16 5F 1E D2 33 16 5F 1E D1 34 16 5F 1E D4 35 16 5F 1E D2 36 16 5F 1E D2 37 16 5F 1E D2 38 16 5F 1E D2 39 16 5F 1E D2 3A 16 5F 1E D5 3B 16 5F 1E D2 3C 16 5F 1E D2 3D 16 5E 1E D4 3E 16 5F 1E D1 3F 16 5F 1E D1 40 16 5F 1E D1 41 16 5F 1E D1 42 16 5F 1E D1 43 16 5F 1E D2 44 16 5F 1E D2 45 16 5F 1E D2 46 16 5E 1E D4 47 16 5F 1E D2 48 16 5F 1E D2 49 16 5F 1E D2 4A 16 5F 1E D2 4B 16 5F 1E D1 4C 16 5F 1E D1 4D 16 5F 1E D1 4E 16 5F 1E D2 4F 16 5F 1E D4 50 16 5F 1E D2 51 16 60 1E D2 52 16 5F 1E D4 53 16 5F 1E D2 54 16 5F 1E D1 55 16 5F 1E D2 56 16 5F 1E D1 57 16 5F 1E D1 58 16 5E 1E D2 59 16 5E 1E D1 5A 16 5F 1E D2 5B 16 5F 1E D1 5C 16 5F 1E D2 5D 16 5E 1E D2 5E 16 5E 1E D2 5F 16 5F 1E D1 60 16 5F 1E D2 61 16 5F 1E D1 62 16 5F 1E D1 63 16 5E 1E D2 64 16 5E 1E D4 65 16 5F 1E D2 66 16 5F 1E D2 67 16 5F 1E D4 68 16 5F 1E D2 69 16 5E 1E D2 6A 16 5E 1E D4 6B 16 5E 1E D1 6C 16 5F 1E D2 6D 16 60 1E D2 6E 16 5F 1E D2 6F 16 5F 1E D2 70 16 5F 1E D2 71 16 5F 1E D2 72 16 5F 1E D1 73 16 5E 1E D4 74 16 5F 1E D2 75 16 5F 1E D2 76 16 5F 1E D5 77 16 5F 1E D2 78 16 5F 1E D2 79 16 5F 1E D2 7A 16 5F 1E D4 7B 16 5F 1E D2 7C 16 5F 1E D1 7D 16 5F 1E D1 7E 16 5F 1E D2 7F 16 5F 1E D3 80 16 5F 1E D2 81 16 5F 1E D2 82 16 60 1E D2 83 16 5F 1E D2 84 16 5F 1E D2 85 16 5F 1E D2 86 16 5F 1E D5 87 16 5F 1E D1 88 16 5E 1E D1 89 16 5F 1E D2 8A 16 5E 1E D1 8B 16 5F 1E D2 8C 16 5F 1E D1 8D 16 5F 1E D1 8E 16 5F 1E D1 8F 16 5F 1E D4 90 16 5F 1E D2 91 16 5F 1E D2 92 16 5F 1E D1 93 16 5F 1E D2 94 16 5F 1E D2 95 16 5F 1E D1 96 16 5F 1E D1 97 16 5F 1E D4 98 16 5F 1E D2 99 16 5F 1E D2 9A 16 5F 1E D2 9B 16 5F 1E

出0入0汤圆

 楼主| 发表于 2010-10-7 17:32:21 | 显示全部楼层
准确来说,也不能算是乱码,好像是丢了一些数据。难道是串口通信数率过快,20ms的周期也不算快啊?

出0入0汤圆

发表于 2010-10-7 18:02:06 | 显示全部楼层
stm32可以做,但估计很累

出0入0汤圆

 楼主| 发表于 2010-10-7 20:05:30 | 显示全部楼层
回复【4楼】yemingxp
-----------------------------------------------------------------------

复杂度的话,我认为FPGA是比用ARM来实现要复杂一点,因为它的每一个模块都要自已去做,并组合起来。不像一个ARM芯片,只需配置一些寄存,再整合一下程序流程就行了。其实,ARM的我们这已经有了弄好了一个版本了。

出0入0汤圆

发表于 2010-10-7 20:43:13 | 显示全部楼层
回复【5楼】chensong0007
-----------------------------------------------------------------------
哈哈看来你没有怎么用FPGA/CPLD哦,这些东西要是用到这个上面!那是没有说啊!呵呵!

出0入0汤圆

发表于 2010-10-7 20:47:47 | 显示全部楼层
用FPGA效果惊艳

出0入0汤圆

发表于 2010-10-7 22:39:20 | 显示全部楼层
这个是FPGA的绝对强项

出0入4汤圆

发表于 2010-10-7 23:02:14 | 显示全部楼层
我做过一个控制舵机的
8位寻址,可以控制255个舵机,  控制角度,控制转速的   实现起来不是很麻烦   控制用串口或者SPI都可以

出0入0汤圆

发表于 2010-10-8 00:34:47 | 显示全部楼层
建议不要主动发数据给上位机,改为上位机询问的方式~!

出0入0汤圆

 楼主| 发表于 2010-10-8 09:28:07 | 显示全部楼层
回复【10楼】jackiezeng
-----------------------------------------------------------------------

回复【9楼】vermon
-----------------------------------------------------------------------

回复【6楼】TigerRay
-----------------------------------------------------------------------

因为上位机只有串口,因此只能靠串口通信,用串口来做查询,冒似要更复杂?

出0入0汤圆

发表于 2010-10-8 09:51:19 | 显示全部楼层
FPGA,最适合。

出0入0汤圆

 楼主| 发表于 2010-10-8 14:33:26 | 显示全部楼层
即然多位大侠都推存FPGA,那我就把下面的部分再调下

PWM的采样捕获,以及输出模块都已经弄好,现在开始调串口模块,调好以后软件部分就差不多了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 17:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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