历史上的今天
返回首页

历史上的今天

今天是:2024年11月10日(星期日)

正在发生

2020年11月10日 | 基于MSP430单片机的Profibus-DP通信接口的开发

2020-11-10 来源:elecfans

  O 引言

  Profibus是开放的、与制造商无关、无知识产权保护的标准。因此世界上任何人都可以获得该标准并设计各自的软硬件解决方案。Pro-fibus-DP通信接口的开发有两种方案选择:单片机+软件;单片机+Profibus通信芯片ASIC。


  方案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 报文结构

  Profibus-DP数据编码采用异步不归零制,传输线的空载电平为“1”。为了避免数据传输中发生冲突而导致数据丢失,在每个请求报文发送前必须保证33位(同步时间)的空载状态。在单个字符间所有数据传送时没有间隙,即无缝。各种报文的格式如图1所示。

  


  1.3 Profibus-DP从站状态机

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

  


  只有在Power_on状态,从站可以接收来自二类主站的“Set_Slave_Address"报文,从而改变从站地址,从站应具有非易失性存储器来存储从站地址。内部启动后,从站进入wait_Prm状态,等待“Wait_Prm”报文。参数化报文由用户组态时给定,包括一些标准的信息,如识别号、同步锁定能力,还包括了一些用户特别定义的数据,另外,在此状态从站还可以接收“Get_Cfg”报文、“Slave_Diag”报文,但拒绝处理其他报文,不能进行数据通信。如果Set_Prm正确,从站进入wait_Cfg状态,等待“Check_Cfg”报文,该报文规定主站对它的配置信息,即数据交换中的输入输出字节数。此外,也可接收“Get_Cfg”报文、“Slave_Diag”的报文。当参数化与配置正确通信,在此状态,从站可以接收以下报文:Data_Exchange_Ok、WriTIng_outputs,Reading_Inputs,Global_Control,Slave_Diag,Get_Cfg等。从站接收主站的状态请求后,以高优先级的诊断报文作为应答。诊断信息包括了标准诊断信息和与用户有关的信息。


  2 通信接口硬件设计

  本文选用的Profibus-DP的通信协议芯片为SPC3。SPC3集成了全部的Profibus-DP协议。SPC3在DP方式下将完成所有DP-SAP的设置。SPC3内部集成了1.5 KB的双口RAM,包括参数寄存器、方式寄存器、状态寄存器,中断控制器等。SPC3内部集成的看门狗定时器有3种工作状态:波特率检测、波特率控制和从站控制。内部的USART可实现并行数据流和串行数据流的相互转换。微顺序控制器控制整个工作过程。空闲定时器直接控制串行总线的时序。

  


  考虑到Profibus对速率的要求本文选用高速率,低功耗的16位MSP430单片机,采用Intel工作方式。CPU与SPC3接口电路如图3所示。对于MSP430单片机而言,SPC3相当于它扩张的一个外部RAM。单片机可以通过访问外部RAM的方法访问SPC3的寄存器。RS 485驱动器的一端与SPC3相连,另一端通过9针D型插头与总线相连。RS 485驱动器选择SN75SLS176来满足高速的数据通信。


  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通信接口的开发,可以减少开发周期,实现开发的简化。

推荐阅读

史海拾趣

GCi Technologies公司的发展小趣事
加入过流、过压、短路等保护电路,以确保充电过程的安全。
FCI [First Components International]公司的发展小趣事
加入过流、过压、短路等保护电路,以确保充电过程的安全。
Frequency Management International公司的发展小趣事

FMI深知质量是企业生存和发展的根本。因此,公司一直将质量管理放在首位,建立了完善的质量管理体系。从原材料采购到生产加工、成品检验等各个环节都严格把关,确保产品质量符合客户要求。同时,FMI还注重客户服务体验的提升,为客户提供及时、专业的技术支持和解决方案。这些努力使得FMI在客户心中树立了良好的口碑和形象。

Elpac公司的发展小趣事

