打印

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

[复制链接]
2477|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 | 只看该作者
我也感觉吃力

使用特权

评论回复
5
ayb_ice| | 2011-2-24 16:33 | 只看该作者
LS
估计你是没有什么实际项目经验

使用特权

评论回复
6
xusnwise| | 2011-2-24 19:07 | 只看该作者
本帖最后由 xusnwise 于 2011-2-24 19:12 编辑

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


顺便说明下,俺也没什么项目经验。我也是这样看的

使用特权

评论回复
7
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通信

大家建议下啊。 谢谢!

使用特权

评论回复
8
ayb_ice| | 2011-2-25 08:36 | 只看该作者
LZ果然高手啊
高射**打蚊子

使用特权

评论回复
9
nevsayno| | 2011-2-25 08:54 | 只看该作者
LZ 高手已经给你指路了 你非得走弯路
就你的描述 使用STM那是绰绰有余啊

使用特权

评论回复
10
不锈钢铁| | 2011-2-25 09:25 | 只看该作者
不明白,待学习

使用特权

评论回复
11
gx_huang| | 2011-2-25 12:44 | 只看该作者
就是么,LZ是教授、博导级别的,俺们是工程师,不在一个档次。

使用特权

评论回复
12
zealot_xx|  楼主 | 2011-2-25 15:54 | 只看该作者
顶。
请做过实时采集在485和CAN上用MODBUS协议通讯项目的大侠发表下看法。

另外再说一下,采集的模拟量是绝对不能丢点的。
用标准51就能实现真的能实现吗?
大家评论下。
我自己吃不准,万一用一片STM32解决不了,到时项目推迟就不好过了。

使用特权

评论回复
13
yewuyi| | 2011-2-25 17:06 | 只看该作者
如果采集的数据不需要经过特别复杂的运算的话,那么这个设计用STM32跑72M就有点匪夷所思了。

用STM8跑8M也是笑嘻嘻。。。

使用特权

评论回复
14
ejack| | 2011-2-25 22:37 | 只看该作者
采集的数据经MCU运算处理

主要是这个“运算处理”的任务量不好估计……不过20ms周期采集的数据应该也不会需要进行多么复杂的处理……

使用特权

评论回复
15
mxh0506| | 2011-2-25 23:40 | 只看该作者
问题中有几个关键点没说清楚吧?
1、开关量的采集频率有多高?
2、控制8路开关量输出的算法复杂度有多高?
3、4路模拟输入到哪里?片内ADC还是片外?如果是片外ADC,与STM32通过何种接口连接,输出位数?
4、数据处理算法的复杂度?

使用特权

评论回复
16
huangqi412| | 2011-2-26 09:15 | 只看该作者
:o

使用特权

评论回复
17
new1988| | 2011-2-26 09:54 | 只看该作者
1秒钟200个点很高?   我用单周期的51,20ms采32个点,然后平方,求和,再开方!晶振也只用8M,还有其他的,照样处理过来。

使用特权

评论回复
18
liumapple| | 2011-2-28 09:41 | 只看该作者
1。2的要求不算高。普通单片机都跑的了。
我们公司采集16路开光量输入,输出7路开光量。采集6路模拟。输出一个PWM波。
外加一个LCD和两个电机。用PIC16F跑4M都够。
只是多加个485通信应该不会复杂吧。

使用特权

评论回复
19
chengj8888| | 2011-2-28 10:30 | 只看该作者
能否用MEGS8做方案,

使用特权

评论回复
20
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

粉丝