CN103858115A - 外围设备触发产生器 - Google Patents
外围设备触发产生器 Download PDFInfo
- Publication number
- CN103858115A CN103858115A CN201280049693.2A CN201280049693A CN103858115A CN 103858115 A CN103858115 A CN 103858115A CN 201280049693 A CN201280049693 A CN 201280049693A CN 103858115 A CN103858115 A CN 103858115A
- Authority
- CN
- China
- Prior art keywords
- triggering
- peripherals
- generating device
- ptg
- order
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/05—Digital input using the sampling of an analogue quantity at regular intervals of time, input from a/d converter or output to d/a converter
-
- 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
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Microcomputers (AREA)
- Analogue/Digital Conversion (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明揭示一种微控制器,其包含中央处理单元CPU;多个外围设备单元;及外围设备触发产生器,其包括用户可编程的状态机,其中所述外围设备触发产生器经配置以接收多个输入信号,且可取决于所述输入信号中的至少一者而经编程以使时序功能自动化,且产生至少一个输出信号。
Description
相关申请案的交叉参考
本申请案主张2011年9月14日申请的标题为“外围设备触发产生器(PeripheralTrigger Generator)”的第61/534,619号美国临时申请案的优先权,所述申请案如同在本文中完全陈述般特此以引用方式完全并入。
技术领域
本发明涉及一种尤其用于微控制器中的外围设备触发产生器。
背景技术
微控制器使用于多种控制环境中。在此类环境中通常期望精确地产生响应于内部及外部事件而在时间及频率上变化的复杂信号,例如外围装置的触发。通常,所述微控制器的处理核心自身已被用于提供产生此类信号的控制。然而,处理器驱动时序解决方案受不一定可预测的处理器延迟的支配。当发生需要产生响应触发的时间紧急事件时,这可导致不准确性及时序不一致。此外,就处理器核心可被用于控制此时序来说,处理器额外负担量可能相当大。
因此,需要改进的系统及方法,以响应于时间驱动的事件而产生信号。进一步需要改进的系统及方法以产生触发信号以协调外围设备的动作。
发明内容
根据各种实施例,可使用外围设备触发产生器产生复杂且精确的时序序列,其可在未招致处理器驱动解决方案的不可预测性及延迟的情况下适应于内部及外部事件。根据各种实施例的外围设备触发产生器提供唯一外围设备功能,其使得用户能够实施常规微控制器不可能实现的协调的时序功能。
根据实施例的微控制器包含中央处理单元(CPU);多个外围设备单元;及外围设备触发产生器,其包括用户可编程的状态机,其中所述外围设备触发产生器经配置以接收多个输入信号,且取决于所述输入信号中的至少一者而可经编程以使时序功能自动化,且产生至少一个输出信号。在一些实施例中,所述外围设备触发产生器包含可编程步骤队列,其包括存储序列编程步骤的多个寄存器。在一些实施例中,所述外围设备触发产生器包括与控制逻辑耦合的控制寄存器,及与所述步骤队列耦合的命令解码器。在一些实施例中,所述至少一个输出信号为触发信号,其独立于所述CPU而控制所述外围设备单元中的一者。在一些实施例中,所述一个外围设备单元为模/数转换器。
根据一些实施例的微控制器包含中央处理单元;多个外围装置;及外围设备触发产生器,其经配置以产生多个触发及中断信号,及独立于所述中央处理单元而协调多个外围设备装置的时序功能。所述外围设备触发产生器可包含可编程状态机,以执行外围设备触发产生器命令。所述外围设备触发产生器可进一步包含一个或一个以上步骤队列,以存储外围设备触发产生器命令。所述外围设备触发产生器可包含与控制逻辑耦合的多个控制寄存器,及与所述一个或一个以上步骤队列耦合的命令解码器。
附图说明
包含附于本说明书且形成本说明书的部分的附图以描绘本发明的某些方面。应注意,在图中说明的特征部不一定按比例绘制。可通过参考结合附图的下文描述,获取本发明及其优点的更完整的理解,图中相似参考数字指相似特征且其中:
图1为根据本发明的实施例的微控制器的框图。
图2为根据本发明的实施例的外围设备触发产生器的框图。
图3为根据本发明的实施例的外围设备触发产生器的框图。
图4说明根据本发明的实施例的PTG的示范性控制及状态寄存器。
图5说明根据本发明的实施例的示范性步骤队列。
图6A及6B说明使用PTG的实例应用。
图7A及7B说明使用PTG的实例应用。
图8A到8D说明PTG状态机的示范性状态。
具体实施方式
本发明及其各种特征部及有利细节参考在附图中说明且在下文描述中详细描述的示范性及因此非限制性的实施例而更完全地解释。可省略已知编程技术、计算机软件、硬件、作业平台及协议的描述,以免不必要地模糊本发明的细节。然而应理解,虽然指示优选实施例,但是详细描述及特定实例仅经由说明给出,且并非出于限制。所属领域的技术人员将从本发明了解基本发明概念的精神及/或范围内的各种取代、修改、新增及/或重新布置。
如本文中所使用,术语“包括”、“包含”、“具有”或其任何其它变形希望涵盖非排他性的包含。例如,包括一系列元件的工艺、产品、物品或设备不一定仅限制于那些元件,而可包含未明文列出或此工艺、工艺、物品或设备固有的其它元件。此外,除非明文相反地陈述,否则“或”指包含性的或而不是排他性的或。例如,以下任何一者满足条件A或B:A是真(或存在)且B是假(或不存在),A是假(或不存在)且B是真(或存在),及A与B两者为真(或存在)。
此外,本文中给出的任何实例或说明并非视作以任何方式约束、限制或表达配合其利用的任何一个或一个以上术语的定义。而是,这些实例或说明视作相对于一个特定实施例而描述,且仅作为说明。所属领域的一般技术人员将了解,配合这些实例或说明所利用的任何一个或一个以上术语涵盖其它实施例以及其实施及调适,其可能或可能不在此或在本说明书中的别处给出,且所有此类实施例希望包含于所述一个或一个以上术语的范围内。指定此类非限制性实例及说明的用语包含但不限于:“例如”、“举例来说”、“如”、“在一个实施例中”及类似物。
根据各种实施例,可提供系统及方法以在微控制器内产生精确且复杂的信号序列,以例如触发ADC(模/数转换器)模块以在应用电路中取样及转换模拟信号。使用典型软件方法一般太不精确,且需要太多处理器额外负担。根据各种实施例的外围设备触发产生器(PTG)在没有CPU干涉之下允许在外围设备中发生的事件(1)在另一外围设备中有条件地产生随时间及频率而变化的触发;及(2)重新配置另一外围设备的操作(如,ATD输入通道选择)。
在一些实施例中,PTG(外围设备触发产生器)为用户编程的状态机,其经设计以“处理”时间驱动事件,且输出协调各种外围设备动作的触发信号。换句话说,PTG产生复杂序列的触发信号,以协调其它外围设备的动作。虽然大部分微控制器处理“数据”,但是PTG计算时序。如将在下文中更详细讨论,PTG主要为“时序协调器”,而非时序模块。有利地,PTG可通过卸载时间紧急的任务,例如以精确时序触发ADC取样及转换;及自动化涉及外部事件及时序的复杂应用(例如工业自动化)而减少处理器工作量且简化软件设计。
如将在下文中更详细解释,在一些实施例中,PTG可支持多达16个独立硬件触发输入及一个软件触发输入,且以个别或广播模式产生多达32个输出触发信号。此外,在一些实施例中,所述PTG可产生多达16个独特中断信号。
根据各种实施例的外围设备触发产生器(PTG)可经由PTG汇编语言而由用户编程。在一些实施例中,PTG独立于处理器而操作。PTG可监控选择的外围设备发信,且产生到其他外围设备及/或处理器的发信。PTG可提供以软件实施时不可能的时序精确性。PTG可以比CPU更快的速度操作。因此,PTG可监控许多输入,且以经由软件不可能的时间精确性产生复杂时序序列。
更特定来说,现参考图1,其展示根据实施例的利用外围设备触发产生器的示范性处理器10的图。处理器10可实施为微处理器或微控制器或任何适宜处理装置。处理器10包含经由总线14耦合到一个或一个以上外围设备装置18、20的一个或一个以上中央处理单元12。此外,如将在下文中更详细解释,处理器10包含根据实施例的外围设备触发产生器16,以对于芯片上及芯片外外围设备两者产生复杂时序信号。可提供一个或一个以上控制寄存器以控制PTG16的操作。在一些实施例中,所述外围设备装置可包含ADC、输入捕获、输出比较及定时器。
现参考图2,其展示示范性PTG的图,且一般由参考数字100表示PTG。在所说明的实例中,PTG100包含耦合到读取总线112及写入总线114的步骤队列110。步骤队列110为小型存储器,其含有实施期望的用户功能所需的指令。
多路复用器116选择可用于开始或修改步骤队列110中的程序行为的输入信号。PTG100可接收来自外部引脚、模拟比较器、脉冲宽度调制器(PWM)时基比较器的输入;输出比较事件;输入捕获事件;及ADC(模/数转换)完成信号。
PTG100进一步包含一个或一个以上控制寄存器104、控制逻辑102、队列指针(QPTR)106、看门狗定时器108及命令解码器118。命令解码器118将所执行的步骤命令转换为动作(信号),其可连接到其它模块(未图示),例如ADC、输入捕获、输出比较、定时器或外部装置引脚。根据特定实施例,PTG100可包括以下输出:ADC触发输入;PWM同步输入;输入捕获同步;输出比较时钟输入;输出比较同步输入;及模拟比较器遮蔽信号输入。
虽然可结合PTG使用任何数量的控制及状态寄存器,但是根据一些实施例,控制及状态寄存器104为:PTG控制/状态寄存器(PTGCST);PTG控制寄存器(PTGCON);PTG广播触发启用(PTGBTE);PTG保持寄存器(PTGHOLD);PTG GP定时器0寄存器(PTGT0LIM);PTG GP定时器1寄存器(PTGT1LIM);PTG步骤延迟寄存器(PTGSDLIM);PTG循环计数器0(PTGC0LIM);PTG循环计数器1(PTGC1LIM);PTG调整寄存器(PTGADJ);PTG文字寄存器(PTGL0);PTG队列指针(PTGQPTR)。
参考图3更详细说明这些寄存器。此外,如将在下文中更详细解释,在一些实施例中,PTG100包含一个或一个以上通用定时器124、一个或一个以上循环计数器126及一个或一个以上延迟定时器128。
在操作中,根据一些实施例,用户将称为“步骤”的8位命令写入到PTG队列寄存器110中。每个8位步骤由四位命令代码及四位参数字段组成。图4说明步骤命令的结构及编码。所述命令执行操作,例如等待输入触发信号、产生输出触发信号,及等待定时器。更特定来说,所述命令定义对外围设备(例如ADC、输出比较、输入捕获及定时器宏)产生触发输出信号122的一系列事件。所述步骤命令还可用于对所述处理器产生中断请求。
循序执行步骤队列110中的步骤命令,除非通过例如重设或通过看门狗定时器108停止。此外,可使步骤命令在继续之前等待命令,例如输入触发边缘、软件触发或定时器匹配。所述步骤队列指针寄存器106为特殊功能寄存器及内部指针。所述指标寻址步骤队列110中当前作用中的步骤。循序读取、解码及执行每个命令字节。
虽然大部分指令以预定义循环计数执行,但是看门狗定时器108在输入触发相关步骤命令期间启用(所有其它命令在2循环内执行且结束)。WDT108为自由运行的9位计数器,其在每个步骤命令结束(完成)时重设。在每个PTG循环期间,WDT比较其值与用户选择的逾时值,且将产生WDT中断(ptg_wdto_intr),且一旦它们匹配,则暂停步骤命令执行。WDT108用于在未出现预期输入触发事件的情况下防止PTG锁定。
PTG模块100可通过执行特定步骤命令而产生触发、中断及选通数据输出。如上文所述,PTG模块可以个别或广播模式产生多达32个独特触发输出信号。PTG模块可在32个触发输出中的任一者上产生个别输出触发。所述个别触发输出通常用于触发个别ADC输入转换操作,但也可指派到任何功能,包含通用I/O端口。当PTG模块100与兼容外围设备(例如ADC模块)配合使用时,PTG100的个别触发输出信号被个别指派到ADC模块内的特定模拟输入转换控制器(未作图式)。所述广播触发输出特征部使得用户以单一步骤命令同时产生大量(个别)触发输出。
在一些实施例中,提供两个16位循环计数器126,其可用作区块循环计数器或延迟产生器。当装置处于重设状态时或当PTG模块100停用时,所有内部计数器被归零。存在可载入、修改或初始化循环计数器极限值的步骤命令。每个循环计数器包含递增计数器(PTGCn)及SFR限制寄存器(PTGCnLIM)。SFR值可由CPU写入(当模块停用时)或由PTG定序器(sequencer)(当模块启用时)而改变。SFR中存储的对应于每个循环计数器的值称为计数器极限值。
跳转条件命令使用循环计数器中的一者,以记录所述命令被执行的次数,且可因此用于建立代码区块循环。这些在需要将一系列的外围设备事件重复若干次的应用中是有用的。所述跳转命令允许在不需要在装置上实施较大步骤队列的情况下实现此重复。
每次执行跳转命令时,比较对应内部循环计数器与其极限值。如果所述计数器未达到所述极限值,那么目标跳转队列位置加载到步骤队列指针(PTGQPTR)106,且所述计数器以1递增。下一个命令将从新队列位置取得。如果所述计数器已达到所述极限值,那么定序器将照常进入下一个命令(即,使队列指针递增)。在准备下一个跳转命令循环时,对应循环计数器也将在此时归零。提供两个单独循环计数器及相关跳转(PTGJMPCn)指令允许支持嵌套循环(深一个层级)。关于哪个PTGJMPCn指令驻存内部或外部循环中并没有限制。
在图5中说明步骤命令。在一些实施例中,每个命令编码为两个四位字段,使得用户的“手动组合”命令成为相对简单的任务。在一些实施例中,每个8位步骤命令由4位命令字段(CMD[3:0])及4位参数字段(OPTION[3:0])组成。
在一些实施例中,除流变化命令及等待外部输入的命令之外,所有命令在单一循环中执行。定序器只是管线式,使得当执行命令时,下一个命令从步骤队列读取及解码。
默认情况下,每个步骤命令将在一个PTG时钟周期内执行。存在用于减慢步骤命令的执行的若干技术:
·等待触发输入
·等待GP定时器(PTGTnLIM)
·使用PTGJMPCn及PTGCn插入延迟循环
·在执行每个命令之后启用及(自动)插入步骤延迟
在一些实施例中,PTG100可支持多达16个独立触发输入。用户可指定等待发生选择输入信号的正边缘或负边缘或高电平或低电平的步骤命令。操作模式由PTGCST寄存器中的PTGITM[1:0]控制字段选择。PTGWHI命令寻找所述选择的触发输入上发生的正边缘或高状态。PTGWLO命令寻找所述选择的触发输入上发生的负边缘或低状态。PTG命令定序器将重复触发输入命令(即,实际上等待)直到在继续执行步骤命令之前所选择的信号变为有效。“等待触发”命令的最小执行时间为一个PTG时钟。对PTG将等待触发输入多久并没有限制(除了由看门狗定时器108所强加的限制)。
在一些实施例中,支持4个输入触发命令操作模式,其由PTGCST寄存器中的PTGITM[1:0]控制字段选择。注意,如果停用步骤延迟,那么在操作中模式0与1等效,且在操作中模式2与3等效。
模式0为在结束时具有步骤延迟的连续边缘检测。在此模式中,所选择的触发输入在执行PTGWHI或PTGWLO命令时立即开始连续测试。当检测到触发边缘时,完成命令执行。如果启用步骤延迟计数器128,那么(一旦)在检测到有效边缘且已完成命令执行之后将插入步骤延迟。如果不启用步骤延迟计数器,那么在检测到有效边缘之后将完成命令,且将立即开始执行后续命令。
模式1为在结束时无步骤延迟的连续边缘检测。在此模式中,所选择的触发输入在执行PTGWHI或PTGWLO命令时立即开始连续测试。当检测到触发边缘时,完成命令执行。
无论所述步骤延迟计数器126是否启用,在已完成命令执行之后将不插入步骤延迟。
模式2为在结束时具有步骤延迟的取样电平检测。在此模式中,取样测试有效电平的所选择的触发输入。当执行PTGWHI或PTGWLO命令时立即开始,且测试触发输入(每个PTG时钟一次)。如果发现不是真,且启用步骤延迟,那么所述命令等待步骤延迟逾期才再次测试触发输入。当发现触发为真时,完成命令执行,且再一次插入步骤延迟。如果发现不是真,且停用步骤延迟,那么在下一个PTG时钟周期期间所述命令立即再次测试触发输入。当发现所述触发为真时,完成命令执行,且将立即开始执行后续命令。
模式3为在结束时无步骤延迟的取样电平检测。在此模式中,取样测试有效电平的所选择的触发输入。当执行PTGWHI或PTGWLO命令时立即开始,且测试触发输入(每个PTG时钟一次)。如果发现不是真,且启用步骤延迟,那么所述命令等待步骤延迟逾期才再次测试触发输入。当发现触发为真时,完成命令执行,且将立即开始执行后续命令。不插入步骤延迟。如果发现不为真,且停用步骤延迟,那么在下一个PTG时钟周期期间所述命令再次立即测试触发输入。当发现所述触发为真时,完成命令执行,且将立即开始执行后续命令。
在一些实施例中,用户可指定步骤命令,以等待软件产生的触发。所述软件产生的触发通过在PTGCST寄存器中设定一位而产生。PTGCTRL SWTRGE命令仅对PTGSWT位的0到1变换敏感。此变换必须在命令执行期间发生,否则命令将持续等待(PTGSWT在任一状态中)。PTGSWT位在完成PTGCTRL SWTRGE命令时由硬件自动归零,为下一软件触发命令反复而初始化位。PTGCTRL SWTRGL命令对PTGSWT位的电平敏感。所述命令将等待直到其观察到PTGSWT=1,此时所述命令将完成。一旦进入命令后PTGSWT=1,所述命令将立即完成。如果期望,PTGSWT位可在完成PTGCTRL SWTRGL命令时由用户归零。
结合对处理器产生中断请求(PTGIRQ)的PTG步骤命令使用PTGSWT位,允许用户协调在PTG模块100与应用软件之间的活动。
在一些实施例中,具有两个通用定时器124(PTGT1,PTGT0),其可由定序器使用以等待指定时间段。当装置在重设状态时或当停用PTG模块时,所有定时器被归零。存在可加载、修改或初始化GP定时器的步骤命令。每个GP定时器124由递增定时器(PTGTn)及SFR限制寄存器(PTGTnLIM)组成。SFR值可由CPU写入(当停用模块时)或由PTG定序器(当启用模块时)改变。从SFR读取的数据将取决于内部可见性(PTGIVIS)位的状态。
当操作时,定时器在PTG时钟的上升边缘上递增(其在PTGCST寄存器中定义)。用户可通过执行适当PTGCTRL PTGTn命令而指定使用GP定时器的等待操作(等待选择的GP定时器[n])。
SFR中存储的对应于每个GP定时器124的值称为定时器极限值。等待步骤命令停滞于状态S1x中,直到定时器到达其极限值的此时间,此时将完成命令,且将开始下一个命令。所述定时器此时也被归零以准备其下次使用。
步骤延迟定时器(SDLY)128为使每个步骤命令花费指定时间量的方便方法。通常,用户将指定等于外围设备功能的持续时间(例如ADC转换时间)的步骤延迟。所述步骤延迟使得用户以控制的速率产生触发输出信号,以免目标外围设备超负荷。
PTGSDLIM寄存器定义每个步骤命令在PTG时钟单元中的额外持续时间。所述步骤延迟定时器默认为停用的。用户可经由可置于步骤队列中的PTGCTRL SDON或PTGCTRL SDOFF命令而启用及停用所述步骤延迟定时器。
当操作时,所述步骤延迟定时器将以PTGCST寄存器中定义的PTG时钟速率递增。PTGSDLIM SFR中存储的值称为定时器极限值。在执行每个命令之后插入步骤延迟,使得所有步骤命令(使用步骤延迟)被停滞,直到PTGSD定时器到达其极限值,此时命令将完成,且下一个命令将开始。在执行每个命令期间也将定时器归零,使得其已准备好用于下一个命令。
如上文所述,PTG模块100可通过执行特定步骤命令而产生触发、中断及选通数据输出。
在一些实施例中,PTG100可产生总共(多达)32个独特输出触发信号作为个别或广播输出。所述模块可使用PTGTRIG命令在32个触发输出中的任一者上产生个别触发。所述个别输出触发通常用于触发个别ADC输入转换操作,但也可被指派(在上位装置DOS中)到任何功能,包含GP I/O端口。当所述PTG模块与兼容外围设备配合使用时,PTG100的个别触发输出信号被个别指派到ADC模块内的特定模拟输入转换控制器。
所述广播输出触发能力由PTGBTE寄存器指定。PTGBTE寄存器中的每个位对应于触发总线的低阶一半上的一相关个别触发输出(ptg_trig_out[(PTG_NUM_TRIG_OUT-1):0])。如果在PTGBTE寄存器中设定一位且执行广播触发步骤命令(PTGCTRL BTRIG),那么断言对应个别触发输出。所述触发广播能力使得用户能以单一步骤命令同时产生大量触发输出。
PTG模块100可产生总共多达16个独特中断请求信号。中断请求信号用于与应用软件互动以创建更多复杂功能。所述模块可使用PTGIRQ步骤命令在IRQ总线上产生个别IRQ脉冲。
PTG100支持选通数据端口,其从所述模块内的若干源接受数据。典型实施将所述选通总线连接到ADC信道选择输入端口,从而连接与通道一样多的选通总线位。PTG命令序列将接着直接选择转换哪一个ADC通道。
PTGSTRB命令零将命令的LS5位延长到16位,接着将16位值与选通信号一起输出到ptg_strb_dout[15:0]数据总线上。
文字数据嵌入命令中,所以每个PTGSTRB命令实例可含有不同文字值。
PTGCTRL STRBL0命令将PTGL0寄存器的内容与选通信号一起写入到ptg_strb_dout[15:0]数据总线上。PTGL0寄存器可使用PTGADD及PTGCOPY命令而修改。PTGCTRL STRBC0命令将PTGC0循环计数器寄存器的内容与选通信号一起写入到ptg_strb_dout[15:0]数据总线上。PTGCTRL STRBC1命令将PTGC1循环计数器寄存器的内容与选通信号一起写入到ptg_strb_dout[15:0]数据总线上。
当在PTG执行时钟的上升边缘上开始对应步骤命令时(即,在由步骤延迟定时器指定的任何额外时间之前),所有触发、IRQ及数据选通输出由PTG状态机102内部断言。当操作于脉冲模式时(PTGTOGL=0),触发输出信号的宽度由PTGCON寄存器中的PTGPWD[3:0]位字段确定,且可为介于1个与16个PTG时钟周期之间的任何值。默认值为1个PTG时钟周期。当由PTGCTRL BTRIG广播触发命令全局控制时,TRIG输出脉冲宽度由PTGCON寄存器内的PTGPWD[3:0]位字段确定,且可为介于1个与16个PTG时钟周期之间的任何值。默认值为1个PTG时钟周期。
选通数据输出由PTG状态机在由步骤延迟定时器指定的任何额外时间之前在对应数据选通步骤命令的第一PTG执行时钟开始时断言。选通时钟信号(ptg_strb)由所述状态机同时启动。
实施例的操作通过实例展示。特定来说,图6说明在多个循环上交错样本的时序。图6A展示在消费者需精确地测量在电流负载高度取决于温度、电压及最终消费者应用的系统中的功率的应用。电流波形在每个消费者使用上广泛变化,但在几个pwm循环之后波形相对稳定。
目标是以交错方式取得在若干pwm循环上的许多电流及/或电压读数。数据在获取期间存储于装置系统存储器中,且随后经后处理(整合)以产生精确功率值。此实例展示软件精确地排程ADC样本将是不实际或不可能的情况。
图6A的时序序列的示范性步骤编程展示于图6B中。在所说明的程序中,进行以下假设:
1.触发输入#1连接到PWM信号。PWM信号的此上升边缘开始所述序列。
2.输出触发#3连接到ADC。此信号命令ADC开始取样及转换过程。
3.中断#1用于对处理器发出已开始子序列的信号。(提供状态)
4.中断#4用于对处理器发出已完成整个序列的信号。
5.ADC时钟选择为PTG时钟源。
6.ADC时钟为14MHz。
7.初始触发延迟为5μs。
8.第二触发延迟为6μs。
9.在每个PWM循环中,ADC将被触发25次。
10.基本序列运行两次。
初始化以下控制寄存器:
PTGT0LIM=7010(5μs×14clks/μs)
PTGT1LIM=1110([1μs×14clks/μs]-3个步骤时钟)
PTGC0LIM=2410(总共25个内部循环反复)
PTGC1LIM=1(总共2个外部循环反复)
PTGHOLD=7010(5μs×14clks/μs)
PTGADJ=1410(1μs×14clks/μs)
PTGSDLIM=0(无步骤延迟)
PTGBTE=0x0000(无广播触发)
PTGQPTR=0(开始步骤队列)
PTGCST=0x8200(在PTGQPTR被初始化之后)
图7A中展示另一应用实例(以多个取样率取样)。在此应用中,目标是以较快取样率(1倍取样率)取样一个ADC输入,以较慢取样率(一半取样率)取样第二模拟输入,及以八分之一取样率取样模拟输入#3到#7。所述实例为使用SCR(硅控整流器)的电动机控制应用,其在AC线零交叉之后的特定时间触发。虽然此实例使用简单的二进制取样比率,但是PTG还可产生范围非常宽的取样比率以符合应用的需求。
图7A的时序序列的示范性步骤编程展示于图7B中。在所说明的程序中,进行以下假设:
1.触发输入#0连接到零交叉检测。所述零交叉检测信号的此上升边缘开始所述序列。
2.从#0中的触发到触发#1输出产生的触发延迟为2ms。
3.触发输出#1在应用电路中启用SCR。
4.触发输出#2连接到ADC而以1ms间隔触发电流测量的取样。
5.触发输出#3连接到ADC而以2ms间隔触发供应电压测量的取样。
6.触发输出#4、#5、#6及#7连接到ADC,以每个循环取样一次其它数据值。
7.所述ADC时钟选择为PTG时钟源。
8.ADC时钟为14MHz。
初始化以下控制寄存器:
PTGT0LIM=2800010(2ms×14clks/μs)
PTGT1LIM=1400010(1ms×14clks/μs)
PTGC0LIM=2410(总共25个内部循环反复)
PTGC1LIM=1(总共2个外部循环反复)
PTGHOLD=0(未使用)
PTGADJ=0(未使用)
PTGSDLIM=0(无步骤延迟)
PTGBTE=0x00F0(启用广播触发4到7)
PTGQPTR=0(开始步骤队列)
PTGCST=0x8200(在PTGQPTR初始化之后)
因为每个步骤命令花费至少两个时钟,对于更精确的时序,PTGDLY寄存器应编程有补偿等待触发命令及产生触发#4到#7命令的延迟、及等待触发延迟命令的值。因此,PTGTDLY初始化值其实应为28,000-6=27,994。同样地,PTGTMR寄存器值也应为略小的值14,000-4=13,996。
图8A到8D中展示控制逻辑102中实施的基于PTG有限状态机(FSM)的定序器。所展示的状态由PTGCON控制寄存器中的位或设定定义。定序器由PTG时钟时控,如由PTGCLK[2:0]时钟源选择及PTGDIV[4:0]时钟除法器控制位所定义。所述定序器在每个时钟的正边缘上前进一个状态。所述定序器将在以下任何条件下进入状态S0(HALT):
1.PTGEN=0
2.WDT事件(经由状态Sw)
3.PTGSTRT=0
4.在除错模式中操作&&PTGSSEN=1&&结束命令的最后状态。
当PTGSTRT=0时所述定序器将保持于S0。
当reset_n=0时所述定序器被迫进入状态Sr。如果模块由用户停用(PTGEN=0)但未重设(reset_n=1),那么所述定序器也将被迫进入Sr,但仅在完成当前命令之后进入。此规则的例外适用于有条件地等待事件的状态。一旦PTGEN被归零,立即结束这些状态。即,一旦由用户停用所述模块,以下命令不完成且立即结束:
·PTGWLO及PTGWHI
·PTGCTRL SWTRGL
·PTGCTRL SWTRGE
·PTGCTRL PTGT0及PTGCTRL PTGT1
当等待输入且用户通过使PTGSTRT归零而中止操作时,也立即结束这些相同命令集。这适用于无论何种装置或模块操作模式。
虽然前文的说明书描述特定实施例,但是所属领域的一般技术人员在参阅本描述后将了解且可进行本文中揭示的实施例及额外实施例中的细节的许多变化。在此上下文中,说明书及图式应视作说明性的意义,而非限制性意义,且所有此类修改希望包含于本揭示的范围内。因此,本发明的范围应由所附权利要求书及其法律等效物确定。
Claims (15)
1.一种微控制器,其包括:
中央处理单元CPU;
多个外围设备单元;及
外围设备触发产生器,其包括用户可编程的状态机,其中所述外围设备触发产生器经配置以接收多个输入信号,且取决于所述输入信号中的至少一者而可经编程以使时序功能自动化,且产生至少一个输出信号。
2.根据权利要求1所述的微控制器,其中所述外围设备触发产生器包括可编程步骤队列,其包括存储连续编程步骤的多个寄存器。
3.根据权利要求2所述的微控制器,其中所述外围设备触发产生器包括与控制逻辑耦合的控制寄存器及与所述步骤队列耦合的命令解码器。
4.根据权利要求1所述的微控制器,其中所述至少一个输出信号为独立于所述CPU而控制所述外围设备单元中的一者的触发信号。
5.根据权利要求4所述的微控制器,其中所述一个外围设备单元为模/数转换器。
6.一种包含外围设备触发产生器的集成电路,其包括用户可编程的状态机,其中所述外围设备触发产生器经配置以接收多个输入信号,且取决于所述输入信号中的至少一者而可经编程以使时序功能自动化,且产生至少一个输出信号。
7.根据权利要求6所述的集成电路,其中所述外围设备触发产生器包括可编程步骤队列,其包括存储连续编程步骤的多个寄存器。
8.根据权利要求7所述的集成电路,其中所述外围设备触发产生器包括与控制逻辑耦合的控制寄存器及与所述步骤队列耦合的命令解码器。
9.根据权利要求6所述的集成电路,其中所述至少一个输出信号为独立于所述CPU而控制所述外围设备单元中的一者的触发信号。
10.根据权利要求9所述的集成电路,其中所述一个外围设备单元为模/数转换器。
11.一种微控制器,其包括:
中央处理单元;
多个外围设备装置;及
外围设备触发产生器,其经配置以产生多个触发及中断信号,且独立于所述中央处理单元而协调所述多个外围设备装置的时序功能。
12.根据权利要求11所述的微控制器,所述外围设备触发产生器包含可编程状态机以执行外围设备触发产生器命令。
13.根据权利要求12所述的微控制器,所述外围设备触发产生器包含一个或一个以上步骤队列以用于存储外围设备触发产生器命令。
14.根据权利要求13所述的微控制器,其中所述外围设备触发产生器包括与控制逻辑耦合的多个控制寄存器及与所述一个或一个以上步骤队列耦合的一命令解码器。
15.根据权利要求14所述的微控制器,其中所述一个外围设备单元为模/数转换器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161534619P | 2011-09-14 | 2011-09-14 | |
US61/534,619 | 2011-09-14 | ||
US13/613,784 US8856406B2 (en) | 2011-09-14 | 2012-09-13 | Peripheral trigger generator |
US13/613,784 | 2012-09-13 | ||
PCT/US2012/055268 WO2013040280A1 (en) | 2011-09-14 | 2012-09-14 | Peripheral trigger generator |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103858115A true CN103858115A (zh) | 2014-06-11 |
CN103858115B CN103858115B (zh) | 2018-04-27 |
Family
ID=47076362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280049693.2A Active CN103858115B (zh) | 2011-09-14 | 2012-09-14 | 外围设备触发产生器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8856406B2 (zh) |
EP (1) | EP2756407B1 (zh) |
KR (1) | KR20140075714A (zh) |
CN (1) | CN103858115B (zh) |
TW (1) | TWI545440B (zh) |
WO (1) | WO2013040280A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107431481A (zh) * | 2015-03-12 | 2017-12-01 | 密克罗奇普技术公司 | 组合/序列脉宽调制 |
CN109766291A (zh) * | 2018-12-06 | 2019-05-17 | 珠海格力电器股份有限公司 | 一种i/o端口的自动配置方法及系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9083347B1 (en) * | 2014-05-16 | 2015-07-14 | Xilinx, Inc. | Built-in integrated circuit debug design |
US9612893B2 (en) | 2015-05-11 | 2017-04-04 | Silicon Laboratories Inc. | Peripheral watchdog timer |
JP6415385B2 (ja) * | 2015-05-27 | 2018-10-31 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN108810062A (zh) | 2017-05-04 | 2018-11-13 | 台达电子工业股份有限公司 | 网络管理系统及其自动注册连网装置的方法 |
CN111684373A (zh) * | 2018-02-07 | 2020-09-18 | 三菱电机株式会社 | 输入输出控制单元、可编程逻辑控制器及检查系统 |
CN113056711B (zh) * | 2018-11-22 | 2022-04-15 | 三菱电机株式会社 | 输入输出控制单元、plc及数据控制方法 |
US20220100626A1 (en) * | 2020-09-26 | 2022-03-31 | Intel Corporation | Monitoring performance cost of events |
TWI760872B (zh) * | 2020-09-30 | 2022-04-11 | 新唐科技股份有限公司 | 管理控制器及控制方法 |
TWI811606B (zh) * | 2020-12-31 | 2023-08-11 | 新唐科技股份有限公司 | 事件觸發主控端、控制晶片及控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040250164A1 (en) * | 2003-05-22 | 2004-12-09 | Infineon Technologies North America Corp. | Configurable real-time trace port for embedded processors |
US20060175399A1 (en) * | 2003-05-30 | 2006-08-10 | Steusloff Patrick M | Method for controlling processes in a medical workflow system |
US7114114B1 (en) * | 2001-08-03 | 2006-09-26 | Inovys Corporation | Dynamically reconfigurable precision signal delay test system for automatic test equipment |
US20070050691A1 (en) * | 2005-08-25 | 2007-03-01 | Honeywell International Inc. | Single event functional interrupt detection system |
US7353300B2 (en) * | 2006-01-18 | 2008-04-01 | Atmel Corporation | Apparatus to improve the firmware efficiency for a multiframe serial interface |
US20090006934A1 (en) * | 2007-06-28 | 2009-01-01 | Arm Limited | Triggering diagnostic operations within a data processing apparatus |
US20090129537A1 (en) * | 2007-10-08 | 2009-05-21 | Naresh Kesavan Rao | Data acquisition system for photon counting and energy discriminating detectors |
CN101571555A (zh) * | 2009-06-10 | 2009-11-04 | 东南大学 | 一种串行外设接口总线信号的触发方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2962886B2 (ja) | 1991-07-19 | 1999-10-12 | 三菱電機株式会社 | Tdma処理装置 |
US5751735A (en) * | 1996-11-14 | 1998-05-12 | Hewlett-Packard Company | Integrated debug trigger method and apparatus for an integrated circuit |
US6112318A (en) * | 1997-08-11 | 2000-08-29 | Digital Equipment Corporation | Performance counters controlled by programmable logic |
US6145020A (en) | 1998-05-14 | 2000-11-07 | Advanced Technology Materials, Inc. | Microcontroller incorporating an enhanced peripheral controller for automatic updating the configuration date of multiple peripherals by using a ferroelectric memory array |
EP1370882A2 (en) * | 2001-03-19 | 2003-12-17 | Nptest, Inc. | Test system formatters |
US7591187B2 (en) * | 2005-05-10 | 2009-09-22 | Microstrain, Inc. | Wireless vibrating strain gauge for smart civil structures |
US7958291B2 (en) * | 2006-10-10 | 2011-06-07 | Atmel Rousset S.A.S. | Supplemental communication interface |
US7765323B2 (en) * | 2006-12-29 | 2010-07-27 | Intel Corporation | Sink device addressing mechanism |
TWI380276B (en) * | 2007-12-21 | 2012-12-21 | Holtek Semiconductor Inc | Signal processing circuit and method |
US8880961B2 (en) * | 2012-01-31 | 2014-11-04 | Infineon Technologies Ag | System and method of computation by signature analysis |
-
2012
- 2012-09-13 US US13/613,784 patent/US8856406B2/en active Active
- 2012-09-14 WO PCT/US2012/055268 patent/WO2013040280A1/en active Application Filing
- 2012-09-14 KR KR1020147009547A patent/KR20140075714A/ko active IP Right Grant
- 2012-09-14 CN CN201280049693.2A patent/CN103858115B/zh active Active
- 2012-09-14 EP EP12778489.0A patent/EP2756407B1/en active Active
- 2012-09-14 TW TW101133849A patent/TWI545440B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7114114B1 (en) * | 2001-08-03 | 2006-09-26 | Inovys Corporation | Dynamically reconfigurable precision signal delay test system for automatic test equipment |
US20040250164A1 (en) * | 2003-05-22 | 2004-12-09 | Infineon Technologies North America Corp. | Configurable real-time trace port for embedded processors |
US20060175399A1 (en) * | 2003-05-30 | 2006-08-10 | Steusloff Patrick M | Method for controlling processes in a medical workflow system |
US20070050691A1 (en) * | 2005-08-25 | 2007-03-01 | Honeywell International Inc. | Single event functional interrupt detection system |
US7353300B2 (en) * | 2006-01-18 | 2008-04-01 | Atmel Corporation | Apparatus to improve the firmware efficiency for a multiframe serial interface |
US20090006934A1 (en) * | 2007-06-28 | 2009-01-01 | Arm Limited | Triggering diagnostic operations within a data processing apparatus |
US20090129537A1 (en) * | 2007-10-08 | 2009-05-21 | Naresh Kesavan Rao | Data acquisition system for photon counting and energy discriminating detectors |
CN101571555A (zh) * | 2009-06-10 | 2009-11-04 | 东南大学 | 一种串行外设接口总线信号的触发方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107431481A (zh) * | 2015-03-12 | 2017-12-01 | 密克罗奇普技术公司 | 组合/序列脉宽调制 |
CN109766291A (zh) * | 2018-12-06 | 2019-05-17 | 珠海格力电器股份有限公司 | 一种i/o端口的自动配置方法及系统 |
CN109766291B (zh) * | 2018-12-06 | 2020-10-23 | 珠海格力电器股份有限公司 | 一种i/o端口的自动配置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2756407B1 (en) | 2019-08-07 |
TWI545440B (zh) | 2016-08-11 |
WO2013040280A1 (en) | 2013-03-21 |
EP2756407A1 (en) | 2014-07-23 |
KR20140075714A (ko) | 2014-06-19 |
CN103858115B (zh) | 2018-04-27 |
US20140075052A1 (en) | 2014-03-13 |
TW201316175A (zh) | 2013-04-16 |
US8856406B2 (en) | 2014-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103858115A (zh) | 外围设备触发产生器 | |
KR0185034B1 (ko) | 단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러 | |
CN103440216B (zh) | 一种通过i2c从设备调试mcu的芯片及方法 | |
CN103842930B (zh) | 具有调度单元的微控制器 | |
US9047270B2 (en) | DMA-assisted irregular sampling sequences | |
CN105988400B (zh) | 微控制器单元 | |
TW201707385A (zh) | 具有內部計時器之類比對數位轉換器 | |
US20190012283A1 (en) | Dma controller with trigger sequence generator | |
EP2810138B1 (en) | Programmable timebase | |
US5535376A (en) | Data processor having a timer circuit for performing a buffered pulse width modulation function and method therefor | |
EP2423782A1 (en) | Script engine for control of power management controllers | |
JP4299657B2 (ja) | マイクロコントローラ | |
KR102476357B1 (ko) | 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법 | |
CN112106299A (zh) | 模数转换器的可配置过采样 | |
US10020815B2 (en) | Apparatus for data converter with internal trigger circuitry and associated methods | |
CN112130651B (zh) | 一种soc系统的复位方法、装置及其存储介质 | |
CN115617321A (zh) | 一种代码自动生成方法和装置 | |
CN111124034B (zh) | 一种使用时间处理单元的时序控制方法 | |
US10536156B1 (en) | Analog-to-digital converter controllers including configurable contexts | |
Dolinay et al. | Utilization of simple real-time operating system on 8-bit microcontroller | |
Kołek et al. | FPGA as a part of MS Windows control environment | |
US20120179847A1 (en) | Method and System for Implementing Bus Operations with Precise Timing | |
CN115826731A (zh) | 休眠控制方法及装置、操作系统和计算设备 | |
JP2009199424A (ja) | マイクロコンピュータ | |
JPS5935250A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |