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

发布者:w2628203123最新更新时间:2020-11-10 来源: elecfans关键字:MSP430  单片机  Profibus-DP通信接口 手机看文章 扫描二维码
随时随地手机看文章

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

关键字:MSP430  单片机  Profibus-DP通信接口 引用地址:基于MSP430单片机的Profibus-DP通信接口的开发

上一篇:基于Launchpad的串行莫尔斯电码发射器
下一篇:基于MSP430的低功耗RF/红外控制器的设计

推荐阅读最新更新时间:2024-11-12 16:49

一种以AVR单片机为核心的工频电压/频率仪设计
  1.引言   在电力生产和电气测试工作中,经常需要测量工频电压和频率。目前市面上工频电压表和频率表种类繁多,本设计与其相比具有电路简单、体积小、功耗低、性价比高等特点。利用低价位具备AVR高档单片机性能的ATmega8单片机,设计工频电压和频率两用测量仪。ATmega8单片机除了有A/D转换和定时计数器功能外,其内部的模拟比较器在测量频率电路中省了测量过零电路;I/O端口20mA驱动能力直接驱动LED数码管,省了驱动电路。使整个硬件电路非常简单。   2.硬件设计   基于ATmega8单片机工频电压/频率仪设计硬件电路如图1所示。以单片机为核心,加上少量的外部元件构成。      图1中:T1是电源变压器和电压互感
[单片机]
一种以AVR<font color='red'>单片机</font>为核心的工频电压/频率仪设计
PIC单片机实现8个数码管实现循环显示的设计
8个数码管滚动显示同一个数字 8个数码管显示多个不同的字符 8个数码管闪烁显示 8个数码管滚动显示数字串 #include __CONFIG(0x3B31); unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71};//0-F--共阴极数码管 #defineLEDPORTB void delay1ms(unsigned int x) { unsigned char i; for(;x》0;x--) for(i=0;i《165;i++); } void init() { TRISB=
[单片机]
PIC<font color='red'>单片机</font>实现8个数码管实现循环显示的设计
STM32单片机简介
1、STM32简介 STM32中的ST指的是意法半导体,M是Microelectronics的缩写,32表示32位,即意法半导体公司开发的32位微控制器。 2、stm32分类 3、stm32命名方式 根据对芯片的命名方式的解读及项目需要,就可以选择出我们所需要的芯片了。 4、stm32容量划分及代码占用容量计算 STM32的IC可以通过容量的不同进行划分,有小容量、中容量和大容量之分。 小容量IC指的是FLASH容量在16KByte到32KByte。 中容量IC指的是FLASH容量在64KByte到128KByte。 大容量IC指的是FLASH容量在256KByte到512KByte。 如何计算我们的代码占用多大的FL
[单片机]
STM32<font color='red'>单片机</font>简介
TI全新MCU软件在工业系统中实现亚微秒级电流回路
用于实时C2000 MCU的TI DesignDRIVE快速电流环路软件可在避免复杂性设计的同时达到FPGA解决方案的性能水平 德州仪器 (TI)日前宣布推出DesignDRIVE快速电流环路(Fast Current Loop)软件,使C2000 微控制器(MCU)成为业界首款电流环路性能低于1微秒的器件。TI的C2000 MCU产品组合与DesignDRIVE软件共同提供了片上系统(SOC)功能,并简化了驱动控制系统的开发。新型DesignDRIVE快速电流环路软件不仅在性能上优于传统基于MCU的电流环路解决方案,同时还能通过取消通常用于外部电流环路控制的现场可编程门阵列(FPGA)来简化设计。快速电流环路软件是C2000
[单片机]
MCU大科普
微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。 任何一款 MCU ,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、
[汽车电子]
STM32单片机----外部中断EXTI学习
可屏蔽中断和不可屏蔽中断: 按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏蔽中断。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(NonMaskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Iinterrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。 GPIO口与EXTI外中断的映像图:
[单片机]
STM32<font color='red'>单片机</font>----外部中断EXTI学习
高性价比MCU的传奇 —— STM32H7系列
STM32可以列出很多关键词,跨界通用、全面覆盖、完整生态、超低功耗、多种应用。而高性价比是最受用户关注的关键词。 从2007年推出世界第一款Cortex-M MCU,到2020年新推出的H7系列高性能大内存产品,十几年来,ST在MCU市场上不断加大创新力度,STM32持续出新。5大家族、17条产品线、千款型号、I/O兼容,STM32大家族跨越通用、超低功耗、高性能和超高性价比MCU,全面覆盖各种应用需求,打造出了32位MCU的大帝国。 谈到STM32的高性能家族产品,大家已经对STM32F2/F4/F7耳熟能详。之后的STM32H7系列继承和发展了高性能产品家族的特性,其中单核的H743/750和双核745/747也已经得到了
[单片机]
基于MCS-51单片机的定时报警器电路原理图
  选用MCS-51系列AT89S51单片机作为微控制器,选择两个四联的共阴极数码管组成8位显示模块,由于 AT89S51单片机驱动能力有限,采用两片74HC244 实现总线的驱动,一个74HC244完成位控线的控制和驱动,另一个 74HC244 完成数码管的 7段码输出,在输出口上各串联一个 100欧姆的电阻对7 段数码管限流。   由于键盘数量不多,选择独立式按键与 P1口连接作为四个按键输入。没有键按下时 P1.0-P1.3为高电平,当有键按下时,P1.0-P1.3相应管脚为低电平。电路原理图如下图所示。
[单片机]
基于MCS-51<font color='red'>单片机</font>的定时报警器电路原理图
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved