请教下大家:数据采集方案是否可行

[复制链接]
3569|19
 楼主| zealot_xx 发表于 2011-2-24 16:05 | 显示全部楼层 |阅读模式
1 要求采集16路开关量输入,控制8路开关量输出。
2 采集4路模拟量输入,模拟量采集周期20mS.这样1s就是200个点
同时有2路模拟量输出。
3 采集的数据经MCU运算处理,结果发送到RS485网络上或者CAN 网络上
RS485和CAN的会话层协议必选用MODBUS.

不知这样的系统用一片 stm32 运行到72m能否处理的过来。
请教下大家是怎么看的, 谢谢!
ayb_ice 发表于 2011-2-24 16:19 | 显示全部楼层
就这还要用STM32,标准的51都可以啊
 楼主| zealot_xx 发表于 2011-2-24 16:23 | 显示全部楼层
我怎么感觉有点吃力呢?
不说can了,就只是在485用个MODBUS,也要求开个定时器来确定一帧
数据是否结束的啊,不是有个大于3.5mS的bus Selient time 吗
这样用来服务模拟量采集的轮询时间4—5ms就很紧张了,
如果用can 的话更复杂些, 楼上怎么考虑的呢,

谢谢您的指点!
china_fog 发表于 2011-2-24 16:32 | 显示全部楼层
我也感觉吃力
ayb_ice 发表于 2011-2-24 16:33 | 显示全部楼层
LS
估计你是没有什么实际项目经验
xusnwise 发表于 2011-2-24 19:07 | 显示全部楼层
本帖最后由 xusnwise 于 2011-2-24 19:12 编辑

我看也处理不过来。
估计会丢数据,因为你的MODBUS通信时是不能被打断的,
而你的模拟量的采集必须1s内采集200个点。


顺便说明下,俺也没什么项目经验。我也是这样看的
 楼主| zealot_xx 发表于 2011-2-25 08:17 | 显示全部楼层
谢谢大家的发言。我目前的看法是: 1, 用个epc3之类的FPGA,上面跑个NIOS用来采集模拟和数字 量,剩余的资源用作双口RAM,NIOS只管往里面写数据,另外用一片stm32从双口RAM里读数据做PID等运算处理和485,CAN通信。
第2种方法: 用2个STM32,一个负责扫描模拟数字量,用一片IDT7132之类的双口RAM缓冲,另一片STM32读数据PID运算同时MODBUS协议485和
CAN通信

大家建议下啊。 谢谢!
ayb_ice 发表于 2011-2-25 08:36 | 显示全部楼层
LZ果然高手啊
高射**打蚊子
nevsayno 发表于 2011-2-25 08:54 | 显示全部楼层
LZ 高手已经给你指路了 你非得走弯路
就你的描述 使用STM那是绰绰有余啊
不锈钢铁 发表于 2011-2-25 09:25 | 显示全部楼层
不明白,待学习
gx_huang 发表于 2011-2-25 12:44 | 显示全部楼层
就是么,LZ是教授、博导级别的,俺们是工程师,不在一个档次。
 楼主| zealot_xx 发表于 2011-2-25 15:54 | 显示全部楼层
顶。
请做过实时采集在485和CAN上用MODBUS协议通讯项目的大侠发表下看法。

另外再说一下,采集的模拟量是绝对不能丢点的。
用标准51就能实现真的能实现吗?
大家评论下。
我自己吃不准,万一用一片STM32解决不了,到时项目推迟就不好过了。
yewuyi 发表于 2011-2-25 17:06 | 显示全部楼层
如果采集的数据不需要经过特别复杂的运算的话,那么这个设计用STM32跑72M就有点匪夷所思了。

用STM8跑8M也是笑嘻嘻。。。
ejack 发表于 2011-2-25 22:37 | 显示全部楼层
采集的数据经MCU运算处理

主要是这个“运算处理”的任务量不好估计……不过20ms周期采集的数据应该也不会需要进行多么复杂的处理……
mxh0506 发表于 2011-2-25 23:40 | 显示全部楼层
问题中有几个关键点没说清楚吧?
1、开关量的采集频率有多高?
2、控制8路开关量输出的算法复杂度有多高?
3、4路模拟输入到哪里?片内ADC还是片外?如果是片外ADC,与STM32通过何种接口连接,输出位数?
4、数据处理算法的复杂度?
huangqi412 发表于 2011-2-26 09:15 | 显示全部楼层
new1988 发表于 2011-2-26 09:54 | 显示全部楼层
1秒钟200个点很高?   我用单周期的51,20ms采32个点,然后平方,求和,再开方!晶振也只用8M,还有其他的,照样处理过来。
liumapple 发表于 2011-2-28 09:41 | 显示全部楼层
1。2的要求不算高。普通单片机都跑的了。
我们公司采集16路开光量输入,输出7路开光量。采集6路模拟。输出一个PWM波。
外加一个LCD和两个电机。用PIC16F跑4M都够。
只是多加个485通信应该不会复杂吧。
chengj8888 发表于 2011-2-28 10:30 | 显示全部楼层
能否用MEGS8做方案,
coody 发表于 2011-2-28 10:31 | 显示全部楼层
LZ,用8位的就能轻松完成。

我有一个控制卡,用STC12C5A6032S2做的。
16路开关量输入、16路开关量输出,采样、书信周期为1ms。165、595扩展。
10路模拟量输入,TLC2543,采样2ms间隔。
两路硬件串口(38400)接两台上位机随机访问,2路软件串口(9600)接下面的10多台设备,MODBUS-RTC协议。
2路频率输出(0~20KHZ)给步进马达控制器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

1

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