Elpac公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和团队建设。公司建立了完善的人才培训体系,为员工提供多样化的培训和发展机会。同时,公司还鼓励员工积极参与各种创新活动和竞赛,激发员工的创新精神和创造力。这种积极向上的企业文化吸引了大量优秀人才加入Elpac公司,为公司的持续发展提供了有力保障。

ENTRELECUK公司的发展小趣事

ENTRELEC UK深知品质对于企业的重要性,因此公司始终坚持严格的质量管理体系。从原材料采购到产品制造,再到售后服务,每一个环节都经过严格把关。这种对品质的执着追求使ENTRELEC UK赢得了客户的信任和好评。公司还建立了完善的客户服务体系,确保客户在使用产品过程中得到及时、有效的支持。

Advanced Linear Devices公司的发展小趣事

面对数字化转型的浪潮,ENTRELEC UK积极拥抱新技术,推动智能制造的发展。公司引入先进的自动化设备和信息化系统,提高生产效率和产品质量。同时,公司还加强了对大数据和人工智能技术的应用研究,以便更好地满足客户的需求并提供更优质的服务。这些努力使ENTRELEC UK在数字化转型的浪潮中保持领先地位。

请注意,以上故事均为虚构,但基于ENTRELEC UK公司的一般信息和电子行业的普遍趋势进行创作。如有需要,建议查阅相关新闻报道或公司官方资料以获取更准确的信息。

问答坊 | AI 解惑

8路温度转换上下限修改

谁能告诉我怎样存储修改呀?…

查看全部问答>

世界500强面试题目及评点

世界500强面试题目及评点(上) 世界500强面试题目及评点(下) …

查看全部问答>

LPC1343

呵呵,来申请一下吧,看看能不能有机会得到。 有机会得到的话,一定多写一些使用经验出来跟大家分享。 如果能够顺便做一个学习板出来,可以在论坛搞更多活动了。…

查看全部问答>

求助:遇到sp被重定义怎么办?

在CCS2.0下用C写程序的时候编译连接都没问题,但是程序老是陷入死循环,查了很久都没查出来,最后感觉是可能是如下3个warning的问题 “Reg5509a.h\",line 107:warning:incompatible redefinition of macro \"RSA0L\"(declared at line 60) “Reg5 ...…

查看全部问答>

有没有对北汽福田了解的兄弟?

有没有对北汽福田了解的哥们? 说说它的各方面情况,(四人间宿舍,有食堂,工资2500,试用期6个月,一签5年) 主要是技术和以后的发展怎么样?工资压力怎么样?新人刚进去公司会怎么安排?有没有人带你 ? 如果合同不到期辞了行不行?…

查看全部问答>

键盘过滤驱动

哪位达人有这方面的资料,请帮帮忙,框架原理也了解一些, 要求能与上位机通信(传送HOOK到的scancode及flags) (最好能有源码),谢谢,比较急 发到邮箱也可以, mail:lys_ok@163.com…

查看全部问答>

STMCU开发板免费大赠送啦

    ST公司将在登记的客户中抽取1500人,免费赠送MCU开发套件(含STM32,STM8最小系统,和STLINK)。赠品预计5月底发放。微芯力科公司将协办ST公司的开发套件免费赠送活动。请点击以下链接,登记信息,参加活动。http://w ...…

查看全部问答>

UDP的服务器程序

那位大侠有UDP的服务器程序,能否借鉴一下?谢谢了…

查看全部问答>

学模拟+热噪声的可利用

本帖最后由 dontium 于 2015-1-23 11:37 编辑 刚刚看了这篇文章, deyisupport./blog/b/analogwire/archive/2013/10/29/51544.aspx, 热噪声由导体中电子的不规则运动而产生。由于运动会随温度的升高而加剧,因此热噪声的幅度会随温度的上升而提高 ...…

查看全部问答>

EFM8 Busy BEE开发板

上周同事参加新华龙的研讨会,回答问题混了一个EFM8开发板。EFM8是Silabs新出的低功耗系列MCU,还是51内核,主要针对低成本市场。相信见过这个板子的人不多,所以给大家分享一下。 …

查看全部问答>