基于MSP430单片机的Profibus-DP通信接口的开发

网友投稿 293 2022-11-05

基于MSP430单片机的Profibus-DP通信接口的开发

O 引言

方案2中Profibus-DP协议完全由Profibus通信ASIC来实现,单片机主要处理用户程序。因此方案2开发周期相对少很多,本文将采用单片机+Profibus通信ASIC来实现Profibus通信接口的设计。

1 Profibus-DP基本特性

Profibus包括三个兼容系列:Profibus-FMS,Profibus-DP,Profibus-PA。FMS提供大量的通信服务用于完成以中等传输速度进行的循环和非循环的通信服务;DP是一种经过优化的高速廉价的通信连接,适用于实时性要求较高的场合,主要用于自动控制与分散式外设之间的通信;PA是专为过程自动化而设计,具有本质安全性,用于安全性要求较高的场合及总线供电的站点。

1.1 协议结构

Profibus-DP协议采用了ISO/OSI模型的第1层(物理层)、第2层(数据链路层),除去了3~7层,并自定义了用户接口层,这种协议结构保证了数据传输的快速有效。

1.2 报文结构

1.3 Profibus-DP从站状态机

图2为DP从站状态机的简单图示。各种椭圆表示不同的状态,带箭头的连线表示状态间的转换,连线上的文字表示状态转换所需满足的条件。

2 通信接口硬件设计

3 通信接口软件设计

软件设计是开发Profibus-DP通信接口的一个重要环节。由于SPC3集成了完整的DP协议,因此在进行通信时,MSP430单片机不用参与处理DP状态机。主要任务是根据SPC3产生的中断,对SPC3接收到数据转存,组织要通过SPC3发给的数据,并根据要求组织外部诊断。

主程序流程图如图4所示,在SPC3正常工作之前,需要进行初始化,以配置需要的寄存器,包括设置协议芯片的中断允许,写入从站识别号和地址,设置SPC3方式寄存器,设置诊断缓冲区,配置缓冲区,地址缓冲区,初始化长度,并根据以上初始值得出各个缓冲区的指针和辅助缓冲区的指针。根据确定输出缓冲区、输入缓冲区及指针,初始化流程图如图5所示,初始化包括:SPC3硬件复位、硬件模式、设置SPC3中断屏蔽寄存器、SPC3内部看门狗、设备标识号、缓冲区初始化。

中断程序流程图如图6所示,在Profibus-DP中最主要处理以下的中断事件:新的参数报文事件,全局控制命令报文事件,进入或退出数据交换状态事件,新的配置报文事件,新的地址设置报文事件,检测到波特率事件,看门狗事件。

4 结语

选用的MSP430单片机具有高速率、低功耗的特点,SPC3芯片则集成了Profibus-DP全部协议内容,整系统功能相对完善,使用方法简单。本方案用于Profibus-DP通信接口的开发,可以减少开发周期,实现开发的简化。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux进程和计划任务
下一篇:PXE批量自动网络装机
相关文章

 发表评论

暂时没有评论,来抢沙发吧~