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

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

【摘要】:嵌入式模块COM-C提供的主机接口是双端口内存,用户应用程序通过DPM接口来访问该模块。图6-31 双端口内存地址空间用户应用程序通过双端口内存来访问PROFIBUS-DP主站嵌入式模块COM-C,该双端口内存分为两个部分:协议无关与协议相关。7)系统状态:嵌入式模块COM-C中运行的操作系统的状态信息和模块的基本信息。

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

1.双端口内存DPM结构

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

978-7-111-35607-3-Chapter06-140.jpg

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

用户应用程序通过双端口内存来访问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中运行的操作系统的状态信息和模块的基本信息。(www.chuimin.cn)

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

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

2.驱动程序的设计

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

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

978-7-111-35607-3-Chapter06-141.jpg

图6-32 设备驱动框架

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

3.应用程序的设计

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

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

978-7-111-35607-3-Chapter06-142.jpg