CN1298150A - 现场总线外围设备主站的软件实现方法 - Google Patents
现场总线外围设备主站的软件实现方法 Download PDFInfo
- Publication number
- CN1298150A CN1298150A CN 00136277 CN00136277A CN1298150A CN 1298150 A CN1298150 A CN 1298150A CN 00136277 CN00136277 CN 00136277 CN 00136277 A CN00136277 A CN 00136277A CN 1298150 A CN1298150 A CN 1298150A
- Authority
- CN
- China
- Prior art keywords
- data
- main
- automat
- mailbox
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 11
- 238000011065 in-situ storage Methods 0.000 title abstract 2
- 238000004891 communication Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 19
- 230000009977 dual effect Effects 0.000 claims description 13
- 238000003745 diagnosis Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 230000008676 import Effects 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011121 hardwood Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种现场总线分散外围设备主站的软件实现方法,其特征是:在DSP数字信号处理器中,集成现场总线分散外围设备即PROFIBUS-DP主站的所有协议,与PROFIBUS-DP从站连接,同时外接总线接口及驱动装置和双口RAM,通过运行DSP数字信号处理器内的程序,就可以达到PROFIBUS-DP主站软件实现的功能,采用软件实现PROFIBUS-DP主站协议,可以代替专用协议芯片,因此,能够降低开发成本,实现自主开发。
Description
本发明属于计算机现场总线外围设备领域,尤其涉及一种现场总线外围设备主站的软件实现方法。
在目前的现场总线外围设备主站,即PROFIBUS-DP主站,均采用专用协议芯片,大多为SIEMENS制造的协议芯片ASPC2,在此协议芯片中,集成了全部EN50170层1和层2协议。但是,采用此种方法实现PROFIBUS-DP主站,运行成本很高。
本发明的目的是提供一种能够代替专用协议芯片,降低运行成本的现场总线外围设备主站的软件实现方法。
本发明的技术方案是:一种现场总线分散外围设备主站的软件实现方法,其特征是:
(1)在DSP数字信号处理器中,集成现场总线分散外围设备即PROFIBUS-DP主站的所有协议,与PROFIBUS-DP从站连接,同时外接总线接口及驱动装置和双口RAM,其中总线接口包括一个有大输入输出FIFO的UART,DSP数字信号处理器、总线接口及驱动装置和双口RAM共同构成通讯卡,DSP数字信号处理装置通过UART发送和接收总线上的数据;
DSP数字信号处理器通过双口RAM与用户交互,双口RAM有两个重要的数据区域,一个是邮箱,另一个数据交换区,在通讯时,用户和通讯卡通过邮箱传递命令和响应,通过数据交换区传递输入输出数据,同时邮箱还是数据集下装的通道;
为了实现PROFIBUS-DP主站自动机的主要功能,DSP数字信号处理器,还需要运行一些辅助程序,这些辅助程序包括:定时器和启动逻辑程序、邮箱命令执行程序;
(2)通过运行DSP数字信号处理器内的程序,就可以达到PROFIBUS-DP软件实现的功能,其具体工作步骤是:
1)系统上电,用户根据通讯系统的组态,向邮箱输入供通讯卡运行的数据集,同时,DSP开始循环执行主自动机及定时、启动逻辑程序和邮箱命令执行器程序;
①主自动机首先首先进行初始化过程,即主自动机首先设置为离线状态,并在此状态下,读取用户输入到邮箱中的数据集,为通讯作准备;
②在主自动机初始化时,同时循环执行定时器和启动逻辑程序,软件利用定时器和启动逻辑程序,第一个用途是产生若干软定时器,为主自动机的运行提供软件定时器,第二个用途是维护独立于任何软件部件运行的看门狗,以检测各个软件的运行情况,看门狗检测到程序运行出现差错时,将重新启动程序的运行;
③主自动机读取完用户通过邮箱输入的数据集后,主自动机的初始化过程结束,读取完数据集,就可以进行随机通讯和与从站的循环数据交换工作;
2)主自动机根据读取用户通过邮箱输入的数据集,可以进行两种工作状态,即主动站和侦听站,如果是主动站则进行随机通讯,如果是侦听站则接收总线上的数据;
①随机通讯状态:主要进行随机通讯任务,执行用户通过邮箱发出的通讯命令,包括的状态有:数据重发、剩余时间检查、参数设置、设置从站地址、请求组态数据、读取输入数据、读取输出数据、发送全局控制命令;
②循环数据交换状态:在此状态下,执行主自动机与从站循环数据交换,在主自动机与从站进行数据交换之前,要经历诊断、传参数、查组态、再诊断、数据交换、几个步骤,在进入数据交换之后,若从站有诊断的信息,会利用数据交换的机会通知通讯卡,通讯卡会临时进入诊断状态,然后再回复数据交换,若在整个过程中有错误,从站会重新开始初始化过程。
本发明的工作原理是:PROFIBUS-DP主站的软件实现,不采用协议芯片,而是采用软件方式,在高速数字信号处理器DSP中,集成PROFIBUS-DP一类主站的全部协议,并实现了二类主站的部分功能,完全可以替代专用协议芯片。软件的核心部位是一个有限自动机,与通讯卡的任务相对应,自动机的状分为不同的状态群,自动机通过在状态图上行走来完成各种任务,图的状态是根据通讯卡的任务来设置的,与任务相对应,可以归为不同的状态群。软件的任务有数据下装、随机通讯和数据交换三项内容:
(1)通讯需要一个大的数据集才能进行,软件的第一个任务就是数据下装,以得到通讯所用的数据集。用户根据通讯系统的组态,形成一个供通讯卡运行的大的数据集,然后按照一定的步骤将这个数据集分块送到双口RAM的邮箱,通讯卡将接收到的数据块拼接起来,复原这个数据集。在复原的同时,将数据集中有用的信息记录下来,为通讯作好准备,得到数据集和运行信息之后,通讯卡就可以通讯了,DP是令牌总线协议,本软件采用单主系统,随机通讯和数据交换是通讯的主题内容。
(2)在通讯卡通讯时,用户可以将一个通讯请求放入命令邮箱,通讯卡执行这个请求,然后将响应结果放入响应邮箱,这就是随机通讯。
(3)通讯卡的最重要的内容是与从站的数据交换,数据集中拥有与从站数据交换的所有信息,包括参数、组态、输入输出的首址和长度、诊断数据的地址等。数据交换是通讯卡根据这些信息自动进行的,其最终的目的是建立与所述从站间的循环数据交换,在进行数据交换支前,要经历诊断、传参数、检查组态、再诊断、数据交换几个步骤。在进入数据交换之后若从站有诊断信息,会利用数据交换的机会通知通讯卡,通讯卡会临时进入数据交换状态,然后在恢复数据交换。若在整个过程中有错误,从站自动机会重新开始初始化过程。
本发明的效果是:采用软件实现PROFIBUS-DP主站协议,可以代替专用协议芯片,因此,能够降低开发成本,实现自主开发。
下面结合附图和实施例对本发明作进一步的说明。
图1是本发明的硬件框图;
图2是本发明的主程序流程图;
图3是本发明的主自动机程序流程图;
图4是本发明的定时器和启动逻辑程序流程图;
图5是本发明的邮箱命令执行器流程图。
图1中,在DSP数字信号处理器1中,集成PROFIBUS-DP主站的所有协议,与PROFIBUS-DP从站2连接,同时外接总线接口及驱动装置3和双口RAM4,其中总线接口及驱动装置3包括一个有大输入输出FIFO的UART,DSP数字信号处理器1、总线接口及驱动装置3和双口RAM4共同构成通讯卡5,DSP数字信号处理装置1通过UART发送和接收总线上的数据,发送时软件将发送缓冲区中准备好的一桢数据连续地写往UART的输出保存寄存器,而UART将每个字节加上一个起始位,一个偶校验位和一个停止位,然后转换成串行输出到线路上,接收时,UART将收到的每个字节都压入FIFO,软件则及时地将收到的字节取走,经过分析后放入接收缓冲区中;
DSP数字信号处理器1通过双口RAM4与用户交互,双口RAM4有两个重要的数据区域,一个是邮箱,另一个数据交换区,在通讯时,用户和通讯卡通过邮箱传递命令和响应,通过数据交换区传递输入输出数据,同时邮箱还是数据集下装的通道;
图2中,主自动机首先判断初始化是否完毕;如果初始化完毕,则执行主自动机程序,执行完主自动机程序后,执行定时和启动逻辑程序;如果初始化没有完毕,则执行定时器及启动逻辑程序;执行完定时器及启动逻辑程序后,再重新运行主自动机程序;
图3中,主自动机程序流程图,主自动机开始处于离线状态,在此状态下,进行数据集的离线下装,读取用户通过邮箱输入的数据集,数据集中拥有与从站数据交换的所有信息,包括参数数据、组态数据、输入输出数据的首址和长度、诊断数据的地址带等,为通讯做好准备,主自动机根据读取用户通过邮箱输入的数据集,可以进行两种工作状态,即主动站和侦听站,如果是主动站则进行随机通讯,如果是侦听站则接收总线上的数据;随机通讯和数据交换是通讯的主题内容:
随机通讯状态(FDL-STATE-USE-TOKEN HIGH):主要进行随机通讯任务,执行用户通过邮箱发出的通讯命令,包括的状态有:数据重发(FDL-STATE-REPEAT-HIGH)、剩余时间检查(FDL-STATE-CHECK-ACCESS-TIME-HIGH)、参数设置(FDL-STATE-AWAIT-HIGH-SET-PRM)、设置从站地址(FDL-STATE-AWAIT-HIGH-SET-SLAVE-ADD)、请求组态数据(FDL-STATE-AWAIT-HIGH-GET-CFG)、读取输入数据(FDL-STATE-AWAIT-HIGH-RD-INP)、读取输出数据(FDL-AWAIT-HIGH-RD-OUTP)、发送全局控制命令(FDL-STATE-AWAIT-HIGH-GLOBAL-CONTRAL);
循环数据交换状态(FDL-STATE-USE-TOKEN-LOW):在此状态下,执行主自动机与从站循环数据交换,在主自动机与从站进行数据交换之前,要经历诊断(FDL-STATE-AWAIT-LOW-DIAG)、传参数(FDL-STATE-AWAIT-LOW-PRM)、查组态(FDL-STATE-AWAIT-LOW-CFG)、再诊断(FDL-STATE-AWAIT-LOW-DIAG2)、数据交换(FDL-STATE-AWAIT-LOW-DATA-IN、FDL-STATE-AWAIT-LOW-NO-DATA-IN)几个步骤,再进入数据交换之后,若从站有诊断的信息,会利用数据交换的机会通知通讯卡通讯卡会临时进入诊断状态,然后再回复数据交换,若在整个过程中有错误,从站会重新开始初始化过程。
图4中,定时器和启动逻辑程序,首先维护各个软定时器;然后判断看门狗是否有动作,程序执行过程中,如果出现死机等故障时,看门狗就会发生动作,进行启动程序,如果看门狗有动作,则此次程序结束;如果看门狗没有动作,则继续判断是否要启动系统启动(BOOT-START)程序,如果需要启动,则启动BOOT-START,启动BOOT-START后结束,如果不需要启动BOOT-START,则继续判断是否需要运行冷启动(COLD-START),如果需要启动冷启动,则启动冷启动,程序结束,如果不需要启动冷启动,则进一步判断是否需要启动热启动(WARM-START),如果需要,则启动热启动,如果不需要,则程序结束。
图5中,邮箱命令执行器程序,首先判断主自动机是否处于OFFLINE状态,如果主自动机是处于OFFLINE状态,则检查从站和总线参数是否存在,如果参数存在,则程序结束;如果参数不存在,或者参数不全,则执行下装从站参数、装载从站参数、下装总线参数、装载总线参数;如果主自动机不是处于OFFLINE状态,则进一步判断是否有随机通讯任务,如果有随机通讯任务,则处理随机通讯任务,处理完随机通讯任务后结束,如果没有随机通讯任务,则返回循环执行上述步骤。
Claims (1)
1、一种现场总线分散外围设备主站的软件实现方法,其特征是:
(1)在DSP数字信号处理器中,集成现场总线分散外围设备即PROFIBUS-DP主站的所有协议,与PROFIBUS-DP从站连接,同时外接总线接口及驱动装置和双口RAM,其中总线接口包括一个有大输入输出FIFO的UART,DSP数字信号处理器、总线接口及驱动装置和双口RAM共同构成通讯卡,DSP数字信号处理器通过UART发送和接收总线上的数据;
DBP数字信号处理器通过双口RAM与用户交互,双口RAM有两个重要的数据区域,一个是邮箱,另一个数据交换区,在通讯时,用户和通讯卡通过邮箱传递命令和响应,通过数据交换区传递输入输出数据,同时邮箱还是数据集下装的通道;
为了实现PROFIBUS-DP主站自动机的主要功能,DSP数字信号处理器,还需要运行一些辅助程序,这些辅助程序包括:定时器和启动逻辑程序、邮箱命令执行程序;
(2)通过运行DBP数字信号处理器内的程序,就可以达到PROFIBUS-DP主站软件实现的功能,其具体工作步骤是:
1)系统上电,用户根据通讯系统的组态,向邮箱输入供通讯卡运行的数据集,同时,DBP开始循环执行主自动机及定时、启动逻辑程序和邮箱命令执行器程序;
①主自动机首先首先进行初始化过程,即主自动机首先设置为离线状态,并在此状态下,读取用户输入到邮箱中的数据集,为通讯作准备;
⑦在主自动机初始化时,同时循环执行定时器和启动逻辑程序,软件利用定时器和启动逻辑程序,第一个用途是产生若干软定时器,为主自动机的运行提供软件定时器,第二个用途是维护独立于任何软件部件运行的看门狗,以检测各个软件的运行情况,看门狗检测到程序运行出现差错时,将重新启动程序的运行;
③主自动机读取完用户通过邮箱输入的数据集后,主自动机的初始化过程结束,读取完数据集,就可以进行随机通讯和与从站的循环数据交换工作;
2)主自动机根据读取用户通过邮箱输入的数据集,可以进行两种工作状态,即主动站和侦听站,如果是主动站则进行随机通讯,如果是侦听站则接收总线上的数据;
①随机通讯状态:主要进行随机通讯任务,执行用户通过邮箱发出的通讯命令,包括的状态有:数据重发、剩余时间检查、参数设置、设置从站地址、请求组态数据、读取输入数据、读取输出数据、发送全局控制命令;
②循环数据交换状态:在此状态下,执行主自动机与从站循环数据交换,在主自动机与从站进行数据交换之前,要经历诊断、传参数、查组态、再诊断、数据交换、几个步骤,在进入数据交换之后,若从站有诊断的信息,会利用数据交换的机会通知通讯卡,通讯卡会临时进入诊断状态,然后再回复数据交换,若在整个过程中有错误,从站会重新开始初始化过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00136277 CN1217264C (zh) | 2000-12-26 | 2000-12-26 | 一种构造现场总线分散外围设备主站的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 00136277 CN1217264C (zh) | 2000-12-26 | 2000-12-26 | 一种构造现场总线分散外围设备主站的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1298150A true CN1298150A (zh) | 2001-06-06 |
CN1217264C CN1217264C (zh) | 2005-08-31 |
Family
ID=4597188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 00136277 Expired - Lifetime CN1217264C (zh) | 2000-12-26 | 2000-12-26 | 一种构造现场总线分散外围设备主站的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1217264C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438245B (zh) * | 2004-09-08 | 2011-01-26 | 费希尔-罗斯蒙德系统公司 | 网络上事件发生顺序的管理 |
CN102104440A (zh) * | 2009-12-18 | 2011-06-22 | 北京华控技术有限责任公司 | 一种智能执行机构与现场总线通信的方法 |
CN101232434B (zh) * | 2007-01-22 | 2011-08-24 | 中兴通讯股份有限公司 | 一种利用双口ram进行异步数据传输的装置 |
CN102467432A (zh) * | 2010-11-04 | 2012-05-23 | 周琳 | 采用串口通信对通信特服终端设备进行监控的实现方法 |
CN102081383B (zh) * | 2009-11-30 | 2013-02-20 | 北京广利核系统工程有限公司 | 一种用于现场控制的安全网络协议的装置和方法 |
CN103197615A (zh) * | 2011-12-22 | 2013-07-10 | Ls产电株式会社 | Profibus配置恢复方法和profibus网络系统 |
CN113179201A (zh) * | 2021-04-13 | 2021-07-27 | 湖南世优电气股份有限公司 | 多区域多设备远程联合调试与测试系统及方法 |
-
2000
- 2000-12-26 CN CN 00136277 patent/CN1217264C/zh not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438245B (zh) * | 2004-09-08 | 2011-01-26 | 费希尔-罗斯蒙德系统公司 | 网络上事件发生顺序的管理 |
CN101232434B (zh) * | 2007-01-22 | 2011-08-24 | 中兴通讯股份有限公司 | 一种利用双口ram进行异步数据传输的装置 |
CN102081383B (zh) * | 2009-11-30 | 2013-02-20 | 北京广利核系统工程有限公司 | 一种用于现场控制的安全网络协议的装置和方法 |
CN102104440A (zh) * | 2009-12-18 | 2011-06-22 | 北京华控技术有限责任公司 | 一种智能执行机构与现场总线通信的方法 |
CN102467432A (zh) * | 2010-11-04 | 2012-05-23 | 周琳 | 采用串口通信对通信特服终端设备进行监控的实现方法 |
CN103197615A (zh) * | 2011-12-22 | 2013-07-10 | Ls产电株式会社 | Profibus配置恢复方法和profibus网络系统 |
CN103197615B (zh) * | 2011-12-22 | 2015-08-05 | Ls产电株式会社 | Profibus配置恢复方法和profibus网络系统 |
CN113179201A (zh) * | 2021-04-13 | 2021-07-27 | 湖南世优电气股份有限公司 | 多区域多设备远程联合调试与测试系统及方法 |
CN113179201B (zh) * | 2021-04-13 | 2023-03-28 | 湖南世优电气股份有限公司 | 多区域多设备远程联合调试与测试系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1217264C (zh) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1130645C (zh) | 用计算机登记外围设备的方法及其计算机系统 | |
CN103942178A (zh) | 多核处理器上实时操作系统与非实时操作系统之间的通信方法 | |
CN1828573A (zh) | 一种多cpu系统及其控制方法 | |
WO2023221753A1 (zh) | 串口通信方法及相关装置 | |
CN1298150A (zh) | 现场总线外围设备主站的软件实现方法 | |
CN114463163A (zh) | 一种异构多核的图像处理方法及装置 | |
CN101232556A (zh) | 半导体集成电路和数据处理系统 | |
CN1561493A (zh) | 多节点系统中硬件事件的聚集 | |
CN110990116B (zh) | 在智能网卡和虚拟机之间传输数据的方法、装置和系统 | |
CN113741166B (zh) | 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法 | |
CN1391164A (zh) | 计算机主机板开关机测试方法 | |
CN101334746A (zh) | 多组件系统 | |
JP2000138726A (ja) | データ処理装置 | |
CN1205792C (zh) | 用于设备间通信的系统与方法 | |
CN1210663C (zh) | 使用串列ata协定的同步传输资料方法及其介面装置 | |
CN100405317C (zh) | 远程计算机开机时的图形界面监控系统及方法 | |
JP2002140284A (ja) | マイクロコントローラ | |
CN1331069C (zh) | 一种基于pci总线的管脚复用的方法和集成电路 | |
CN2570871Y (zh) | 计算机主机板开关机测试装置 | |
CN1414489A (zh) | 与对接系统总线连接的基本系统及其控制方法 | |
CN111832047B (zh) | 一种spi数据传输方法及系统 | |
CN114968870B (zh) | 一种导航信息处理器及其方法 | |
KR100306749B1 (ko) | 네트워크 프린터 시스템 | |
CN100511153C (zh) | 异步输入输出信号处理方法 | |
JP3148099B2 (ja) | 入出力制御方式及び入出力制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: BEIJING HELISHI SYSTEM ENGINEERING CORPORATION Free format text: FORMER NAME OR ADDRESS: BEIJING HELISHI SYSTEM ENGINEERING CO., LTD. |
|
CP01 | Change in the name or title of a patent holder |
Address after: No. 10 city road, building materials, Beijing, Xisanqi Patentee after: Beijing HollySys System Engineering Co., Ltd. Address before: No. 10 city road, building materials, Beijing, Xisanqi Patentee before: Beijing HollySys System Engineering Co., Ltd. |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20050831 |