CN103838149A - 微计算机 - Google Patents
微计算机 Download PDFInfo
- Publication number
- CN103838149A CN103838149A CN201310603564.XA CN201310603564A CN103838149A CN 103838149 A CN103838149 A CN 103838149A CN 201310603564 A CN201310603564 A CN 201310603564A CN 103838149 A CN103838149 A CN 103838149A
- Authority
- CN
- China
- Prior art keywords
- register
- time
- peripheral module
- cpu
- value
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Programmable Controllers (AREA)
Abstract
微计算机被提供用于每个工业装置以对它们进行同步控制,并且微计算机包括CPU、外围模块和通信接口。外围模块基于特定控制参数控制外部装置。通信接口包括时间寄存器,所述时间寄存器以时间序列与其它设备同步。如果连续设置的校正时间与时间寄存器匹配,则通信接口向CPU和外围模块发出CPU中断和外围模块中断。响应于外围模块中断,外围模块将控制参数从当前值变为更新值。响应于CPU中断,CPU启动更新程序来计算控制参数的下一更新值并将计算值写入到外围模块。
Description
相关申请的交叉引用
本文通过引用引入2012年11月26日提交的日本专利申请No.2012-257304的全部公开内容,包括说明书、附图和摘要。
技术领域
本发明涉及适于控制工业装置的微计算机。更具体地,本发明涉及对于同步控制特别有用的微计算机。
背景技术
一些类型的装备(诸如交流(AC)伺服系统、通用变频器以及可编程逻辑控制器(PLC))需要同步控制。这样的工业装置需要通过在特定时间发出特定指令来控制工业马达。为工业装置提供微计算机,并允许变频器使用等于脉宽调制(PWM)控制信号的指令来控制工业马达。脉宽以占空比表示,占空比即代表高和低时段之间的比率的百分比。工业装置可以同时操作用于一系列工艺。在这样的情况下,为每个工业装置提供的微计算机控制对应的工业马达。工业装置需要同步时间(时间同步),以便以特定时间顺序一致地发出一系列指令。
工业装置之间的时间同步所需的同步精度迅速趋向于严格。在一些情况下,需要精度如微秒或小于微秒那么高。基于串行通信的通信或者专有通信已经被用于工业装置的时间同步。近年来,对于向以太网附加同步功能的同步以太网通信(以下简称为同步以太网),存在着日益增长的需求。同步以太网包括基于IEEE1588标准的以太网/IP或工业以太网(Profinet)以及基于环或菊花链网络的工业以太网(EtherCAT)。时间同步精度往往越来越严格。遵循IEEE1588标准的一些同步以太网技术支持微秒或小于微秒那么高的精度。
专利文献1中公开的工业控制器包括彼此耦合的多个单元,每个单元具有精度在纳秒级的钟控功能。在这些单元中,一个用作主设备(master),其它作为从设备(slave)。设置调整装置来使从设备的时间轴逐步地接近主设备的时间轴。
专利文献2中公开的技术可以在不需要调整定时的情况下在联网的控制器之间同步处理程序的执行。针对每个控制器预先编程时间表,以执行协同操作。每个控制器包括以跟踪绝对时间的时钟模块和用于控制同步的时钟同步装置。如果发生发起程序的事件,则控制器广播事件发生的时间作为对于其它控制器的触发。控制器在接收到该触发时,向该触发添加特定延迟时间以生成延迟触发。控制器根据该延迟触发来发起一系列程序。
专利文献3中公开的技术确保联网控制器和设备之间的时间同步精度。主设备包括主全局定时器。每个设备包括从全局定时器和操作周期定时器。主设备发送包含时间戳的分组,时间戳设置有由主全局定时器指示的全局时间。每个从设备接收该分组以执行纠错,即,使用时间戳指示的周期控制同步定时以及从全局定时器指示的时间差,将操作周期定时器与周期控制进行同步。
专利文献4中公开的动作控制系统根据不断变化的网络负载情形支持同步操作并且免于同步误差。主设备监视通信延迟并且强制从设备在等于当前时间加上延迟时间的时间启动同步操作。
专利文献5中公开的通信控制系统提供多个控制器,每个控制器包括通信控制器和致动器,并且操控控制目标。控制器经由网络耦合并且可以彼此同步地操作。第二实施例提供使用遵循IEEE1588的时间同步协议的时间同步的通信控制系统。整个通信控制系统使得时间同步。然后,通信控制器从控制器获取通信延迟并且在将控制指令传送给控制器时调整通信延迟。
专利文献6中公开的数据传送器将接收到的图像数据变为来自其它图像信息设备的图像数据。图像信息设备包括时钟处理部分,该时钟处理部分生成与从网络接收到的时间信息同步的当前时间。当经由网络检测到与从系统控制器接收到的特定时间匹配时,图像信息设备改变接收到的数据。即使在跟随改变的I帧与下一I帧之间输入改变请求,这也使得能够与图像帧(I帧)同步地改变图像数据。
专利文献
专利文献1:日本未审专利公开No.2009-157913
专利文献2:日本未审专利公开No.2007-213474
专利文献3:日本未审专利公开No.2002-164872
专利文献4:日本未审专利公开No.2007-226492
专利文献5:日本未审专利公开No.2012-60207
专利文献6:日本未审专利公开No.2000-59406
发明内容
本发明人研究了专利文献1至专利文献6,发现以下问题。
为了同步控制,将工业装置联网。一个主设备耦合到同一网络。工业装置之一可以用作主设备。主设备根据统一参考时间发出指定执行时间的指令。基于该指令控制诸如马达之类的设备。如果仅主设备被设置有时钟来对参考时间进行钟控,则作为从设备的工业装置由于通信延迟几乎无法提供同步控制。专利文献4中公开的技术考虑通信延迟向从设备提供用于启动处理的时间。通信延迟随着网络负载变化,并因此受到周期性的监视。专利文献1中公开的技术为作为从设备的每个工业装置提供时钟。该技术校正主时钟与从时钟之间的误差并将这些时钟以纳秒量级的精度同步。这类似于专利文献3中公开的技术。假设其中作为从设备的每个工业装置具有与主设备同步的时钟并且在预定时间调度处理。在这样的情况下,如专利文献2中所述,可以使用预先存储启动处理的时间的时间表来将处理进行同步。然而,根据专利文献2,作为从设备的控制器接收启动处理的触发,并通过向接收到的触发添加指定延迟时间而生成延迟触发,并且根据延迟触发启动一系列处理程序。这类似于专利文献5中公开的技术。简单地使用预先存储启动处理的时间的时间表,无法取得时间同步。
一般而言,工业装置使用微计算机控制诸如马达之类的控制设备。微计算机包括控制信号输入/输出部分,控制网络接口和诸如马达之类的设备。微计算机执行控制程序来生成控制信号。如专利文献1中所述的那样,作为从设备的工业装置包括微计算机并且可以设置有与主设备以纳秒量级的精度同步的时钟。如在专利文献2中所述的那样,从工业装置可以设置有预先存储启动处理的时间的时间表,并提供允许微计算机启动处理的触发。在这种情况下,多个从设备以纳秒量级的时间同步。期望以相当高精度的时间出现触发。微计算机基于触发启动处理,但无法以相当高的精度控制诸如马达之类的设备。微计算机被供给有触发作为中断。微计算机的中断处理包括开销,诸如将正在运行的程序保存在寄存器中,确定中断原因,以及分流中断的处理。这些处理需要几十个至几百个步骤。该处理随着前一活跃程序或其它因素的情形而大大变化。即使微计算机每个步骤操作十纳秒,中断处理的开销也需要几百纳秒至几微秒。也就是,处理变化包括在输入触发的时间与在诸如马达之类的设备的控制信号上反映处理结果的时间之间的、范围从几百纳秒到几微秒的中断处理开销。
如果工业装置的同步控制需要几毫秒的精度,则范围从几百纳秒到几微秒的上述变化极小。然而,如果需要精度为1微秒或低于1微秒那么高,则这样的变化是显著的。专利文献6中描述的图像信息设备能够实现纳秒量级精度的帧同步。刚好需要帧同步来在帧接收和显示之间切换。帧同步完全基于硬件,与变化因素无关。然而,复杂处理使得它实际上不可能与大量执行步骤中的变化因素无关地使用硬件来控制工业装置。工业装置不可避免地使用软件控制。不可能避免包括中断处理开销的范围从几百纳秒到几微秒的变化。因此,难以确保时间同步和延迟时间。
以下描述用于解决这些问题的方式。通过参照说明书中的以下描述和所附附图,可以容易地确定本发明的这些和其它目的和新颖特征。
本发明的实施例提供以下装置。
用于控制工业装置中的诸如马达之类的设备的微计算机包括:CPU、用于基于指定参数控制外部装置的外围模块以及能够经由网络与其它设备通信的通信接口。通信接口包括时间寄存器和事件寄存器。时间寄存器保持用于基于经由网络的通信与其它设备同步的时间。通信接口将时间寄存器中保持的值与事件寄存器中保持的值进行比较。如果发现匹配,则通信接口向CPU发出CPU中断,并且向外围模块发出外围模块中断。外围模块包括比较寄存器和缓冲寄存器。比较寄存器保持用于控制外部装置的参数的当前值。缓冲寄存器保持参数的更新值。外围模块生成控制信号以基于保持在比较寄存器中的当前值控制外部装置。响应于外部模块中断,外围模块向比较寄存器传送存储在缓冲寄存器中的更新值以更新当前值。响应于CPU中断,CPU启动参数更新程序以计算参数的下一更新值并将计算的更新值写入到缓冲寄存器。
下面概述实施例提供的效果。
高度精确的同步和延迟时间可以确保参数校正时间,而不会受由于CPU中断和用于执行参数更新程序的时间的变化导致的开销影响。
附图说明
图1是示出根据第一实施例的微计算机的配置的框图;
图2例示了用于时间同步的设备的网络配置;
图3是示出根据第一实施例的微计算机的操作的定时图;
图4是示出根据第二实施例的微计算机的配置的框图;
图5是示出微计算机与外部设备之间的耦合的框图;
图6是示出根据第二实施例的定时器的配置的框图;
图7是示出根据第二实施例的定时器的操作的定时图;
图8是示出根据第二实施例的微计算机的复位例行程序的流程图;
图9是示出根据第二实施例的微计算机的CPU中断例行程序的流程图;
图10是示出根据第二实施例的微计算机响应于定时器中断的处理的流程图;
图11是示出根据第三实施例的微计算机的配置的框图;
图12是示出根据第三实施例的微计算机的复位例行程序的流程图;
图13是示出根据第三实施例的微计算机的CPU中断例行程序的流程图;
图14是根据第三实施例的微计算机响应于定时器中断的处理的流程图;
图15是示出根据第四实施例的微计算机的配置的框图;
图16是示出根据第四实施例的微计算机的复位例行程序的流程图;
图17是示出根据第五实施例的微计算机的配置的框图;
图18是根据第五实施例的微计算机的复位例行程序的流程图;
图19提供示出根据第五实施例的微计算机响应于定时器中断的处理和CPU中断例行程序的流程图;以及
图20提供示出根据第五实施例的微计算机响应于计数器计数方向的改变的处理和比较匹配中断例行程序的流程图。
具体实施方式
1.实施例概要
下面概述本申请公开的代表性实施例。在下面的描述中,括号中的参考标号对应于所附附图中所示的那些参考标号,并且仅指示对应组件概念的示例。
<1>比较事件寄存器与时间寄存器(参见图1至图3)
微计算机(1)包括CPU(2)、用于基于指定参数控制外部装置的外围模块(4)、以及能够经由网络(92)与其它设备(91)通信的通信接口(3,7)。
通信接口包括第一寄存器(11)、第二寄存器(12)和比较电路(14)。第一寄存器保持用于基于经由网络的通信与其它设备同步的时间。比较电路将第一寄存器中保持的值与第二寄存器中保持的值进行比较。如果发现匹配,则比较电路向CPU发出CPU中断(INT_C),并且向外围模块发出外围模块中断(INT_T)。
外围模块包括第三寄存器(21)和第三寄存器(22)。第三寄存器保持参数的当前值。第四寄存器保持参数的更新值。外围模块生成控制信号(32)以基于当前值控制外部装置。
CPU能够响应于CPU中断执行参数更新程序来开始计算参数的更新值并且将更新值写入到第四寄存器。
外围模块响应于外围模块中断向第三寄存器传送第四寄存器中存储的值。
从而,对于参数校正时间可以确保高度精确的同步和延迟时间,而不受由于CPU中断和执行参数更新程序的时间的变化导致的开销影响。
<2>PWM控制
根据项1,外围模块生成脉宽调制的控制信号以驱动外部耦合设备(93)。参数提供用于指定脉宽调制占空比的值。通信接口将校正时间(tevent)写入到第二寄存器。校正时间经由网络被供给到通信接口,并指定用于将参数从当前值更新为更新值的时间。参数更新程序计算在校正时间将提供给参数的更新值。
从而,可以基于高度精确的时间同步操作外部耦合设备。
<3>根据第一实施例的事件缓冲器(参见图4至图10)
通信接口包括第一缓冲器(13),该第一缓冲器能够保持至少一条数据并以与输入数据的顺序输出保持的数据。通信接口将校正时间写入第一缓冲器,将第一寄存器中保持的值与第二寄存器中保持的值进行比较,并且如果发现匹配,则将来自第一缓冲器的输出写入到第二寄存器。
这使得能够减少对用于将校正时间从CPU(2)写入到通信接口(3)的定时的限制。
<4>中断选择电路
根据项(2),外围模块中断经由中断选择电路(9)耦合到外围模块。
这使得能够选择外围模块作为外围模块中断的目标,并且提高微计算机的通用特性。
<5>PWM生成器电路
根据项(2),外围模块中断直接耦合到外围模块。
外围模块包括PWM生成器电路(20_3)和第四寄存器(22_3),并且包括第二缓冲器(17),该第二缓冲器能够保持至少一条数据并且以输入数据的相同顺序输出保持的数据。PWM生成器电路基于第三寄存器(21_3)中保持的电流值来生成脉宽调制的控制信号,并且当输入外围模块中断时,将从第二缓冲器输出的值传送到第三寄存器。
这使得能够减少对用于将参数从CPU(2)写入到外围模块(4_3)的定时的限制。
<6>相位调整电路
根据项5,PWM生成器电路生成3相控制信号。外围模块进一步包括可变延迟电路(30_U,30_V,30_W)、相位调整电路(29)和相位寄存器(18)。可变延迟电路与3相控制信号对应地插入。相位调整电路向可变延迟电路供给延迟量。相位寄存器向相位调整电路供给相位调整参数。
这能够实现对需要相位调整的外部装置(诸如马达之类)的同步控制。
<7>启动时的同步
根据项1,外围模块生成脉宽调制的控制信号以控制外部耦合设备(93)。参数提供用于表示脉宽调制占空比的值。
通信接口将开始时间(tstart)和校正时间(tevent)写入到第二寄存器。开始时间经由网络被提供到通信接口。校正时间指定用于将参数从当前值更新为更新值的时间。
参数更新程序包括在开始时间将参数的初始值写入到第三寄存器、响应于开始时间的CPU中断允许外围模块中断以及禁止后续的CPU中断的步骤。
这使得能够确保开始时间时的高度精确的同步和延迟时间。
<8>控制多个设备
根据项7,外围模块生成多组脉宽调制的控制信号以控制多个外部耦合设备(93_1和93_2)。参数提供代表与每组控制信号对应的脉宽调制占空比的多组值。
通信接口包括对应于多组控制信号的多个第二寄存器,并且将开始时间和校正时间写入到每个第二寄存器。开始时间和校正时间经由网络被供给到通信接口并且对应于每组控制信号。
比较电路将第一寄存器中保持的值与第二寄存器中保持的值(12_1和12_2)进行比较。如果发现匹配,则比较电路向外围模块发出对应于多组控制信号的多个外围模块中断(INT_T1和INT_T2)。
外围模块包括对应多组控制信号的第三寄存器和第四寄存器,并且基于对应于每组控制信号的当前值生成该多组控制信号。
外围模块响应于外围模块中断将对应第四寄存器中存储的值传送给对应第三寄存器。
这使得能够独立地供给用于控制外部装置的参数的校正时间,并且提供更加高度精确和更多样的同步控制。
2.实施例的具体描述
将更详细地描述实施例。
第一实施例
图1是示出根据第一实施例的微计算机的配置的框图。微计算机1包括CPU 2、通信接口3、外围模块4和存储器5。通信接口3可以经由网络与其它设备91通信。外围模块4基于指定参数控制外部装置。这些组件经由总线6彼此耦合。微计算机1可以配置为根据已知设计和制造技术在单个衬底上形成的大规模集成(LSI)电路。
通信接口3包括同步通信部分10、时间寄存器11、事件寄存器12和比较电路14。端子31耦合到网络92并且设置有与同步通信部分10耦合的物理接口7。物理接口7提供满足网络92的物理层规范的电路。如果网络92为以太网,则提供以太网电路7。时间寄存器11基于经由网络92的通信钟控与其它设备同步的本地时间。时间寄存器11包括通过时钟信号以指定精度驱动的计数器。参照同步通信部分10经由网络92接收的主时间来校准时间寄存器11。图2例示了时间同步的设备的网络配置。主设备90经由网络92耦合到从设备91_1至91_N。如图2所示,网络92使用例如菊花链拓扑。网络92可以经由集线器使用星形拓扑。此外,网络92可以是有线或无线的并且可以以任意形式获得。主设备90和从设备91_1至91_N中的每一个包括用于保持时间的时钟装置。从设备91_1至91_N中的每一个允许对应的时钟装置将其时间与主设备90的时间A同步。时钟装置的时间不需要总是等于时间A。可以在它们之间提供指定偏移。设备之间的时间差包括指定给设备的偏移时间和网络上的传输延迟。根据IEEE1588标准,例如以太网帧通信可以将N个从设备(91_1至91_N)的时间(B1至BN)调整为主设备90的时间A。
事件寄存器保持用于更新控制外部装置的参数的时间(校正时间)。校正时间经由网络92相继地输入到微计算机1。CPU 2经由通信接口3的同步通信部分10接收校正时间。CPU 2将接收到的校正时间相继地写入到事件寄存器12。如果写入的校正时间还没有逝去,则CPU 2可以接收新的校正时间。在这样的情况下,CPU 2通过将新的校正时间存储在例如存储器5中来维持新的校正时间。
比较电路14将时间寄存器11中保持的值(本地时间)与事件寄存器12中保持的值(校正时间)进行比较。如果发现匹配,则比较电路14向CPU 2发出CPU中断INT_C,并且向外围模块4发出外围模块中断INT_T。CPU中断INT_C和外围模块中断INT_T可以在不同的时间或者同时发生。
外围模块4包括外部装置控制信号生成器20、比较寄存器21和缓冲寄存器22。比较寄存器21保持控制外部装置的参数的当前值。缓冲寄存器22保持更新的参数值。外部装置控制信号生成器20生成控制信号以基于比较寄存器21中保持的当前值控制外部装置。控制信号32经由端口8输出。如果外部装置代表例如AC马达,则控制信号32等于PWM信号。参数提供确定占空比的值。端口8提供将用于驱动LSI端子的信号或者从该端子供给的信号引入到内部的电路。使用已知电路和设备技术来配置端口8。端口8可以包括驱动电路、输入电路、电平转换电路、上拉电路、抵御静电破坏的保护电路或保护元件、输入/输出转换电路和端子功能转换电路。
例如,CPU 2提供可以执行存储器5中存储的程序的处理器。CPU 2可以执行参数更新程序。当被供给有CPU中断INT_C时,参数更新程序开始计算参数的更新值并将计算的更新值写入到缓冲寄存器22。外围模块4包括传送电路23。当被供给有外围模块中断INT_T时,传送电路23将待存储于缓冲寄存器22中的值传送给比较寄存器21。
存储器5可作为随机存取存储器(RAM)、只读存储器(ROM)或二者的组合来获得。存储器5可以存储由CPU 2执行的程序或数据。可获得总线6作为示例装置,以将CPU 2和存储器5与其它组件耦合并且可以以另外的方式进行配置。例如,总线6可以附加地提供有外部总线接口以使用其它外部存储器,或者可以包含高速缓存存储器或存储器管理单元。
图3是示出根据第一实施例的微计算机的操作的定时图。时间寄存器11的值在图3中被阴影化,并且代表被实时钟控的本地时间tclock。控制这些装置以与主设备同步,并且将这些装置耦合到网络92以保持相应的本地时间。为了遵循IEEE1588标准,例如本地时间与主设备管理的时间以纳秒量级的高精度同步。在经由网络92相继输入到微计算机1的校正时间tevent(0)、tevent(1)、tevent(2)等处,更新用于控制外部装置的参数。CPU 2将第一校正时间tevent(0)写入到事件寄存器12。同时,CPU 2向缓冲寄存器22写入将在校正时间处更新的参数的值p(0)。在时间t1处,假设时间寄存器11中保持的本地时间tclock与事件寄存器12中保持的校正时间tevent(0)匹配。然后,向CPU 2发出CPU中断INT_C。向外围模块4发出外围模块中断INT_T。当外围模块中断INT_T输入到外围模块4时,传送电路23将存储于缓冲寄存器22中的第一更新值p(0)传送给比较寄存器21。外部装置控制信号生成器20针对由更新值p(0)指定的占空比(p(0))生成控制信号32。在发出外围模块中断INT_T之后延迟发生,直到上述一系列操作针对由更新值p(0)指定的占空比(p(0))生成控制信号32。可以将该延迟限制到若干周期。延迟周期的数目可以是恒定的。这是因为不需要软件,并且设计完全取决于硬件。根据上述示例,外部装置控制信号生成器20生成并输出其占空比可用的信号。然而,信号并不限于此。任何信号如果它在从比较寄存器21供给的参数的控制下则就可用。例如,可用信号包括其幅度随参数变化的高频信号以及其频率随参数变化的交流信号。该示例使用一个参数,但并不限于此。可以使用多个参数。
当在时间t1处输入CPU中断INT_C时,CPU 2开始计算t2时的下一更新值p(1)。在输入CPU中断INT_C之后出现一些延迟(开销),直到中断处理开始计算参数的更新值。当输入CPU中断INT_C时,CPU 2确定中断原因。CPU 2参照矢量表查找中断原因。CPU 2获取与中断处理的中断原因对应的分流地址。为了也中断激活处理,CPU 2保存通用寄存器的内容并且然后分流到矢量表中指定的目的地地址来开始中断处理。以此方式,在输入中断信号之后出现一些延迟,直到中断处理开始。由于CPU中断导致的开销也随着要保持的数据量或总线业务量而变化。
在中断处理中,CPU 2执行参数更新程序来计算参数的下一更新值p(1)。此外,CPU 2在例如时间t3向事件寄存器12写入下一校正时间tevent(1)。根据第一CPU中断,CPU 2可以检测到第一校正时间tevent(0)已经过去。在由该中断激活的中断处理例行程序期间CPU2刚好需要向事件寄存器12写入下一校正时间tevent(1)。这可以防止下一校正时间在已经写入的校正时间到达之前被覆盖。CPU 2已经计算时间t4处的下一更新值p(1),然后将该值写入到缓冲寄存器22。该处理以包括在中断处理例行程序中,使得可以防止缓冲寄存器22中保持的值在前一更新值p(0)传送到比较寄存器21之前被覆盖。
在时间t5处,本地时间tclock与校正时间tevent(1)匹配。然后,发出外围模块中断INT_T。更新值p(1)从缓冲寄存器22被传送到比较寄存器21。在时间t5,控制信号32的占空比变为由更新值p(1)指定的值占空比(p(1))。在时间t5,CPU中断INT_C也发生以启动中断处理。在时间t6,CPU 2开始计算下一更新值p(2)。在时间t8,CPU完成计算并且将该值写入到缓冲寄存器22。在相同的中断处理例行程序中,在时间t7将下一校正时间tevent(2)写入到事件寄存器12。
如上所述,由于CPU中断导致的开销改变开始计算更新值p(1)的时间t2或者也可以改变用于完成更新值p(1)的计算的时间t4。然而,更新值p(1)作为控制信号32的输出在时间t5反映在占空比中。在时间t5,本地时间tclock与指定校正时间tevent(1)匹配。假设将相同的校正时间tevent(1)指定给从设备91_1至91_N。然后,时间t2和t4随着从设备91_1至91_N上的CPU中断导致的开销以及执行参数更新程序的时间变化而变化。另一方面,在时间t5将参数更新为更新值p(1)。在时间t5,设备以与本地时间tclock的同步精度那么高的精度而同步。本地时间tclock在设备之间高度精确地同步。在时间t5,本地时间tclock与指定校正时间tevent(1)匹配。因此,指定相同校正时间tevent(1)的设备以与本地时间tclock的同步精度那么高的精度彼此同步。
因此,对于参数校正时间,可以确保高度精确的同步和延迟时间,而不受由于CPU中断和执行参数更新程序的时间变化导致的开销影响。
上述实施例以及稍后的实施例包含诸如同一时间或时间匹配之类的表达。这样的表达并不旨在于被严格理解,而是暗示诸如流水线之类的硬件配置误差的若干周期。
第二实施例
图4是示出了根据第二实施例的微计算机的配置的框图。与根据第一实施例的通信接口3相比,微计算机1中包括的通信接口3进一步包括事件缓冲器13。事件缓冲器13包括寄存器15_1和15_2。事件缓冲器13以写入校正时间的顺序向事件寄存器12传送从总线6写入的校正时间。事件缓冲器13可以被配置为例如先入先出(FIFO)移位寄存器。如果时间寄存器11中的值与事件寄存器12中的值匹配,则事件缓冲器13向事件寄存器12传送存储于其中的最早值。如果配置为FIFO系统,则事件缓冲器13连续移位后续值。由于提供了事件缓冲器13,所以CPU2可以向事件缓冲器13相继写入接收到的校正时间tevent(0)、tevent(1)、tevent(2)等。假设不提供事件缓冲器13并且在本地时间tclock到达校正时间tevent(0)之前将下一校正时间tevent(1)写入到事件寄存器12。在这样的情况下,在校正时间tevent(0)处不更新参数。如果在晚于tevent(1)的时间处将下一校正时间tevent(1)写入事件寄存器12,则在校正时间tevent(1)不更新参数。作为结果,限制了将校正时间tevent(1)写入事件寄存器12的定时。例如,对于当本地时间tclock匹配校正时间tevent(0)时出现的CPU中断INT_C,执行中断处理例行程序。在中断处理例行程序中,下一校正时间tevent(1)刚好需要被分配给事件寄存器12。在这种情况下,存储器5存储接收到的校正时间tevent(0)、tevent(1)、tevent(2)等。如实施例中所述的那样,事件缓冲器13可以减少对将校正时间从CPU2写入到通信接口3的定时的限制,并且降低CPU中断INT_C的中断处理例行程序上的负载。
微计算机1包括两个外围模块4_1和4_2,每个外围模块包括定时器,该定时器作为用于生成PWM控制的控制信号的外部装置控制信号生成器20。外围模块4_1和4_2分别经由端口8_1和8_2向端子32_1和32_2输出PWM控制信号。稍后将描述用于生成PWM控制信号的定时器配置和操作。微计算机1进一步包括中断选择电路9。中断选择电路9包括能够将供给的外围模块中断INT_T选择性地与外围模块4_1和4_2以及各种外围模块(未示出)耦合的选择电路。实施例选择耦合到外围模块4_1和4_2。中断选择电路9可以选择外围模块作为外围模块中断的目标,并且提高微计算机的通用特性。
微计算机1进一步包括编码器信号输入部分19。编码器信号输入部分19被经由端口8_3供给有编码器信号(未示出)。编码器信号监视外部装置的操作。从CPU 2经由总线6访问编码器信号输入部分19。
图5是示出了微计算机与外部设备之间的耦合的框图。微计算机1分别经由变频器94_1和94_2与两个AC马达93_1和93_2耦合。三相信号Iu_1、Iv_1和Iw_1驱动AC马达93_1。变频器94_1从三相互补PWM控制信号TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN生成三相信号Iu_1、Iv_1和Iw_1。类似地,三相信号Iu_2、Iv_2和Iw_2驱动AC马达93_2。变频器94_2根据三相互补PWM控制信号TU2_UP、TU2_UN、TU2_VP、TU2_VN、TU2_WP和TU2_WN生成三相信号Iu_2、Iv_2和Iw_2。AC马达93_1和93_2分别设置有用作位置检测器编码器95_1和95_2。编码器信号检测AC马达93_1和93_2的位置并且经由端口8_3输入到微计算机的编码器信号输入部分19。
图6是示出根据第二实施例的定时器的配置的框图。该图也包含比较寄存器21、缓冲寄存器22和传送电路23。与三相互补PWM控制信号对应,比较寄存器21包括寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)。缓冲寄存器22包括寄存器TBRA(22_A)、TBRB(22_B)和TBRC(22_C)。作为外围模块中断的示例,当被供给有INT_T时,传送电路23将缓冲寄存器TBRA(22_A)的值传送到比较寄存器TCRA(21_A),将缓冲寄存器TBRB(22_B)的值传送到比较寄存器TCRB(21_B),并将缓冲寄存器TBRC(22_C)的值传送到比较寄存器TCRC(21_C)。
作为外围模块4的示例,定时器模块4_1和4_2分别包括计数器24_1和24_2、比较器27_1和27_2以及输出控制部分28。定时器模块4_1和4_2可以等同地配置或者可以不等同地配置。通常,作为微计算机的外围模块的定时器是多种多样的。所示的配置示例也提供通用定时器的设置示例。计数器24_1和24_2包括寄存器TCNT1和TCNT2,并且能够递增和递减。CPU 2可以经由总线6对计数器24_1和24_2进行读取或写入,但详细的电路配置未示出。计数器24_1和24_2可以根据作为外围模块中断的定时器中断来在递增和递减之间进行切换。
比较电路27_1将计数器24_1和24_2的寄存器TCNT1和TCNT2的值与比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的值进行比较。比较电路27_1向输出控制部分28输出匹配信号的六个组合。比较电路27_2将计数器24_1和24_2的寄存器TCNT1和TCNT2的值与空载时间(dead time)寄存器TDDR(25)的值进行比较。比较电路27_2向输出控制部分28输出匹配信号的两个组合。
输出控制部分28基于供给的匹配信号生成并输出三相互补PWM控制信号TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN。
图7是示出根据第二实施例的定时器的操作的定时图。水平轴代表时间。垂直轴从顶部到底部代表定时器中断INT_T、作为计数器24_1和24_2的寄存器TCNT1和TCNT2的值的模拟表示的TCNT以及三相互补PWM控制信号TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN的波形。比较电路27_1根据定时器计数器与比较寄存器之间的比较匹配生成占空比,即,定时器计数器TCNT1和TCNT2与比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)。
计数器24_1和24_2在从t0到t7的时段期间作为上计数器操作,也就是,从第一定时器中断到使用放置在空载时间寄存器TDDR(25)中的偏移值的下一定时器中断。在时间t7处的定时器中断将递增变为递减。然后计数器24_1和24_2作为下计数器操作。每当定时器中断出现时,递增和递减就随后交替。
在时间t0处的第一定时器中断分别向比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)供给初始值TthA1、TthB1和TthC1。图7中的TCNT轴提供供给值的模拟表示。在时间t1处,TCNT1匹配比较寄存器TCRC(21_C)。比较电路27_1向输出控制部分28输出该结果。输出控制部分28将三相互补PWM控制信号之一TU1_WN从低电平倒相为高电平。随后,时间t2处的TCNT1与TthB1之间的匹配使TU1_VN倒相。时间t3处的TCNT2与TthC1之间的匹配使TU1_WP倒相。时间t4处的TCNT1与TthA1之间的匹配使TU1_UN倒相。时间t5处的TCNT2与TthB1之间的匹配使TU1_VP倒相。时间t6处的TCNT2与TthA1之间的匹配使TU1_UP倒相。如上所述,时间t7处的定时器中断将递增变为递减。时间t8处的TCNT2与TthA1之间的匹配使TU1_UP倒相。时间t9处的TCNT2与TthB1之间的匹配使TU1_VP倒相。时间t10处的TCNT1与TthA1之间的匹配使TU1_UN倒相。时间t11处的TCNT2与TthC1之间的匹配使TU1_WP倒相。时间t12处的TCNT1与TthB1之间的匹配使TU1_VN倒相。
时间t3处的定时器中断分别将比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的值更新为更新值TthA2、TthB2和TthC2。为此,定时器中断INT_T允许传送电路23将缓冲寄存器TBRA(22_A)的值传送给比较寄存器TCRA(21_A)、将TBRB(22_B)的值传送给TCRB(21_B)以及将TBRC(22_C)的值传送给TCRC(21_C)。CPU2预先将更新值TthA2、TthB2和TthC2写入到缓冲寄存器TBRA(22_A)、TBRB(22_B)和TBRC(22_C)。此后,时间t14和t26之间的时段重复与时间t1和t13之间的时段相同的操作。更新比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的值改变输出的三相互补PWM控制信号TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN的占空比。
CPU2用于计算和写入更新值TthA2、TthB2、TthC2的时间随着由于CPU中断导致的开销以及用于执行参数更新程序的时间而变化。当比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的值分别更新为更新值TthA2、TthB2、TthC2时,更新时间与时间t13处的定时器中断同步。时间t13处的定时器中断发生在从设备之间同步的本地时间tclock处。用于生成定时器中断的时间也在从设备之间高度精确地同步。因此,也可以在从设备之间将该时间与比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的更新值高度精确地同步。
尽管已经描述了使用定时器模块4_1控制AC马达93_1的方法,但同样的方法使用定时器模块4_2控制AC马达93_2,为简洁起见省略描述。以与其它从设备控制的AC马达和其它外部装置高度精确同步地控制两个AC马达93_1和93_2。
对于参数校正时间可以确保高度精确同步和延迟时间,而不受由于CPU中断导致的开销以及用于执行参数更新程序的时间变化的影响。因此,外部耦合设备(马达)可以基于高度精确的时间同步而操作。
下面描述使用三相互补PWM输出控制马达的微计算机的初始化操作。图8是示出根据第二实施例的微计算机的复位例行程序的流程图。
输入复位以驱动微计算机。然后微计算机将定时器模块4_1和4_2以及通信接口3从模块备用状态释放(S1)。
微计算机初始化定时器模块4_1(S2)。微计算机向定时器计数器TCNT1分配空载时间并向定时器计数器TCNT2分配0。微计算机分别向缓冲寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)分配参数TthA、TthB和TthC。参数TthA、TthB和TthC分别指定U相、V相和W相的占空比。微计算机将同样的参数TthA、TthB和TthC分配给比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C),并将空载时间分配给空载时间寄存器TDDR。在复位例行程序中,CPU 2直接向比较寄存器21和空载时间寄存器25分配初始值。CPU 2不需要随后的更新。如果定时器模块4_1是通用的,则微计算机配置用于允许缓冲寄存器TBRA(22_A)、TBRB(22_B)和TBRC(22_C)对应于比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的设置。微计算机配置用于支持从TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN的输出的设置。
在如上所述那样初始化定时器模块4_1之后,微计算机基于来自通信接口3的定时器中断实现定时器模块4_1的参数传送(S3)。微计算机为来自通信接口3的CPU中断分配有效优先级(S4)。微计算机将端口8_1初始化为耦合到三相互补PWM控制信号TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN的输出(S5)。微计算机开始对定时器计数器TCNT1和TCNT2进行计数(S6)。微计算机等待来自通信接口3的CPU中断INT_C(S7)。
下面描述CPU中断例行程序和定时器中断的微计算机处理。在上述初始化之后,微计算机等待CPU中断INT_C和定时器中断INT_T。当出现CPU中断INT_C时,CPU 2执行CPU中断例行程序。定时器模块4_1执行指定处理。
图9是示出根据第二实施例的微计算机的CPU中断例行程序的流程图。当出现来自通信接口3的CPU中断INT_C时,CPU 2从通信接口3清除中断标志(S11)。CPU 2确定AC马达93_1是否供给编码器信号(S12)。如果供给编码器信号,则CPU 2从编码器信号输入部分19引入编码器信号(S13)。CPU 2使用参数更新程序计算将为U相、V相和W相更新的占空比,并计算对应的参数TthA、TthB和TthC(S14)。如果在S13引入编码器信号,则CPU2向参数添加该值用于占空比计算。CPU 2向定时器模块4_1的缓冲寄存器TBRA(22_A)、TBRB(22_B)和TBRC(22_C)分配在S14处计算的参数TthA、TthB和TthC,以配置接下来将更新的占空比的值(S15)。
图10是示出根据第二实施例的微计算机响应于定时器中断的处理的流程图。当从通信接口3出现定时器中断INT_T时,分配给定时器模块4_1的缓冲寄存器TBRA(22_A)、TBRB(22_B)和TBRC(22_C)的参数TthA、TthB和TthC分别传送给比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)(S16)。更新比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的值改变了输出的三相互补PWM控制信号TU1_UP、TU1_UN、TU1_VP、TU1_VN、TU1_WP和TU1_WN的占空比。
在发生CPU中断INT_C之后,如参照图9描述的那样,CPU 2计算和写入更新值TthA2、TthB2和TthC2的时间随着由于CPU中断导致的开销和用于执行参数更新程序的时间而变化。在发生定时器中断INT_T之后,定时器模块4_1更新比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的值的时间在若干时钟循环内的延迟之后跟随定时器中断INT_T,并且与定时器中断INT_T高度精确地同步。用于生成定时器中断INT_T的时间在从设备之间高度精确地同步。因此,也可以在从设备之间将该时间与比较寄存器TCRA(21_A)、TCRB(21_B)和TCRC(21_C)的更新值高度精确地同步。
尽管已经描述了使用定时器模块4_1控制AC马达93_1的方法,但为简洁起见省略描述同样的方法使用定时器模块4_2控制AC马达93_2。以与其它从设备控制的AC马达和其它外部装置高度精确同步地控制两个AC马达93_1和93_2。
对于参数校正时间可以确保高度精确同步和延迟时间,而不受由于CPU中断导致的开销以及用于执行参数更新程序的时间变化的影响。因此,外部耦合设备(马达)可以基于高度精确的时间同步而操作。
第三实施例
图11是示出根据第三实施例的微计算机的配置的框图。根据第二实施例的微计算机包括定时器模块4_1和4_2作为两个外围模块4。另一方面,根据第三实施例的微计算机包括一个外围模块4_3,该外围模块4_3包括PWM信号生成器20_3。与定时器20_1和20_2不同,PWM信号生成器20_3直接被供给有占空比值以生成PWM控制的控制信号并经由端口8将其从微计算机1的端子32输出。CPU2、通信接口3、存储器5和编码器19与根据第二实施例的微计算机中的那些类似地配置。然而,从通信接口3输出的外围模块中断INT_T直接输入到外围模块4_3,而不使用中断选择电路9。
外围模块4_3包括PWM生成器电路20_3、占空比缓冲器17、占空比寄存器21_3和传送电路23_3。占空比缓冲器17包括寄存器22_3、15_3等。例如,占空比缓冲器17包括FIFO移位寄存器。当CPU2从总线6写入占空比值时,占空比缓冲器17以占空比值写入的顺序传送并输出占空比值。当接收外围模块中断INT_T时,传送电路23_3将占空比值从占空比缓冲器17中的最后寄存器22_3传送到占空比寄存器21_3。占空比缓冲器17将其中保持的占空比值依次移位。占空比缓冲器17中的最后寄存器22_3对应于根据第一和第二实施例的缓冲寄存器22。PWM信号生成器20_3针对其占空比值保持在占空比寄存器21_3中的占空比生成控制信号。
占空比缓冲器17可以减少对CPU2将占空比值写入外围模块4_3的定时的限制。
下面描述微计算机上的初始化操作。图12是示出根据第三实施例的微计算机的复位例行程序的流程图。
输入复位以启动微计算机。然后,微计算机将外围模块4_3和通信接口3从模块备用状态释放(S21)。微计算机初始化占空比寄存器21_3(S22)。尽管图11示出了占空比寄存器21_3用于一个系统,但微计算机包括三个占空比寄存器21_3用于对应U相、V相和W相的三个系统。在S22处,微计算机向占空比寄存器供给适当的初始值。微计算机向占空比缓冲器17供给U相、V相和W相占空比更新值(S23)。微计算机向PWM生成器电路20_3供给三相互补PWM生成所需的诸如空载时间之类的参数(S24)。微计算机初始化定时器中断以在定时器中断出现时更新PWM占空比(S25)。微计算机将端口8配置为U相、V相和W相输出(S26)。微计算机等待定时器中断(S27)。
图13是示出根据第三实施例的微计算机的CPU中断例行程序的流程图。当出现来自通信接口3的CPU中断INT_C时,CPU2将中断标志从通信接口3清除(S31)。CPU2确定编码器信号输入部分19是否供给编码器信号(S32)。如果供给编码器信号,则CPU2从编码器信号输入部分19引入编码器信号(S33)。微计算机计算占空比(S34)。微计算机在占空比计算期间向参数添加在S33处引入的编码器信号的值。微计算机向占空比缓冲器17供给在S34处计算的占空比以更新占空比(S35)。
图14是示出根据第三实施例的微计算机响应于定时器中断的处理的流程图。当从通信接口3出现定时器中断INT_T时,传送电路23_3将放置在占空比缓冲器17中的占空比传送到占空比寄存器20_3。
对于参数校正时间,可以确保高度精确同步和延迟时间,而不受由于CPU中断导致的开销以及执行参数更新程序的时间变化影响。因此,外部耦合设备(马达)可以基于高度精确的时间同步而操作。也可以减少对CPU2向外围模块4_3写入占空比值的定时的限制。
第四实施例
图15是示出根据第四实施例的微计算机的配置的框图。与图11所示的根据第三实施例的微计算机相比,根据第四实施例的微计算机在PWM信号生成器20_3之后进一步包括可变延迟电路30_U、30_V和30_W、相位调整电路29以及相位寄存器18。可变延迟电路30_U、30_V和30_W分别对应于U相、V相和W相输出。相位调整电路29控制可变延迟电路。相位寄存器18向相位调整电路29供给U相、V相和W相。
图16是示出根据第四实施例的微计算机的复位例行程序的流程图。S41至S46等同于图12中的S21至S26,为了简洁起见,省略描述。在S46之后,微计算机配置相位寄存器(S47)。微计算机向可变延迟电路30_U、30_V和30_W供给延迟量δ(0)、δ(1)和δ(2)。在完成所有初始化设置之后,微计算机等待定时器中断INT_T(S48)。在初始化之后,微计算机响应于与参照图13和图14描述的第三实施例类似的定时器中断和来自通信接口3的CPU中断而操作,为简洁起见省略描述。
独立地将延迟供给到从PWM信号生成器20_3输出的U相、V相和W相控制信号,使得可以配置U相、V相和W相之间的相位关系。这实现对需要相位调整的诸如马达之类的外部装置的同步控制。
另一方面,可以配置微计算机,使得PWM信号生成器20_3仅生成PWM控制信号的一个系统。可变延迟电路30_U、30_V和30_W均可以具有基本120度的相位差。这可以将占空比缓冲器17、传送电路23_3和占空比寄存器21_3限制为仅一个系统。
第五实施例
图17是示出根据第五实施例的微计算机的配置的框图。第五实施例简化了图4所示的根据第二实施例的微计算机,并且提供应用微计算机仅启动工业马达、而不控制它们用于校正的示例。如果同时启动多个马达,则定时控制器4_1控制第一马达。定时控制器4_2控制第二马达。通信接口3包括两个事件寄存器12_1和12_2以及同步通信部分10、时间寄存器11和比较电路14。例如,通信接口3处理遵循IEEE1588标准的同步以太网的协议。比较电路14将存储在时间寄存器11中的本地时间与存储在事件寄存器12_1和12_2中的时间进行比较。如果本地时间匹配任意时间,则比较电路14发出中断INT_C。如果本地时间匹配事件寄存器12_1和12_2,则比较电路14分别发出定时器中断INT_T1和INT_T2。选择定时器中断INT_T1和INT_T2,使得中断选择电路9将它们分别供给到定时器模块4_1和4_2。CPU2、存储器5、总线6、以太网电路7、定时器模块4_1和4_2、端口8_1和8_2以及编码器信号输入部分19类似于图4所示的根据第二实施例的微计算机中的那些进行配置。
下面描述在使用同步以太网提供工业装置之间的时间同步的系统中在预定启动时间(tstart(0)和tstart(1))启动工业马达的实施例。启动时间(tstart(0)和tstart(1))预先写入到存储器5或者根据以太网通信经由同步通信部分10从外部获取并且存储在存储器5中。CPU 2使用CPU核芯,CPU核芯强调适于马达控制的操作性能。CPU 2经由编码器引入控制参数(诸如角速度、转矩和相位),执行用于校正占空比的计算,并配置参数以便向定时器模块4_1和4_2输出指定占空比。CPU 2在对应于待启动的马达的事件寄存器12_1和12_2中存储所获取的启动时间(tstart(0)和tstart(1))。例如,假设第一马达在启动时间tstart(0)启动并且第二马达在启动时间tstart(1)启动。然后,CPU 2向对应于第一马达的事件寄存器12_1写入启动时间tstart(0)并且向对应于第二马达的事件寄存器12_2写入启动时间tstart(1)。比较电路14将事件寄存器12_1和12_2中的启动时间与时间寄存器11中的本地时间进行比较。如果它们匹配,则比较电路14生成CPU中断INT_C和定时器中断INT_T1和INT_T2。中断选择电路9将定时器中断INT_T1和INT_T2分别与定时器模块4_1和4_2耦合。定时器模块4_1和4_2为由输入参数指定的占空比生成控制信号。生成的控制信号经由端口8_1和8_2供给到作为外部装置的变频器。然后变频器驱动马达。例如,三相互补PWM信号驱动马达。该信号一般用于工业马达并且包括三个正向和反向相位。作为来自编码器信号输入部分19的编码器信号,引入关于马达的角速度和位置信息。
下面描述使用三相互补PWM输出控制马达的微计算机上的初始化操作。图18是示出根据第五实施例的微计算机的复位例行程序的流程图。
输入复位以启动微计算机。然后微计算机将定时器模块4_1和4_2和通信接口3从模块备用状态释放(S41)。为了初始化定时器模块4_1,微计算机初始化指定占空比的参数、设置空载时间和配置波形输出(S42)。为了初始化定时器模块4_2,微计算机类似地初始化指定占空比的参数、设置空载时间并且配置波形输出(S43)。微计算机向事件寄存器12_1分配定时器模块4_1的启动时间tstart(0)。微计算机向事件寄存器12_1分配定时器模块4_2的启动时间tstart(1)。微计算机将来自通信接口3的定时器中断INT_T1和INT_T2耦合到定时器模块4_1和4_2,并且实现定时器中断(S45)。微计算机向来自通信接口3的CPU中断分配有效优先级(S46)。微计算机将端口8_1和8_2指定为输出(S47)。从定时器模块4_1和4_2输出的三相互补PWM控制信号耦合到端口8_1和8_2。微计算机等待来自通信接口3的CPU中断INT_C(S48)。
下面描述CPU中断例行程序和定时器中断的微计算机处理。在上述初始化之后,微计算机等待CPU中断INT_C和定时器中断INT_T1和INT_T2。当出现CPU中断INT_C时,CPU 2执行CPU中断例行程序。当出现定时器中断INT_T1和INT_T2时,定时器模块4_1和4_2执行指定处理。图19提供示出根据第五实施例的微计算机响应于定时器中断的处理和CPU中断例行程序的流程图。当从通信接口3出现CPU中断INT_C时,CPU 2确定中断原因(S51)。在S51处,中断原因可以对应于事件寄存器12_2。在这种情况下,CPU2禁止对应于事件寄存器12_2的中断(S52)。CPU 2关断对应于事件寄存器12_2的中断标志(S53)。CPU 2允许定时器模块4_2的比较匹配中断并且支持占空比校正(S54)。在S51,中断原因可能对应于事件寄存器12_1。在这种情况下,CPU2禁止对应于事件寄存器12_1的中断(S55)。CPU 2关断对应于事件寄存器12_1的中断(S56)。CPU 2允许定时器模块4_1的比较匹配中断并且支持占空比校正(S57)。
当从通信接口3出现对应于事件寄存器12_1的定时器中断INT_T1时,CPU2启动定时器模块4_1的定时器(S58)。当从通信接口3出现对应于事件寄存器12_2的定时器中断INT_T2时,CPU2启动定时器模块4_2的定时器(S59)。
图20提供示出根据第五实施例的微计算机响应于计数器的计数方向改变的处理和比较匹配中断例行程序的流程图。当从定时器模块4_1出现比较匹配中断时,CPU 2关断定时器模块4_1的比较匹配中断标志(S61)。CPU 2确定是否输入编码器信号(S62)。如果输入编码器信号,则CPU 2将其从编码器信号输入部分19引入(S63)。CPU 2计算占空比(S64)。如果在S63处引入编码器信号,则CPU 2将其值添加到参数用于占空比计算。CPU2通过向定时器模块4_1的缓冲寄存器22_1供给用于输出计算的占空比的参数来更新占空比(S65)。定时器模块4_1的计数器(定时器)20_1的计数方向从递增变为递减,或者反之亦然。然后,传送电路23_1将占空比指定参数传送给定时器模块4_1的比较寄存器21_1。占空比指定参数已经供给到定时器模块4_1的缓冲寄存器。当从定时器模块4_2发生比较匹配中断时,CPU 2关断定时器模块4_2的比较匹配中断标志(S67)。CPU 2确定是否输入编码器信号(S68)。如果输入编码器信号,则CPU 2将其从编码器信号输入部分19引入(S69)。CPU2计算占空比(S70)。如果在S63引入编码器信号,则CPU 2将其值添加到参数用于占空比计算。CPU 2通过向定时器模块4_2的缓冲寄存器22_2供给用于输出计算的占空比的参数来更新占空比(S71)。定时器模块4_2的计数器(定时器)20_2的计数方向从递增变为递减,或者反之亦然。然后,传送电路23_2将占空比指定参数传送到定时器模块4_2的比较寄存器21_2(S72)。占空比指定参数已经供给到定时器模块4_2的缓冲寄存器。
这能够使得独立地供给参数的校正时间,以启动和控制外部装置,并且提供更高度精确和多样化的同步控制。
尽管已经描述了本发明的特定优选实施例,但应明确理解到的是,本发明并不限于此,而是可以在本发明的精神和范围内另外进行各种实施。
例如,诸如CPU 2、存储器5和总线6之类的微计算机的基本部件可以符合任意处理器架构。CPU 2可以作为包括多处理器的任意处理器获得。总线6可以是分层化的,以包括高速缓存存储器或存储器管理单元。存储器5可以在片上获得或作为ROM、RAM或其组合来获得。
Claims (8)
1.一种微计算机,包括:
CPU;
外围模块,用于基于指定参数来控制外部装置;以及
通信接口,能够经由网络与其它设备通信,
其中所述通信接口包括第一寄存器、第二寄存器和比较电路;
其中所述第一寄存器和所述第二寄存器保持用于基于经由所述网络的通信与其它设备同步的时间;
其中所述比较电路将所述第一寄存器中保持的值与所述第二寄存器中保持的值进行比较,如果发现匹配,则向所述CPU发出CPU中断,并且向所述外围模块发出外围模块中断;
其中所述外围模块包括第三寄存器和第四寄存器;
其中所述第三寄存器保持所述参数的当前值;
其中所述第四寄存器保持所述参数的更新值;
其中所述外围模块生成控制信号,以基于所述当前值控制所述外部装置;
其中所述CPU能够响应于所述CPU中断来执行参数更新程序,以开始计算所述参数的所述更新值并将所述更新值写入所述第四寄存器,以及
其中所述外围模块响应于所述外围模块中断而将存储在所述第四寄存器中的值传送至所述第三寄存器。
2.根据权利要求1所述的微计算机,
其中所述外围模块生成脉宽调制的控制信号,以驱动外部耦合设备;
其中所述参数提供用于指定脉宽调制的占空比的值;
其中所述通信接口将校正时间写入到所述第二寄存器;
其中所述校正时间经由所述网络被供给到所述通信接口,并且指定用于将所述参数从所述当前值更新为所述更新值的时间,以及
其中所述参数更新程序计算在所述校正时间将被供给到所述参数的所述更新值。
3.根据权利要求2所述的微计算机,
其中所述通信接口包括第一缓冲器,所述第一缓冲器能够保持至少一条数据并且以与输入数据相同的顺序输出保持的数据,以及
其中所述通信接口将所述校正时间写入到所述第一缓冲器,将所述第一寄存器中保持的值与所述第二寄存器中保持的值进行比较,并且如果发现匹配,则将来自所述第一缓冲器的输出写入到所述第二寄存器。
4.根据权利要求2所述的微计算机,
其中所述外围模块中断经由中断选择电路耦合到所述外围模块。
5.根据权利要求2所述的微计算机,
其中所述外围模块中断直接耦合到所述外围模块;
其中所述外围模块包括PWM生成器电路和所述第四寄存器,并且包括第二缓冲器,所述第二缓冲器能够保持至少一条数据并且以与输入数据相同的顺序输出保持的数据,以及
其中所述PWM生成器电路基于所述第三寄存器中保持的所述当前值来生成所述脉宽调制的控制信号,并且当所述外围模块中断被输入时向所述第三寄存器传送从所述第二缓冲器输出的值。
6.根据权利要求5所述的微计算机,
其中所述PWM生成器电路生成3相控制信号;
其中所述外围模块进一步包括可变延迟电路、相位调整电路和相位寄存器;
其中所述可变延迟电路与所述3相控制信号对应地被插入;
其中所述相位调整电路向所述可变延迟电路供给延迟量,以及
其中所述相位寄存器向所述相位调整电路供给相位调整参数。
7.根据权利要求1所述的微计算机,
其中所述外围模块生成脉宽调制的控制信号以控制外部耦合设备;
其中所述参数提供表示脉宽调制的占空比的值;
其中所述通信接口向所述第二寄存器写入开始时间和校正时间;
其中所述开始时间经由所述网络被供给到所述通信接口;
其中所述校正时间指定用于将所述参数从所述当前值更新为所述更新值的时间,以及
其中所述参数更新程序包括在所述开始时间将所述参数的初始值写入到所述第三寄存器、响应于在所述开始时间的CPU中断来允许所述外围模块中断以及禁止后续的CPU中断的步骤。
8.根据权利要求7所述的微计算机,
其中所述外围模块生成多组脉宽调制的控制信号,以控制多个外部耦合设备;
其中所述参数提供表示与每组控制信号对应的脉宽调制的占空比的多组值;
其中所述通信接口包括与所述多组控制信号对应的多个第二寄存器并且向每个所述第二寄存器写入所述开始时间和所述校正时间;
其中所述开始时间和所述校正时间经由所述网络被供给到所述通信接口,并且对应于每组控制信号;
其中所述比较电路将所述第一寄存器中保持的值与所述第二寄存器中保持的值进行比较,如果发现匹配,则向所述外围模块发出对应于所述多组控制信号的多个外围模块中断;
其中所述外围模块包括与所述多组控制信号对应的多个所述第三寄存器和所述第四寄存器,并且基于与每组控制信号对应的所述当前值生成所述多组控制信号,以及
其中所述外围模块响应于所述外围模块中断来将存储在对应的第四寄存器中的值传送到对应的第三寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810783747.7A CN109117395B (zh) | 2012-11-26 | 2013-11-25 | 微计算机 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-257304 | 2012-11-26 | ||
JP2012257304A JP6029433B2 (ja) | 2012-11-26 | 2012-11-26 | マイコン |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810783747.7A Division CN109117395B (zh) | 2012-11-26 | 2013-11-25 | 微计算机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103838149A true CN103838149A (zh) | 2014-06-04 |
CN103838149B CN103838149B (zh) | 2018-08-07 |
Family
ID=50774307
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810783747.7A Active CN109117395B (zh) | 2012-11-26 | 2013-11-25 | 微计算机 |
CN201310603564.XA Active CN103838149B (zh) | 2012-11-26 | 2013-11-25 | 微计算机 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810783747.7A Active CN109117395B (zh) | 2012-11-26 | 2013-11-25 | 微计算机 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9928184B2 (zh) |
JP (1) | JP6029433B2 (zh) |
CN (2) | CN109117395B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107117321A (zh) * | 2017-03-09 | 2017-09-01 | 重庆零度智控智能科技有限公司 | 单片机输出互补脉冲调制波的方法、装置及设备 |
CN107239330A (zh) * | 2016-03-29 | 2017-10-10 | 现代奥特劳恩株式会社 | 汽车开放系统架构操作系统的任务分配方法及其装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180124340A (ko) * | 2017-05-11 | 2018-11-21 | 엘에스산전 주식회사 | 프로그래머블 논리 제어 장치 |
DE102018124375A1 (de) * | 2017-11-21 | 2019-05-23 | Samsung Electronics Co., Ltd. | Betriebsverfahren eines signalempfängers, pulsbreitensteuerungund elektronische vorrichtung mit denselben |
KR102115310B1 (ko) | 2018-04-25 | 2020-05-26 | 엘에스일렉트릭(주) | Plc 기반의 위치 제어 장치 |
SE2150797A1 (en) * | 2021-06-22 | 2022-12-23 | Bombardier Transp Gmbh | A pulse width modulation system and a method in relation thereto |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594631A (en) * | 1994-04-20 | 1997-01-14 | The Boeing Company | Digital pulse width modulator for power supply control |
US20030088724A1 (en) * | 2001-10-04 | 2003-05-08 | Kenichi Itoh | Asynchronous bus interface apparatus |
CN1998130A (zh) * | 2003-10-01 | 2007-07-11 | J.L.贝哈梅尔公司 | 用于同步机控制的相位角控制 |
CN101202017A (zh) * | 2006-12-13 | 2008-06-18 | 恩益禧电子股份有限公司 | 用于液晶显示面板的背光亮度控制 |
CN101689157A (zh) * | 2007-04-17 | 2010-03-31 | Xmos有限公司 | 定时端口 |
CN201550064U (zh) * | 2009-10-14 | 2010-08-11 | 江苏天奇物流系统工程股份有限公司 | 多电机同步控制装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4188665A (en) * | 1977-11-29 | 1980-02-12 | International Business Machines Corporation | Programmable communications subsystem |
US5617574A (en) * | 1989-05-04 | 1997-04-01 | Texas Instruments Incorporated | Devices, systems and methods for conditional instructions |
JP3400605B2 (ja) * | 1995-05-11 | 2003-04-28 | 株式会社日立製作所 | 制御用処理装置 |
JP3372430B2 (ja) * | 1996-09-11 | 2003-02-04 | オークマ株式会社 | 同期制御装置 |
JPH10198410A (ja) * | 1997-01-10 | 1998-07-31 | Ricoh Co Ltd | パルス発生回路 |
JP4021998B2 (ja) | 1998-08-07 | 2007-12-12 | 松下電器産業株式会社 | データ伝送制御システム及びデータ伝送制御方法 |
JP3748204B2 (ja) | 2000-11-27 | 2006-02-22 | 三菱電機株式会社 | 周期制御同期システム |
KR100375233B1 (ko) * | 2001-03-16 | 2003-03-08 | 삼성전자주식회사 | 전송될 데이터 길이 값에 따라 전송 모드가 유동적으로변환되는 직접 메모리 억세스 컨트롤러 |
JP2007213474A (ja) | 2006-02-13 | 2007-08-23 | Yaskawa Electric Corp | モーション制御システム |
JP2007226492A (ja) | 2006-02-23 | 2007-09-06 | Yaskawa Electric Corp | モーションコントロールシステム |
KR100802910B1 (ko) * | 2007-03-05 | 2008-02-13 | 엘에스산전 주식회사 | 전자접촉기의 코일 구동장치 |
JP5030698B2 (ja) * | 2007-07-24 | 2012-09-19 | 株式会社リコー | 半導体装置及びノイズ低減方法 |
JP5141972B2 (ja) | 2007-12-07 | 2013-02-13 | オムロン株式会社 | 産業用コントローラ |
US8977790B2 (en) * | 2008-02-15 | 2015-03-10 | Freescale Semiconductor, Inc. | Peripheral module register access methods and apparatus |
WO2010122613A1 (ja) * | 2009-04-24 | 2010-10-28 | パナソニック株式会社 | Fifoバッファ装置 |
JP5184597B2 (ja) | 2010-09-06 | 2013-04-17 | 株式会社日立産機システム | 通信制御装置及び通信・制御システム |
US20130117476A1 (en) * | 2011-11-08 | 2013-05-09 | William V. Miller | Low-power high-speed data buffer |
-
2012
- 2012-11-26 JP JP2012257304A patent/JP6029433B2/ja active Active
-
2013
- 2013-11-10 US US14/076,252 patent/US9928184B2/en active Active
- 2013-11-25 CN CN201810783747.7A patent/CN109117395B/zh active Active
- 2013-11-25 CN CN201310603564.XA patent/CN103838149B/zh active Active
-
2018
- 2018-02-13 US US15/895,052 patent/US10474598B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594631A (en) * | 1994-04-20 | 1997-01-14 | The Boeing Company | Digital pulse width modulator for power supply control |
US20030088724A1 (en) * | 2001-10-04 | 2003-05-08 | Kenichi Itoh | Asynchronous bus interface apparatus |
CN1998130A (zh) * | 2003-10-01 | 2007-07-11 | J.L.贝哈梅尔公司 | 用于同步机控制的相位角控制 |
CN101202017A (zh) * | 2006-12-13 | 2008-06-18 | 恩益禧电子股份有限公司 | 用于液晶显示面板的背光亮度控制 |
CN101689157A (zh) * | 2007-04-17 | 2010-03-31 | Xmos有限公司 | 定时端口 |
CN201550064U (zh) * | 2009-10-14 | 2010-08-11 | 江苏天奇物流系统工程股份有限公司 | 多电机同步控制装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239330A (zh) * | 2016-03-29 | 2017-10-10 | 现代奥特劳恩株式会社 | 汽车开放系统架构操作系统的任务分配方法及其装置 |
CN107117321A (zh) * | 2017-03-09 | 2017-09-01 | 重庆零度智控智能科技有限公司 | 单片机输出互补脉冲调制波的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
JP6029433B2 (ja) | 2016-11-24 |
CN109117395A (zh) | 2019-01-01 |
US10474598B2 (en) | 2019-11-12 |
US20140149612A1 (en) | 2014-05-29 |
JP2014106594A (ja) | 2014-06-09 |
US9928184B2 (en) | 2018-03-27 |
US20180165231A1 (en) | 2018-06-14 |
CN109117395B (zh) | 2021-10-12 |
CN103838149B (zh) | 2018-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103838149A (zh) | 微计算机 | |
US10579048B2 (en) | EtherCAT control device and factory automation system having the same | |
US8996745B2 (en) | System for monitoring status of modules in an industrial controller | |
US6757583B2 (en) | Interpolated motion control over a serial network | |
US7432674B2 (en) | Control system | |
EP1906283A2 (en) | Motion control timing models | |
US7721030B2 (en) | Method and device for connecting sensors or actuators to a bus system | |
JP2009157913A (ja) | 産業用コントローラ | |
WO2019107022A1 (ja) | 制御装置および制御方法 | |
EP3361635A1 (en) | Control system and pulse output device | |
CN105308570A (zh) | 用于对分布式实时系统中的周期性任务传送时间正确的数据的方法和装置 | |
US10853288B2 (en) | Bus system | |
US20130013951A1 (en) | Method for Synchronizing an Operating Clock with a Time Clock of an Automation Network | |
WO2017203778A1 (ja) | モータ駆動システム、モータ制御システムおよび自走ロボット | |
CN111552235B (zh) | 一种基于CANopen协议的多轴同步误差补偿方法和系统 | |
JP2005094933A (ja) | モータ駆動装置 | |
JP4494702B2 (ja) | 印刷機駆動システム | |
JP2005018605A (ja) | 数値制御システム | |
JPH11259105A (ja) | 外部同期可能なプログラマブルコントローラ装置 | |
US11770235B2 (en) | Time synchronization of controller | |
US20230079221A1 (en) | Time synchronization in a network | |
KR100622943B1 (ko) | 자동적으로 타이밍 스펙 제어가 가능한 컨트롤러 및 그타이밍 스펙 제어방법 | |
JPS59176863A (ja) | タイマ同期化方式 | |
JP2001100804A (ja) | サーボ制御装置 | |
JP2002330121A (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 | ||
CB02 | Change of applicant information |
Address after: Tokyo, Japan, Japan Applicant after: Renesas Electronics Corporation Address before: Kanagawa Applicant before: Renesas Electronics Corporation |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |