首页 理论教育DP主站软件设计:基于嵌入式通信模块COM-C

DP主站软件设计:基于嵌入式通信模块COM-C

【摘要】:嵌入式模块COM-C提供的主机接口是双端口内存DPM,用户应用程序通过DPM接口来访问该模块。7)系统状态:嵌入式模块COM-C中运行的操作系统的状态信息和模块的基本信息。

嵌入式模块COM-C提供的主机接口是双端口内存DPM,用户应用程序通过DPM接口来访问该模块。同时,为了提高整个系统的实时性和可靠性,主机系统使用的是实时多任务操作系统Linux。因此,在进行软件设计时,主要完成驱动程序以及应用程序的编写。

1.双端口内存DPM结构

嵌入式模块COM-C提供的双端口内存DPM接口是8 KB的地址空间,其具体结构如图6-54所示。

978-7-111-55649-7-Chapter06-92.jpg

图6-54 双端口内存地址空间

用户应用程序通过双端口内存DPM来访问PROFIBUS-DP主站嵌入式模块COM-C,该双端口内存分为两个部分,协议无关(循环数据地址空间)与协议相关(非循环数据地址空间)。循环数据包含PROFIBUS-DP主站与从站之间相互交换的过程映像输入输出数据,非循环数据包含与PROFIBUS-DP协议相关的参数、报文、命令和状态等数据。

1)过程映像输出数据:主机用户程序发送给PROFIBUS-DP从站的输出数据。

2)过程映像输入数据:PROFIBUS-DP从站发送给主机用户程序的输出数据。

3)发送邮箱:主机用户程序发送给PROFIBUS-DP从站的非循环报文信息,命令、诊断和配置文件下载等。

4)接收邮箱:PROFIBUS-DP从站发送给主机用户程序的非循环报文信息,从站报警、状态和配置文件上传等。

5)协议参数:PROFIBUS-DP协议参数信息,波特率、看门狗时间和循环时间等。

6)协议状态:PROFIBUS-DP网络状态信息,网络状态、错误和超时等。

7)系统状态:嵌入式模块COM-C中运行的操作系统的状态信息和模块的基本信息。

8)状态/握手标志:设备初始化状态信息,过程映像输入输出数据和邮箱报文同步位,模块写,主机应用程序读。(www.chuimin.cn)

9)命令/握手标志:用户应用程序状态信息,过程映像输入输出数据和邮箱报文同步位,主机应用程序写,模块读。

2.驱动程序的设计

赫优讯公司提供基于PCI接口、Compact-PCI接口的Linux设备驱动,在该系统中,主机CPU直接对嵌入式模块COM-C进行访问,因此可以借鉴提供的Linux设备驱动代码,进行移植。

Linux设备驱动主要完成对嵌入式模块COM-C双端口内存的访问,提供一个通用的驱动程序接口,用户程序通过调用接口函数来访问PROFIBUS主站嵌入式模块COM-C。Linux设备驱动的框架如图6-55所示,这样做的好处就是,如果以后要使用赫优讯公司的其他类型的现场总线(如DeviceNet、CANopen)嵌入式模块COM-C,Linux设备驱动不需要改变,直接可用。

Linux设备驱动主要实现的函数见表6-22。

978-7-111-55649-7-Chapter06-93.jpg

图6-55 设备驱动框架

表6-22 Linux设备驱动函数表

978-7-111-55649-7-Chapter06-94.jpg

(续)

978-7-111-55649-7-Chapter06-95.jpg

3.应用程序的设计

应用程序主要实现的功能:配置文件的远程接收和下载、与远程监控系统网络数据的收发和网络监控等。