专利名称:一种实时控制系统及控制方法
技术领域:
本发明属于控制系统及方法,特别涉及到一种用于工业自动控制的实时控制系统及控制方法,该实时控制系统包括一用于与外部数据通信的第一单片机,一用于内部功能控制的第二单片机和一用于提供时钟脉冲的时钟源。
背景技术:
现有技术中,用于煤炭、油田、炼钢等工业自动化领域的实时工业控制系统由一片单片机加上存储器、模/数转换单元和外设接口构成,其存在的缺陷是由于一个实时控制系统一般需要完成数据采集、模/数转换、分析计算、数/模转换、实时过程控制以及显示等任务,单靠一片单片机来完成这些工作会大大延长系统对控制对象的控制周期,从而使得系统的工作效率降低,不能实现高速实时控制。为了提高系统控制周期,对实时性要求较高的控制系统通常采用双CPU控制方式,即使用两个CPU来分工合作完成整个系统的控制任 务,如一个CPU用于数据采集分析,另一个CPU用于与上位机的数据通信。双CPU通信时常常采用相同位宽的数据总线,但是在实际过程中经常会遇到两个CPU之间的数据总线宽度不匹配的通信问题,需要进行接口电路设计。为此,又一般采用两片总线驱动器外加双端口RAM芯片器件来实现总线扩展的方式来解决数据总线宽度不匹配的通信问题,这种方式需要的外围器件较多,总线传输路径长,潜在存在着通信的稳定性和实时性问题。
发明内容
本发明要解决的技术问题是提供一种传输速率高、数据总线宽度匹配、抗干扰性强,成本低的实时控制系统。为解决上述技术问题,本发明的实时控制系统,包括第一单片机、第二单片机和时钟源,其特征在于还包括一个现场可编程门阵列器,该可编程门阵列器由第一双端口 RAM模块和第二双端口 RAM模块和旗语模块组成;所述第一双端口 RAM模块和第二双端口 RAM模块一侧与所述第一单片机相连接,另一侧与第二单片机相连接;所述旗语模块一侧与所述第一单片机相连接,另一侧与第二单片机和时钟源相连接;
所述第一单片机和第二单片机用于操作可编程门阵列器;
所述时钟源用于向操作可编程门阵列器提供时钟脉冲;
所述第一双端口 RAM模块和第二双端口 RAM模块用于实现数据总线宽度由8位到16位的转换;
所述旗语模块用旗语信号semi、semr对第一双端口 RAM模块及第二双端口 RAM模块进行控制;
所述第一双端口 RAM模块和第二双端口 RAM模块一侧通过读写信号线、8位数据总线、地址总线、Ul片选线、U2片选线与单片机连接;在第一双端口 RAM模块和第二双端口 RAM模块、Ul片选线、U2片选线与第一单片机之间设有第一逻辑或控制器和第二逻辑或控制器,所述第一单片机与第一逻辑或控制器通过单片机地址线AO、单片机地选线相连,在所述单片机地线AO与第二逻辑或控制器之间设有一逻辑非控制器;所述第一双端口 RAM模块和第二双端口 RAM模块的另一侧通过读写片选线、8位数据总线、地址总线与第二单片机相连接;
所述旗语模块两侧通过读写信号线与所述第一单片机和第二单片机相连接;
所述旗语模块连接的地址线的数量与旗语的数量相配合,其相互关系为旗语模块=2n,其中η表示地址线数量。与现有技术相比,本发明实时控制系统具有如下优点
总线扩展只需要一个现场可编程门阵列器,该现场可编程门阵列器由该可编程门阵列器由第一双端口 RAM模块、第二双端口 RAM模块和旗语模块组成,并在现场可编程门阵列器内部实现,结构简约,利于系统的小型化;总线扩展只需要一个现场可编程门阵列器,总线传输路径短,因而传输速率高;总线扩展只需要一个现场可编程门阵列器,价格也不高,因 而抗干扰性高,成本低。本发明要解决的另一个技术问题是提供利用上述实时控制系统的控制方法,该方法包括下列步骤
开始步骤约定操作第一双端口 RAM模块之前,第一单片机和单片机先用旗语信号semi和semr对旗语模块进行操作、控制;双端口 RAM模块Ul、U2,由两个旗语信号semi、semr进行控制,其中semi用于确定左侧单片机即第一单片机是否在对双端口 RAM模块U1、U2进行操作,semr用于确定右侧单片机即第二单片机是否在对双端口 RAM模块U1、U2进行操作;
单片机向旗语模块某地址写入数据的步骤;第一单片机向第一双端口 RAM模块的旗语信号semi写入数据“O”;
读取写入数据的步骤由旗语模块读取上一步骤的旗语信号semi写入数据结果;判断执行步骤如果读取结果为“0”,表明第二单片机没有对双端口 RAM模块U1、U2进行操作;此时,第一单片机向旗语信号对应的区域U1、U2读写数据;
如果读取结果为“ I ”,表明第二单片机正在对Ul、U2进行操作,此时,第一单片机不能向U1、U2读写数据,尝试对旗语模块其它地址写入数据0,并返回读取写入数据的步骤。如此重复循环上述步骤,完成控制过程。本控制方法保证了数据宽度转换的稳定性与可靠性。
图I本发明实时控制系统的结构示意 图中,第一单片机I、第二单片机3、时钟源4、现场可编程门阵列器2、第一双端口 RAM模块Ul、第二双端口 RAM模块U2、旗语模块U3,第一逻辑或控制器UlI、第二逻辑或控制器U21、逻辑非控制器U211 ;
图2为本发明实时控制系统的控制方法流程图。
具体实施例方式下面结合附图和实施例对本发明进作一步详细说明如图I所示本发明的实时控制系统,在图I中,本发明实时控制系统包括第一单片机I、第二单片机3和时钟源4 ;该实时控制系统还包括一个现场可编程门阵列器2,该可编程门阵列器2由第一双端口 RAM模块Ul、第二双端口 RAM模块U2和旗语模块U3组成;所述第一双端口 RAM模块Ul和第二双端口 RAM模块U2 —侧的读写信号、片选信号、数据总线、地址总线经过如图I所示的逻辑关系与所述第一单片机I相连接,另一侧的读写信号、片选信号、数据总线、地址总线经过如图I所示的逻辑关系与所述第二单片机3相连接,所述旗语模块U3 —侧与所述第一单片机I的读写旗语信号相连接,另一侧与第二单片机3的读写旗语信号相连接;
所述第一单片机I和第二单片机3用于操作可编程门阵列器2 ;该第一单片机I为8位数机,该第二单片机3为16位数机,实际应用中,也可以根据需要对第一单片机I和第二单片机3同时采用8位数机和16位数机,或者反过来第一单片机I为16位数机,第二单片机3为8位数机,以实现各种数据的转换。所述时钟源4与可编程门阵列器2的时钟信号引脚相连接,以便系统供电后可自动向操作可编程门阵列器2提供时钟脉冲;
所述第一双端口 RAM模块Ul和第二双端口 RAM模块U2用于实现数据总线宽度由8位到16位的转换;
所述旗语模块U3用旗语信号semi、semr对双端口 RAM模块Ul、U2进行控制,其中semi用于确定左侧单片机即第一单片机是否在对第一双端口 RAM模块Ul和第二双端口 RAM模块U2进行操作,semr用于确定第二单片机是否在对第一双端口 RAM模块Ul和第二双端口RAM模块U2进行操作;
所述第一双端口 RAM模块Ul和第二双端口 RAM模块U2 —侧通过读写信号线、8位数据总线、地址总线、Ul片选线、U2片选线与第一单片机I连接;在第一双端口 RAM模块Ul和第二双端口 RAM模块U2、U1片选线、U2片选线与第一单片机I之间设有第一逻辑或控制器Ull和第二逻辑或控制器U21 ;所述第一单片机I与第一逻辑或控制器Ul I通过单片机地址线A0、单片机地选线相连接,在所述单片机地线AO与第二逻辑或控制器U21之间设有一逻辑非控制器U211 ;所述第一双端口 RAM模块Ul和第二双端口 RAM模块U2的另一侧通过读写片选线、8位数据总线、地址总线与第二单片机3相连接;所述旗语模块U3两侧通过读写信号线与所述第一单片机I和第二单片机3相连接;
所述旗语模块U3连接的地址线的数量与旗语的数量相配合,其相互关系为旗语模块(U3) =2n,其中η表示地址线数量;
现举例详细说明本发明实时控制系统相关信号的连接、操作、转换、控制过程假如第一单片机I向地址0x0000读写数据时,由信号连接关系可知,此时第一双端口 RAM模块Ul片选信号有效,第二双端口 RAM模块U2片选信号无效,读写的是第一双端口 RAM模块Ul的实际绝对地址0x0000中的数据;假如第一单片机I向地址0x0001读写数据时,由信号连接关系可知,此时第一双端口 RAM模块Ul片选信号无效,第二双端口 RAM模块U2片选信号有效,读写的是第二双端口 RAM模块U2的实际绝对地址0x0000中的数据;假如第一单片机I向地址0x0003读写数据时,由信号连接关系可知,此时第一双端口 RAM模块Ul片选信号有效,第二双端口 RAM模块U2片选信号无效,读写的是第一双端口 RAM模块Ul的实际绝对地址0x0001中的数据;假如第一单片机I向地址0x0004读写数据时,由信号连接关系可知,此时第一双端口 RAM模块Ul片选信号无效,第二双端口 RAM模块U2片选信号有效,读写的是第二双端口 RAM模块U2的实际绝对地址OxOOOl中的数据;即第一单片机I凡是操作偶地址时,所操作的对象必然是第一双端口 RAM模块U1,凡是操作奇地址时,所操作的对象必然是第二双端口 RAM模块U2 ;由上述结果,若第一单片机I连续向地址0x0000、0x0001写入数据0xl2、0x34,则数据0x12被存放在第一双端口 RAM模块Ul的实际绝对地址0x0000中,数据0x34则被存放在第二双端口 RAM模块U2的实际绝对地址0x0000中;此时若第二单片机3读取地址0x0000中的数据时,由信号连接关系可知,读取的数据为0x1234 ;同理若由第二单片机3操作,则过程正好相反,即实现了 8位数据总线与16位数据总线之间的相互转换。参见图2所示的利用上述实时控制系统的控制方法,为便于理解和说明,下面仅以对第一双端口 RAM模块Ul的控制方法为例加以说明,对第二双端口 RAM模块U2的控制与对第一双端口 RAM模块Ul的控制的方法相同,不再重复说明。从图2可知,本控制方法包括下列步骤
开始步骤;约定操作双端口 RAM模块Ul之前,第一单片机I和第二单片机3先用旗语信号semi和semr对旗语模块U3进行操作、控制;
单片机向旗语模块某地址写入数据的步骤;第一单片机I向第一双端口 RAM模块Ul的旗语信号semi写入数据“O”;
读取写入数据的步骤由然后再读该旗语信号seml,若由旗语模块U3读取上一步骤的旗语信号seml写入数据结果;
判断执行步骤如果读取结果为“0”,表明第二单片机3没有对双端口 RAM模块Ul、U2进行操作;此时,第一单片机I可以对U1、U2读写数据;
如果读取结果为“ I ”,表明第二单片机3正在对该区域U2进行操作,此时,第一单片机I不能向旗语信号对应的区域U2读写数据,尝试对旗语模块U3其它地址写入数据0,并返回读取写入数据的步骤。如此重复循环上述步骤,完成控制过程。
权利要求
1.一种实时控制系统,包括第一单片机(I)、第二单片机(3)和时钟源(4),其特征在于还包括一个现场可编程门阵列器(2),该可编程门阵列器(2)由第一双端口 RAM模块(Ul)、第二双端口 RAM模块(U2)和旗语模块(U3)组成,所述第一双端口 RAM模块(Ul)和第二双端口 RAM模块(U2) —侧与所述第一单片机(I)相连接,另一侧与第二单片机(3)相连接,所述旗语模块(U3) —侧与所述第一单片机(I)相连接,另一侧与第二单片机(3)和时钟源(4)相连接; 所述第一单片机(I)和第二单片机(3)用于操作可编程门阵列器(2); 所述时钟源(4)用于向操作可编程门阵列器(2)提供时钟脉冲; 所述第一双端口 RAM模块(Ul)和第二双端口 RAM模块(U2)用于实现数据总线宽度由8位到16位的转换; 所述旗语模块(U3)用旗语信号semUsemr对第一双端口 RAM模块(Ul)和第二双端口RAM模块(U2)进行控制。
2.根据权利要求I所述的实时控制系统,其特征在于所述第一双端口RAM模块(Ul)和第二双端口 RAM模块(U2) —侧通过读写信号线、8位数据总线、地址总线、Ul片选线、U2片选线与第一单片机(I)相连接; 在第一双端口 RAM模块(Ul)和第二双端口 RAM模块(U2)、U1片选线、U2片选线与第一单片机(I)之间设有第一逻辑或控制器(UlI)和第二逻辑或控制器(U21); 所述第一单片机(I)与第一逻辑或控制器(Ull)通过单片机地址线A0、单片机地选线相连接,在所述单片机地线AO与第二逻辑或控制器(U21)之间设有一逻辑非控制器(U211); 所述第一双端口 RAM模块(Ul)和第二双端口 RAM模块(U2)的另一侧通过读写片选线、8位数据总线、地址总线与第二单片机(3)相连接。
3.根据权利要求I所述的实时控制系统,其特征在于所述旗语模块(U3)两侧通过读写信号线与所述第一单片机(I)和第二单片机(3)相连接。
4.根据权利要求I所述的实时控制系统,其特征在于,所述旗语模块(U3)连接的地址线的数量与旗语的数量相配合,其相互关系为旗语模块(U3)=2n,其中η表示地址线数量。
5.根据权利要求I至3中任一项所述的实时控制系统,其特征在于,所述旗语模块(U3)连接的地址线的数量与旗语的数量相配合,其相互关系为旗语模块(U3)=2n,其中η表示地址线数量。
6.一种利用权利要求I至4中任一项实时控制系统的控制方法,包括下列步骤 开始步骤;约定操作第一双端口 RAM模块(Ul)之前,第一单片机(I)和第二单片机(3)先用旗语信号semi和semr对旗语模块(U3)进行操作、控制; 单片机向旗语模块某地址写入数据的步骤;第一单片机(I)向第一双端口 RAM模块(Ul)的旗语信号semi写入数据“O” ; 读取写入数据的步骤由旗语模块(U3)读取上一步骤的旗语信号semi并写入数据结果; 判断执行步骤如果读取结果为“0”,表明第二单片机(3)没有对第二双端口 RAM模块(U2)进行操作;此时,第一单片机(I)向旗语信号对应的区域U2读写数据; 如果读取结果为“1”,表明第二单片机(3)正在对U2区域进行操作,此时,第一单片机(I)不能向旗语信号对应的U2区域读写数据,尝试对旗语模块(U3)其它地址写入数据“O”,并返回读取写入数据的步骤。
7.如此重复循环上述步骤,完成控制过程。
全文摘要
一种实时控制系统及控制方法。一种实时控制系统,包括第一、第二单片机(1,3)和时钟源(4)还包括由两侧分别与第一、第二单片机(1,3)相连接的第一、第二双端口RAM模块(U1,U2)和两侧分别与第一、第二单片机(1,3)和时钟源(4)相连接的旗语模块(U3)组成的现场可编程门阵列器(2);第一、第二单片机(1,3)用于操作可编程门阵列器(2);时钟源(4)用于向可编程门阵列器(2)提供时钟脉冲;第一、第二双端口RAM模块(U1,U2)用于实现数据总线宽度由8位到16位的转换;旗语模块(U3)用旗语信号对第一、第二双端口RAM模块(U1,U2)进行控制;具有总线宽度匹配、传输速率高、抗干扰性强等差等效果。
文档编号G05B19/04GK102866646SQ20121035124
公开日2013年1月9日 申请日期2012年9月20日 优先权日2012年9月20日
发明者苏惠强, 杨斐, 廖彩霞, 盛小波, 赖欢, 袁江华, 周增碧, 董佳, 贾致红 申请人:重庆望江工业有限公司