微型计算机

阅读:905发布:2020-05-08

专利汇可以提供微型计算机专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种微型计算机。该微型计算机包括:中央处理单元(CPU);数据传输装置(DTC);以及存储装置(RAM)。数据传输装置包括多个寄存器文件,每个寄存器文件包括存储传输模式信息的模式寄存器、地址信息被传输到的地址寄存器以及表示 指定 传输信息集合的信息的状态寄存器(SR)。数据传输装置检查状态寄存器的信息,以确定是使用在寄存器文件中保持的传输信息集合,还是从存储装置中读取传输信息集合并且覆写规定的一个寄存器文件。基于在寄存器文件之一中存储的传输信息集合,数据传输装置执行数据传输。,下面是微型计算机专利的具体信息内容。

1.一种微型计算机,包括:
中央处理单元;
数据传输装置;以及
存储装置,
其中,
所述存储装置存储传输信息集合,所述传输信息集合包括传输模式信息和地址信息,所述地址信息表示传输源、传输目的地和操纵目标中的至少一个,
所述数据传输装置包括多个寄存器文件,每个所述寄存器文件包括:存储所述传输模式信息的模式寄存器、所述地址信息被传输到的地址寄存器、以及表示当所述数据传输信息被存储时用于指定所述传输信息集合的信息的状态寄存器,
所述数据传输装置检查所述状态寄存器的信息,以确定是使用在所述寄存器文件中保持的所述传输信息集合,还是从所述存储装置中读取所述传输信息集合并且覆写所述寄存器文件中的规定的一个寄存器文件,以及
基于在所述寄存器文件之一中存储的所述传输信息集合,所述数据传输装置执行数据传输。
2.根据权利要求1所述的微型计算机,其中,
所述传输信息集合进一步包括传输计数信息,
每个所述寄存器文件进一步包括:所述传输计数信息被传输到的计数寄存器、以及用于所述传输信息集合的有效信息标志单元,
当所述数据传输装置已经在所述寄存器文件之一中存储有从所述存储装置中读取的所述传输信息集合时,所述数据传输装置设置所述有效信息标志单元,以及当所述数据传输装置基于所述传输计数信息确定已经完成指定次数的数据传输时,所述数据传输装置将所述有效信息标志单元清零。
3.根据权利要求1所述的微型计算机,进一步包括传输信息存储指定单元,其中,所述传输信息存储指定单元包括所述用于指定所述传输信息集合的信息,以及所述数据传输装置响应于来自所述传输信息存储指定单元的指令并且根据所述用于指定所述传输信息集合的信息,从所述存储装置读取所述传输信息集合并且将所读取的传输信息集合存储在所述寄存器文件之一中。
4.根据权利要求2所述的微型计算机,其中,
每个所述寄存器文件包括指令所述传输信息集合的保持的标志单元,
当响应于来自所述传输信息存储指定单元的指令,所述数据传输装置已经从所述存储装置读取所述传输信息集合并且将所读取的传输信息集合存储在所述寄存器文件之一中时,所述数据传输装置设置用于指定所述传输信息集合的保持的所述标志单元,以及在指令所述传输信息集合的保持的所述标志单元和所述有效信息标志单元都被设置的状态中,所述数据传输装置不覆写对应的所述寄存器文件之一。
5.根据权利要求4所述的微型计算机,其中,
在指令所述传输信息的保持的所述标志单元和所述有效信息标志单元都被设置的状态中,所述数据传输装置不将在对应的所述寄存器文件之一中存储的所述传输信息集合写回到所述存储装置。
6.根据权利要求1所述的微型计算机,其中,
所述用于指定所述传输信息集合的信息对应于用于指定下述地址的信息,所述地址存储有所述传输信息集合的地址。
7.根据权利要求1所述的微型计算机,其中,
所述用于指定所述传输信息集合的信息对应于用于指定所述传输信息集合的地址的信息。
8.根据权利要求1所述的微型计算机,进一步包括:
数据输入/输出单元;以及
中断控制单元,
其中,
所述数据输入/输出单元发布中断请求到所述中断控制单元,以及
响应于所述中断请求,所述中断控制单元将中断信号输出到所述中央处理单元,并且将激活请求输出到所述数据传输装置。
9.根据权利要求1所述的微型计算机,其中,
所述传输模式信息包括:用于指定位操纵的信息、和用于指定作为操纵目标的在所述地址信息中所指定的数据中的位的信息,以及
当指定所述位操纵时,所述数据传输装置从所述存储装置中读取所述传输信息集合,并且读取由所述地址信息指定的地址以使用所指定的位来执行所述操纵。
10.根据权利要求9所述的微型计算机,其中,
所述数据传输装置包括下述单元,该单元用于存储在使用所述传输信息集合的所述位操纵中由所述传输模式信息所指定的位,以及
在使用下一个所述传输信息集合的操作中,所述数据传输装置启用存储所指定的位的所述单元。
11.根据权利要求10所述的微型计算机,其中,
所述传输模式信息包括用于指定分支操作的信息,
在使用所述传输信息集合执行所述分支操作中,所述数据传输装置参考存储所指定的位的所述单元,以选择指定所述下一个所述传输信息集合的地址。
12.根据权利要求11所述的微型计算机,其中,
所述传输信息集合包括:用于指定所述分支操作的条件的信息、以及用于指定所述下一个所述传输信息集合的信息,
所述数据传输装置包括计数单元来读取和写入所述传输信息集合,
当用于指定所述分支操作条件的所述信息和所指定的位满足规定条件时,所述数据传输装置用所述计数单元和用于指定所述下一个所述传输信息集合的所述信息来执行操作。
13.根据权利要求1所述的微型计算机,其中,
所述存储装置包括传输信息集合,所述传输信息集合包括:传输模式信息、传输源地址、传输目的地地址、用于指定传输次数的传输计数数据、以及数据信息中的至少一项,所述数据传输装置包括:存储所述传输模式信息的模式寄存器,所述传输源地址、所述传输目的地地址和所述传输计数数据被传输到的寄存器,数据寄存器,以及算术逻辑单元,所述数据传输装置能够基于所述传输模式信息、所述传输源地址、所述传输目的地地址和所述传输计数数据,来执行数据传输,
由所述数据传输装置以以下单位循环来执行使用所述传输信息集合的所述数据传输:
从所述存储装置读取所述传输信息集合;基于所述传输信息集合执行规定的传输;以及此后将包括在所述传输信息集合中的信息写回到所述存储装置,以及
所述传输模式信息包括这样的信息,该信息用于指定在所述传输源地址、所述传输目的地地址、用于指定传输次数的所述传输计数数据、以及所述数据信息之中的要被使用的项目。
14.根据权利要求13所述的微型计算机,其中,
所述数据传输装置在所述传输信息集合的读取之后,读取下一个所述传输信息集合的一部分,以及
所述数据传输装置具有缓冲器单元,所述缓冲器单元用于存储所读取的下一个所述传输信息集合的所述一部分。
15.根据权利要求13所述的微型计算机,其中,
所述中央处理单元具有用于设置所述传输信息集合的单元。
16.一种微型计算机,包括:
中央处理单元;
数据传输装置;
存储装置;以及
传输信息存储指定单元,
其中,
所述存储装置存储传输信息集合,所述传输信息集合包括传输模式信息、地址信息和传输计数信息,所述地址信息表示传输源、传输目的地和操纵目标中的至少一个,所述数据传输装置包括寄存器文件,所述寄存器文件包括:存储所述传输模式信息的模式寄存器、所述地址信息被传输到的地址寄存器、以及所述传输计数信息被传输到的计数寄存器,所述数据传输装置进一步包括连续数据传输指定单元,
所述传输信息存储指定单元包括用于指定所述传输信息集合的信息,
所述数据传输装置响应于来自所述传输信息存储指定单元的指令并且根据所述用于指定所述传输信息集合的信息,从所述存储装置读取所述传输信息集合并且将所读取的传输信息集合存储在所述寄存器文件中,以及
当所述连续数据传输指定单元被设置时,所述数据传输装置立即执行数据传输。
17.根据权利要求16所述的微型计算机,其中,
所述用于指定所述传输信息集合的信息对应于用于指定所述传输信息集合的地址的信息。
18.一种微型计算机,包括:
中央处理单元;
数据传输装置;
第一存储装置,所述第一存储装置固定地保持信息;以及
第二存储装置,所述第二存储装置以可覆写的方式保持信息,
其中,
所述第一存储装置存储传输信息集合,所述传输信息集合包括传输模式信息、地址信息和传输计数信息,所述地址信息表示传输源、传输目的地和操纵目标中的至少一个,所述数据传输装置包括寄存器文件,所述寄存器文件包括:存储所述传输模式信息的模式寄存器、所述地址信息被传输到的地址寄存器、以及所述传输计数信息被传输到的计数寄存器,
所述数据传输装置在所述微型计算机开始操作之后被激活,所述数据传输装置从所述第一存储装置读取所述传输信息集合,并且所述数据传输装置将所读取的信息存储在所述寄存器文件中,以及
所述数据传输装置执行从所述第一存储装置到所述第二存储装置的连续数据传输。
19.根据权利要求18所述的微型计算机,其中,
所述传输模式信息包括:连续数据传输指定信息。

说明书全文

微型计算机

[0001] 相关申请的交叉引用
[0002] 本申请基于并且要求于2014年8月18日提交的日本专利申请No.2014-165636的优先权的利益,其公开内容在此通过引用整体加入。

技术领域

[0003] 本发明涉及一种微型计算机。具体地,本发明涉及一种数据传输技术,其能够应用于具有例如中央处理功能和数据传输功能的微型计算机。

背景技术

[0004] 如“LSI handbook”(The Institute of Electronics,Information and Communication Engineers:IEICE,Ohm-sha Ltd.Japan,pp.540-541,November,1984)中所讨论的,单芯片微型计算机由单个半导体衬底构成,其上诸如中央处理单元(CPU)的功能模是核心元件,形成用于保持程序的ROM(只读存储器)、用于保持数据的RAM(随机存取存储器)和用于接收和提供数据和信号的输入/输出电路。单芯片微型计算机用于控制任何设备。
[0005] 为了通过使用单芯片微型计算机来控制设备,需要执行数据传输来响应于诸如中断的事件。由于CPU可以通过指令的组合而实现任何处理,CPU也能够执行中断处置和数据传输处理。但是,当CPU要执行中断处置时,CPU必须执行例外处置、堆栈保存/恢复操作以及用于切换当前处理流的恢复指令。进一步,相对于实质数据传输处理,诸如读取指令的相关操作所花费的事件倾向于增加。
[0006] 此外,微型计算机中实现的功能的数量近年来在增加。因此,响应于诸如中断的事件而要执行的数据传输的次数也在增加。也存在对以更高速度执行处理以响应每个对应事件的增长需求。
[0007] 因此,需要微型计算机展示在数据传输处理中的改进的效率、加速和便利性,而抑制CPU上的负载。
[0008] 在此,已知,当单芯片微型计算机包括CPU和数据传输装置且数据传输是由作为专用硬件的数据传输装置来执行时,相比由CPU执行数据传输的情况,可以实现更快的数据传输。CPU可以有效地执行处理,因为中断处置的频率被降低。
[0009] 日本未审专利申请公开No.H01-125644(专利文献1)公开了一种示例数据传输装置,其使得能够以小数量的硬件元件响应于来自大量外围处理装置的请求而进行数据传输。
[0010] 专利文献1公开微型计算机包括存储装置(RAM),其存储数据传输信息,诸如表示存储要被传输的数据的存储器上位置的传输源地址。进一步,提供矢量表,其存储表示在存储装置(RAM)中哪里存储数据传输所需的每个信息的地址。而且,提供在发生对于激活数据传输的请求时参考矢量表的内容以响应激活请求的单元,以及从矢量表的内容获取数据传输所需的每个信息的单元。
[0011] 日本未审专利申请公开No.H07-129537(专利文献2)公开了,这样的数据传输信息存储在存储装置中,且至少一条数据传输信息的数据传输可以由数据传输装置的一个操作来规定(链传输)。根据专利文献2,数据传输装置可以通过任何激活因子而执行传输任意次数。因此,数据传输装置可以用于各种用途。进一步,系统配置中的灵活性和使用性得到改进。
[0012] 进一步,根据专利文献2,重复传输模式和数据块传输被启用来加宽数据传输装置的应用。这样的数据传输装置能够控制地址,诸如传输目的地和传输源,并且选择传输的次数。因此,数据传输装置适合于应用于系统,诸如打印机,以便控制步进达、打印机的打印数据控制以及存储器上接收数据的累积。
[0013] 专利文献2进一步指出,由于数据传输装置在操作平行于主要由CPU使用的总线的总线中读/写数据传输信息或执行数据传输,读取或写回数据传输信息的浪费操作可以被抑制。
[0014] 本发明的发明人考虑到,数据传输装置,诸如专利文献1和2中所公开的,其中在RAM上存储数据传输信息,RAM的使用不受限制,即,其是通用存储装置,这样的数据传输装置具有下面的优点。
[0015] (a)数据传输的次数可以增加。如在所谓的DMA控制器中一样,通过在数据传输装置自身的专用硬件上存储数据传输信息的方案,数据传输的次数取决于安装硬件而有限。相反,通过在其使用不受限的RAM上存储数据传输信息的方案,数据传输的次数可以轻易增加,且可以支持用户想要的各种使用方法。
[0016] (b)相较于通过来数据传输装置自身和微型计算机的接口的控制寄存器的指定来实现激活因子的选择的所谓DMA控制器中的方案,使用中断因素来选择是请求CPU的中断还是请求DTC的数据传输的方案可以获得支持更大数量中断和事件发生的数据传输。
[0017] (c)每个激活要执行的数据传输的次数可以增加,诸如通过链操作。进一步,可以实现组合的不同数据传输的功能。
[0018] (d)数据传输信息的配置可以被改变、增加或减少。
[0019] (e)应该按最小一个数据传输所需的那么多来提供专用硬件。因此,即使功能增加且硬件的规模增加,整个微型计算机的物理规模上的增加可以被抑制。
[0020] (f)控制寄存器等不被提供作为数据传输装置自身的专用硬件。因此,不必考虑复杂操作条件,诸如与来自CPU的写操作相冲突。这可以起到抑制物理规模增加的作用。
[0021] 同时,通过如上所述在存储装置中存储数据传输信息的数据传输装置,即使当当前要被传输的数据的传输因素与之前传输因素相同时,再次获取当前数据传输信息而不使用之前使用的数据传输信息。因此,从数据传输处理的加速的观点来看,浪费了实际上不必要的时间。
[0022] 聚焦于这个问题,日本未审专利申请公开No.2001-160025(专利文献3)提议了一种数据传输装置,其中,当要被传输的数据的传输因素在之前情况和当前情况之间相同时,可以再次使用之前使用的已知传输信息,由此获得数据传输的加速。
[0023] 进一步,日本未审专利申请公开No.2004-021401(专利文献4)公开了数据传输装置中的加速,其中,在数据传输的执行之后将数据传输信息写回到存储装置时,根据数据传输信息是否被更新来来确定写回是否必要。对于写回不必要的信息,不执行将数据传输信息寄存器写回存储器的循环。
[0024] 进一步,日本未审专利申请公开No.2000-194647(专利文献5)公开了改进数据传输装置的便利性的单元,其包括能够在数据传输装置中之前设置的数据和要被传输的数据之间进行比较且能够执行简单运算的算术逻辑单元

