您当前的位置:五五电子网电子知识电工技术电工技术由RS-232串口到PROFIBUS-DP总线的转换接口 正文
由RS-232串口到PROFIBUS-DP总线的转换接口

由RS-232串口到PROFIBUS-DP总线的转换接口

点击数:7448 次   录入时间:03-04 11:58:09   整理:http://www.55dianzi.com   电工技术
  3.5微处理器接口

  微处理器AT89LS8252由以下几部分组成:一个8位中央处理器(CPU),片内8K字节的Flash存储器,2K字节的EEPROM,片内256字节的SRAM,4个8位的双向可寻址I/O端口,一个全双工UART串行接口,具有SPI接口,含有WATCHDOG、定时器等,可满足接口对程序、配置数据、PROFIBUS标准对异步通信等的需要。AT89LS8252外接24MHZ晶振。。通过对SPC3的控制实现PROFIBUS的通信,并在RAM中建立PROFIBUS通信数据缓冲区。另一方面,通过RS-232接口实现和外部现场设备的通信,同样在RAM中建立RS-232通信数据缓冲区。CPU通过两个通信缓冲区的数据交换,实现PROFIBUS到RS-232的通信。

  4.软件设计

  在西门子公司的DP从站开发包PACKAGE4中,包括面向SPC3的C原码固态程序DPS2。利用它所提供的用户宏接口,可以方便的实现SPC3中各寄存器及缓冲区的初始化设置,根据中断源类型实现与主站通信数据的接受与发送。因此单片机不需要考虑从站状态机的实现顺序。

其中,有以下三个部分需要重点说明。

  (1)SPC3初始化

  微处理器对SPC3的初始化包括:屏蔽不允许的中断;设置用户WatchDog值;将ID号、从站地址赋给SPC3对应寄存器,初始化方式寄存器;自定义各buffer长度,初始化spc3中各buffer(地址、长度赋给对应参数寄存器,并将buffer区清0);从read-cfg-buffer中读入配置数据计算三个Din-buffer和三个Dout-buffer各自的实际长度及地址;获取三个Din-buffer中空闲的一个,其地址赋user_input_buffer_ptr_fb;获取两个诊断buffer中空闲的一个地址赋user_diag_buffer_ptr_fb,置诊断标志user_diag_flag_fb=TRUE;从StatusRegister取波特率赋;给处理器参数wd_baud_ctrl_val赋值。考虑到在实际的系统运行中,一般不需要更改从站地址,初始化中将更改站地址标志置为FALSE。

  (2)数据通信过程

  当参数化、配置完成后状态机进入数据交换状态。微处理器根据SPC3中断寄存器的状态对SPC3接收到的主站发送的输出数据进行转存,同时组织需通过SPC3发送给主站的数据,并根据要求组织外部诊断等。

  在RS-232串口通信程序设计中,分别设有串口接受中断、发送中断程序来处理串口数据的接受和发送。由于PROFIBUS侧的数据更新速率远远快于RS-232侧的数据更新的速率,为保证由PROFIBUS侧输入的数据能一次性的整块传送到RS-23

  2侧,需在程序中加一数据缓冲区来临时存储PROFIBUS侧输入的数据。在对数据缓冲区中的数据的处理期间,数据缓冲区加锁,以防止数据缓冲区中数据更新,只有一次处理完成,数据缓冲区才解锁,允许再次更新其中数据。

  在每一次程序循环中,程序一次性的将整块PROFIBUS侧的输入数据读入一数据缓冲区中并将其加锁,进行数据处理,输出到RS-232侧的设备中,接受RS-232侧的返回信息;如果数据缓冲区中的PROFIBUS侧的输入数据数据处理完毕,数据缓冲区解锁,将RS-232侧的输入数据及信息传送到PROFIBUS侧。依次再循环。

  (3)在主站配置中要注意,虽然本产品的I/O数量可根据PROFIBUS规范任意设定,但配置报文的长度是固定的。

  结束语

上一页  [1] [2] [3] [4]  下一页


本文关键字:接口  电工技术电工技术 - 电工技术

《由RS-232串口到PROFIBUS-DP总线的转换接口》相关文章>>>