打印

求高人指点:设计一套 高速率可扩展背板总线

[复制链接]
2577|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
over_look|  楼主 | 2013-4-22 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求:

1.最大限度提高模块间数据交换速率;

2.最大限度的解放主CPU。


概述:

PLC主机 通过背板总线支持扩展模块的连接, 背板总线是PLC 主机同I/O扩展模块之间的高速数据通路,支持主机和扩展模块之间的I/O 数据刷新。PLC 大多采用串行通信技术实现背板总线,串行总线引线少、硬件成本低,跟并行总线相比不容易受干扰,串行总线可以提高在恶劣的工厂和工业环境下自动化设备的可靠性用于串行通信技术的可选类型包括I2C、UART、SPI、USB 和以太网等;一般来说,很多作为PLC 主芯片的单片机自身都集成了这些外设部件。但是单片机内部集成的I2C、UART、SPI 外设通信速率太慢,根本不能满足底板总线的通信速度要求.USB 和以太网的通信速度虽然很快但由于它们都是通用的接口,在通信协议处理时需要单片机的干预,单片机处理数据速度较慢,因此整体通信速度仍然很慢.

背板总线工作原理(基于背板总线的数据通信流程)如下:

(1)PLC 主机的命令通过主机协议芯片发送到背板总线;

(2)从机协议芯片把接收到的命令给扩展模块的单片机, 某一个扩展模块的单片机做出应答,通过从机协议芯片把应答数据送往背板总线;

(3)主机协议芯片收到应答数据,并送往PLC主机的单片机。


方案:

PLC 主机发往背板总线的数据可以分成两类:一类是I/O 刷新数据,具有周期性,数据交换非常频繁;另一类是诊断性数据,具有非周期性,出现机会较少。

有两种方案1)基于CPLD的PLC背板总线协议接口设计,设计一组基于CPLD的PLC背板总线协议接口芯片,协议芯片可以区分PLC的背板总线的周期性数据和非周期性数据.(2)采用USB 或以太网的通信方式,每个PLC使用双单片机共享双口RAM进行数据读写.
https://bbs.21ic.com/data/attachm ... syczfcz2ffyyyv6.jpg

相关帖子

沙发
over_look|  楼主 | 2013-4-22 10:02 | 只看该作者
有经验的来说两句吧。拜托了。

使用特权

评论回复
板凳
liusensen| | 2013-4-22 11:30 | 只看该作者
分析不出来   先顶一下  

使用特权

评论回复
地板
airwill| | 2013-4-23 08:41 | 只看该作者
要求:
1.最大限度提高模块间数据交换速率;
2.最大限度的解放主CPU。

没有这样提要求的吧, 要求应该:  数据谈吐率最小要达到多少.
如果让人家分析, 那么:
命令通过主机协议芯片发送到背板总线;   你连协议芯片什么型号都不提供, 让人怎么捉摸?

使用特权

评论回复
5
受不了了| | 2013-4-23 12:04 | 只看该作者
就刷新输入输出,信息量应该很小的,而且都是毫秒级别,只是如果有立即输出或者中断的输入那就不知道咋整了,没用过大型的PLC,不知道那些扩展模块支持中断不:(

使用特权

评论回复
6
over_look|  楼主 | 2013-4-24 08:23 | 只看该作者
协议芯片打算用CPLD做,到底用什么协议,用什么总线。这是讨论的问题。

使用特权

评论回复
7
mmuuss586| | 2013-4-24 12:38 | 只看该作者
可以用CPLD,协议可以自己定啊。
可以看先ARM和FPGA通讯的资料
用STM32或DSP都有很多成熟方案

使用特权

评论回复
8
over_look|  楼主 | 2013-4-26 09:13 | 只看该作者
用CPLD 可以解MODBUS协议吗?

使用特权

评论回复
9
charrijon| | 2013-4-27 20:48 | 只看该作者
用CPLD可以解MODBUS,但是耗得资源比较多

使用特权

评论回复
10
haiyuanliu| | 2013-5-7 20:20 | 只看该作者
看起来你是个做PLC的新人,那就给你讲讲~
1、对于速率:背板的速率并不需要太高,几百K到几兆足以,整个系统运行周期可以在1-10ms左右,这其中已包涵背板通信时间。
2、小型PLC和大型PLC的做法:小型PLC一般都是直接用CPU模块内的CPU芯片上的硬件资源来做,UART\CAN等,速度完全没问题我们做过。大型PLC内是有一个专门负责通信的通信卡,此卡一板也在CPU模块内,与CPU直接交换数据,另一侧去与IO交换数据,大型PLC的背板通信一般比较快,上几十兆的。
3、立即输出和中断:这两个指令在小型PLC内只有CPU模块支持,其它模块是不支持的。
4、数据交换:所有数据必须每次刷新,否则应用中容易出错。
5、估计应该是你们的软件没做好,才会提出这个要求。
如果需要我可以帮你设计liujianzhong123#163.com

使用特权

评论回复
11
airwill| | 2013-10-26 11:52 | 只看该作者
用于 VMEbus 背板的 SN74VMEH22501 通用总线收发器
scyb009.pdf (268.43 KB)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:青岛 电子电气同僚群6770360,欢迎青岛的电工加入

3

主题

40

帖子

1

粉丝