发明内容

[0025] 尽管专利文献3的数据传输装置在抑制CPU负载和改进数据传输装置的效率方面有利,但数据传输装置中保有的数据传输信息在数量上为一。因此,在以类似频率出现多个激活因子的情况下,数据传输信息更不可能被再次使用,也更不可能获得加速。
[0026] 进一步,尽管专利文献5的数据传输装置在抑制CPU负载和改进数据传输装置的便利性方面有效,例如,考虑设备控制应用,在许多情况下,存在对于读/写比特的流程以及对于启用比特操纵的时段的限制。因此,需要解决这样问题的比特操纵方法。
[0027] 根据本申请的描述和附图,本发明的其它问题和新颖性特征将变得明显。
[0028] 根据一个实施例,MCU 100的数据传输装置102检查状态寄存器的信息,以确定是使用在寄存器文件中保有的传输信息集,还是从存储装置中读取传输信息集并且覆写规定的一个寄存器文件。数据传输装置102基于存储在寄存器文件之一中的传输信息集来执行数据传输。
[0029] 根据一个实施例,当由指定比特操纵的信息来指定比特操纵时,MCU 100的数据传输装置102从存储装置将传输信息集读取到数据传输装置102上,并且读取指定地址,以执行指定比特操纵。
[0030] 注意,本发明的实施例可以通过用方法或系统来替换上述一个实施例中的装置来实现。可替换地,使得计算机执行该装置或部分装置的处理的程序、包括这样的装置的成像装置等也可以是本发明的实施例。
[0031] 根据上述的一个实施例,保持了在通用存储装置(RAM)上存储数据传输信息的数据传输装置的优点。因此,设备控制应用中的各种请求可以被灵活满足。另一方面,数据传输可以被加速,因为在存储装置中存储的数据传输信息的读/写操作被省略。

附图说明

[0032] 根据下面的特定实施例的描述并结合附图,上述和其它方面、优点和特征将更加显然,附图中:
[0033] 图1是示出根据第一实施例的MCU 100的配置的图;
[0034] 图2是示出根据第一实施例的DTC 102的配置的图;
[0035] 图3是示出根据第一实施例的寄存器文件和数据传输信息的图;
[0036] 图4是示出根据第一实施例的数据传输信息初始化寄存器(DTCIR)的图;
[0037] 图5是示出根据第一实施例的DTC 102的初始化过程的图;
[0038] 图6是示出根据第一实施例的DTC 102的数据传输处理的图;
[0039] 图7是示出根据第一实施例的DTC 102的数据传输处理的图;
[0040] 图8是示出根据第一实施例的变型的DTC 102的配置的图;
[0041] 图9是示出根据第一实施例的变型的数据传输信息初始化寄存器(DTCIR)的图;
[0042] 图10是示出根据第二实施例的寄存器文件和数据传输信息的图;
[0043] 图11是示出根据第二实施例的DTC 103的数据传输信息初始化寄存器(DTCIR)的图;
[0044] 图12是示出根据第二实施例的DTC 102的初始化过程的图;
[0045] 图13是示出根据第二实施例的DTC 102的数据传输处理的图;
[0046] 图14是示出根据第二实施例的DTC 102的数据传输处理的图;
[0047] 图15是示出根据第二实施例的变型的DTC 102的配置的图;
[0048] 图16是示出根据第三实施例的寄存器文件和数据传输信息的图;
[0049] 图17是示出根据第三实施例的DTC 102的数据传输处理的图;
[0050] 图18是示出根据第三实施例的变型的DTC 102的配置的图;
[0051] 图19是示出根据第三实施例的变型的数据传输信息初始化寄存器(DTCIR)的图;
[0052] 图20是示出根据第四实施例的DTC 102的MCU 100的初始化过程的图;
[0053] 图21是示出使用根据第五实施例的MCU 100的系统配置的图;
[0054] 图22是示出INT 103的配置的图;
[0055] 图23是示出根据第六实施例的MCU 100的配置的图;
[0056] 图24是示出根据第六实施例的DTC 102的配置的图;
[0057] 图25是示出根据第六实施例的数据传输信息的图;
[0058] 图26是示出根据第六实施例的DTC 102的数据传输处理的图;
[0059] 图27是示出根据第六实施例的第一示例的数据传输信息的图;
[0060] 图28是示出根据第六实施例的第一示例的DTC 102的数据传输处理的图;
[0061] 图29是示出根据第六实施例的第一示例的DTC 102的数据传输处理的图;
[0062] 图30是示出根据第六实施例的第二示例的数据传输信息的图;
[0063] 图31是示出根据第六实施例的第二示例的DTC 102的数据传输处理的图;
[0064] 图32是示出根据第六实施例的第二示例的DTC 102的数据传输处理的图;
[0065] 图33是示出根据第六实施例的第三示例的数据传输信息的图;
[0066] 图34是示出根据第六实施例的第三示例的DTC 102的数据传输处理的图;
[0067] 图35是示出根据第六实施例的第四示例的数据传输信息的图;
[0068] 图36是根据第六实施例的第四示例的DTC 102的数据传输处理的图;
[0069] 图37是示出根据第六实施例的变型的DTC 102的配置的图;
[0070] 图38是根据第六实施例的变型的DTC 102的数据传输处理的图;
[0071] 图39是示出根据第六实施例的变型的数据传输信息的图;
[0072] 图40是示出根据第六实施例的变型的DTC 102的数据传输处理的图;
[0073] 图41是示出根据第六实施例的变型的数据传输信息的图;
[0074] 图42是示出根据第六实施例的变型的DTC 102的数据传输处理的图;
[0075] 图43是示出根据第六实施例的变型的DTC 102的数据配置的图;
[0076] 图44A是示出根据第六实施例的变型的数据传输信息的图;
[0077] 图44B是示出根据第六实施例的变型的数据传输信息的图;
[0078] 图45是示出根据第六实施例的变型的数据传输处理的图;
[0079] 图46是示出根据第六实施例的INT 103的配置的图;
[0080] 图47是示出使用根据第六实施例的MCU 100的系统配置的图;以及
[0081] 图48是示出背景技术的图。

具体实施方式

