半导体集成电路装置和数据处理系统 |
|||||||
申请号 | CN201310045105.4 | 申请日 | 2013-02-05 | 公开(公告)号 | CN103297051A | 公开(公告)日 | 2013-09-11 |
申请人 | 瑞萨电子株式会社; | 发明人 | 川上史树; 矢田直树; 纲川裕之; | ||||
摘要 | 提供能够以任意的顺序对从外部输入的多个模拟 信号 进行A/D变换的 半导体 集成 电路 装置和 数据处理 系统。设置:多个模拟端口(AN0~AN3);A/D变换部(118),能够对每个预先设定的假想通道执行用于将经上述模拟端口取入的 模拟信号 变换成 数字信号 的A/D变换处理;A/D变换控制部(125),控制上述A/D变换部的动作。上述A/D变换控制部包含:假想通道寄存器,能够设定上述假想通道与上述模拟端口的对应关系;扫描组形成用寄存器,能够设定扫描组的开始 位置 和结束位置。上述A/D变换控制部连续地执行关于从与上述开始 指针 对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。 | ||||||
权利要求 | 1.一种半导体集成电路装置,包含: |
||||||
说明书全文 | 半导体集成电路装置和数据处理系统技术领域背景技术[0003] 在专利文献2中,记载了用于在内置A/D变换器的微型计算机中减轻伴随A/D变换条件的设定或变更的CPU的负担的技术。 [0006] 在专利文献5中,记载了用于对供给多个模拟信号的多个模拟输入通道连续地执行A/D变换的技术。 [0007] 【专利文献1】日本特开平5-314281号公报 [0008] 【专利文献2】日本特开平8-272765号公报 [0009] 【专利文献3】日本特开2009-60186号公报 [0010] 【专利文献4】日本特开2007-208738号公报 [0011] 【专利文献5】日本特开2005-303575号公报 发明内容[0012] 作为半导体集成电路装置的一个例子,可举出汽车发动机控制用的微控制单元。对于汽车发动机控制用的微控制单元来说,随着更新换代,需要从多个传感器高速地变换模拟信息。但是,与所增加的传感器的数目相配合地增加汽车发动机控制用微控制单元的模拟变换端子的数目是困难的。因此,需要在上述微控制单元的外部设置用于从多个传感器选择性地将模拟信息取入到汽车发动机控制用微控制单元内的多路转换器、如上述微控制单元的变换端子那样来控制。 [0013] 但是,按照以往技术,在打算变换的端子的选择寄存器(物理寄存器)中设置标志,并按寄存器的端子号码自小到大的顺序来实施设置了标志的变换端子的变换,所以变换次序存在按端子号码自小到大的顺序这样的制约,不能按任意的顺序对从外部输入的多个模拟信号进行A/D变换。 [0015] 如果简单地说明用于解决课题的手段中的代表性的手段的概要,则如下所述。 [0016] 即,设置:多个模拟端口;A/D变换部,能够对每个预先设定的假想通道执行用于将经上述模拟端口取入的模拟信号变换成数字信号的A/D变换处理;A/D变换控制部,控制上述A/D变换部的动作。上述A/D变换控制部包含:假想通道寄存器,能够设定上述假想通道与上述模拟端口的对应关系;扫描组形成用寄存器,能够设定表示扫描组的开始位置的开始指针和表示上述扫描组的结束位置的结束指针。上述A/D变换控制部在上述A/D变换部中连续地执行关于从与上述开始指针对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。 [0017] 如果简单地说明由用于解决课题的手段中的代表性的手段得到的效果,则如下所述。 [0018] 即,可以提供能够按任意的顺序对从外部输入的多个模拟信号进行A/D变换的半导体集成电路装置、以及具备该半导体集成电路装置的数据处理系统。 附图说明[0019] 图1是数据处理系统的结构例框图。 [0020] 图2是图1所示的数据处理系统中的寄存器组的结构例框图。 [0021] 图3是寄存器组中的假想通道寄存器的结构例说明图。 [0022] 图4是扫描组的设定例的说明图。 [0023] 图5是使用多路转换器的情况下的设定例的说明图。 [0024] 图6是进行了图5所示的设定的情况下的主要部分的动作说明图。 [0025] 图7是图1所示的数据处理系统的应用例的说明图。 [0026] 图8是图1所示的数据处理系统中的主要动作的流程图。 [0027] 图9是数据处理系统的结构例框图。 [0028] [符号说明] [0029] 10 数据处理系统 11 微控制单元 [0030] 12 外部多路转换器 13 反相器 [0031] 71 汽车 111 数字端口 [0032] 117 内置多路转换器 118 A/D变换部 [0033] 119 IO寄存器 120 CPU [0034] 121 内置RAM 122 DMAC [0035] 123 外部总线 124 内部总线 [0036] 125 A/D变换控制部 126 寄存器组 [0037] 127 控制电路 201 假想通道寄存器组 [0038] 202 数据寄存器组 203 A/D变换控制寄存器 [0039] 204 MPX当前寄存器 205 MPX任意等待寄存器 [0040] 206 扫描组形成用寄存器 301 变换通道信息存储区 [0041] 302 MPXE信号存储区 303 MPX通道信息存储区 [0042] 304 等待信息存储区 401 第1多路转换器 [0043] 402 第2多路转换器 2061 SG控制寄存器 [0044] 2062 SG触发器选择寄存器 2063 SG状态寄存器 [0045] 2064 SG开始指针寄存器 2065 SG结束指针寄存器 [0046] 2066 SG多循环寄存器 具体实施方式[0047] 1.实施方式的概要 [0048] 首先,关于本申请中公开的代表性的实施方式说明其概要。在与代表性的实施方式相关的概要说明中附以括号来参照的附图中的参照符号只不过是例示被附以该参照符号的构成要素的概念中包含的内容。 [0049] 〔1〕本发明的代表性的实施方式的半导体集成电路装置(11)包含:多个模拟端口(AN0~AN3);A/D变换部(118),能够对每个预先设定的假想通道执行用于将经上述模拟端口取入的模拟信号变换成数字信号的A/D变换处理;A/D变换控制部(125),控制上述A/D变换部的动作。上述A/D变换控制部包含:假想通道寄存器(SVCR0~SVCR47),能够设定上述假想通道与上述模拟端口的对应关系;扫描组形成用寄存器(206),能够设定表示扫描组的开始位置的开始指针和表示上述扫描组的结束位置的结束指针。上述A/D变换控制部在上述A/D变换部中连续地执行关于从与上述开始指针对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。 [0050] 在上述的结构中,在上述假想通道寄存器中设定上述假想通道与上述模拟端口的对应关系,在上述开始指针中设定扫描组的开始位置,在上述结束指针中设定扫描组的结束位置。由此,能够在上述A/D变换部中连续地执行关于从与上述开始指针对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。因为能够任意地设定上述假想通道与上述模拟端口的对应关系,所以通过上述的设定能够按任意的顺序对经上述模拟端口取入的多个模拟信号进行A/D变换。 [0051] 〔2〕在上述〔1〕中,通过在上述扫描组形成用寄存器中设定多组上述开始指针和与该开始指针对应的上述结束指针,能够形成多个扫描组(SG0~SGn)。 [0052] 〔3〕在上述〔2〕中,在上述扫描组形成用寄存器中,能够对每个上述扫描组设置多循环寄存器(2066),该多循环寄存器能设定A/D变换处理的重复次数。通过多循环寄存器的设定,能够以任意的次数重复A/D变换处理。 [0053] 〔4〕在上述〔3〕中,在上述扫描组形成用寄存器中,能够设置控制寄存器(2061),该控制寄存器能设定每个扫描组的A/D变换的优先度。通过对控制寄存器的优先度设定,能够按照上述优先度高效地进行A/D变换处理。 [0054] 〔5〕本发明的代表性的实施方式的数据处理系统(10)包含能够选择多个模拟信号的多路转换器(12)和能够处理由上述多路转换器选择的模拟信号的半导体集成电路装置(11)。上述半导体集成电路装置包含:多个模拟端口(AN0~AN3);A/D变换部(118),能够对每个预先设定的假想通道执行用于将经上述模拟端口取入的模拟信号变换成数字信号的A/D变换处理;A/D变换控制部(125),控制上述A/D变换部的动作。上述A/D变换控制部包含:假想通道寄存器(SVCR0~SVCR47),能够设定上述假想通道与上述模拟端口的对应关系;扫描组形成用寄存器(206),能够设定表示扫描组的开始位置的开始指针和表示上述扫描组的结束位置的结束指针。上述A/D变换控制部在上述A/D变换部中连续地执行关于从与上述开始指针对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。 [0055] 在上述的结构中,在上述假想通道寄存器中设定上述假想通道与上述模拟端口的对应关系,在上述开始指针中设定扫描组的开始位置,在上述结束指针中设定扫描组的结束位置。由此,能够在上述A/D变换部中连续地执行关于从与上述开始指针对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。因而,与上述〔1〕的情况同样,因为能够任意地设定上述假想通道与上述模拟端口的对应关系,所以通过上述的设定,能够以任意的顺序对经上述模拟端口取入的多个模拟信号进行A/D变换。 [0056] 〔6〕在上述〔5〕中,通过在上述扫描组形成用寄存器中设定多组上述开始指针和与其对应的上述结束指针,能够形成多个扫描组(SG0~SGn)。 [0057] 〔7〕在上述〔6〕中,在上述扫描组形成用寄存器中,能够对每个上述扫描组设置多循环寄存器(2066),该多循环寄存器能设定A/D变换处理的重复次数。通过多循环寄存器的设定,能够以任意的次数重复A/D变换处理。 [0058] 〔8〕在上述〔7〕中,在上述扫描组形成用寄存器中,能够设置控制寄存器(2061),该控制寄存器能设定每个扫描组的A/D变换的优先度。通过对控制寄存器的优先度设定,能够按照上述优先度高效地进行A/D变换处理。 [0059] 〔9〕在上述〔8〕中,在上述假想通道寄存器中能够设置:变换通道信息存储区(301),能设定上述假想通道与上述模拟端口的对应关系;使能信号设定区(302),能设定表示上述多路转换器的有效性的使能信号。此外,在上述假想通道寄存器中能够设置:多路转换器通道信息存储区(303),能设定用于指示上述多路转换器中的选择通道的信息;等待信息存储区(304),能设定用于对每个上述假想通道使上述A/D变换处理的开始定时延迟的等待信息。 [0060] 〔10〕在上述〔9〕中,上述A/D变换控制部能够构成为在上述使能信号成为了使能状态的假想通道设为与上述多路转换器对应的模拟端口的情况下,在上述多路转换器中设定在上述多路转换器通道信息存储区中设定的信息。此时,上述A/D变换控制部能够构成为按照上述等待信息使与经上述多路转换器取入的模拟信号相关的上述A/D变换部中的A/D变换开始定时延迟。由此,在上述A/D变换部中,能够在经上述多路转换器取入的模拟信号稳定了的状态下进行该模拟信号的A/D变换。 [0061] 〔11〕在上述多路转换器(12)中,能够应用将多个多路转换器组合起来的器件。有时通过将多个多路转换器的通用品组合起来形成大规模的多路转换器,能够谋求制造成本的降低。在这样的情况下,作为上述多路转换器(12),应用组合了多个多路转换器的器件即可。 [0062] 〔12〕在上述〔11〕中,上述多路转换器包含能分别选择多个模拟信号的第1多路转换器(401)和第2多路转换器(402)而构成。此时,将上述第1多路转换器的输出端子和上述第2多路转换器的输出端子共同连接到与上述多路转换器对应的模拟端口(AN0)。而且,上述第1多路转换器和上述第2多路转换器使用用于指示上述多路转换器中的选择通道的信息的一部分以排他的方式进行动作。 [0063] 这样,通过上述第1多路转换器和上述第2多路转换器以排他的方式进行动作,能够避免第1多路转换器的输出与第2多路转换器的输出互相干扰。 [0064] 此外,通过将第1多路转换器的输出端子和第2多路转换器的输出端子共同连接到与多路转换器对应的模拟端口(AN0),能够由第1多路转换器和第2多路转换器共有单一的模拟端口(AN0)。因此,与将第1多路转换器和第2多路转换器分别连接到专用的模拟端口的情况相比,能够减少模拟端口的数目。 [0065] 2.实施方式的细节 [0066] 进一步详细地叙述实施方式。 [0067] 实施方式1 [0068] 在图1中示出了数据处理系统的结构例。 [0069] 图1所示的数据处理系统10在部件安装用的板上载置作为半导体集成电路装置的一个例子的微控制单元(MCU)11和在该微控制单元11外安装的外部多路转换器(MPX)12而构成。外部多路转换器12具有选择所输入的多个模拟信号并进行输出的功能。微控制单元11取入由外部多路转换器12选择的模拟信号并进行处理。该微控制单元11不作特别限制,但利用公知的半导体集成电路制造技术在单晶硅衬底等的一个半导体衬底上形成。 [0070] 微控制单元11不作特别限制,但包含:数字端口111;模拟端口AN0、AN1、AN2、AN3;开始触发器外部输入端口EXP。数字端口111不作特别限制,但设为4比特结构,设为用于对外部多路转换器12传递选择通道设定用的数字信号的专用端口。模拟端口AN0设为用于将从外部多路转换器12输出的模拟信号取入到微控制单元11内的专用端口。模拟端口AN1~AN3设为用于不经由外部多路转换器12而将模拟信号取入到微控制单元11内的专用端口。开始触发器外部输入端口EXP设为用于将开始触发器信号STT从外部取入到微控制单元11内的专用端口。 [0071] 此外,微控制单元11不作特别限制,但包含:内置多路转换器117、A/D变换部118、IO(输入输出)寄存器119、CPU(中央处理装置)120、内置RAM(随机存取存储器)121、DMAC(直接存储器存取控制器)122、以及A/D变换控制部125。CPU120、内置RAM121、DMAC122以经内部总线124互相可进行信号交换的方式进行连接。外部总线123连接到内部总线 124。IO寄存器119和A/D变换控制部125连接到该外部总线123。 [0072] IO寄存器119用于存储经数字端口111输出到外部的数据。CPU120按照预先设定的程序进行MCU11的整体的动作控制。内置RAM121用于CPU120中的运算处理中的作业区等。DMAC122控制不经CPU120而直接进行的数据转送。内置多路转换器117选择分别经模拟端口AN0~AN3取入的模拟信号并进行输出。A/D变换部118将由内置多路转换器117选择的模拟信号变换成数字信号。A/D变换控制部125控制内置多路转换器117的选择动作和A/D变换部118的A/D变换动作。A/D变换控制部125不作特别限制,但包含:寄存器组126,能够保持与A/D变换部118中的A/D变换动作相关的各种信息;以及控制电路127,按照该寄存器组126中保持了的信息控制内置多路转换器117、A/D变换部118中的动作。寄存器组126除A/D变换控制部125之外,也可由CPU120、DMAC122进行存取。 [0073] 在图2中示出了寄存器组126的结构例。 [0074] 上述寄存器组126包含:假想通道寄存器组201、数据寄存器组202、A/D变换控制寄存器203、MPX当前寄存器204、MPX任意等待寄存器205、以及扫描组形成用寄存器206。 [0075] 假想通道寄存器组201包含多个假想通道寄存器。与假想通道对应地设置多个该假想通道寄存器。虽不作特别限制,但在本例中将假想通道数设为48,在假想通道寄存器组201中分别与假想通道对应地形成48个假想通道寄存器SVCR0、SVCR1、SVCR2、…、SVCR47。 该48个假想通道寄存器SVCR0、SVCR1、SVCR2、…、SVCR47中的数字部分设为原样表示“假想通道号码”的部分。此外,假定按假想通道号码的上升顺序方向来进行A/D变换部118中的A/D变换。在各假想通道寄存器中形成多个信息存储区。在图3中代表性地示出了作为多个信息存储区中的一个的假想通道寄存器SVCR0的结构例。图3所示的假想通道寄存器SVCR0包含:变换通道信息存储区301、多路转换器使能(MPXE)信号存储区302、多路转换器(MPX)通道信息存储区303、等待信息存储区304。在变换通道信息存储区301中能够设定假想通道与模拟端口的对应关系。在多路转换器使能(MPXE)信号存储区302中能够设定表示每个假想通道的有效性的使能信号。在多路转换器(MPX)通道信息存储区303中能够设定用于指示选择电路中的选择通道的信息。在等待信息存储区304中能够设定用于对每个假想通道使A/D变换处理的开始定时延迟的等待信息。 [0076] 图2所示的数据寄存器组202用于存储由A/D变换部118得到的A/D变换的结果,包含与外部多路转换器12的假想通道寄存器组201中的48个假想通道寄存器(SVCR0、SVCR1、SVCR2、…、SVCR47)对应地形成的48个数据寄存器。A/D变换控制寄存器203存储与A/D变换部118中的A/D变换动作的开始和结束相关的控制信息。在MPX当前寄存器204中保持表示外部多路转换器12中的现在的模拟信号选择状态的选择信息。MPX任意等待寄存器205使由该微控制单元11的用户进行任意的等待信息的写入成为可能。在上述假想通道寄存器组201中的等待信息存储区304中设定在该MPX任意等待寄存器205中设定了的等待信息。 [0077] 扫描组形成用寄存器206包含与多个扫描组对应的多个扫描组形成用寄存器SG0、SG1、…、SGn。上述扫描组形成用寄存器SG0包含:SG控制寄存器2061、SG触发器选择寄存器2062、SG状态寄存器2063、SG开始指针寄存器2064、SG结束指针寄存器2065、SG多循环寄存器2066。在SG控制寄存器2061中存储每个扫描组的优先顺序信息。在SG触发器选择寄存器2062中存储用于指示每个扫描组的A/D变换处理的开始定时的SG触发器的选择信息。在此,在SG触发器中可举出由定时器形成的开始触发器、通过由CPU120执行程序而形成的开始触发器、基于经开始触发器外部输入端口EXP取入的信号(STT)的开始触发器。由SG触发器选择寄存器2062的设定来决定哪一种触发器是有效的。即,按照在SG触发器选择寄存器2062中设定的SG触发器的选择信息,对应的触发器在该扫描组中被设为有效。在SG状态寄存器2063中存储表示每个扫描组的现在的状态的信息。在SG开始指针寄存器2064中设定每个扫描组的A/D变换的开始点(开始假想通道)信息。在SG结束指针寄存器2065中存储每个扫描组的A/D变换的结束点(结束假想通道)信息。在SG多循环寄存器2066中设定每个扫描组的A/D变换的重复次数。即,设定对从与A/D变换的开始点对应的假想通道到与A/D变换的结束点对应的假想通道的多个假想通道连续地进行A/D变换的情况下的每个扫描组的A/D变换的重复次数。 [0078] 此外,由于其他的扫描组形成用寄存器SG1、…、SGn与上述扫描组形成用寄存器SG0同样地构成,故省略其详细的说明。 [0079] 接着,说明上述结构的作用。 [0080] 首先,说明扫描组的设定和动作。 [0081] 在图4中示出了扫描组的设定例。 [0082] 在本例中,在假想通道寄存器组201中形成48个假想通道寄存器SVCR0、SVCR1、SVCR2、…、SVCR47。在该假想通道寄存器SVCR0、SVCR1、SVCR2、…、SVCR47中设定打算执行A/D变换的变换通道、即模拟端口。根据图2所示的设定例,模拟端口AN0、AN7、AN3、AN2、AN15、AN10、AN1、AN5分别与假想通道寄存器SVCR0、SVCR1、SVCR2、SVCR3、SVCR4、SVCR5、SVCR6、SVCR7相对应。通过这样的设定,由内置多路转换器117来选择与每个假想通道对应的变换通道(模拟端口),在A/D变换部118中进行A/D变换。在实际地进行A/D变换的情况下,进行SG开始指针和SG结束指针的设定。对每个扫描组在SG开始指针寄存器2064中设定SG开始指针,对每个扫描组在SG结束指针寄存器2065中设定SG结束指针。在图4所示的例子中,通过设定SGVCSP0=0作为SG开始指针、设定SGVCEP0=4作为SG结束指针来形成扫描组SG0。同样,通过设定SGVCSP1=5作为SG开始指针、设定SGVCEP1=7作为SG结束指针来形成扫描组SG1。而且,设定SGMCYCR0=4作为扫描组SG0中的A/D变换的重复次数,设定SGMCYCR1=1作为扫描组SG1中的A/D变换的重复次数。对每个扫描组在SG多循环寄存器2066中设定A/D变换的重复次数。通过这样的设定,在A/D变换部118中,作为扫描组SG0中的A/D变换处理,重复4次与模拟端口AN0、AN7、AN3、AN2、AN15相关的A/D变换处理,其后,作为扫描组SG1的A/D变换处理,进行1次与模拟端口AN10、AN1、AN5相关的A/D变换处理。 [0083] 在图4所示的例子中,设定了两个扫描组,但也可设定更多的扫描组。此外,可将扫描组设定成互相重叠。例如,在设定了SGVCEP0=5作为扫描组SG0的SG结束指针的情况下,关于模拟端口AN10,可在扫描组SG0、SG1这两者中进行A/D变换处理。而且在进行与多个扫描组相关的A/D变换处理的情况下,在SG控制寄存器2061中设定了每个扫描组的优先顺序信息时,按照所设定的优先顺序进行A/D变换处理。将该A/D变换处理的结果存储在数据寄存器组202中,利用于CPU120中的运算处理。 [0084] 接着,说明与使用外部多路转换器12取入的模拟信号相关的A/D变换控制。 [0085] 在图5中示出了使用外部多路转换器12的情况的设定例。 [0086] 在图5所示的设定例中,模拟端口AN1、AN3、AN0、AN0、AN2、AN0、AN0、AN0分别与假想通道寄存器SVCR0、SVCR1、SVCR2、SVCR3、SVCR4、SVCR5、SVCR6、SVCR7相对应。 [0087] 此外,通过在假想通道寄存器SVCR2、SVCR3、SVCR5、SVCR6、SVCR7中的多路转换器使能(MPXE)信号存储区302中设定逻辑值“1”,将来自与外部多路转换器12对应的模拟端口AN0的模拟信号的取入设为有效。而且,在假想通道寄存器SVCR2、SVCR3、SVCR5、SVCR6、SVCR7中的多路转换器(MPX)通道信息存储区303中设定外部多路转换器12中的选择通道。 [0088] 在本例中,在假想通道寄存器SVCR2中设定为选择外部多路转换器12的第2通道,在假想通道寄存器SVCR3中设定为选择外部多路转换器12的第1通道。同样,在假想通道寄存器SVCR5中设定为选择外部多路转换器12的第4通道,在假想通道寄存器SVCR7中设定为选择外部多路转换器12的第3通道。而且,在假想通道寄存器SVCR2、SVCR3、SVCR5、SVCR6、SVCR7中的等待信息存储区304中,为了A/D变换动作的稳定化,设定每个假想通道的等待信息。在本例中,在假想通道寄存器SVCR2、SVCR3、SVCR5中,设定“1μs”的等待,在假想通道寄存器SVCR6中设定“2μs”的等待,在假想通道寄存器SVCR7中,设定“6μs”的等待。而且,通过设定SGVCSP0=0作为SG开始指针、设定SGVCEP0=7作为SG结束指针,形成扫描组SG0。而且,设定SGMCYCR0=4,作为扫描组SG0中的A/D变换的重复次数。 [0089] 在图6中示出进行了图5所示的设定的情况下的主要部分的动作的状况。 [0090] 通过控制电路127的控制,对于扫描组0,在假想通道的上升顺序方向上(0、1、2、3、4、5、6、7…)进行A/D变换。而且,控制电路127在执行关于与将多路转换器使能(MPXE)信号设定为逻辑值“1”的假想通道寄存器对应的假想通道的A/D变换之前,进行用于将多路转换器(MPX)通道信息发送给外部多路转换器12的控制。例如,在执行关于与假想通道寄存器SVCR2对应的假想通道2的A/D变换时,控制电路127首先将多路转换器(MPX)通道信息“2”复制到MPX当前寄存器204,对DMAC122发送转送要求。DMAC122接受来自上述控制电路127的转送要求,取得外部总线123的总线权,向IO寄存器119转送MPX当前寄存器204内的多路转换器(MPX)通道信息“2”。若该转送结束,则将IO寄存器119内的多路转换器(MPX)通道信息“2”经数字端口111传递给外部多路转换器12。由此,在外部多路转换器12中选择第2通道的输入信号,该信号经模拟端口AN0取入到微控制单元11内。 此时,通过内置多路转换器117选择经模拟端口AN0输入的模拟信号,传递给A/D变换部 118进行A/D变换,但是,此时的A/D变换动作的开始定时从对于DMAC122的转送要求的发送算起延迟与规定的等待对应的时间。在本例的情况下,由于将假想通道2的等待信息被设定为“1μs”,故使A/D变换动作的开始定时从对于DMAC122的转送要求的发送算起延迟“1μs”。考虑在进行了对于DMAC122的转送要求的发送之后,由DMAC122将MPX当前寄存器204内的多路转换器(MPX)通道信息转送给IO寄存器119,而且外部多路转换器12中的通道选择状态达到稳定为止的时间,将每个假想通道的等待信息设定为比该时间稍长。通过进行这样的等待设定,在A/D变换部118中,能够在经外部多路转换器12取入的模拟信号稳定了的状态下进行该模拟信号的A/D变换。即使在与假想通道寄存器SVCR3、SVCR5、SVCR6、SVCR7对应的假想通道中,也与上述的情况同样地进行这样的等待设定。 [0091] 接着,按照图8的流程图说明数据处理系统10中的主要动作。 [0092] 首先,通过CPU120进行寄存器组126的设定(801)。即,通过CPU120,进行假想通道寄存器组201、A/D变换控制寄存器203、MPX当前寄存器204、MPX任意等待寄存器205、扫描组形成用寄存器206的设定。 [0093] 在本例中,将假想通道数设为48,所以在假想通道寄存器组201中形成48个假想通道寄存器SVCR0、SVCR1、SVCR2、...、SVCR47,通过CPU120依次进行对各假想通道寄存器中的多个信息存储区的设定。 [0094] 例如,如图3中所示,假想通道寄存器SVCR0包含:变换通道信息存储区301、多路转换器使能(MPXE)信号存储区302、多路转换器(MPX)通道信息存储区303、等待信息存储区304。在变换通道信息存储区301中设定假想通道与模拟端口的对应关系。在多路转换器使能(MPXE)信号存储区302中设定表示每个假想通道的有效性的使能信号。在多路转换器(MPX)通道信息存储区303中设定用于指示选择电路中的选择通道的信息。在等待信息存储区304中设定用于对每个假想通道使A/D变换处理的开始定时延迟的等待信息。 [0095] A/D变换控制寄存器203存储与A/D变换部118中的A/D变换动作的开始和结束相关的控制信息。在MPX当前寄存器204中保持表示外部多路转换器12中的现在的模拟信号选择状态的选择信息。MPX任意等待寄存器205使由该微控制单元11的用户进行任意的等待信息的写入成为可能。在上述假想通道寄存器组201中的等待信息存储区304中设定在该MPX任意等待寄存器205中设定了的等待信息。 [0096] 扫描组形成用寄存器206包含与多个扫描组对应的多个扫描组形成用寄存器SG0、SG1、…、SGn。例如,上述扫描组形成用寄存器SG0包含:SG控制寄存器2061、SG触发器选择寄存器2062、SG状态寄存器2063、SG开始指针寄存器2064、SG结束指针寄存器2065、SG多循环寄存器2066。在SG控制寄存器2061中设定每个扫描组的优先顺序信息。 在SG触发器选择寄存器2062中设定用于指示每个扫描组的A/D变换处理的开始定时的SG触发器的选择信息。在此,在SG触发器中能够举出由定时器形成的开始触发器、通过由CPU120执行程序而形成的开始触发器、基于经开始触发器外部输入端口EXP取入的信号(STT)的开始触发器。由SG触发器选择寄存器2062的设定来决定哪一种触发器是有效的。即,按照在SG触发器选择寄存器2062中设定的SG触发器的选择信息,对应的触发器在该扫描组中被设为有效。在SG状态寄存器2063中存储表示每个扫描组的现在的状态的信息。在SG开始指针寄存器2064中设定每个扫描组的A/D变换的开始点(开始假想通道)信息。在SG结束指针寄存器2065中存储每个扫描组的A/D变换的结束点(结束假想通道)信息。在SG多循环寄存器2066中设定每个扫描组的A/D变换的重复次数。即,设定对从与A/D变换的开始点对应的假想通道到与A/D变换的结束点对应的假想通道的多个假想通道连续地进行A/D变换的情况下的每个扫描组的A/D变换的重复次数。 [0097] 此外,即使在其他的扫描组形成用寄存器SG1、…、SGn中,也与上述扫描组形成用寄存器SG0同样地设定。 [0098] 然后,CPU120进行寄存器组126的设定是否结束的判别(802)。在该判别中,在判断为寄存器组126的设定已结束(是)的情况下,从CPU120对A/D变换控制部125指示A/D变换的开始。由此,在A/D变换控制部125内的控制电路127中,将用于管理每个扫描组的A/D变换的重复次数的变量“m”初始化为“0”,开始A/D变换控制(803)。在该A/D变换控制中,首先,将指针n的值设定为与SG开始指针寄存器2064的值相等(804)。 [0099] 而且通过控制电路127,在A/D变换控制中,参照与指针n对应的假想通道寄存器的值(805),进行在该假想通道寄存器中的多路转换器使能(MPXE)信号存储区302中存储的MPXE信号的逻辑值的判别(806)。在MPXE信号被设定为逻辑值“1”的情况下,将来自与外部多路转换器12对应的模拟端口AN0的模拟信号的取入设为有效。因此,控制电路127在上述步骤806的判别中判断为MPXE信号为逻辑值“1”的情况下,将该假想通道寄存器中的MPX通道信息存储区303内的MPX通道信息复制到MPX当前寄存器204(807)。然后,控制电路127对于DMAC122进行转送要求。DMAC122接受来自上述控制电路127的转送要求,取得外部总线123的总线权,向IO寄存器119转送MPX当前寄存器204内的多路转换器(MPX)通道信息(808)。若该转送结束,则将IO寄存器119内的多路转换器(MPX)通道信息经数字端口111传递给外部多路转换器12。由此,在外部多路转换器12中选择第2通道的输入信号,将该输入信号经模拟端口AN0和内置多路转换器117传递给A/D变换部118。 [0100] 控制电路127读入假想通道寄存器中的等待信息存储区304内的等待信息(809)。延迟A/D变换部118中的A/D变换开始定时(810)。通过进行这样的等待控制,在经过与等待信息对应的规定时间后,开始该假想通道中的A/D变换处理(811)。考虑在进行了对于DMAC122的转送要求的发送之后,通过DMAC122将MPX当前寄存器204内的多路转换器(MPX)通道信息转送给IO寄存器119,而且外部多路转换器12中的通道选择状态达到稳定为止的时间,将每个假想通道的等待信息的等待时间设定为比该时间稍长。因此,在A/D变换部118中,能够在经外部多路转换器12取入的模拟信号稳定了的状态下进行该模拟信号的A/D变换。将A/D变换部118中的A/D变换处理的结果存储在数据寄存器组202中,用于CPU120中的运算处理。 [0101] 此外,控制电路127在上述步骤806的判别中判断为MPXE信号为逻辑值“0”的情况下,由于将来自与外部多路转换器12对应的模拟端口AN0的模拟信号的取入设为无效,所以不进行上述步骤807~810的处理。在该情况下,进行来自其他的模拟端口AN1~AN3的模拟信号的取入,进行对于这些模拟端口的A/D变换(811)。 [0102] 然后,在控制电路127中进行指针n的值是否与SG结束指针的值相等的判别(812)。即,进行指针n的值是否与每个扫描组的A/D变换的结束点(结束假想通道)信息相等的判别。在该步骤812的判别中,在控制电路127判断为指针n的值与SG结束指针的值不同(否)的情况下,因为这意味着没有到达扫描组的结束位置,所以在将指针n更新为“n+1”之后,返回到上述步骤805。由此,参照与更新后的指针n对应的假想通道寄存器的值,重复上述的处理。在上述步骤812的判别中,在控制电路127判断为指针n的值与SG结束指针的值相等(是)的情况下,因为这意味着到达了扫描组的结束位置,所以在该情况下,进行变量“m”的值是否与每个SG多循环寄存器2066内的扫描组的A/D变换的重复次数相等的判别(813)。在该判别中,在控制电路127判断为变量“m”与每个SG多循环寄存器2066内的扫描组的A/D变换的重复次数不同(否)的情况下,因为这意味着没有达到规定的重复次数(m),所以在将“m”更新为“m+1”之后,返回到上述步骤804的处理。这样,以规定的重复次数(m)重复上述的A/D变换处理。然后,在控制电路127判断为变量“m”与每个SG多循环寄存器2066内的扫描组的A/D变换的重复次数相等(是)的情况下,结束A/D变换控制部125中的A/D变换。 [0103] 根据实施方式1,可得到以下的作用效果。 [0104] (1)在假想通道寄存器SVCR0、SVCR1、SVCR2、…、SVCR47中设定打算执行A/D变换的变换通道、即模拟端口。通过这样的设定,由内置多路转换器117选择与每个假想通道对应的变换通道(模拟端口),在A/D变换部118中进行A/D变换。此外,对每个扫描组在SG开始指针寄存器2064中设定SG开始指针,对每个扫描组在SG结束指针寄存器2065中设定SG结束指针。由此,能够在上述A/D变换部118中连续地执行关于从与上述开始指针对应的假想通道到与上述结束指针对应的假想通道的多个假想通道的A/D变换处理。因为能够任意地设定上述假想通道与上述模拟端口的对应关系,所以通过上述的设定能够以任意的顺序对经上述模拟端口取入的多个模拟信号进行A/D变换。 [0105] (2)通过设定多个扫描组,能够进行与多个扫描组相关的A/D变换处理。此外,能够将扫描组设定为互相重叠。此外,在进行与多个扫描组相关的A/D变换处理的情况下,在SG控制寄存器2061中设定了每个扫描组的优先顺序信息时,由于按照所设定的优先顺序进行A/D变换处理,所以能够按照优先度高效地进行A/D变换处理。 [0106] (3)在使用外部多路转换器12的情况下,例如如图5中所示,进行每个假想通道的等待信息的设定。考虑在进行了对于DMAC122的转送要求的发送之后,由DMAC122将MPX当前寄存器204内的多路转换器(MPX)通道信息转送给IO寄存器119,而且外部多路转换器12中的通道选择状态达到稳定为止的时间,将每个假想通道的等待信息设定为比该时间稍长。通过进行这样的等待设定,在A/D变换部118中,能够在经外部多路转换器12取入的模拟信号稳定了的状态下进行该模拟信号的A/D变换。 [0107] 实施方式2 [0108] 在图9中示出了数据处理系统的结构例。 [0109] 图9所示的数据处理系统10与图1所示的数据处理系统相比大的不同的点在于:外部多路转换器12由第1多路转换器(MPX1)401和第2多路转换器(MPX2)402来形成。 [0110] 第1多路转换器401、第2多路转换器402分别能够进行多个模拟信号的选择。第1多路转换器401的输出端子与第2多路转换器402的输出端子共同连接到与多路转换器 12对应的模拟端口AN0。在这样的连接中,如果第1多路转换器401、第2多路转换器402同时动作,则由于第1多路转换器401的输出与第2多路转换器402的输出互相干扰,所以需要使第1多路转换器401、第2多路转换器402以排他的方式进行动作。因此,在图9所示的结构中,通过第1禁止信号Inhibit1和第2禁止信号Inhibit2,以排他的方式将第 1多路转换器401的输出与第2多路转换器402的输出控制成高阻抗状态。将第1禁止信号Inhibit1设为从数字端口111输出的4比特结构的多路转换器(MPX)通道信息的高位 1比特。然后,用反相器13将该第1禁止信号Inhibit1进行逻辑反转,形成第2禁止信号Inhibit2。 [0111] 如果第1禁止信号Inhibit1例如被认定为高电平,则第1多路转换器401的输出被固定为高阻抗状态。此时,由于第2禁止信号Inhibit2被取反为低电平,所以第2多路转换器402根据从数字端口111输出的4比特结构的多路转换器(MPX)通道信息的低位3比特,能够进行模拟信号的选择动作。由于第1多路转换器401的输出固定为高阻抗状态,所以第1多路转换器401的输出不影响第2多路转换器402的输出。 [0112] 如果第2禁止信号Inhibit2例如被认定为高电平,则第2多路转换器402的输出被固定为高阻抗状态。此时,由于第1禁止信号Inhibit1被取反为低电平,所以第1多路转换器401根据从数字端口111输出的4比特结构的多路转换器(MPX)通道信息的低位3比特,能够进行模拟信号的选择动作。由于第2多路转换器402的输出固定为高阻抗状态,所以第2多路转换器402的输出不影响第1多路转换器401的输出。 [0113] 这样,通过利用从数字端口111输出的4比特结构的多路转换器(MPX)通道信息的高位1比特使第1多路转换器401和第2多路转换器402以排他的方式进行动作,能够避免第1多路转换器401的输出与第2多路转换器402的输出互相干扰。 [0114] 此外,通过第1多路转换器401的输出端子与第2多路转换器402的输出端子共同连接到与外部多路转换器12对应的模拟端口AN0,能够由第1多路转换器401与第2多路转换器402共有单一的模拟端口AN0。因此,与将第1多路转换器401和第2多路转换器402分别连接到专用的模拟端口的情况相比,可减少模拟端口的数目。与通过1个大规模的多路转换器构成外部多路转换器12的情况相比,组合多个小规模的通用多路转换器的做法有时能够降低制造成本。在这样的情况下,如图9中所示,通过组合第1多路转换器401与第2多路转换器402来形成外部多路转换器12即可。 [0115] 此外,在图9所示的结构中,通过第1多路转换器(MPX1)401和第2多路转换器(MPX2)402形成了外部多路转换器12,但也可以组合3个以上的多路转换器来构成外部多路转换器12。 [0116] 实施方式3 [0117] 在图7中示出了数据处理系统10的应用例。 [0118] 在该例中,将数据处理系统10应用于发动机控制单元(ECU)。发动机控制单元具有在使用电子控制的辅助装置进行搭载在汽车71上的发动机的运转中的控制时对这些辅助装置进行综合控制的功能。此时,将来自爆震传感器、喷射器传感器、水温传感器、吸入空气量传感器、风门传感器等(虽然不作特别限制)的各种传感器的模拟信号传递给安装在微控制单元(MCU)11外部的外部多路转换器12,将该模拟信号选择性地取入到微控制单元117。如在实施方式1中已叙述的那样,通过对每个对应的多路转换器(MPX)通道进行适当的等待设定,在A/D变换部118中,能够在经外部多路转换器12取入的模拟信号达到稳定的状态下进行该模拟信号的A/D变换。由此,能够进行良好的发动机控制。 [0119] 以上根据实施方式具体地说明了由本发明者完成的发明,但是本发明并不限定于此,在不脱离其要旨的范围内当然可以进行各种变更。 [0120] 例如,微控制单元11、包含该微控制单元11的数据处理系统10也可以适用于发动机控制单元(ECU)以外的情况。 [0121] 在实施方式1中,设置外部多路转换器12,通过该外部多路转换器12将模拟信号选择性地取入到微控制单元11内来进行A/D变换,但也可考虑经外部多路转换器将多个数字数据取入到微控制单元11内以进行D/A变换的情况。在这样的情况下,设置发挥与A/D变换控制部125同样的控制功能的D/A变换控制部,通过该D/A变换控制部来进行外部多路转换器、D/A变换部的动作控制即可。 |