[0082] <第一实施例>
[0083] 首先,将结合图1的框图给出根据第一实施例的微型计算机(MCU)100的配置的描述。
[0084] MCU 100被中央处理单元(CPU)101、数据传输控制器(DTC)102、中断控制器(INT)103、只读存储器(ROM)104、随机存取存储器(RAM)105、总线控制器(BSC)106、计时器107、诸如串行通信接口的通信模块108、诸如A/D转换器和D/A转换器的模拟模块109、输入/输出端口(I/O)110以及未示出的重置控制、操作模式控制等的功能块或模块来配置。这些都通过MCU内部总线(主和从总线)互相连接。
[0085] 在MCU 100中,CPU 101主要执行操作。CPU 101主要从ROM 104读取指令并且由此操作。基于CPU 101的设定,DTC 102取代CPU 101执行数据传输。
[0086] INT 103从计时器107、通信模块108、模拟模块109等接收中断请求,基于来自MCU 100之外的多个外部中断请求信号从I/O 110接收中断请求,并且输出中断请求或数据传输请求到CPU 101或DTC102。进一步,当INT 103开始或结束由中断信号触发的处理时,INT 
103输出中断清零信号以便与计时器107、通信模块108、模拟模块109或I/O 110的中断信号或中断因素标志相关联地对中断清零。
[0087] BSC 106从CPU 101和DTC 102接收总线请求信号并且仲裁MCU内部总线(主总线)的占用,以输出未示出的总线使用许可信号。BSC106与CPU 101和DTC 102关于总线请求、总线确认、总线命令、等待、地址、数据等对接,以允许CPU 101和DTC 102从RAM 105或连接到MCU 100的内部总线的其它功能块或模块读取或写入到RAM 105或连接到MCU 100的内部总线的其它功能块或模块。
[0088] 图2是示出DTC 102的配置的框图。
[0089] DTC 102包括数据传输控制块(DTCCNT)、总线接口(MBIF)、矢量生成块(VG)、四通道寄存器文件(REG0到REG3)以及算术逻辑单元(ALU)。
[0090] 每个寄存器文件包括矢量地址寄存器(VAR)、模式寄存器(MR)、源地址寄存器(SAR)、目的地地址寄存器(DAR)、计数器寄存器(CR)以及状态寄存器(SR)。
[0091] 作为对INT 103的接口,DTCCNT具有DTCINIT、DTCREQ和DTCVEC的输入,中断因素/DTE/INITE清零的输出,以及DTC操作开始/结束。进一步,与MCU 100的内部主总线的接口(MBIF)使得能够将MCU 100的内部总线用作主总线。
[0092] DTCCNT基于诸如来自INT 103的DTCREQ和MR的内容的输入信号控制DTC 102。进一步,DTCCNT输出中断因素/DTE/INITE清零信号等到INT 103。DTCCNT包括使用通道信息存储单元。当DTC被激活时,DTCCNT将中断因素标志或DTE位清零,并且保持直到DTC停止一直使用的寄存器文件的通道。
[0093] MBIF在DTC内部总线和MCU 100的内部主总线之间对接。接口包括总线请求、总线确认、总线命令、等待、地址、数据等。
[0094] VG根据从INT 103提供的中断矢量数量DTCVEC生成矢量地址。例如,VG将DTCVEC乘以四并且添加规定的偏移。
[0095] VAR存储从矢量地址读取的数据传输信息的开始地址。
[0096] MR、SAR、DAR和CR存储随后从数据传输信息开始地址读取的数据传输信息。
[0097] SR保持由相干寄存器文件所保持的数据传输信息的矢量数量。
[0098] ALU执行算术运算、逻辑运算、位移运算等。
[0099] 尽管未示出,存在多个DTC 102的内部总线。内部总线允许上述的SAR、DAR和CR的内容由ALU操作。
[0100] 图3示出根据第一实施例的寄存器文件的示例和DTC 102的数据传输信息(传输信息集合)。
[0101] DTC 102的数据传输信息由模式寄存器(MR)、源地址寄存器(SAR)、目的地寄存器(DAR)和计数器寄存器(CR)形成。
[0102] DTC 102的寄存器文件包括上面注意的数据传输信息,以及矢量地址寄存器(VAR)和状态寄存器(SR)。
[0103] CR被划分为块传输计数寄存器(BTCR)和传输计数寄存器(TCR)。TCR被划分为高八位(TCRH)和低八位(TCRL)。CR根据后面将描述的任何数据传输模式操作。
[0104] 如上所述,在DTC中提供四通道的寄存器文件电路。在CPU的地址空间上的诸如RAM的规定的数据传输信息布置区域上,通过所需数量的集合,布置要存储在寄存器文件中的数据传输信息块(MR、SAR、DAR、CR)。
[0105] 模式寄存器(MR)的位配置如下。
[0106] 位15和14是SM1和SM0位,用于指定在数据传输之后是否递增、递减或修改SAR。
[0107] 位13和12是DM1和DM0位,用于指定在数据传输之后是否递增、递减或修改DAR。
[0108] 位11和10是TMD1和TMD0位,用于选择数据传输模式。当TMD1和TMD0位被清零为00时,进入正常模式。在正常模式,对于单个激活,数据传输从SAR表示的地址到DAR表示的地址执行一次。
[0109] 之后,如SM1、SM0、DM1和DM0位指定,操纵SAR和DAR且对CR递增。在每次发生激活因子时重复该操作且次数由CR指定。然后,当完成CR所指定次数的数据传输时,DTC操作被禁止,且用作为激活因子的中断被CPU请求。
[0110] 当TMD1和TMD0位被设置为01,进入重复模式。当TMD1和TMD0位被设置为10,进入块传输模式。重复模式和块传输模式可以由已知技术来实现。
[0111] 位9是DIR位,用于选择传输源和传输目的地中哪个将要是重复区域或块区域。
[0112] 位7和6是Sz1和Sz0位,用于选择以字节大小、字大小还是长字大小来执行一个数据传输。
[0113] 位1是NXTE1位,用于响应于一个激活因子来选择数据传输是要被结束还是下一数据传输要被执行。当NXTE1位被清零为0,在数据传输信息读取操作和数据传输操作被执行之后,数据传输信息被写入且DTC操作结束。
[0114] 进一步,当这个NXTE1位被设置为1,在数据传输信息读取操作和数据传输操作被执行之后,数据传输信息被写入。进一步从后续地址读取数据传输信息且执行由该数据传输信息所指定的数据传输操作。然后,数据传输信息被写入。该流程被称为链传输。
[0115] 位0是NXTE0位,用于指定当CR达到0时是否执行链传输。
[0116] 状态寄存器(SR)的位配置如下。
[0117] 位31是VLD标志,且表示相干寄存器文件所保持的数据传输信息是有效的。VLD标志通过重置而被清零为0。当数据传输信息存储在相干寄存器文件中时VLD标志被设置为1。当完成规定的数据传输的执行时VLD标志被清零为0。
[0118] 位30是PRM标志位,且表示相干寄存器文件通过将在稍后描述的DTCIR写入已经执行数据传输信息存储。
[0119] 位29和28是LRU标志。值应该在寄存器文件通道之间变化(0到3)。可以使用任何变化方法。例如,较早使用的通道可以假定为更大的值,而较晚使用的通道可以假定为更小的值。
[0120] 当数据传输信息存储在相干寄存器文件中时。位7到0保持矢量。
[0121] 图4示出了根据第一实施例的DTC 103的数据传输信息初始化寄存器(DTCIR)。
[0122] DTCIR的位31是INITE位,且位7到0是矢量数量。尽管没有特别限制,DTCIR被中断控制器(INT)中的数量之一来提供。
[0123] 当CPU 101设置INITE位为1时,INT 103提供DTCINIT和DTCVEC到DTC 102。本例中,DTCVEC基于DTCIR的位7到0。因此,DTC 102读取数据传输信息开始地址和数据传输信息。当该读取操作完成时,DTC 102将INITE位清零为0。
[0124] 在本实施例中,由于DTC 102的寄存器文件被提供用于四个通道,所以CPU 101可以执行前述操作到四个矢量。
[0125] 注意:在不能期望初始化之后所需的激活因子的情况下,还有可能激活DTC 102而不执行上述的初始化操作。
[0126] 图5是根据第一实施例的初始化DTC 102的流程图
[0127] 在激活DTC初始化的情况下,基于上述的DTCIR写入,中断控制器(INT 103)向DTC 102提供DTCINIT和DTCVEC。
[0128] S101:DTC 102的DTCCNT读取对应于所提供的DTCVEC的矢量区域(VR)。这里读取的内容是存在数据传输信息的存储器区域的开始地址。
[0129] S102:DTCCNT基于所获取的开始地址读取数据传输信息(IR)。DTCCNT在DTC 102的寄存器文件之一中存储读取的数据传输信息。此时,通过参考每个状态寄存器(SR)的VLD和LRU标志,使用VLD=0(无效)的寄存器文件或LRU最大(最老)的寄存器文件。当存在多个无效寄存器文件时,以通道号的升序来使用它们。
[0130] 当DTCCNT已经存储数据传输信息时,DTCCNT设置SR的VLD和PRM标志为1。进一步,DTCCNT向INT提供INITE清零信号。
[0131] 图6是根据第一实施例的DTC 102的数据传输操作的流程图。
[0132] CPU 101之前将所需数据传输信息写入规定的传输信息地址区域且设置对应于中断因素的DTE位以用作为激活因子为1。在此状态,当这样的中断发生且DTC操作被激活时,中断控制器(INT)提供DTCREQ和DTCVEC给DTC 102。
[0133] S201:DTC 102的DTCCNT比较DTCVEC与在每个寄存器文件中的状态寄存器中保持的矢量数量。当DTCVEC与有效矢量状态相一致时,可以使用DTC中保持的相干寄存器文件。因此,使用寄存器文件时,使用对应的寄存器集合。
[0134] S202:当DTCVEC与有效矢量状态不一致时,DTCVEC读取对应于所提供的DTCVEC的矢量区域(VR)。这里读取的内容是数据传输信息的开始地址。
[0135] S203:DTCCNT从开始地址读取数据传输信息(IR)。DTCCNT将读取的数据传输信息存储在DTC的寄存器文件之一中。此时,通过参考每个状态寄存器(SR)的VLD和LRU标志,使用VLD=0(无效)的寄存器文件或LRU最大(最老)的寄存器文件。当DTCCNT已经存储数据传输信息时,DTCCNT设置SR的VLD标志为1,且将PRM标志清零为0。
[0136] S204:根据保持或读取的数据传输信息,DTCCNT读取由SAR指定的传输源地址(SR)。
[0137] S205:DTCCNT将从传输源地址读取的数据写入到由DAR指定的传输目的地地址(DW)。DTCCNT还执行其它操作,例如,对CR递增。该数据传输流程可以通过已知技术来实现。
[0138] S206:DTCCNT执行传输信息覆写判定。即,当数据传输信息更新时,DTCCNT将更新的数据传输信息写入到原始地址,即,在S202中所获取的开始地址(IW)。当CR达到0且规定次数的数据传输已完成时,DTCCNT提供DTE清零信号给INT。同时,DTCCNT对由DTCCNT的使用通道信息指定的每个通道的SR的VLD标志清零。
[0139] 当规定次数的寄存器文件的数据传输没有完成时,DTCCNT提供终端因子清零信号给INT。
[0140] 基于数据传输信息,DTCCNT使得VAR保持规定地址。例如,DTCCNT使得VAR保持数据传输信息的下一地址。
[0141] S207:当指定链操作时,基于相干寄存器文件的VAR,DTCCNT读取下一数据传输信息(IR)。读取的数据传输信息存储在DTC的寄存器文件之一,如前所述。之后的操作与在前面描述中执行得一样。
[0142] 图7是根据第一实施例的DTC 102的数据传输操作中的状态转移图。这样的状态转移主要实现于DTC 102的DTCCNT中。
[0143] 从INT接收到DCINT和DTCREQ后,DTC 102开始操作。
[0144] 当提供DTCREQ时,DTC 102的DTCCNT比较所提供的DTCREQ与DTC中的寄存器文件的SR的矢量。进一步,DTCCNT确定寄存器文件中哪个要被使用。当提供DTCINT时,且当提供DTCREQ而DTCREQ与矢量不一致时,状态转移到VR状态。当提供DTCREQ且DTCREQ与矢量相一致时,状态立即转移到SR状态。
[0145] S301(VR状态):DTCCNT在SR上反射所提供的DTCVEC。基于由VG根据DTCVEC生成的矢量地址,DTCCNT读取在矢量区域(数据传输信息开始地址布置区域)中存储的数据传输信息的开始地址。DTCCNT将读取的内容存储在要被使用的寄存器文件的VAR中。状态转移到IR状态。
[0146] S302(IR状态):DTCCNT读取在数据传输信息布置区域中开始地址处存储的数据传输信息。数据传输信息的内容是MR、DR、SAR、DAR和CR。当已经由DTCINT造成到S301的转移时,DTCCNT设置SR的VLD和PRM标志为1且对INITE位清零。然后,状态返回到STOP状态。当已经由DTCREQ造成转移时,DTCCNT设置SR的VLD标志为1且将PRM标志清零为0。然后,状态转移到SR状态。
[0147] S303(SR状态):基于SAR的内容,DRCCNT读取传输源地址的内容。根据MR的内容,例如将SAR递增。随后,状态转移到DW状态。
[0148] S304(DW状态):基于DAR的内容,DTCCNT将从RAM 105的传输源地址读取的数据写入到传输目的地地址。DTCCNT例如根据MR的内容对DAR递增。进一步,DTCCNT例如对CR递增。随后,状态转移到IW状态。
[0149] 这里,当处于块传输模式时,SR和DW状态重复由TCR指定的次数。
[0150] S305(IW状态):在DR、SAR、DAR和CR的内容中,DTCCNT根据VAR的内容将更新的内容写回到数据传输信息布置区域上。
[0151] 这里,当处于链传输时,随后进入IR、SR、DW和IW状态,且根据在IR中读取的其它数据传输信息来执行数据传输。
[0152] 另一方面,当不是链传输时,根据CR的内容,DTCCNT对中断因子标志或用作为激活因子的DTE位清零,且状态返回到STOP状态。
[0153] (变型)
[0154] 图8是DTC 102的变型的框图。
[0155] DTCCNT接收DTCINIT信号,如对应于通道1到3的DTCINIT1到DTCINIT3。进一步,DTCCNT接收DTCSUS信号,如对应于通道1到3的DTCSUS1到DTCSUS3。
[0156] 图9示出了根据第一实施例的变型的DTC 103的数据传输信息初始化寄存器(DTCIR1到DTCIR3)。
[0157] DTCIR被修改为对应于通道1到3的DTCIR1到DTCIR3。DTCINIT1到DTCINIT3被输出以便对应于DTCIR1到DTCIR3。进一步,DTCIR1到DTCIR3中每个在位30具有SUS位。
[0158] 对DTCIR1到DTCIR3的写操作被配置为产生DTCINIT1到DTCINIT3,且在DTC中的寄存器文件1到3中存储数据传输信息。
[0159] 具体地,当保持的数据传输信息有效且SR的VLD和PRM标志被设置为1时,数据传输信息要被保持,而不考虑LRU标志的值。进一步,数据传输信息的写回不要被执行,而不考虑数据传输信息的更新。
[0160] 因此,由于DTCCNT没有读取数据传输信息,可以通过寄存器文件1到3来执行快速输出传输。所谓的实时处理可以通过减小从用作为激活因子的事件的发生直到数据传输的执行的时间来改善。在规定次数的数据传输之后类似数据传输要被执行的情况下,数据传输信息可以布置在ROM上。然后,可以消除要由CPU执行来在RAM上布置数据传输信息的程序。
[0161] 通过根据微型计算机的使用而修改对寄存器文件1到3高频率发生的激活因子,可以加速整体处理。
[0162] 进一步,当SUS位被设置为1,提供DRCRSUS1到DTCRSUS3信号,以将对应寄存器文件的SR的VLD和PRM标志清零到0。
[0163] 如常规技术中一样,通过寄存器文件0,响应于从中断控制器(INT)提供的DTCREQ和DTCVEC,DTCCNT读取数据传输信息并且由此操作。进一步,数据传输信息可以通过寄存器文件0的SR的使用而被再次使用。
[0164] 如在寄存器文件1到3的SR的PRM标志被清零为0的情况中一样,类似于通道0的操作被执行。例如,在寄存器文件1到3的数据传输已经完成且等待新初始化的情况下,其它激活因子可以有效地使用该时段。对于SUS位被设置为1且VLD和PRM标志被清零为0的情况,相同保持真。
[0165] <第二实施例>
[0166] 图10示出了根据第二实施例的DTC 102的寄存器文件和数据传输信息(传输信息集合)。
[0167] 第二实施例在状态寄存器(SR)的配置上不同于第一实施例。SR的位配置如下。
[0168] 位27到2是数据传输信息开始地址。
[0169] 数据传输信息在32比特(长字)单元中,并且低阶2位被视为00。
[0170] 位0是VLD标志且代表由相干寄存器文件保持的数据传输信息有效。位0通过重置而被清零为0。当数据传输信息存储在相干村寄存器文件上时,位0被设置为1。当规定的数据文件的执行已经完成时,位0被清零为0。
[0171] 当CPU的地址空间小于4GB时,或者当可以布置数据传输信息的地址空间可以被减小时,有可能提供在位30到28中的PRM和LRU标志。当地址空间大且可以布置数据传输信息的地址空间不能被减小时,可以不提供PRM和LRU标志。
[0172] 图11示出了根据第二实施例的DTC 103的数据传输信息初始化寄存器(DTCIR1到DTCIR3)。
[0173] 位27到2是数据传输信息开始地址。位1是SUS位且位0是INITE位。
[0174] 当CPU 101设置INITE位为1时,DTCINIT和DTCVEC被提供给DTC。本例中DTCVEC的位数被符号扩展,以提供具有位27到2的DTCIR。因此,DTC读取数据传输信息。当该读取操作完成时,DTC将INITE位清零为0。
[0175] 图12示出了根据第二实施例初始化DTC 102的流程图。
[0176] 当DTC 102的初始化被激活时,中断控制器(INT 103)基于DTCIR写入而向DTC 102提供DTCINIT和DTCVEC。DTCVEC表示数据传输信息的开始地址。
[0177] S401:DTC 102的DTCCNT读取对应于所提供的DTCVEC(数据传输信息开始地址)的数据传输信息(IR)。DTCCNT将读取的数据传输信息存储在DTC的寄存器文件之一中。此时,通过参考每个状态寄存器(SR)的VLD和LRU标志,使用VLD=0(无效)的寄存器文件或LRU最大(最老)的寄存器文件。当存在多个无效寄存器文件时,以通道号的升序来使用它们。
[0178] 当DTCCNT已经存储了数据传输信息时,DTCCNT设置SR的VLD和PRM标志为1。进一步,DTCCNT向INT提供INITE清零信号。
[0179] 图13是根据第二实施例的DTC 102的数据传输操作的流程图。
[0180] 当诸如中断的事件发生且DTC 102的操作被激活时,中断控制器(INT)提供DTCREQ和DTCVEC给DTC 102。
[0181] S501:DTCCNT读取对应于所提供的DTCVEC的矢量区域(VR)。
[0182] S502:DTCCNT比较读取的数据传输信息开始地址和在每个寄存器文件的状态寄存器中保持的数据传输信息开始地址。
[0183] 当读取的数据传输信息开始地址与有效数据传输信息开始地址相一致时,DTC中保持的相干寄存器文件可以被使用。因此,通过使用寄存器文件,使用对应的寄存器集合。状态转移到S504。
[0184] S503:当读取的数据传输信息开始地址与有效数据传输信息开始地址不一致时,DTCCNT基于读取的数据传输信息开始地址读取数据传输信息(IR)。DTCCNT将读取的数据传输信息存储在DTC的寄存器文件之一中。此时,通过参考每个状态寄存器(SR)的VLD和LRU标志,使用VLD=0(无效)的寄存器文件或LRU最大(最老)的寄存器文件。当DTCCNT已经存储了数据传输信息时,DTCCNT设置SR的VLD标志为1,且将PRM标志清零为0。
[0185] S504:根据所保持或读取的数据传输信息,DTCCNT读取由SAR所指定的传输源地址(SR)。
[0186] S505:DTCCNT将读取的数据写入到DAR所指定的传输目的地地址(DW)。DTCCNT还执行其它操作,例如将CR递减。这个数据传输流程可以通过已知技术来实现。
[0187] S506:DTCCNT执行传输信息覆写判断。即,当数据传输信息被更新时,DTCCNT将更新的数据传输信息写入到数据传输信息开始地址(IW)。当CR达到0且规定次数的数据传输完成时,DTCCNT将DTE清零信号提供给INT。同时,DTCCNT对SR的VLD标志清零。
[0188] 当规定次数的寄存器文件的数据传输还没完成时,DTCCNT提供中断因子清零信号给INT。
[0189] DTCCNT使得VAR保持数据传输信息的规定地址。例如,DTCCNT使得VAR保持数据传输信息的下一地址。
[0190] S507:当指定链操作时,DTCCNT比较由VAR保持的下一数据传输信息开始地址与在每个寄存器文件的状态寄存器中保持的数据传输信息开始地址。
[0191] 当由VAR保持的下一数据传输信息开始地址与数据传输信息开始地址相一致时,可以使用DTC中保持的相干寄存器文件。因此,通过使用这样的寄存器文件,使用对应寄存器集合。
[0192] 当由VAR保持的下一数据传输信息开始地址与数据传输信息开始地址不一致时,DTCCNT基于由VAR保持的下一数据传输信息开始地址来读取数据传输信息(IR)。DTCCNT将读取的数据传输信息存储在DTC的寄存器文件之一中,如前面所述。执行与前面描述相同的后续的操作。
[0193] 在数据传输被执行多次用于链传输的一个激活因子时,用于每个传输的数据传输信息可以保持在寄存器文件中。在数据传输信息也由多个激活因子共享时,这个数据传输信息可以保持在寄存器文件中。能够获得可以共享且被频繁使用的传输数据的加速。
[0194] 图14是根据第二实施例的DTC 102的状态转移图。
[0195] 当向DTC 102的DTCCNT提供有DTCINT时,状态转移到IR状态。当向DTCCNT提供有DTCREQ时,状态转移到VR状态。当向DTCCNT提供有DTCSUS时,状态转移到IW状态。
[0196] S601(VR状态):基于根据所提供的DTCREQ而由VG生成的矢量地址,DTCCNT读取在数据传输信息的矢量区域(数据传输信息开始地址布置区域)中存储的开始地址。DTCCNT比较读取的数据传输信息开始地址与DTC中每一寄存器文件的SR的数据传输信息开始地址。进一步,DTCCNT确定寄存器文件中哪个要被使用。
[0197] 当数据传输信息开始地址彼此不一致时,状态转移到IR状态。另一方面,当数据传输信息开始地址彼此相一致时,状态立即转移到SR状态。
[0198] S602(IR状态):当转移到IR状态已经由DTCINT所触发时,DTCCNT读取在数据传输信息布置区域中存储的数据传输信息。内容是MR、DR、SAR、DAR和CR。然后,DTCCNT将SR的VLD和PRM标志设置为1且对INITE位清零。然后,状态返回到STOP状态。
[0199] 当状态已经从VR状态转移到IR状态时,DTCCNT根据上述开始地址读取在数据传输信息布置区域中存储的数据传输信息。内容是MR、DR、SAR、DAR和CR。然后,DTCCNT将SR的VLD标志设置为1且对PRM标志清零为0,且状态转移到SR状态。
[0200] S603(SR状态):DTCCNT根据SAR的内容读取传输源地址的内容。根据MR的内容,DTCCNT例如递增SAR。随后,状态转移到DW状态。
[0201] S604(DW状态):根据DAR的内容,DTCCNT将从传输源地址读取的数据写入到传输目的地地址。根据MR的内容,DTCCNT例如递增DAR。进一步,DTCCNT例如递减CR。
[0202] 当VLD和PRD标志都被设置为1时,重新使用DTC中的寄存器文件中的数据传输信息。因此,数据传输信息的写回不被执行且因此状态不转移到IW状态。注意:在规定次数的数据传输已完成且CR达到0的情况下,状态可以转移到IW状态。
[0203] S605(IW状态):当状态已经从DW状态转移到IW状态时,根据VAR的内容,DTCCNT写回MR、DR、SAR、DAR和CR的任何更新的内容到数据传输信息布置区域。
[0204] 在链传输的情况下,DTCCNT比较由VAR表示的下一数据传输信息开始地址与DTC中的寄存器文件的SR的数据传输信息开始地址。如上述方式一样,状态转移到IR状态或SR状态。
[0205] 当不是链传输的情况时,根据CR的内容,DTCCNT对中断因子标志或用作为激活因子的DTE位清零,且状态返回到STOP状态。当规定次数的数据传输完成且DTE位被清零时,SR的VLD和PRM标志也被清零为0。
[0206] 当转移到IW状态已经由DTCSUS触发时,DTCCNT将SR的VLD和PRM标志清零为0,且根据VAR的内容将MR、DR、SAR、DAR和CR写回到数据传输信息布置区域。
[0207] (变型)
[0208] 图15是根据第二实施例的DTC 102的变型的框图。
[0209] 在变型中,总线接口(SBIF)提供用于与MCU内部从总线对接。SBIF接收DTC中寄存器文件的SR的输出,使得CPU 101可以经由MCU内部从总线读取SR。
[0210] CPU 101可以通过读取SR而学习DTC 102中寄存器文件的状态。进一步,MCU内部从总线的提供通过诸如仿真的其它功能实现了寄存器文件的使用。
[0211] 在本实施例中,已经给出了针对数据传输信息为32比特×四条(固定)的情况的描述。这是因为,通常指定数据传输的模式、传输源地址、传输目的地地址和传输次数。
[0212] 另一方面,数据传输信息可以是可变长度的。例如,可以包括具有数据寄存器(32比特×五条)的数据传输信息的格式,或者通过使CR(32比特×三条)无效而不对次数具有任何限制的数据传输信息的格式。
[0213] 在数据传输信息是可变长度的这种情况中,数据传输信息块的数量应该小于寄存器文件中包括的寄存器的数量。因此,应该提供符合最大数据传输信息的寄存器文件。
[0214] 可替换地,由于需要加速传输的数据不必是最大数据传输信息,只是通道0应该被设置为支持最大数据传输信息的寄存器文件,而通道1到3可以支持更小且频繁使用的数据传输信息。
[0215] <第三实施例>
[0216] 图16示出了根据第三实施例的DTC 102的寄存器文件和数据传输信息(传输信息集合)。
[0217] 在本实施例中,模式寄存器(MR)的位31和30是AUTE和AUTS位。
[0218] 当AUTE位被设置为1时,DCTCNT连续执行数据传输由CR指定的次数。AUTS位指定是否通过连续执行在中途切换总线权限到CPU。
[0219] 图17示出根据第三实施例的DTC 102的状态转移图。
[0220] 当DTCCNT被提供有DTCINT时,状态转移到矢量IR状态。
[0221] S702(IR状态):当转移到IR状态已经由DRCINT触发时,DCTCNT读取在数据传输信息布置区域中存储的数据传输信息。当读取的MR的AUTE位被清零为0时,状态返回到STOP状态。当AUTE位被设置为1,状态随后转移到SR和DW状态。
[0222] S703和S704(SR状态、DW状态):DCTCNT连续执行数据传输由CR指定的次数。此时,当AUTS位被设置为1时,状态一次转移到空闲状态(S705)。在空闲状态,总线权限被一次释放。当规定次数的数据传输完成且CR达到0时,状态返回到IW状态。
[0223] S706(IW状态):当AUTE位被设置为1时,DCTCNT不写回数据传输信息。
[0224] 在链操作的情况下,如前所述,状态转移到IR状态或SR状态。
[0225] 注意:在空闲状态所花费的时间例如可以被MR的其它位改变。
[0226] AUTE位被设置为1的数据传输优选用于初始化微型计算机。有可能直接使用ROM上的数据传输信息,并且设置在ROM上准备的初始值为微型计算机的规定地址。通过使用链传输,初始化可以在间歇地址执行。
[0227] (变型)
[0228] 图18是根据第三实施例的变型的DTC 102的框图。
[0229] 在变型中,提供一个通道的寄存器文件。一个通道足够用于使用DTC执行上述初始化。
[0230] 进一步,AUTE位与DTCINIT一起提供,而不是在数据传输信息中提供。
[0231] 提供模式信号的输入,使得在重置释放期间DTC的激活可以由微型计算机等的操作模式来选择。模式信号由微型计算机等的模式输入来确定。
[0232] 图19示出了根据第三实施例的变型的DTC 103的数据传输信息初始化寄存器(DTCIR)。
[0233] 与一个通道所提供的寄存器文件相关,DTCIR在数量上也是一。进一步,位1是AUTE。在用于上述初始化的DTC的使用中,AUTE和INITE位都被设置为1。
[0234] DTC 102读取数据传输信息(IR状态),此后连续执行数据传输(SR和DW状态)。必要时,DTC 102将数据传输信息写回到数据传输信息布置区域上(IW状态)并且执行链操作。
[0235] 当包括链操作的规定次数的数据传输完成时,AUTE和INITE位被清零为0。
[0236] <第四实施例>
[0237] DTC 102可以用于初始化MCU 100。在这种情况下,对应于重置的矢量应该被准备,并且DTC 102应该在重置后被激活。这可以如下实现。在DTC 102的状态转移中,在通过重置将状态转移到STOP状态且通过释放重置而由上述模式信号许可DTC 102的激活的情况下,状态转移到VR状态。
[0238] 可以省去CPU 101对DTCIR的设置。
[0239] 图20是DTC 102对MCU 100的初始化的操作解释图。
[0240] 当重置被释放且DTC 102被激活时,DTC 102从ROM 104上对应于重置的矢量区域读取数据传输信息开始地址。
[0241] 基于地址,DTC 102从ROM 104上的数据传输信息布置区域读取数据传输信息(传输信息1)(IR状态)。在数据传输信息的MR中,AUTE和NXTE1位之前被设置为1。
[0242] DTC 102从SAR指定的ROM 104上的初始值数据存储区域读取初始值(SR状态),在由DAR指定的规定功能块上作为数据区域或初始化目标区域的RAM 105上写入读取的数据(DW状态)。其被连续执行由CR指定次数。在AUTE位被设置为1的情况下,DTC 102不执行数据传输信息的写回。
[0243] 由于NXTE1位被设置为1,DTC 102从ROM上的数据传输信息布置区域读取数据传输信息(传输信息2),并且重复前面的操作作为链操作。
[0244] 尽管图20示出两个初始值数据传输,链操作可以根据初始化目标区域的数量而被重复。在最终数据传输信息的MR中,NXTE1位之前被清零为0。
[0245] 由于AUTS位被设置为1使得DTC 102通过对CPU 101的处理中途切换总线权限,CPU 101执行并行处理。
[0246] 这个初始化可以由用户来执行。进一步,制造商可以使用该处理用于配置MCU 100作为独立半导体集成电路。
[0247] <第五实施例>
[0248] 图21示出本发明应用于相机的系统的框图。
[0249] 本发明应用于的微型计算机是相机镜头MCU。分别使用独立计时器F、计时器D和计时器S对焦点、光圈和防抖进行控制。进一步,通过输入/输出端口(I/O)输入许可自动聚焦或防抖功能的开关
[0250] 相机镜头MCU通过单线的通信单元,诸如串行通信接口(SCI),从相机主体MCU接收命令和伴随数据。DTC被这个接收完成中断而激活。
[0251] DTC被SCI的接收完成中断而激活。DTC传输命令,该命令是从接收数据寄存器到规定RAM等的接收数据,并且请求CPU的中断。CPU分析命令。当命令是焦点、光圈或防抖的控制命令时,CPU基于命令设置DTC,并且传输后续的数据到分别焦点、光圈、或防抖的计时器F、计时器D、或计时器S。
[0252] 当接收到的命令是例如状态请求命令且要求关于规定镜头状态的回复,例如抖动校正许可开关的状态时,CPU传输相机镜头MCU的规定的功能块,例如输入/输出端口(I/O)的内容,到SCI的传输数据寄存器以执行传输。
[0253] 多数操作是基于接收完成中断来由SCI执行的。因此,通过由接收完成中断设置矢量或DTC的数据传输信息开始地址为DTC的寄存器文件通道1,可以实现加速。而且,关于通道2和3,应该设置频繁使用的激活因子或数据传输。
[0254] 尽管DTC执行前面的处理,CPU可以处于低功耗状态,例如睡眠或待机模式。这可以对降低系统的功耗做出贡献。由于在逻辑规模上DTC小于CPU且可以执行快速处理,降低功耗的效果可以提高。不用说,功耗的降低在由电池驱动的相机系统等中是关键的。
[0255] <中断控制器(INT 103)>
[0256] 最后,将参考图22给出对中断控制器(INT 103)的配置的描述。
[0257] 关于MCU 100的中断因子,存在两种类型,即,内部中断和外部中断,每个具有中断因子标志。当计时器、通信和模拟的功能块进入规定状态时,中断因子标志被设置为1。
[0258] 当外部中断输入端子获得规定平时或规定信号改变发生时,外部中断因子标志被设置为1。中断因子标志被CPU的写入操作清零为0,而当由DTC 102的传输完成时也被清零为0。
[0259] 将中断因子标志的每个位的输出提供给中断启用电路。中断启用电路进一步接收中断启用寄存器的内容,即中断启用位。中断启用寄存器可以由CPU 101读取/写并且选择是否许可或禁止对应中断。当中断因子标志被设置为1且中断启用位被设置为1时,中断被请求。
[0260] 将中断启用电路的输出提供给中断/DTC确定电路。中断启用电路进一步接收DTC启用寄存器(DTER)的内容。如上所述,DTC启用寄存器一旦请求中断,选择是否激活DTC 102或许可中断请求给CPU101。当对应于中断因子的DTC启用寄存器的位被设置为1时,DTC 102的激活被请求且CPU 101的中断不被请求。当DTC启用寄存器的位被清零为0时,CPU 101的中断被请求且DTC 102的激活不被请求。
[0261] 关于DTC启用电路的输出,CPU中断请求和DTC激活请求独立地输入到优先级确定电路。CPU 101的优先级确定/掩蔽水平确定电路根据优先级寄存器、中断掩蔽水平等而受控。
[0262] 当对于CPU中断请求和DTC激活请求中每个存在多个中断请求时,确定优先级。作为确定的结果,选择最高优先级的请求且生成矢量号。然后,输出CPU中断请求和矢量号,以及DTC激活请求(DTCREQ)和矢量号(DTCVEC)。
[0263] DTC激活请求被输入到DTC 102,且DTC矢量号被输入到选择器/存电路。DTC操作开始信号和DTC操作结束信号从DTC 102输出,且输入到选择器/锁存电路。即,当DTC 102开始操作时,DTC操作开始信号进入活动状态,且矢量被锁存或保持。然后,DTC 102的数据传输结束且DTC操作结束信号进入活动状态,且释放锁存器。
[0264] 进一步,DTC矢量号和DTC操作结束信号输入到解码器电路。因子清零信号进入活动状态以响应对应中断因子标志,且因子标志或DTE位被清零。
[0265] 当DTC 102被所需中断因子激活时,CPU 101之前写入数据传输信息等到所需地址,设置中断的中断启用位和对应于DTC启用寄存器的中断因子的DTE位为1。
[0266] 当在此状态中断因子标志被设置为1时,DTC 102被激活。在DTC102执行诸如规定的数据传输的任何操作的状态中,每次执行数据传输时DTC 102将中断因子标志清零为0。此时,中断不被CPU 101请求。
[0267] 当DTC 102已经完成规定的数据传输等时,DTC 102在操作结束处将DTE位清零为0。此时,由于中断因子标志被保持为1且DTE位被清零为0,中断被CPU 101所请求。CPU 101执行对应于规定数据传输等的结束的处理,并且重置数据传输信息和DTE位。这些操作通过已知技术来实现。
[0268] DTCIR根据它的位,输出DTCINIT和DTCSUS给DTC。进一步,DTCIR经由选择器/锁存电路输出矢量号或数据传输信息开始地址到DTC。当DTCREQ和DTCINIT都被选择器/锁存电路请求时,选择器/锁存电路基于DTC激活请求对矢量的优先级进行排序。INITE位被清零以响应来自DTC的INITE清零信号。
[0269] 根据依据前面的变型和实施例的到DTC的接口,添加必要修改,诸如信号和带宽的存在与否。在第一实施例中,DTCINIT信号在数量上是一个而DTCSUS信号被省略。在第三实施例的变型中,AUTE信号代替DTCSUS信号而输出,且AUTE清零信号与INITE清零信号一同输入。
[0270] 注意:尽管DTER、DTCIR、中断因子标志和中断启用寄存器连接到MCU内部从总线,该方式未示出在附图中。
[0271] <第一到第五实施例的操作和效果>
[0272] 根据前面的实施例,可以获得下面的操作和效果。
[0273] (1)获得将数据传输信息存储在通用存储装置(RAM)上的数据传输装置的优点。例如,通过使用中断因子,响应于众多中断或事件发生的数据传输可以被执行。即,获得灵活性和效率。此外,在数据传输装置中准备多个寄存器文件集合,每个存储数据传输信息,且使用寄存器文件中的数据传输信息。这样,从存储装置读取数据传输信息的必要性被消除。因此,变得有可能增加获得加速数据传输的机会,或者增加获得微型计算机的加速处理的机会。当存在软件资源控制具有存储从存储装置中读取的已知数据传输信息的单个集合的寄存器文件的数据传输装置时,在容易使用软件资源的同时可以获得加速。
[0274] (2)指定在寄存器文件中存储的数据传输信息的信息是矢量。因此,除了读取数据传输信息的必要,可以消除读取矢量的必要。
[0275] (3)规定在寄存器文件中存储的数据传输信息的信息是数据传输信息开始地址。因此,也是在数据传输信息在多个激活因子即不同矢量之间共享的情况中,可以消除读取数据传输信息的必要。
[0276] (4)使得能够制定数据传输信息要被保持在部分寄存器文件中且高激活请求频率的数据传输信息被保持在寄存器文件中。因此,可以消除从存储装置中读取数据传输信息的必要。这样,可以确保实现加速处理。与保持寄存器传输信息的寄存器文件相关,当数据传输发生时,可以消除写回到存储装置的必要,即使更新了数据传输信息。即,可以获得加速处理。在数据传输已执行规定次数之后相似数据传输要被再次执行的情况下,数据传输信息可以被布置在ROM上。这样,由CPU执行用来将数据传输信息布置在RAM上的程序可以被省略。即,可以提高效率。
[0277] 类似于所谓DMA控制器,近似的是保持数据传输信息作为专用于数据传输装置的方案。进一步,可以使用支持众多中断或事件发生的对数据传输公用的规定和逻辑。因此,可以实现改进的便利性并且可以防止逻辑规模的增加。如上所述,还有可能将数据传输信息布置在ROM上,并由此可以省略由CPU执行用来设置数据传输信息到所谓DMA控制器的程序。即,可以提高效率。
[0278] (5)提供控制寄存器(DTCIR)用于指令数据传输信息读取出到寄存器文件上。使得能够通过控制寄存器的设置来将数据传输信息读取到寄存器文件上而激活数据传输装置。这个处理在初始化微型计算机等中执行。这样,与保持数据传输信息于部分寄存器文件中的规定一起,可以总是消除在发生激活请求时从存储装置读取数据传输信息的必要。这样,可以获得加速处理和改进实时处理。
[0279] (6)提供用于表示存储在寄存器文件中的数据传输信息有效的信息(VLD)。进一步,在DTC被激活时,中断因子标志或DTE位被清零。直到DTC停止使用的寄存器文件的通道被保持。当规定次数的数据传输已经完成且CR达到0时,DTCCNT的使用通道信息所指定的每个通道的SR的VLD标志被清零。由此,不用保持不必要的数据传输信息,寄存器文件可以被有效使用。即,可以获得加速处理。
[0280] (7)用于指定连续数据传输的信息(AUTE)提供给数据传输信息。通过设置控制寄存器(DTCIR)以读取数据传输信息到寄存器文件上来激活数据传输装置。在设置指定连续数据传输的信息的情况下,数据传输立即被执行。这样,变得有可能直接使用ROM上的数据传输信息以设置在ROM上准备的初始值到微型计算机上的规定地址。通过使用链传输,可以执行设置到间歇地址。即,提供改进的便利性。只通过在ROM上准备所需数据传输信息和所需初始值且由CPU设置控制寄存器,可以初始化微型计算机。要被CPU执行来初始化的程序可以被最小化,且ROM的使用效率可以被改进。
[0281] (8)还有可能集成诸如所谓的DMA控制器的数据传输装置和具有存储从存储装置读取的数据传输信息的寄存器文件的单一集合的数据传输装置。在此情况下,所谓的DMA控制器不能操作,除非数据传输信息被CPU等初始化。进一步,即使两种类型的数据传输装置要被集成,它们可以在数据传输信息的格式上彼此不同。然后,要由CPU执行的控制数据传输信息的两种类型的程序变得必要。通过在系统配置等中做出改变而选择性使用格式之一并不容易。根据本发明,只应该准备单一类型的数据传输信息。而且,改变应该由哪个数据传输来指定在任何寄存器文件中的数据传输信息的保持是容易的。例如,当改变这个指定时,系统性能可以被评估。
[0282] (9)由于DTC可以代替CPU执行数据传输,可以降低所需的CPU的中断的频率,或者可以增加CPU呆在低功耗状态的时段。例外处置、栈保存/恢复操作以及必须由CPU在中断处置中执行的恢复指令的执行可以被免除。这对于简化程序和改进系统效率起到贡献。进一步,从事件的发生到所需操作的执行所花费的事件可以被减少。即,可以改进所谓的响应能(responsiveness)。由于在逻辑规模上小于CPU且能够获得高速处理的DTC操作于低功耗状态且CPU保持于低功耗状态,可以实现功耗的降低。本发明可以增加可以由DTC执行的处理的数量,且可以极大享受上述注意到的优点。
[0283] <第一到第五实施例的变型>
[0284] 注意:本发明不限于上述的实施例,并可以以不偏离本发明主旨的范围内的各种方式被修改。
[0285] 例如,地址寄存器的位数不限于32比特,并可以对应于CPU或微型计算机的地址空间而改变。例如,对于16M字节的地址空间,位数应该是24比特。尽管已经描述数据传输模式、传输源地址、传输目的地地址和传输的次数每个都是32比特且数据传输信息是32比特×四条,数据传输信息可以是32比特×三条。
[0286] DTC和中断控制器的配置可以被适当修改。例如,DTC中的寄存器文件不限于四个通道,而且可以被任意改变。DTCIR的数量也可以改变。
[0287] 进一步,要由CPU执行的程序不限于在ROM上布置,且可以在外部存储器上布置。类似地,作为CPU的工作区域的存储器不限于RAM且可以是外部存储器。进一步,ROM或RAM可以不在片上提供。
[0288] 而且,关于DTC的寄存器文件的数据传输信息,它们不限于布置在RAM上,且可以布置在ROM或外部存储器上。当它们保持在DTC中的寄存器文件中且数据传输信息不被覆写时,它们可以布置在ROM上且其它可以布置在RAM上。
[0289] 除了DTC,可以提供数据传输装置,诸如所谓的DMA控制器。DTC的功能和DMA控制器的功能可以实现为单一功能模块。当存在分别用于两种类型的数据传输信息格式的软件资源,它们可以容易地被使用。
[0290] DTC的具体配置和中断控制器的具体配置也可以以各种方式修改。
[0291] 尽管BSC和诸如总线权限和等待的总线操作还不详细,它们可以适当实现。
[0292] 微型计算机的配置也并不限制。其它构成和功能块可以以各种方式被修改。
[0293] <第六实施例>
[0294] 第六实施例讨论设备控制应用中的数据传输装置的便利性的改进。
[0295] 在设备控制应用中,除了字节(8位)、字(16位)和长字(32比特)的数据处置,在许多情况下,通过以位为单位,数据变得有意义。例如,微型计算机的输入/输出端子通常对于不同用途单独使用,例如用于控制开关的ON/OFF(输出端子)和用于控制状态(输入端子),并且被表示为规定寄存器的位。在一些情况下,这样的多个位的组合控制其它位。例如,开关D可以由开关A、B、C的状态来控制。
[0296] 在这样的情况下,处理必须执行,从而不影响布置在相同地址的其它位。因此,处理可以不通过简单读/写来处置。下面是示例情况。
[0297] (a)关于中断因子标志等,可能需要读取1的状态,之后写入0。这里的方案包括:通过硬件设置标志为1;读取1的状态。此后写入0由此对标志清零。在此情况下,通过例如在地址处以字节布置标志;当在相同地址存在其它控制位或标志时读取地址;以及执行数据写入,其中所需标志被清零为0且其它位保持不变,标志可以被清零到0而不影响其它位。即使当在相同地址存在其它标志且在读取操作之前或之后被设置为1时,这样的标志将不会被不期望地清零为0。(图48)
[0298] (b)通过经受1的写操作,中断因子标志等也被清零为0。当在相同地址存在多个标志时,通过以仅仅需要被清零的位被设置为1而其它位清零为0的数据执行写操作,标志可以被清零到0而不会影响其它位。(图48)
[0299] (c)在一些情况下,执行到所需寄存器的写操作时需要规定关键字的增加。不希望的覆写操作可以通过使用将目标寄存器仅通过以字(两个字节)的写操作来覆写的方案而被减少,其中关键字由高阶字节表示而写数据由低阶字节表示。
[0300] 除了前面的写流程,在一些情况下,存在禁止写操作的时段。
[0301] 嵌入到微型计算机中的功能在增加。可能需要所应用系统的独特的功能。在微型计算机中统一位操纵方案并不总是简单。
[0302] 另一方面,实时处理由设备控制应用微型计算机所请求,诸如响应于特定事件的发生而在规定事件内执行对应处理。利用其高速处理性能,已经期望使用数据传输装置来满足这样的要求。
[0303] 进一步,嵌入到微型计算机中的功能在增加。可能需要所应用系统的独特的功能。提供专用接口到每个功能块以及实现互接口同时考虑有意义的组合并不简单。
[0304] 类似地,可能存在外部输入信号,其需要任何内部功能块来开始诸如A/D转换的操作。这个外部输入信号可以与微型计算机的其它功能,例如与计时器的输出,共享端子。当端子被共享时,用户必须选择单个功能,且外部输入信号可以被禁用。
[0305] 基于前面的知识,发明人已经发现数据传输装置中通过多个位的组合而运用控制的必要。
[0306] 因此,在第六实施例中,提议的是提供万能使用方式的微型计算机。即,可以指定要被使用的位的位置、处理的内容以及处理的步骤。进一步,提议的是在存储装置中存储数据传输所需的信息(数据传输信息)的单数据传输装置中允许对于每个数据传输改变数据传输信息的量的微型计算机。
[0307] 图23是根据第六实施例的MCU 100的框图。
[0308] MCU 100被功能块或CPU 101、DTC 102、INT 103、ROM 104、RAM 105、BSC 106、时钟振荡器(CPG)111、包括计时器功能和通信功能的诸如串行通信接口的数字模块112、诸如A/D转换器、D/A转换器和电源电压检测功能的模拟模块109以及输入/输出端口(I/O)110的模块来配置。
[0309] CPU 101主要执行操作。CPU 101主要从ROM 104中读取指令并且由此操作。基于CPU 101的设定,DTC 102替代CPU 101执行数据传输。
[0310] INT 103基于来自微型计算机外部的多个外部中断请求信号,从数字模块112、模拟模块109等接收中断请求,从I/O 110接收终端请求,并且输出中断或数据传输请求到CPU 101或DTC 102。进一步,当INT103开始或结束由中断信号触发的处理时,关联于数字模块
112、模拟模块109或I/O 110的中断因子标志或中断信号,INT 103输出中断清零信号以对中断清零。
[0311] 模拟模块109包括电源电压检测功能,其检测供应到MCU 100的电源电压输入端子的电压。当检测到电源电压下降到等于或低于规定电压时,模拟模块109请求电压监控中断。
[0312] I/O 110具有外部中断(IRQ)功能,其检测各个端子处输入信号的改变并且请求中断。
[0313] BSC 106与CPU 101和DTC 102关于总线请求、总线确认、总线命令、等待、地址、数据等对接,以允许CPU 101从/向RAM 105或连接到MCU内部总线的其它功能块或模块读取/写。具体地,BSC 106从CPU 101和DTC 102接收总线请求信号并且仲裁MCU内部总线的占位,以输出总线使用许可信号。MCU内部总线被CPU 101或DTC 102排他使用。在任何事件中,包括在MCU 100中的功能块将不被经由总线同时由CPU 101和DTC 102访问
[0314] CPG 111具有主时钟振荡器(MOCO)和基于外部时钟操作的低速片上振荡器(LOCO)。MOCO可以分频和倍频。MCU的工作时钟由未示出的时钟选择寄存器(CKSR)来选择,且通常操作MOCO的高速时钟,例如100MHz。例如,LOCO的时钟是125kHz。
[0315] 图24是根据本实施例的DTC 102的框图。
[0316] DTC 102包括数据传输控制块(DTCCNT)、总线接口(BIF)、矢量生成时钟(VG)、矢量地址寄存器(VAR)、模式寄存器(MR)、源地址寄存器(SAR/DR)、目的地地址寄存器(DAR/AR)、计数器寄存器(CR)、位累计器(ACM)和算术逻辑单元(ALU)。
[0317] MR、SAR/DR、DAR/AR和CR是存储数据传输信息的寄存器集合。
[0318] DTCCNT基于来自INT和MR的内容的传输请求(DTCREQ、DTCVEC)控制DTC中的操作。进一步,DTCCNT输出控制信号到INT。
[0319] BIF在DTC内部总线和微型计算机内部总线之间对接。接口包括总线请求、总线确认、总线命令、等待、地址、数据等。
[0320] VG根据从INT提供的中断矢量号DTCVEC生成矢量地址。例如,VG将DTCVEC乘以四且加上规定的偏移。
[0321] VAR存储从矢量地址读取的数据传输信息的开始地址。
[0322] MR、SAR/DR、DAR/AR和CR存储随后从数据传输信息开始地址读取的数据传输信息。
[0323] ALU执行算术运算、逻辑运算、位移运算以及对位数的解码。
[0324] 尽管未示出,存在多个DTC内部总线,其允许上述的SAR/DR、DAR/AR、CR和ACM的内容由ALU操作。
[0325] 图25示出了DTC 102的数据传输信息(传输信息集合)。数据传输信息是32比特配置的。数据传输信息被示出为分为两个阶段:高阶部分和低阶部分。
[0326] DTC 102的数据传输信息由模式寄存器(MR)、源地址寄存器(SAR)、目的地地址寄存器(DAR)、计数器寄存器(CR)和数据寄存器(DR)形成。
[0327] 根据MR中存储的内容,数据传输信息假定三个配置,且数据传输信息的量改变。进一步,根据MR中存储的内容,使用上面提到的任何所需寄存器,而且在一些情况下,它们执行不由它们的名称所表示的操作。
[0328] CR被分为块传输计数寄存器(BTCR)和传输计数寄存器(TCR)。TCR被分为高八位(TCRH)和低八位(TCRL)。CR根据将在稍后描述的数据传输模式来操作。
[0329] 这些寄存器电路由DTC 102中的单个集合来提供。尽管没有特别限制,它们不存在于CPU 101的地址空间上。要被存储在寄存器中的数据传输信息由所需集合的数量在CPU 101的地址空间上布置在规定的数据传输信息布置区域,诸如RAM 105。
[0330] 根据模式寄存器(MR)所指定的内容,数据传输信息假定如上所述的三个配置。
[0331] (a)示出位操纵模式。
[0332] 位31是BOP位,通过将该位设置为1,指定位操纵模式。
[0333] 在位操纵模式(BOP=1)的情况中,MR的内容如下。
[0334] 位29和28是DIR1和DIR0位。当它们被设置为10时,从AR指定的地址执行读取操作且执行操纵。当它们被设置为11时,从AR指定的地址执行读取操作且执行其它分别指定的处理以执行写操作。当DIR1和DIR0位被设置为10时,位操纵的结果由位累计器(ACM)保持。
[0335] 位27是INV位,用于指定读或写操作中的逻辑反转。
[0336] 位25和24是OP1和OP10位。当它们被设置为00时,不执行操作(传输);当01时,执行与(AND);当10时,执行或(OR);当11时,执行异或(XOR)。
[0337] 位23是CNDE位。当CNDS位被清零为0时,执行一次位操纵。当其被设置为1时,由CNDS位和目标位指定是否结束位操纵或重复位操纵。
[0338] 位22是CNDS位。当CNDS位被清零为0且目标位被清零为0时,条件满足且位操纵结束;当目标位被设置为1,条件不满足且位操纵被重复。当CNDS位被设置为1且目标位被设置为1时,条件满足且位操纵结束;当目标位被清零为0时,条件不满足且位操纵被重复。
[0339] 位20到位16是BNO4到BNO0位,用于指定位数。
[0340] 位7和6是Sz1和Sz0位,用于选择要被执行的单次的读/写操作是什么大小,字节大小、字大小还是长字大小。
[0341] 位1是NXTE位,用于选择对于一个激活因子是结束操作还是开始下一操作。当这个NXTE位被清零为0时,在指定处理完成之后,数据传输信息被写入且DTC的操作结束。
[0342] 在地址寄存器(AR)中,DTC的数据传输信息由长字×两条来提供。
[0343] 在位操纵模式以外的情况下(即BOP=0),MR的内容如下。
[0344] 位30是DRE位。当位30被设置为1时,进入直接数据传输模式;当位30被清零为0时,进入正常数据传输模式。
[0345] (b)示出直接数据传输模式。
[0346] 在直接数据传输模式(BOP=0,DRE=1)中,MR的内容如下。
[0347] 位25是TSTE位。当位25被清零为0时,数据传输无条件执行。当位25被设置为1时,由TSTS位和位累计器(ACM)指定是否执行数据传输。
[0348] 位24是TSTS位。当位24被清零为0且目标位被清零为0时,条件满足且执行直接数据传输模式;当目标位被设置为1时,条件不满足且操作结束而不执行直接数据传输模式中的写操作。当TSTS位被设置为1且目标位是1时,条件满足且执行直接数据传输模式;当目标位被清零为0时,条件不满足且操作结束而不执行直接数据传输模式中的写操作。
[0349] 位13和12是DM1和DM0位,用于指定在数据传输之后是否递增、递减或修改AR。
[0350] 位11和10是TMD1和TMD0位,用于选择数据传输模式。当TMD1和TMD0位被清零为00时,进入正常模式。在正常模式中,对于单个激活,从SAR表示的地址到DAR表示的地址执行一次数据传输。
[0351] 此后,如SM1、SM0、DM1和DM0位所指定的,SAR和DAR被操纵且CR被递减。这对于激活因子的每次发生且对于CR所指定的次数而重复。然后,当CR所指定次数的数据传输已完成时,DTC操作被禁止,且用作为激活因子的中断被CPU请求。
[0352] 当TMD1和TMD0位被设置为01时,进入重复模式。当TMD1和TMD0位被设置为10时,进入块传输模式。可以通过已知技术来实现重复模式和块传输模式。
[0353] 在直接数据传输模式中,传输目的地是重复区域和块区域。
[0354] 位7和6是Sz1和Sz0位,用于选择是以字节大小、字大小还是长字大小来执行一个数据传输。
[0355] 位4是CRE位。当CRE位被清零为0时,无限制地执行DTC操作,以响应DTC激活请求。当CRE位被设置为1时,根据在CR中初始设置的值执行DTC操作。
[0356] 位1是NXTE位,用于响应于一个激活因子而选择是数据传输要被结束还是下一数据传输要被执行。当NXTE1位被清零为0时,在执行数据传输信息读取操作和数据传输操作之后,写入数据传输信息,且DTC操作结束。
[0357] 进一步,当这个NXTE位被设置为1时,在执行数据传输信息读取操作和数据传输操作之后,写入数据传输信息。数据传输信息进一步从后续地址中读取并且执行由该数据传输信息所指定的数据传输操作。然后,数据传输信息被写入。该流程被称为链操作(或链传输)。
[0358] 位0是NXTS位,用于当在CRE位被设置为1的状态下CR达到0时,指定是否执行链操作。
[0359] (c)示出正常数据传输模式。
[0360] 在正常数据传输模式中(BOP=0,DRE=0),MR的内容如下。
[0361] 位25是TSTE位,且位24是TSTS位。它们以与直接数据传输模式一样的方式起作用。
[0362] 位15和14是SM1和SM0位,用于指定在数据传输之后是否递增、递减或修改SAR。
[0363] 位13和12是DM1和DM0位,且位11和10是TMD1和TMD0位。它们以与直接数据传输模式一样的方式起作用。
[0364] 位9是DIR位,用于选择传输源和传输目的地中哪个是重复区域或块区域。
[0365] 位7和6是Sz1和Sz0位。位3是CRE位且位1是NXTE位。进一步,位0是NXTS位。它们以与直接数据传输模式一样的方式起作用。
[0366] (d)示出位操纵模式的变型(缩短)。
[0367] 位30是SHORT位。当BOP=SHORT=1时,进入缩短的位操纵模式。在该模式的数据传输信息中,MR和AR被减小为长字×一条。
[0368] 从/向存储器读/写被固定为字节大小,且Sz1和Sz0位被省略。位数由三个位指示,即BNO2到BNO0位。CNDE和CNDS位被省略,且不设置任何条件。
[0369] 尽管没有特别限制,这样的数据传输信息应该存储在DTC中的MR和DAR/AR中。当DAR/AR用于缩短位操纵模式时,高八位应该被掩蔽(固定为0或1)。
[0370] 这样,AR变为24比特且可以被指定的地址空间变为16M字节。这不会造成实质问题,因为用于位操纵的地址空间不必是CPU的整个空间。通过减少读取数据传输信息的次数可以获得高速处理。
[0371] 图26是根据本实施例的DTC 102的状态转移图。这样的状态转移主要实现在DTC 102的数据传输控制块(DTCCNT)中。
[0372] 当DTC 102被提供有来自INT的数据传输请求信号DTCREQ时,状态转移到VR状态。根据中断矢量号DTCVEC,DTC 102基于由VG生成的矢量地址读取在矢量区域(数据传输信息开始地址布置区域)中存储的数据传输信息的开始地址。读取的内容存储在VAR中。
[0373] 接下来,状态转移到IR状态。根据开始地址,读取在数据传输信息布置区域中存储的数据传输信息。内容是MR、SAR、DAR、DR、AR和CR。其中,由首先读取的MR指定的要在数据传输功能中使用的被连续存储。
[0374] 当MR的内容指定位操纵模式或正常数据传输模式时,状态转移到SR状态。当直接数据传输模式被指定时,状态转移到DW状态。
[0375] 在SR状态,由SAR或AR指定的存储器被读取。当由CNDE和CNDS位设置的条件不满足时,SR状态被重复。当在位操纵模式中DIR1和DIR0=10时,执行传输信息覆写确定。当在位操纵模式中和正常数据传输模式中DIR1和DIR0=11时,状态转移到DW状态。
[0376] 在DW状态,传输信息被写入到由DAR或AR所指定的存储器上。此后,执行传输信息覆写确定。
[0377] 传输信息覆写确定被示出为用于简化图示,实际上在之前的状态中执行。当存在任何更新的数据传输信息时,状态转移到IW状态。当不存在更新的数据传输信息时,当链操作由NXTE和NXTS位指定时状态转移到IR状态。当链操作不被指定时,对应于激活因子的中断因子标志或DTE位被清零为0,且状态转移到STOP状态。
[0378] 在IW状态,数据传输信息被写入到原始地址。此后,当链操作由NXTE和NXTS位指定时,状态转移到IR状态。当链操作不被指定时,对应于激活因子的中断因子标志或DTE位被清零为0,且状态转移到STOP状态。
[0379] 尽管未示出,SR和DW状态在块传输模式中被重复。
[0380] (第一示例)
[0381] 图27示出了根据本实施例的DTC 102的使用的第一示例中的数据传输信息配置。数据传输信息是32比特配置。数据传输信息被示出为分成高阶部分和低阶部分的两个阶段。
[0382] 在第一示例中,MCU 100的工作时钟由在检测到提供到MCU 100的电源电压输入端子的电压的电压下降时发生的电压监控中断来切换。
[0383] MCU 100的工作时钟由CPG 111的时钟选择寄存器(CKSR)来选择。CKSR由表示CPG 111的覆写禁止状态的状态标志和用于选择时钟的多个选择位组成。
[0384] 当DTC 102被电压监控中断所激活时,基于规定矢量读取传输信息1。传输信息1的MR的内容之前设置如下。
[0385] 设置BOP=1,指定位操纵模式。
[0386] 设置DIR1、DIR0=10,读取AR指定的地址且执行操纵。
[0387] 设置INV=0,不执行逻辑反转。
[0388] 设置OP1、OP2=00,不指定操纵(传输)。
[0389] 设置CNDE=1、CNDS=0,检查是否目标位为0。当目标位为0时,条件满足且位操纵(传输信息1的操作)结束。当目标位为1时,条件不满足且重复位操纵。
[0390] BNO4到BNO0位指定表示CPG的CKSR的覆写禁止状态的状态标志的位数。
[0391] 设置Sz1、Sz0=01,指定字节大小。
[0392] 设置NXTE=1,指定链操作的传输信息2的操作。
[0393] 地址寄存器(AR)指定CKSR的地址。
[0394] 当传输信息1的操作结束时,必要时传输信息1被写入到原始地址。但是,通过上述的配置,由于传输信息1的内容没有更新,这样的写入不被执行。随后,读取传输信息2。传输信息2的MR的内容之前被设置如下。
[0395] 设置BOP=0、DRE=1,指定直接数据传输模式。
[0396] 设置TSTE=TSTS=0,不设置条件。
[0397] 设置DM1=DM0,修改AR。
[0398] 设置TMD1=TMD0=0,指定正常模式。
[0399] 设置Sz1、Sz0=01,指定字节大小。
[0400] 设置CRE=0,CR不被用于许可DTC操作的无限制数量。
[0401] 设置NXTE=0,指示DTC操作的结束。
[0402] 数据寄存器(DR)存储要写入到CKSR的数据,即选择LOCO的数据。
[0403] 地址寄存器(AR)指定CKSR的地址。
[0404] 图28是根据DTC 102的使用的第一示例的处理的流程图。
[0405] CPU 101写入所需数据传输信息(传输信息1和2)到规定传输信息地址区域上,并且设置对应于用作为激活因子的电压监控中断的DTE位为1。在此状态中,当电压监控中断发生且DTC 102被激活时,DTC 102读取对应于电压监控中断的矢量区域(VR)。读取的内容是数据传输信息的开始地址,且DTC 102读取传输信息1(IR1)。DTC102根据传输信息1读取CKSR(SR),且确定指定的位(表示覆写禁止状态的状态标志)。这个流程被重复,直到条件满足。
[0406] 当条件满足时,DTC 102执行传输信息覆写确定。由于传输信息1的内容没有更新,传输信息1不被写入到原始地址。作为替换,DTC102读取传输信息2(IR2)。根据传输信息2,DTC 102将DR所指定的内容写入到CKSR(DW)。DTC 102执行传输信息覆写确定。由于传输信息2的内容没有更新,传输信息2不被写入到原始地址。这样,DTC 102的操作结束。
[0407] 图29是根据DTC 102的使用的第一示例的处理的操作时序图。
[0408] 在T0,DTC 102转移到VR,且输出对应于所提供的DTCVEC的地址到MCU内部总线的地址总线(IAB)上,以执行读取操作。读取的数据(数据传输信息开始地址)在下一时刻T1被提供给MCU内部总线的数据总线(IDB)。读取的数据存储在VAR中。
[0409] 在T2,DTC 102转移到IR,并且通过输出VAR(数据传输信息开始地址)到IAB而执行读取操作。VAR例如被递增。DTC 102通过长字×两条来读取数据传输信息(传输信息1),并且将读取的数据传输信息存储在DTC 102的MR和DAR/AR中。在DAR/AR中存储之后,操作被启用。
[0410] 在T5,DTC 102转移到SR,且通过输出DAR/AR(CKSR地址)到IAB而执行读取操作。在T7,由读取的数据所指定的位被存储在ACM中,且确定条件是否满足。
[0411] 存储到ACM是由ALU如下执行的。首先,通过解码BNO4到BNO0位而获得的数据被生成。在本示例中,由于数据是字节大小,解码的数据块00000001,00000010,…被生成。得出生成的数据与读取的数据的AND(与)。进一步,得出该数据的所有位的或(OR)。结果被传输到ACM。
[0412] 图29示出了条件满足的情况。
[0413] DTC 102执行传输信息覆写确定,且在T8转移到IR。DTC 102输出递增的VAR到IAB上以执行读取操作。DTC 102例如递增VAR,通过长字×三条读取数据传输信息(传输信息2),并且将读取的数据传输信息存储在DTC 102中的MR、SAR/DR和DAR/AR中。
[0414] 在T12,DTC 102转移到DW。DTC 102输出DAR/AR(CKSR地址)到IAB上。在T13,DTC 102输出SAR/DR(要被写入到CKSR的数据)到IDB上,以执行写操作。
[0415] 因此,通过传输信息1的操作,读取CKSR;检查表示CPG的覆写禁止状态的状态标志是否被清零(T2到T7);以及可以执行对CKSR的写入以通过传输信息2切换MCU的工作时钟(T8到T13)。
[0416] 当检测到供应到电源电压输入端子的电压的电压下降时,可以通过降低MCU 100的工作时钟频率来确保稳定操作,由此降低MCU 100的功耗。这可以不对CPU 101上施加负载,即以很小的功耗来获得。
[0417] (第二示例)
[0418] 图30示出了根据第六实施例的根据DTC 102的使用的第二示例的数据传输信息配置。数据传输信息是32比特配置的。数据传输信息被示出为分为高阶部分和低阶部分的两个阶段。
[0419] 在第二示例中,计时器通过在检测到输入到输入/输出端口(I/O)110的信号中的规定改变时发生的外部中断(IRQ)而启动。
[0420] 计时器具有计时器计数器(TCNT)和计时器启动寄存器(TSTR),且TSTR具有计数器启动(CST)位。当CST位被设置为1时,TCNT开始计数。
[0421] 进一步,计时器具有比较寄存器,且具有测量规定时间的功能,例如通过检测计时器计数器和比较寄存器之间的一致且生成比较匹配中断。
[0422] 当TCT被IRQ中断激活时,基于规定矢量而读取传输信息1。传输信息1的MR的内容之前被如下设置。
[0423] 设置BOP=0、DRE=1,指定直接数据传输模式。
[0424] 设置TSTE=TSTS=0,不设置条件。
[0425] 设置DM1=DM0,AR被修改。
[0426] 设置TMD1=TMD0=0,指定正常模式。
[0427] 设置Sz1,Sz0=10,指定字大小。
[0428] 设置CRE=0,CR不用于许可DTC操作的无限制数量。
[0429] 设置NXTE=1,指定通过链操作的传输信息2的操作。
[0430] 数据寄存器(DR)存储要被写入到TCNT的数据(初始值,诸如0000)。
[0431] 地址寄存器(AR)指定TCNT的地址。
[0432] 当传输信息1的操作结束时,必要时传输信息1被写入到原始地址。但是,通过上述的配置,由于传输信息1的内容没有更新,这样的写入不被执行。随后,读取传输信息2。传输信息2的MR的内容之前被如下设置。
[0433] 设置BOP=1,指定位操纵模式。
[0434] 设置DIR1,DIR0=11,从/向AR指定的地址执行读/写操作。
[0435] 设置INV=0,不执行逻辑反转。
[0436] 设置OP1,OP0=10,指定或(OR)(位集合)。
[0437] 设置CNDE=CNDS=0,不为目标位设置条件。
[0438] BNO4到BNO0位指定TSTR的CST位的位数。
[0439] 设置Sz1,Sz0=01,指定字节大小。
[0440] 设置NXTE=0,指示DTC操作的结束。
[0441] 地址寄存器(AR)指定TSTR的地址。
[0442] 图31是根据DTC 102的使用的第二示例的处理的流程图。
[0443] 当IRQ中断发生且DTC 102被激活时,DTC 102读取对应于IRQ中断的矢量区域(VR)。读取的内容是数据传输信息的开始地址,且DTC 102读取传输信息1(IR1)。根据传输信息1,DTC 102将由DR指定的内容写入到TCNT(DW1)。
[0444] DTC 102执行传输信息覆写确定。由于传输信息1的内容没有被更新,DTC 102不将传输信息1写入到原始地址,且读取传输信息2(IR2)。根据传输信息2,DTC 102从由AR指定的地址(TSTR)读取(SR2)。响应于读取的内容,DTC 102执行对由AR指定的地址的写操作,指定位(CST位)被设置为1,且其它位被保持(DW2)。DTC 102执行传输信息覆写确定。由于传输信息2的内容没有被更新,DTC 102没有执行对原始地址的写操作。因此,DTC 102的操作结束。
[0445] 因此,初始值可以通过传输信息1的操作而被设置为TCNT,而CST位可以通过传输信息2的操作而被设置为1,以开始计时器的操作。
[0446] 图32是根据DTC 102的使用的第二示例的处理的操作时序图。概览类似于图29。
[0447] 在T2,DTC 102转移到IR,且通过长字×三条来读取数据传输信息(传输信息1),并且将读取的数据传输信息存储在DTC 102中的MR、SAR/DR和DAR/AR中。
[0448] 在T6,DTC 102转移到DW,并且执行对TCNT的写操作。
[0449] 在T8,DTC 102转移到IR,且通过长字×三条来读取数据传输信息(传输信息2),并且将读取的数据传输信息存储在DTC中的MR和DAR/AR中。
[0450] 在T11,DTC 102转移到SR且读取TSTR。
[0451] 在T13,DTC 102转移到DW,且通过设置由读取的TSTR指定的CST位为1,向TSTR写入。
[0452] 如下执行对CST位的设置。通过解码BNO4到BNO0位,ALU生成数据,以得到与读取的数据(TSTR)的或(OR)。
[0453] 通过之前例如设置规定值到比较寄存器,比较匹配中断等可以在规定时间的测量之后被生成。使用比较匹配中断来激活DTC 102,例如,可以激活A/D转换器。
[0454] 因此,变得有可能通过由IRQ检测外部状态的任何变化并且等待时间经过使得外部状态稳定并且激活A/D转换器,而学习外部状态。
[0455] (第三示例)
[0456] 图33示出了根据第六实施例的根据DTC 102的使用的第三示例的数据传输信息配置。数据传输信息是32比特配置的。数据传输信息被示出为分成高阶部分和低阶部分的两个阶段。
[0457] 在第三示例中,通过在检测到输入到例如三个输入/输出端口(I/O)的信号中的规定变化时发生的外部中断(IRQ0、IRQ1、IRQ2)来反转输出端口。
[0458] IRQ0、IRQ1和IRQ2中断的数据传输信息的MR的内容之前被如下设置。
[0459] 设置BOP=1,指定位操纵模式。
[0460] 设置DIR1,DIR0=11,执行到由AR指定的地址的读/写操作。
[0461] 设置INV=0,不执行逻辑反转。
[0462] 设置OP1,OP0=11,指定异或(位-否)。
[0463] 设置CNDE=CNDS=0,不对目标位设置条件。
[0464] BNO4到BNO0位指定输出端口的目标位的位数。
[0465] 设置Sz1,Sz0=01,指定字节大小。
[0466] 设置NXTE=0,指示DTC操作的结束。
[0467] 地址寄存器(AR)指定输出端口的地址。
[0468] 图34是根据DTC 102的使用的第三示例的处理的流程图。
[0469] 当IRQ0、IRQ1和IRQ2中断发生且DTC 102被激活时,DTC 102读取对应于IRQ中断的矢量区域(VR)。尽管矢量区域对于IRQ0、IRQ1和IRQ2中断是独立的,由此指定的数据传输信息的开始地址是相同的。
[0470] DTC 102从数据传输信息开始地址(IR)读取数据传输信息。根据数据传输信息,DTC 102执行从由AR指定的地址(输出端口)的读取操作(SR)。响应于读取的内容,DTC 102对由AR指定的地址执行写操作,指定的位被反转,且其它位被保持(DW)。DTC 102执行传输信息覆写确定。由于数据传输信息的内容没有被更新,DTC 102不执行对原始地址的写操作。因此,DTC 102的操作结束。
[0471] 反转输出端口的开关切换可以通过由IRQ0、IRQ1和IRQ2中断中任意一个的输入变化激活前面的数据传输而实现。
[0472] (第四示例)
[0473] 图35示出了根据第六实施例的根据DTC 102的使用的第四示例的数据传输信息配置。数据传输信息是32比特配置的。数据传输信息被示出为分为高阶部分和低阶部分的两个阶段。
[0474] 在第四示例中,根据以特定时间间隔发生的计时器中断,诸如计时器的比较匹配中断,而控制输出端口,例如,信号被输入到三个输入/输出端口(I/O)110。
[0475] 在此情况下,通过链操作连续执行五个位操纵模式下的DTC 102的操作。
[0476] 传输信息1的MR的内容之前被如下设置。
[0477] 设置BOP=1,指定位操纵模式。
[0478] 设置DIR1,DIR0=10,读取并操纵由AR指定的地址。
[0479] 设置INV=0,不执行逻辑反转。
[0480] 设置OP1,OP0=00,不指定操作(传输)。
[0481] 设置CNDE=CNDS=0,不为目标位指定条件。
[0482] BNO4到BNO0位指定输出端口的目标位的位数。
[0483] 设置Sz1,Sz0=01,指定字节大小。
[0484] 设置NXTE=1,指定通过链操作的后续传输信息2的操作。
[0485] 地址寄存器(AR)指定输出端口的地址。
[0486] 为了便利,传输信息块2、3和4被假定为被相同地操纵,且MR的内容之前被如下设置。
[0487] 设置BOP=1,指定位操纵模式。
[0488] 设置DIR1,DIR0=10,读取并操纵由AR指定的地址。
[0489] 设置INV=0,不执行逻辑反转。
[0490] 设置OP1,OP0=11,指定异或(反转)。
[0491] 设置CNDE=CNDS=0,不为目标位指定条件。
[0492] BNO4到BNO0位每个指定所指输入端口的目标位的位数。
[0493] 设置Sz1,Sz0=01,指定字节大小。
[0494] 设置NXTE=1,指定通过链操作的后续传输信息3、4或5的操作。
[0495] 地址寄存器(AR)指定所指输入端口的地址。
[0496] 传输信息5的MR的内容之前被如下设置。
[0497] 设置BOP=1,指定位操纵模式。
[0498] 设置DIR1,DIR0=11,执行从/向由AR指定的地址的读/写操作。
[0499] 设置INV=0,不执行逻辑反转。
[0500] 设置OP1,OP0=00,不指定操纵(传输)。
[0501] 设置CNDE=CNDS=0,不为目标位指定条件。
[0502] BNO4到BNO0位指定输出端口的目标位的位数。
[0503] 设置Sz1,Sz0=01,指定字节大小。
[0504] 设置NXTE=0,指示DTC操作的结束。
[0505] 地址寄存器(AR)指定输出端口的地址。
[0506] 图36是根据DTC 102的使用的第四示例的处理的流程图。
[0507] 当计时器中断发生且DTC 102被激活时,DTC 102读取对应于计时器中断的矢量区域(VR)。如前所述,DTC 102读取传输信息1(IR1)。根据传输信息1,DTC 102读取AR所指定的输出端口的内容(SR1)。DTC 102将指定位的内容存储在位累计器(ACM)中。
[0508] DTC 102读取传输信息2(IR2)。根据传输信息2,DTC 102读取AR所指定的输入端口1的内容(SR2)。这样指定位的内容经历与ACM的运算(异或)。运算结果存储在ACM中。类似地,执行IR3、SR3、IR4和SR4。
[0509] 此后,DTC 102读取传输信息5(IR5)。根据传输信息5,DTC 102读取由AR指定的输出端口的内容(SR5)。DTC 102执行写操作,同时插入ACM的内容到由所读取的数据指定的位并且保持其它位(DW)。
[0510] 注意:所指的位的数量可以任意地被增加或减小。具有这样的位的操作内容可以任意地被改变。
[0511] 通过使用间隔计时器,DTC 102可以以特定时间间隔被激活以执行位操纵。因此,所需控制,诸如对开关的ON/OFF,可以被执行。
[0512] (变型:添加的预取)
[0513] 图37是根据第六实施例的DTC 102的变型的框图。
[0514] 根据变型的DTC 102包括预取缓冲器(PFB),其直接连接到总线接口(BIF)。预取缓冲器使得有可能在特定数据传输信息的读取操作期间的开放总线周期内读取下一数据传输信息。
[0515] 预取缓冲器可以被准备为多个长字,取决于数据传输信息的读取操作的等待时间、最小数据传输信息的容量等。
[0516] 图38是根据变型的根据DTC 102的使用的第一示例的处理的操作时序图。
[0517] 与图29相比较,图38特征在于,下一数据传输信息的第一长字的读取操作在T4执行。在T6将该内容存储在PFB中一次。
[0518] 从T8,读取传输信息2的剩余两个长字。在T9,将保持在PFB中的传输信息2的内容传送到MR。
[0519] 直到读取MR的状态变得在DTC中可用的状态被有效使用,且要被执行的状态的数量可以减少。
[0520] (变型:添加的分支模式)
[0521] 将根据第六实施例给出将分支模式添加到DTC 102的变型的描述。图39示出了在本发明中的数据传输信息(传输信息集合)。数据传输信息是32比特配置的。数据传输信息被示出为分为高阶部分和低阶部分的两个阶段。
[0522] 当BOP=0,DRE=1时,在位29提供BRE位。
[0523] 当BOP=0,DRE=1,BRE=0时,进入直接数据传输模式。
[0524] (e)是分支模式,其由BOP=0,DRE=1,BRE=1指定。在这个分支模式,类似于其它模式中的NXTE=1,执行基于下一数据传输信息的操作,作为链操作。除了从后续地址读取下一数据传输信息,使得能够从其它地址读取(分支)数据传输信息。
[0525] MR的内容如下。
[0526] 位25是TSTE位。当TSTE位是0时,无条件执行分支。当TSTE位是1时,由TSTS位和位累计器(ACM)指定是否执行分支。
[0527] 位24是TSTS位。当TSTS位是0且目标位是0时,条件满足且执行分支;当目标位是1时,条件不满足且从后续下一地址读取数据传输信息。当TSTS位是1且目标位是1时,条件满足且执行分支;当目标位是0时,条件不满足且从后续下一地址读取数据传输信息。
[0528] 位23到0是分支地址指定部分。这个部分经历符号扩展并且添加到VGR,以生成下一数据传输信息的开始地址。即,分支地址指定部分指定数据传输信息的下一地址和当条件满足时要被执行的数据传输信息的地址之间的相对值。
[0529] 图40示出了将分支模式添加到DTC 102的变化中的状态转移图。
[0530] 当根据MR是分支模式时,状态从IR状态转移到BR状态。
[0531] 在BR状态,检查位累计器(ACM)的内容。当条件满足时,已经经过符号扩展的MR的分支地址指定部分被添加到VGR。当条件不满足时,不执行添加。此后,尽管执行传输信息覆写确定,在分支模式中,状态总是转移到IR状态。
[0532] 在下一IR状态,基于经历前面的添加的VGR,读取数据传输信息。
[0533] 图41示出分支模式被额外指定到DTC 102的使用的第一示例的数据传输信息配置的示例。数据传输信息是32比特配置的。数据传输信息被示出为分为高阶部分和低阶部分的两个阶段。
[0534] 不为传输信息1设置条件。
[0535] 关于传输信息2,通过设置BOP=0,DRE=1和BRE=1,指定分支模式。设置TSTE=1,TSTS=1,检查目标位是否为0。当目标位是1时,条件满足,且存储在位23到0的FFFFF4经历符号扩展。结果被添加到VGR以得到传输信息1的开始地址,且执行分支。当目标位是0时,条件不满足,且执行下一传输信息3。
[0536] 传输信息3与图27中所示的传输信息2相同。
[0537] 以这样的方式,通过启用条件分支,可以实现灵活的处理。
[0538] 图42是将分支模式添加到DTC 102的使用的第一示例的变型的流程图。
[0539] 当电压监控中断发生且DTC被激活时,DTC读取对应于电压监控中断的矢量区域(VR)。读取的内容是数据传输信息的开始地址,且DTC读取传输信息1(IR1)。根据传输信息1,DTC读取CKSR(SR)。DTC将指定位存储在ACM中。
[0540] 接下来,DTC读取传输信息2(IR2)。根据传输信息2,DTC检查ACM的内容,且执行分支条件确定(BR)。当条件满足时,DTC向VGR添加已经经过符号扩展的MR的分支地址指定部分的结果。然后状态返回到IR1。
[0541] 当条件不满足时,DTC不执行添加且读取传输信息3(IR3)。根据传输信息3,DTC将由DR指定的内容写入CKSR(DW)。DTC执行传输信息覆写确定。由于传输信息2的内容没有更新,DTC不向原始地址写入且结束操作。
[0542] (其它变型)
[0543] 图43示出了根据第六实施例的DTC 102的其它变型的框图。
[0544] 作为用于存储数据传输信息的寄存器集合,添加分支地址寄存器(JAR)。
[0545] 图44A和44B示出了上面记录的配置中的数据传输信息(传输信息集合)。数据传输信息是32比特配置的。数据传输信息的高阶部分在图44A中示出而其低阶部分在图44B中示出。
[0546] 在位操纵模式、直接数据传输模式和正常数据传输模式,将JMP位添加到MR的位3,且将RET位添加到MR的位2。在分支模式,将RET位添加到位28。
[0547] 当JMP位被设置为1时,JAR应该包括在数据传输信息中。在此情况下,在所需操作之后,类似于链操作,读取下一数据传输信息。该数据传输信息的开始地址由JAR替换VAR指定。
[0548] 当RET位被清零为0时,JAR被复制到VAR。当链操作以下一数据传输信息而执行时,数据传输信息被从下一数据传输信息之后的地址中读取。
[0549] 当RET位被设置为1时,VAR应该被保持。当链操作被以下一数据传输信息而执行时,数据传输信息被从JMP位被设置为1的数据传输信息之后的地址中读取。
[0550] 注意:当JMP位被设置为1时,NXTE和NXTS位应该被忽略。在分支模式中,同样,由RET位选择是否复制分支地址到VAR。
[0551] 图45示出了上述数据传输信息(传输信息集合)的使用。
[0552] 当数据传输信息j的MR的JMP位被设置为1,且JAR指定数据传输信息k的地址时,执行数据传输信息j且此后执行数据传输信息k。
[0553] 当数据传输信息k的MR的NXTE位被设置为1时,执行链操作。但是,接下来要执行的数据传输信息根据数据传输信息j的MR的RET位而不同。
[0554] 当数据传输信息j的MR的RET位被清零为0时,由于VAR被更新,执行数据传输信息k且此后执行数据传输信息k+1。
[0555] 当数据传输信息j的MR的RET位被设置为1时,由于VAR被保持,执行数据传输信息k且此后执行数据传输信息j+1。
[0556] 图46示出了根据第六实施例的中断控制器(INT 103)的框图。
[0557] 微型计算机的中断因子每个具有中断因子标志。当计数器、通信和模拟的功能块进入规定状态时,中断的因子标志被设置为1。
[0558] 当外部中断输入端子达到规定水平,或者规定信号变化发生时,将外部中断的因子标志设置为1。通过CPU 101的写操作,中断因子标志被清零为0,并且当由DTC 102的传输完成时也清零为0。
[0559] 中断因子标志的每位的输出被提供给中断启用电路。中断启用电路进一步接收中断启用寄存器的内容,即中断启用位。中断启用寄存器可以由CPU 101读/写且选择是否许可或禁止对应的中断。当中断因子标志被设置为1且中断启用位被设置为1时,中断被请求。
[0560] 中断启用电路的输出被提供给中断/DTC确定电路。中断启用电路进一步接收DTC启用寄存器(DTER)的内容。如上所述,DTC启用寄存器在请求中断时选择是否激活DTC 102或许可到CPU 101的中断请求。当对应于中断因子的DTC启用寄存器的位被设置为1时,DTC102的激活被请求且CPU 101的中断不被请求。当DTC启用寄存器的位被清零为0时,CPU 101的中断被请求且DTC 102的激活不被请求。
[0561] 关于DTC启用电路的输出,CPU中断请求和DTC激活请求被独立地输入到优先级确定电路。CPU 101的优先级确定/掩蔽水平确定电路根据优先级寄存器、中断掩蔽水平等而受控。
[0562] 当存在用于CPU中断请求和DTC激活请求中每个的多个中断请求时,确定优先级。作为确定的结果,选择最高优先级的请求且生成矢量号。然后,输出CPU中断请求和矢量号,以及DTC激活请求(DTCREQ)和矢量号(DCVEC)。
[0563] DTC激活请求被输入到DTC,且DTC矢量号被输入到锁存电路。DTC操作开始信号和DTC操作结束信号从DTC输出,且输入到锁存电路。即,当DTC 102开始操作时,DTC操作开始信号进入活动状态,而矢量被锁存或保持。然后,DTC 102的数据传输结束且DTC操作结束信号进入活动状态,且释放锁存器。
[0564] 进一步,DTC矢量号和DTC操作结束信号被输入到解码器电路。因子清零信号进入活动状态以响应对应中断因子标志,且因子标志或DTE位被清零。
[0565] 当DTC 102被规定中断因子激活时,CPU 101之前将数据传输信息等写入所需地址,且设置中断的中断启用位和对应于DTC启用寄存器的中断因子的DTE位为1。
[0566] 当在此状态,中断因子标志被设置为1时,DTC 102被激活。在DTC 102正在执行诸如规定的数据传输的任何操作时,每次执行数据传输,DTC 102将中断因子标志清零为0。此时,中断没有被CPU 101所请求。
[0567] 当DTC 102完成规定数据传输等时,DTC 102在操作的结尾将DTE位清零为0。此时,由于中断因子标志被保持为1且DTE位被清零为0,中断被CPU 101所请求。CPU 101执行对应于规定数据传输等的结束的处理,并且重置数据传输信息和DTE位。
[0568] 图47是根据第六实施例使用MCU 100的系统的框图。
[0569] MCU 100运用对所需控制目标的控制。例如,通过相机镜头,MCU100执行关于聚焦、光圈和防抖功能的马达控制。
[0570] 示出MCU 100的实质内部配置。状态输入块和控制输出块每个都包括诸如串行通信接口的数字模块、模拟模块和输入/输出端口(I/O),数字模块包括计时器功能和通信功能,模拟模块诸如A/D转换器、D/A转换器和电源电压检测功能。
[0571] 状态输入块接收控制目标的状态作为编码值或模拟值。根据接收到的值或功能块的内部状态,状态输入块生成规定事件。该事件生成在中断因子标志上反映。该事件是例如比较匹配中断或A/D转换完成中断,比较匹配中断在编码值达到规定值时生成,而A/D转换完成中断在模拟输入的转换完成时生成。
[0572] 另一方面,通过提供计时器脉冲输出和模拟输出,控制输出块控制所述控制目标。控制输出块包括用于这样的输出的数据寄存器,并且进一步包括用于控制所述控制输出块的控制寄存器。例如,存在计数器清零位,用于将计时器的计数器清零为0。
[0573] 这样的事件和中断因子经由中断控制器(INT 103)被传送到DTC102。
[0574] 当DTC 102被中断因子激活时,根据规定数据传输信息,DTC 102对控制输出块执行数据传输或控制寄存器的操纵。在读取取数据传输信息时,DTC 102执行分支操作且切换要被处理的数据传输信息。这样,DTC 102可以执行对应于控制输出块或其它状态的操作。
[0575] 即,只通过DTC 102,独立于CPU 101,可以执行对控制输出块的处理,以响应在状态输入块中生成的事件。通过DTC 102读取所需控制寄存器,并且通过操纵所需位且同时保持其它位来执行写,可以执行所需控制而不影响其它状态。DTC 102能够通过请求CPU 101的中断且切换处理而执行常规已经被执行的处理。
[0576] 在这样的系统中,CPU 101应该之前执行数据传输信息等的配置。在控制所述控制目标时,CPU 101可以处于低功耗状态,诸如睡眠或待机模式。这可以对降低系统功耗做出贡献。由于DTC 102在逻辑规模上比CPU 101小且可以执行快速处理,可以增强减低功耗的效果。不用说,功耗的降低在由电池驱动的相机系统等中是关键的。
[0577] <第六实施例的操作和效果>
[0578] 根据第六实施例,可以获得下面的操作和效果。
[0579] (1)由于DTC的位操纵被启用,可以以硬件的方式执行对应于设备控制的基于逐个位的操纵。通过以诸如字节的大小来读取数据,并且执行对数据的所需位操纵以执行写操作,以及通过写入在DR中准备的数据,可以支持对位操纵的多种指定,用于微型计算机中的各种功能。总线接口的使用消除了提供专用接口的必要性。进一步,微型计算机的地址空间上任何数据都可以被使用。仍旧进一步,用户可以任意地选择使用。由于总线被排他地控制,不必考虑多个事件之间的冲突。即,可以实现加速。响应于事件的数据传输功能和位操纵功能操作由单块硬件来实现且由数据传输信息来切换。因此,中断控制器、DTC矢量等可以由功能来共享,且因此可以简化硬件配置。
[0580] (2)由于指定位操纵的数据传输信息存储在存储器中,位操纵的目标的数量可以增加。由链操作等一次执行的数据传输或位操纵的数量可以增加。公共位操纵可以由多个激活因子来实现。由于位操纵被启用,要使用的端子或计时器的通道可以根据微型计算机和控制目标的指定而灵活改变。由于专用硬件应该由一个数据传输所需的块数来提供,及时在添加功能和增加硬件规模时,整体微型计算机的物理规模增加可以得到抑制。由于数据传输功能和位操纵功能由单一块的硬件来实现,可以抑制物理规模的进一步增加。
[0581] (3)位操纵可以由链操作连续地执行。而且,规定位状态和状态的操作的结果可以被存储在要在下一位操纵中使用的位累计器中。因此,多个位操纵,诸如基于多个位的操纵,可以被组合。由于使得能够检查所需位的状态且改变DTC的操作,可以实现进一步灵活的操作。
[0582] (4)在由DTC读取数据传输信息时,除了连续条的数据传输信息的操作,可以执行分支操作。因此,多条的数据传输信息可以以所需次序被连续处理。由于关于基于对指定位的状态的确定是否执行分支操作的选择被启用,对应于微型计算机等的控制目标的状态的处理可以被实现。
[0583] (5)在由DTC读取数据传输信息时,由于后续下一数据传输信息的一部分之前被读取,执行的状态可以减少。
[0584] (6)由于数据传输信息的量可以被改变,所使用的RAM的容量可以被节省。对应于最大数据传输信息量的硬件应该由单一条来提供。因此,整体微型计算机的物理规模上的增加可以被抑制。由于最优量的数据传输信息被读/写,读/写的次数可以被最小化,对加速做出贡献。
[0585] (7)可以提供对禁用CR的指定。因此,与规定次数的数据传输相分开,对应于微型计算机的状态的控制可以被执行任意次数。数据传输信息被缩短以实现DTC操作的加速以及存储器的有效使用上的改善。进一步,通过禁用CR,数据传输信息的更新可以被消除且写回数据传输信息的必要性被消除。具体地,在实施例中所述的示例中,数据传输信息没有被更新,且数据传输信息可以布置在ROM上。将数据传输信息布置在ROM上,可以消除在RAM上的初始写的必要。进一步,所使用的RAM的容量可以被节省。
[0586] (8)由于DTC可以代替CPU执行数据传输或位操纵,CPU的所需中断的频率可以降低,或者CPU呆在低功耗状态的时期可以增加。例外处置、堆栈保存/恢复操作、必须由CPU在中断处置中执行的恢复指令的执行,可以被免除。这对简化程序和改善系统效率做出了贡献。进一步,事件发生以执行所需操作的所用的时间可以被减少。即,被称为响应能力的可以被改善。由于逻辑规模上较小且能够获取高速处理的DTC操作且CPU保持在低功耗状态,功耗的降低可以被实现。
[0587] <第六实施例的变型>
[0588] 第六实施例不限于上述配置,并且可以以在不偏离发明主旨的范围内的各种方式修改。
[0589] 例如,尽管已经描述了数据传输信息具有通过32比特的单位变化的长度,该单位可以任意被设置。地址寄存器的比特数不限制于32比特,并且可以根据CPU或微型计算机的地址空间而改变。例如,比特数应该是用于16M字节的地址空间的24比特。基于数据传输信息是长字(32比特),分支地址指定部分可以保持数据传输信息1/4的内容。当添加到VGR时,分支地址应该乘以四。分支的范围可以被加宽。可替换地,分支地址指定部分可以是与MR相分开的长字。其可以指定相对地址或直接地址。
[0590] 进一步,CPU 101的程序可以布置在外部存储器而非ROM 104上。类似地,作为CPU 101的工作区域的存储器不限于RAM 105且可以是外部存储器。进一步,ROM 104或RAM 105可以不是片上的。
[0591] 同样,关于DTC 102的数据传输信息,不是在RAM 105上布置,其可以布置在ROM 104上或外部存储器上。不被覆写的数据传输信息可以布置在ROM 104。但是,当CPU 101高频率访问ROM 104,不被覆写的数据传输信息也可以布置在RAM 105上。
[0592] 除了DTC 102,可以提供诸如DMA控制器的数据传输装置。DTC102的功能和DMA控制器的功能可以在一个功能模块中实现。
[0593] DTC 102和中断控制器的具体配置也可以以各种方式修改。
[0594] 尽管BSC、总线权限、诸如等待的总线操作并不详细,它们可以被适当地实现。
[0595] MCU 100的配置也没有限制。可以以各种方式来修改所包括的功能块及其它。
[0596] <其它实施例>
[0597] 在前面,尽管主要给出对本发明人做出的发明应用于属于发明背景领域的微型计算机的实施例的描述,本发明不限于此。本发明还可以应用于其它半导体集成电路装置,例如主要实现数字信号处理器(DSP)的半导体集成电路装置。本发明至少可应用于其中包括数据处理装置和数据传输装置的半导体集成电路。
[0598] 进一步,清楚起见,适当地省略或简化了实施例和附图的描述。进一步,可以由具有任何电路配置的硬件来构造执行各种处理的在附图中示为功能块的元件。可替换地,它们可以由诸如加载到存储器上的程序的软件来实现。因此,本领域技术人员可以理解,这些功能块可以以各种方式来实现,诸如只由硬件、只由软件、或者其组合,而不限于任何这些方式。注意,所有附图中,相同的附图标记被分配给相同的元素。必要时,省略重复描述。
[0599] 进一步,程序可以存储在各种类型的非瞬时计算机可读介质中,以被提供给计算机。非瞬时计算机可读介质包括各种类型的有形存储介质。非瞬时计算机可读介质的示例包括磁记录介质(例如软盘、磁带、硬盘驱动器)、磁光记录介质(例如磁光盘)、CD-ROM(只读存储器)、CD-R、CD-R/W、半导体存储器(例如掩膜ROM、PROM(可编程ROM)、EPROM(可擦写PROM)、闪存ROM和RAM(随机存取存储器))。进一步,程序可以使用各种类型的瞬时计算机记录介质被提供给计算机。瞬时计算机可读介质的示例包括电信号光信号电磁波。瞬时计算机可读介质可以经由诸如电线和光纤的有线通信线路或无线通信线路而提供程序给计算机。
[0600] 第一到第六实施例可以按需要被本领域普通技术人员组合。
[0601] 尽管通过若干实施例描述了发明,本领域技术人员将认识到,发明可以以所附权利要求的精神和范围内的各种修改来实践且发明不限于上述的示例。
[0602] 进一步,权利要求的范围不由上述实施例来限定。
[0603] 而且,注意,申请人的意图是包含所有权利要求要素的等价物,即使在稍后的审查期间被修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