半导体装置和系统相关申请的交叉引用
包括说明书、附图和摘要的、2015年7月15日提交的日本专利申请No.2015-141224
的公开的全部内容以引用方式并入本文中。
技术领域
本公开涉及半导体装置并且可应用于例如设置有串行通信接口(SCI)的半导体装
置。
背景技术
包括半导体集成电路的微计算机普遍用于电器控制应用。采用SCI进行微计算机
之间的通信(例如,日本未经审查的专利申请公开No.2011-114630)。SCI以逐位为基础发送
或接收数据。时钟同步模式下的SCI执行发送和接收,从而定义从时钟的特定下降沿到下一
个下降沿的时间段作为1位。同时的发送-接收操作是由时钟线、发送线和接收线这三条线
执行的。采用时钟同步系统进行相对高速的通信。
(专利文献1)日本未经审查的专利申请公开No.2011-114630
发明内容
SCI可以执行仅发送或者仅接收。然而,必须在发送和接收被切换成仅发送或仅接
收时重置SCI。
根据对本发明的描述和附图,本发明的其他问题和新特征将变得清楚。
下面简要说明了本公开的典型实施例的概况。也就是说,所述半导体装置包括接
口电路,该接口电路执行发送或接收的顺序通信。所述接口电路包括:寄存器,其用于指定
作为发送态和接收态中的至少一个的操作使能态;以及模式控制电路,其用于在所述操作
使能态下改变发送或接收中的至少一个模式。
根据上述的半导体装置,可以容易地改变发送模式或接收模式。
附图说明
图1A是用于说明根据实现方式示例的微计算机的构造的框图;
图1B是示出图1A中示出的微计算机的主接口的框图;
图2是示出图1A中示出的SCI的构造的框图;
图3是示出图1A中示出的SCI的寄存器结构的图;
图4是示出图1A中示出的SCI的模式控制状态转变的图;
图5是示出图1A中示出的中断控制器的构造的框图;
图6是示出图1A中示出的DTC的数据传送信息的图;
图7是示出图1A中示出的DTC的构造的框图;
图8A是示出根据应用的微计算机系统的构造的框图;
图8B是示出图8A中示出的微计算机系统的连接关系的框图;
图9是示出图8A中示出的微计算机系统中的通信操作的第一示例的时序图;
图10是示出图8A中示出的微计算机系统中的针对命令接收完成的数据传送的图;
图11是示出图8A中示出的微计算机系统中的针对命令接收完成的数据传送的图;
图12是示出图8A中示出的微计算机系统中的通信操作的第二示例的时序图;以及
图13是示出根据本发明的实施例的半导体装置的构造的框图。
具体实施方式
下文中,参照附图说明实施例、实现方式示例和应用。在下面的说明中,将相同的
符号或参考标号附于相同的元件,可省略对其的重复说明。
首先,对本发明的发明人已经检验的SCI中涉及的问题进行说明。在时钟同步模式
下的同时发送-接收操作中,当发送或接收处于非期望状态时,难以执行期望操作。例如,当
没有提供发送数据时,在原则上不可实现期望的同步发送-接收操作;因此,经常不使得发
送和接收这两者在当被执行时时进行操作。
当切换同时发送-接收操作和仅发送操作或仅接收操作时,必须改变SCI的设置。
在改变设置时,会需要待机时间。待机时间是初始化SCI的内部操作以执行顺序操作所必需
的,并且执行对待机时间的测量。改变设置和测量待机时间是与网络通信不是直接相关的
处理。因此,诸如数据传送控制器(DTC)的数据传送装置难以承担该处理。也难以实现处理
的加速。
通信的内容根据其中使用微计算机的系统而改变。通常,在控制应用中,在许多情
况下,命令和附带数据被包括在通信的内容中。命令的接收方在没有确定命令内容的情况
下不可确定后续操作(发送或接收)。命令和附带通信的数据长度根据系统而改变,并且数
据长度被视为对应于命令而改变。例如,命令是以8位为单元并且附带通信是以32位为单
元。
例如,当在执行同时发送-接收操作的系统中执行命令发送和接收时,在许多情况
下,不存在成对使用的数据,因此,同时发送-接收操作必须被原样保持,并且命令接收方
(从方)提供虚拟发送数据,并且命令发送方(主方)忽略虚拟接收数据。对虚拟发送方和虚
拟接收方进行这些种类的处理起初是非必要的。可供选择地,必须改变设置,使得主方只执
行发送并且从方只执行接收。在这种情况下,改变设置并且测量待机时间的处理变为必要
的。
<实施例>
图13是示出根据实施例的半导体装置的构造的框图。
半导体装置(SD)包括接口电路(SI),接口电路(SI)与同步时钟同步地执行发送或
接收的顺序通信。接口电路(SI)包括:寄存器(REGISTER),其用于指明作为发送态和接收态
中的至少一个的操作使能态;以及模式控制电路(MDCC),其用于在操作使能态下改变发送
和接收中的至少一种模式。根据本半导体装置,可以从发送-接收模式容易地变成发送模式
或接收模式,并且可以在不需要待机时间的情况下改变通信模式。
(实现方式示例)
图1A是示出根据实现方式示例的微计算机的构造的框图。微计算机(微控制器单
元:下文中被称为MCU)10是对应于图13中的SD并且在一个半导体衬底上方包括图1A中示出
的功能块或模块的半导体装置。也就是说,MCU 10包括中央处理单元(下文中被称为CPU)
11、数据传送装置(数据传送控制器:下文中被称为DTC)12、中断控制器(INT)13、只读存储
器(下文中被称为ROM)14和随机存取存储器(下文中被称为RAM)15。MCU 10还包括总线控制
器(下文中被称为BSC)16、定时器(TIMER)17、对应于图13中的SI的SCI(串行通信接口)18、
诸如A/D(模拟/数字)转换器和D/A(数字/模拟)转换器的模拟模块(ANALOG)19、输入/输出
端口(I/O)1A。
MCU 10中用作操作核心的CPU 11通过读取主要来自ROM 14的指令进行操作。ROM
14包括诸如作为可电写擦存储器的闪存存储器的非易失性存储器。DTC 12基于CPU 11进行
的设置,替代CPU 11执行数据传送。
INT 13基于来自MCU 10外部的外部中断请求信号,接收来自BSC 16、定时器17、
SCI 18和模拟模块19的中断请求(INTREQ)和来自I/O 1A的中断请求(INTREQ),并且将中断
请求输出到CPU 11或者将数据传送开始请求输出到DTC 12。当开始因中断信号造成的处理
时或者当完成该处理时,对应于BSC 16、定时器17、SCI 18、模拟模块19和I/O 1A中的每个
的中断信号或中断因子标志,输出作为用于清除中断的中断清零信号(INTCLR)。
BSC 16从CPU 11和DTC 12接收总线请求信号,仲裁MCU内部总线1B的占用,并且输
出总线使用使能信号。BSC 16使总线请求、总线应答、总线命令、等待、地址、数据等与CPU
11和DTC 12有联系,并且实现对与MCU内部总线1B联接的RAM 15和其他功能块或模块进行
读取/写入。RAM 15包括诸如SRAM的易失性存储器。
SCI 18的发送数据输出(TXD)和接收数据输入(RXD)经由MCU 10的外部SCI和串行
总线来输出和输入。此时,如有需要,则可经由输入/输出端口执行输出和输入。
图1B是示出图1A中示出的微计算机的主接口的框图。SCI 18借助INT 13使用DTC
激活请求(DTCREQ)来激活DTC 12。SCI 18的数据传送开始因子包括命令接收完成(命令接
收数据满)中断请求(CRXI)、数据接收完成(接收数据满)中断请求(DXI)和数据发送完成
(发送数据空)中断请求(TXI)。
DTC 12从RAM 15读取与INT 13所指示的DTC矢量数(DTCVEC)对应的数据传送信
息,并且执行数据传送。提供与数据传送开始因子对应的数据传送信息。如随后描述的,通
过对应于命令接收完成的数据传送,切换将在接收数据满(接收数据传送)和发送数据空
(发送数据传送)中使用的数据传送信息。DTC 12在数据传送时激活应答信号(ACK)并且根
据数据传送信息或被传送数据来输出模式控制信号(MDC)。应答信号(ACK)和模式控制信号
(MDC)经由INT 13供应到SCI 18,并且基于此,SCI 18的模式控制器(SCIMDC)执行随后将描
述的模式改变,SIMDC对应于图13中的MDCC。SCI 18根据发送和接收的模式和状态来输出状
态(ST)。
当唯一地决定数据传送装置的开始因子时,SCI 18和数据传送装置可直接联接。
这可被理解为将DTC 12和INT 13联合为数据传送装置。
(SCI)
图2是示出图1A中示出的SCI的构造的框图。SCI 18包括与图13中的REGISTER对应
的控制寄存器181、与图13中的MDCC对应的模式控制器(SCIMDC)182、发送-接收控制器
(SCICNT)183、接收器184、发送器185、接收FIFO 186和发送FIFO 187。
控制寄存器181包括模式寄存器(SMR)、控制寄存器(SCR)、状态寄存器(SSR)和功
能控制寄存器(SFCR),以指定发送和接收的系统和格式并且显示中断请求的状态。例如,对
应于SCR的发送使能(TE)位或接收使能(RE)位被设置成1的情况,指定SCI 18的操作使能态
(SCI启用)。在指定另一个发送和接收的系统和格式之后,指定这种操作使能态。换句话讲,
在操作使能态下,发送和接收的系统和格式不改变。
SCIMDC 182基于控制寄存器181的SFCR的设置,执行诸如命令和数据(CMD)的辨
别、发送制止(TD)和接收制止(RD)的模式控制。SCIMDC 182还响应于DTC 12的模式控制信
号(MDC)来改变模式。此时,SCIMDC 182一次将模式控制信号(MDC)保持为SCIMDC 182中的
以下模式,并且当完成发送和接收的执行时将它反映给SFCR。当SCI 18处于从方时,对应于
该模式,从I/O端口(端子18D)输出状态(ST)。通过在指定命令接收的状态下通过接收操作
将状态(ST)输出设置成忙态。由于完成了命令接收,导致通过数据传送装置的操作来改变
模式时,将状态(ST)输出设置成准备状态。由于以上操作,导致通过数据发送操作或数据接
收操作将状态(ST)输出设置成忙态,并且通过数据传送装置的操作在改变模式(模式变成
命令接收)时将状态(ST)输出设置成准备状态。
基于控制寄存器181和SCIMDC 182,与时钟部中的从波德率发生器(BRG)188供应
的同步时钟(SCK)同步地,SCICNT 183执行发送操作、接收操作、或发送-接收操作。当SCI
18处于主方时,从I/O端口(端子18D)输入状态(ST)。在忙态的情况下,防止开始新的发送-
接收操作。
在发送操作中,当在发送FIFO 187中存在有效数据的状态下输入同步时钟(SCK)
时,借助发送器185将发送数据(TXD)输出到输出端子18A。当在发送FIFO 187中不存在有效
数据的状态下输入同步时钟(SCK)时,出现发送超限错误。
在接收操作中,与同步时钟(SCK)同步地,从输入端18B向接收器184输入接收数据
(RXD)。当输入数据的单元时,数据被传送到接收FIFO 186。当在接收FIFO 186满的状态下
进一步输入接收数据时,出现接收超限错误。
当出现发送超限错误或接收超限错误时,SCICNT 183请求INT 13进行中断。根据
这个中断处理例程,CPU 11执行必要处理并且SCI 18重新开始操作。
SCICNT 183在发送FIFO 187中出现预定量的空空间时发出发送数据空中断请求
(TXI),并且在接收FIFO 186中存储预定量的数据时发出接收数据满中断请求(DRXI)。可通
过控制寄存器181的设置来指定预定量。
在控制寄存器181中将TE位和RE位设置成1的操作使能态下,同时执行发送操作和
接收操作,因为同步时钟(SCK)对于发送和接收是公共的。这个操作使能态被称为同时发
送-接收操作使能态。即使在同时发送-接收操作使能态下,当出现发送超限错误或接收超
限错误时,不执行发送-接收操作。
在同时发送-接收操作使能态下命令接收(CMD=1)的情况下,即使在发送FIFO
187中没有有效数据,SCICNT 183也不产生发送超限错误并且执行发送操作,并且即使在发
送FIFO 187中有有效数据,SCICNT 183也执行发送操作,从而保持发送FIFO 187。在本发送
操作中,发送输出被固定于0或1。这是与TE位被设置成0的情况相同的操作。SCICNT 183在
接收数据单元时产生命令接收完成中断请求(CRXI)。
另外,在同时发送-接收操作使能态下,发送制止(TD=1)的情况下的操作与命令
接收的情况相同。
另外,在同时发送-接收操作使能态下,在接收制止(RD=1)的情况下,SCICNT 183
忽略接收数据并且保持接收FIFO 186。因此,不产生接收数据满和接收超限错误。这个操作
与RE位被设置成0的情况相同。
接收器184联接到输入端子18B,并且以逐位为基础来存储接收数据(RXD)。当完成
接收预定量的数据(例如,8位)时,数据被传送到接收FIFO 186。当随后将描述的RD位被设
置成1时,这不被视为接收完成。可经由MCU内部总线1B从CPU 11或DTC 12读取接收FIFO
186的内容。
通过CPU 11或DTC 12经由MCU内部总线1B将发送数据写入发送FIFO 187。当随后
将描述的TDRE标志被清零并且开始发送时,发送FIFO 187的内容被传送到发送器185。发送
器185联接到输出端子18A,并且以逐位为基础来输出发送数据(TXD)。
波德率发生器(BRG)188被构造成产生用作发送和接收的基础的时序。波德率发生
器(BRG)188设置有比特率寄存器和比特率计数器。
SCICNT 183输出TXI(数据发送完成或发送数据空中断请求)信号、CRXI(命令接收
完成或命令接收数据满中断请求)信号、DRXI(数据接收完成或接收数据满中断请求)信号
和ERI(接收错误中断请求)信号作为中断请求信号。可使用TXI信号、CRXI信号和DRXI信号
作为DTC 12的数据传送请求。
图3示出图1A中示出的SCI的寄存器结构。图3只示出与时钟同步模式相关的位。还
可以通过采用控制位和状态标志(未示出)来实现开始-停止同步模式或其他系统。
串行模式寄存器(SMR)的位1和0是用于选择内置波德率发生器(BRG)188的时钟源
的时钟选择位(CKS1和CKS0)。
串行控制寄存器(SCR)的位7是发送中断使能(TIE)。当TIE位被设置成1时,许可
TXI。位6是接收中断使能(RIE)。当RIE位被设置成1时,许可ERI。位5是发送使能(TE)。当TE
位被设置成1时,使能发送操作。位4是接收使能(RE)。当RE位被设置成1时,使能接收操作。
位1是用于选择时钟源和SCK的输入/输出端子18C的功能的时钟使能(CKE)。当CKE位被清零
时,使用来自波德率发生器(BRG)188的内部时钟,并且输入/输出端子18C用作SCK的输出端
子。当CKE位被设置成1时,使用外部时钟并且输入/输出端子18C用作SCK的输入端子。
根据被应用MCU 10的系统,SCI 18的操作被固定为:仅发送操作(TE=1、RE=0)、
仅接收操作(TE=0、RE=1)和同时发送-接收操作(TE=RE=1)中的一个。当发送和接收控
制管理通信状态的转变时,必须根据仅发送操作、仅接收操作和同时发送-接收操作这三个
操作来改变寄存器和位进行表示。为了防止在诸如发送和接收操作的通信操作期间产生不
匹配,禁止在通信操作期间TE位和RE位发生改变。在设置TE位和RE位之后,必须等待通过波
德率发生器(BRG)188同步基础时钟所需的时间。
串行状态寄存器(SSR)的位7是用于指示发送FIFO 187的空状态的发送数据寄存
器空(TDRE)标志。当存在预定的空空间时,TDRE标志被设置成1。当在读取TDRE标志的1的状
态之后CPU 11写入0时,并且当通过TXI激活的DTC 12将发送数据传送到发送FIFO 187时,
将TDRE标志清零。当将TDRE标志清零时,开始发送操作。位6是用于指示接收FIFO 186的数
据状态的数据寄存器满(RDRF)标志。当在接收FIFO 186中存在预定数据时,RDRF标志被设
置成1。当在读取RDRF标志的1的状态之后CPU 11写入0时,并且当通过CRXI或DRXI激活的
DTC 12从接收FIFO 186传送数据时,将RDRF标志清零。位5是用于指示在接收时已经出现的
超限错误的超限错误(ORER)标志。具体地讲,当在RDRF标志被设置成1的状态下接收到以下
数据时,ORER标志被设置成1。此时,接收数据寄存器(RDR)在出现超限错误之前保持接收数
据,并且丢失随后接收的数据。在ORER标志被设置成1的状态下,不执行后续的串行发送和
接收。
当TDRE标志和TIE位二者都被设置成1时,出现TXI。当RDRF标志和RIE位二者都被
设置成1时,CRXI或DRXI因随后将描述的CMD位而出现。当OREG标志和RIE位二者都被设置成
1时,出现ERI。
功能控制寄存器(SFCR)的位5是发送禁止(TD)。当在执行时钟同步模式的发送-接
收操作并且输入时钟的状态下TD位被设置成1时,根据时钟输入,开始发送-接收操作,而不
管TDRE标志的状态如何。假定发送数据是固定值(例如,00或FF)。通过将发送数据固定成0
或1,可以阻止信号改变并且避免功耗不期望地增大。只有数据是固定的,而其他通信操作
与同时发送-接收操作相同。位4是接收禁止(RD)。当RD位被设置成1时,接收不被视为已经
完成并且RDRF标志和ORER标志不被设置成1。位2是用于指明接收完成是被视为命令接收完
成还是被视为数据接收完成的命令接收(CMD)。也就是说,当CMD位被设置成1时,CRXI作为
命令接收完成出现,并且当CMD位被清零时,出现DRXI。
响应于来自DTC 12的模式控制信号(MDC),根据SCIMDC 182来改变CMD位、TD位和
RD位。
图4示出图1A中示出的SCI的模式控制状态转变。在重置之后,状态是TE位和RE位
被设置成0的停止状态ST1。当设置控制寄存器181的SCR并且通过CPU 11将TE和RE位中的至
少一个设置成1时,状态被设置成操作使能态ST2。操作使能态ST2是发送操作(TE=1)、接收
操作(RE=1)和发送-接收操作(TE=RE=1)中的一种状态。
首先,尽管没有特别地受通过DTC操作执行的SFCR设置(模式控制)的限制,但CMD
位被设置成1,用于将状态转变为命令接收态ST21。当命令接收完成时,状态转变为设置确
定/等待态ST22,等待DTC 12进行模式控制。
这种模式控制转变成数据接收态ST23、数据发送-接收态ST24和数据发送态ST25
之中的一种状态。当TD位被设置成1时,将转变成数据接收态ST23,当RD位被设置成1时,将
转变成数据发送态ST25,并且TD位和RD位都没有被设置成1(二者都被清零)时,将转变成数
据发送-接收态ST24。当执行所需的数据接收、数据发送和接收、或数据发送时,状态转变成
设置确定/等待态ST26,等待DTC 12进行模式控制。通过模式控制,CMD位被设置成1,从而转
变成命令接收态ST21。在操作使能态ST2下,发送和接收的系统和格式不变。
(INT)
图5是示出图1A中示出的中断控制器(INT)的构造的框图。存在针对MCU 10的两种
中断因子,内部中断和外部中断,每个中断设置有中断因子标志。这里,只典型地示出来自
SCI 18的内部中断因子。
如同SCI 18的情况一样,当定时器17和模拟模块19的功能块变成预定状态时,或
者当MCU 10的外部中断输入端子变成预定状态时,中断因子标志被设置成1。当中断因子标
志被设置成1并且对应中断使能位被设置成1时,对INT 13发出中断请求。
这个中断请求(INTREQ)被输入中断/DTC确定电路131。DTC使能寄存器(DTER)132
的内容还被输入中断/DTC确定电路131。当请求中断时,中断/DTC确定电路131选择是要激
活DTC 12还是允许CPU 11的中断。当与DTC使能寄存器132有关的中断因子对应的DTE位被
设置成1时,中断/DTC确定电路131请求DTC 12的激活并且不请求CPU 11的中断。当DTC使能
寄存器132的DTE位被清零时,中断/DTC确定电路131请求CPU 11的中断而不请求DTC 12的
激活。
中断/DTC确定电路131分别地或独立地向优先级和掩蔽确定电路133输出对CPU
11的中断请求,以及向优先级确定电路134输出对DTC12的激活请求。根据优先级寄存器、中
断掩蔽级等来控制CPU的优先级和掩蔽确定电路133。
当在对CPU 11的中断请求和对DTC 12的激活请求中已经出现了多个中断请求时,
优先级和掩蔽确定电路133和优先级确定电路134分别确定优先级。进行此确定的结果是,
选择了最高的优先级并且产生矢量数。优先级和掩蔽确定电路133输出CPU中断请求
(CPUINT)和矢量数(VEC),并且优先级确定电路134输出DTC激活请求(DTCREQ)和DTC矢量数
(DTCVEC)。
DTC激活请求(DTCREQ)被输入DTC 12,DTC矢量数(DTCVEC)被输入锁存电路135。从
DTC 12输出DTC操作开始信号(DTCSTA)和DTC操作结束信号(DTCEND),并且将它们输入锁存
电路135。也就是说,当DTC 12开始操作时,DTC操作开始信号(DTCSTA)变成激活态并且锁存
电路135锁存并且保持DTC矢量数(DTCVEC)。当完成DTC 12的数据传送时,DTC操作结束信号
(DTCEND)变成激活态并且锁存电路135的锁存被释放。
DTC矢量数(DTCVEC)和DTC操作结束信号(DTCEND)被输入解码器电路136,并且来
自DTC 12的中断因子清零信号(INTCLR)或DTE清零信号(DTECLR)变成对应中断因子标志
(例如,SCI 18的TDRE、RDRF和ORER)的激活态,并且中断因子标志或DTE位被清零。
当按必要的中断因子激活DTC 12时,CPU 11预先将数据传送信息写入RAM 15的必
要地址,并且将有关的中断的中断使能位(例如,SCI 18的TIE和RIE)和与DTC使能寄存器
132的有关的中断因子对应的DTE位设置成1。
当在这种状态下有关的中断因子标志被设置成1时,激活DTC 12。在DTC 12正在执
行诸如预定数据传送的操作的状态下,DTC 12通过中断因子清零信号(INTCLR)针对每次数
据传送将有关的中断因子标志清零。此时,不请求CPU 11的中断。
当完成预定数据传送时,DTC 12通过使用DTE清零信号(DTECLR)在操作结束时将
DTE位清零。此时,有关的中断因子标志被保持1并且DTE位被清零。因此,请求CPU 11的中
断。CPU 11执行与预定数据传送等的结束对应的处理,并且重置数据传送信息或DTE位。
(DTC)
图6示出图1A中示出的DTC的数据传送信息(传送信息组)。DTC 12的数据传送信息
包括模式寄存器(MR)、数据寄存器(DR)、第一和第二源(传送源)地址寄存器(SAR1、SAR2)、
目的地(传送目的地)地址寄存器(DAR)和传送计数寄存器(CR)。
根据MR中保持的内容,使用这些寄存器中必要的一个。CR被分成块传送计数寄存
器(BTCR)和传送计数寄存器(TCR)。TCR被分成高阶8位(TCRH)和低阶8位(TCRL)。根据随后
将描述的数据传送模式进行操作。至于这些寄存器(MR、CR),在DTC 12中存在一组的电路,
并且尽管没有特别限制,但它们并不存在于CPU 11的地址空间。将被存储在这些寄存器中
的数据传送信息的必要数量的组布置在例如CPU 11的地址空间上的RAM 15的预定数据传
送信息地址区域中。
模式寄存器(MR)的位构造如下。位31-36指定数据传送模式的设置和用于表参考
的输入数据。位15-0对于表参考指定数据传送功能的表参考,并且还指定普通数据传送功
能的数据传送。
位31是用于选择普通数据传送或用于表参考的数据传送功能的TLU位。当TLU位被
清零时,执行普通数据传送。数据传送信息是MR、SAR2、DAR和CR(32位×4项)。在对普通数据
传送的说明中,作为硬件的SAR2被描述为作为数据传送信息的SAR。当TLU位被设置成1时,
执行表参考模式。
位30是BRM位,并且当TLU位被设置成1以指定分支模式时变得有效。数据传送信息
是MR、SAR1、SAR2和DAR(32位×4项)。CR被视为0。基于从SAR1所指定的地址读取的数据,DTC
12参考SAR2所指定的表。DTC 12将从表读取的数据写入DAR所指定的目的地地址。
位27是MDCE位。DTC 12在MDCE位被设置成1的状态下执行数据传送CR=0,并且输
出模式控制信号(MDC)。
位26-24是MDC[2:0]位。在TLU位被清零并且MDCE位被设置成1的状态下,在数据传
送CR=0时,指定模式控制信号(MDC)。在这种情况下,MDC[2]位被反映到CMD位,MDC[1]位被
反映到TD位,并且MDC[0]被反映到RD位。在TLU位和MDCE位二者都被设置成1的状态下,
DTC12基于从SAR2所指定的表读取的数据,输出模式控制信号(MDC)。
位22-20是SF[2:0]位,并且指定输入数据左移8-0位。
位17和16是用于选择将在读取输入数据时采用的字节大小、字大小或长字大小的
ISz[1:0]位。
位15和14是用于指明在数据传送之后是递增、递减还是不改变SAR的SM1位和SM0
位。
位13和12是用于指明在数据传送之后是递增、递减还是不改变DAR的DM1位和DM0
位。
位11和10是用于选择数据传送模式的TMD1位和TMD0位。当TMD1位和TMD0被设置成
00时,选择的是正常模式。在这种正常模式下,一次激活执行从SAR所指示的地址到DAR所指
示的地址的一个数据传送。随后,基于SM1位、SM0位、DM1位和DM0位的指定来执行SAR和DAR
的操作,并且将CR递增。每当出现开始因子时,将这个操作重复CR所指定的次数。然后,当完
成CR所指定的次数的数据传送时,禁止DTC操作并且对CPU 11请求用作开始因子的中断。当
TMD1位和TMD0位被设置成01时,选择的是重复模式。当TMD1位和TMD0被设置成10时,选择的
是块传送模式。可通过采用公知的技术来实现重复模式和块传送模式。
位9是用于选择传送源或传送目的地中的哪一个作为重复区和块区域的DIR位。
位7和6是用于选择在执行一个数据传送时将采用的字节大小、字大小或长字大小
的Sz1位和Sz0位。
位2是CRE位。当CRE位被清零时,响应于DTC激活请求(DTCREQ),没有限制地运行
DTC 12。在正常模式的情况下,不使用CR。当CRE位被设置成1时,根据初始被设置成CR的值
来运行DTC 12。
对于一个开始因子,位1是选择终止数据传送还是执行下一个数据传送的NXTE1
位。当NXTE1位被清零时,在读取数据传送信息并且传送数据之后,写入数据传送信息并且
终止DTC的操作。当NXTE1位被设置成1时,在读取数据传送信息并且传送数据之后,写入数
据传送信息。此外,从连续地址读取数据传送信息,执行目前数据传送信息所指定的数据传
送,并且写入数据传送信息。这个操作被称为链传送(chain transfer)。位0是用于指定当
CR变成0时是否执行链传送的NXTE0位。
图7是示出图1A中示出的DTC的构造的框图。DTC 12包括数据传送控制块(DTCCNT)
121、总线接口(BIF)122、矢量生成块(VG)123、矢量地址寄存器(VAR)124和算术逻辑单元
(ALU)12A。DTC 12还包括模式寄存器(MR)、第一源地址寄存器(SAR1)、第二源地址寄存器
(SAR2)、目的地地址寄存器(DAR)和数据传送计数器(CR)。
DTCCNT 121基于来自INT 13的DTC激活请求(DTCREQ)和MR的内容来控制DTC 12。
BIF 122使DTC内部总线12B与MCU内部总线1B有联系。这个联系包括总线请求、总
线应答、总线命令、等待、地址和数据。还使用BIF 122来确认通过数据传送控制块(DTCCNT)
121传送的数据。
VG 123根据INT 13供应的中断DTC矢量数(DTCVEC)来生成矢量地址。例如,VG 123
使DTCVEC成四倍并且将其与预定偏差相加。
VAR 124存储从VG 123生成的矢量地址所指示的RAM 15的区域读取的数据传送信
息的首位地址。
MR、SAR1、SAR2、DAR和CR存储从VAR 124中存储的数据传送信息的首位地址所指示
的RAM15的区域顺序读取的数据传送信息。
ALU 124具有诸如逻辑运算、移位和算术运算的功能,并且以给定次序执行这些操
作中的两个或更多个。
尽管未示出,但DTC内部总线12B具有多条总线,从而使SAR1、SAR2、DAR和CR的内容
能够被供应到ALU 12A进行运算。根据该构造,执行重复模式或块传送模式下的运算。可通
过采用公知技术来实现重复模式和块传送模式下的数据传送操作的内容。因此,省略对其
的详细说明。
当从INT 13供应DTC激活请求信号(DTCREQ)时,DTC 12开始操作。当DTC 12开始操
作时,DTCCNT 121将DTC操作开始信号(DTCSTA)设置成激活态。当执行数据传送时,DTCCNT
121与这个总线周期同步地激活应答信号(ACK)。当传送计数器(CR)是0时并且根据MR的设
置,DTCCNT 121将模式控制信号(MDC)变成预定状态并且设置SCI 18的SFCR。DTCCNT 121激
活中断因子清零信号(INTCLR)或DTE清零信号(DTECLR),将用作开始因子的中断因子标志
或DTE位清零,并且终止操作。在DTC 12终止操作之后,DTCCNT 121激活DTC操作结束信号
(DTCEND)并且返回停止状态。
<应用>
图8A是示出根据应用的微计算机系统的构造的框图。图8B是示出图8A中示出的微
计算机系统的连接关系的框图。微计算机系统1包括主MCU 10M、从MCU 10S、电机20和用于
检测电机20的位置的编码器30。微计算机系统1是例如相机系统,并且主MCU 10M是相机主
体MCU并且主MCU 10S是相机镜头MCU。
根据实现方式示例的MCU 10被应用于主MCU 10M和从MCU 10S。从MCU 10S使用针
对聚焦电机(M)的驱动的定时器17F、针对用于检测聚焦电机20的位置的编码器(ENCODER)
的输入的定时器17D、和带有间隔定时器功能的定时器171。经由诸如/输出端口(I/O)1A输
入各种类型的设置的切换(SWITCH)。
如图8B中所示,用时钟同步模式的三条信号线和指示状态的输入/输出端口的一
条信号线使主MCU 10M的SCI 18和从MCU 10S的SCI 18彼此有联系。用于输出TXD的端子
18A、用于输入RXD的端子18B、用于输出SCK的端子18C和用于输入主MCU 10M的ST的端子18D
分别联接到用于输入RXD的端子18D、用于输出TXD的端子18A、用于输入SCK的端子18C和用
于输出从MCU 10S的ST的端子18D。主MCU 10M输出同步时钟(SCK),从MCU 10S输出状态
(ST)。
(通信操作的第一示例)
图9是示出图8A中示出的微计算机系统中的通信操作的第一示例的时序图。通信
操作的第一示例是主发送/从接收的情况。在图9中,带阴影部分示出执行从MCU 10S的SCI
18的模式控制的DTC 12的操作。
首先,主MCU 10M和从MCU 10S对各个SCI 18的寄存器执行初始设置,作为发送-接
收操作(TE=1、RE=1)(时序T1)。
主MCU 10M输入从MCU 10S的状态(ST)输出。当状态(ST)是忙(BUSY)状态时,发送
处于待机。当设置了发送数据(命令)并且状态(ST)输入变成备用(READY)状态时,主MCU
10M发送命令(CMND)。此时,主MCU 10M将RD位设置成1,忽略接收数据。
从MCU 10S将CMD位设置成1并且将TD位设置成1以设置成命令接收(时间T1)。发送
数据空中断请求(TXI)的设置被制止,不执行对于发送FIFO 187的数据设置,发送数据
(TXD)被固定于例如高电平,并且输出虚拟(DUMY)数据。当接收开始时,状态(ST)输出被设
置成忙态。当完成命令的接收时,SCI 18发出命令接收完成中断请求(CRXI),并且INT 13向
DTC 12发出DTC激活请求(DTCREQ)。DTC 12读取命令的接收数据,将此与SAR2相加,并且读
取RAM 15的表区域。由于接收数据满(接收数据传送),导致这些内容设置DAR所指定的发送
数据空(发送数据传送)和数据传送开始请求的DTC矢量(TXI矢量、DRXI矢量)。在本实施例
中,假定两个长字是块传送的。当两个长字中的一个是预定数据时(例如,当它是00000000)
时,模式控制信号(MDC)被激活,以便将对应TD位或RD位设置成1。具体地讲,当发送数据空
的DTC矢量是00000000时,TD位被设置成1,以使发送制止有效。当接收数据满的DTC矢量是
00000000时,RD位被设置成1,以使接收制止有效。CMD位被清零。遵循此模式控制信号
(MDC),SCI 18设置SRCR,切换成数据接收或数据发送,并且将状态(ST)输出设置成忙态。在
这种情况下,对应于上述的命令,存在三种模式:主发送/从接收、从发送/主接收、和主/从
发送和接收。本实施例以主发送/从接收的情况为例。因此,主方将RD位设置成1,以使接收
制止(数据发送)有效,并且从方将TD位设置成1,以使发送制止(数据接收)有效(时间T2)。
在主MCU 10M中,在完成命令发送自后,设置发送数据。当状态(ST)输入变成备用
状态时,发送对应于命令的预定数量的数据。
从MCU 10S在数据接收开始时将状态(ST)输出设置成忙态。遵循数据接收完成,从
MCU 10S发出接收数据满(接收数据传送)数据传送开始请求以激活DTC 12。DTC 12将接收
到的数据传送到RAM 15的预定地址。对应于命令的预定数量的数据被设置成CR,并且传送
据此的数量的数据。当CR变成0时,输出MR所指定的模式控制信号(MDC),并且SCI 18的模式
控制状态转变(时间T3)。据此,SCI 18将状态(ST)输出设置成备用状态。当CR完成0的数据
传送时,向CPU 11发出中断请求。
图10示出图9的第一示例中的针对命令接收完成的数据传送。在针对MCU 10S中的
命令接收完成的数据传送中,CPU 11如下地设置数据传送信息。
在MR中,TLU位、BRM位和MDCE位都被设置成1。SF[2:0]位指定+4。ISz[1:0]位指定
对应于命令的字节大小。SM1位和SM0位指定SAR2固定。DM1位和DM0位指定DAR固定。TMD1位
和TMD0位指定正常模式。SAR1指定接收FIFO 186的地址。SAR2指定数据发送空传送请求和
数据接收满传送请求的DTC矢量的表区域的首位地址。DAR指定数据发送空传送请求和数据
接收满传送请求的DTC矢量地址。这些信息条目被作为图10中示出的数据传送信息C来存
储。
在图10中,细线箭头指示地址的说明,双线箭头指示数据的读取/写入。
(A)当因命令接收完成而激活DTC时,从对应矢量区(CRXI中断的矢量地址所指定
的区域(CRXI矢量))读取数据传送信息的首位地址。
(B)基于这个地址,从数据传送信息地址区域读取数据传送信息C。这个数据传送
信息C是将被存储在MR、SAR1、SAR2和DAR中的内容。接收FIFO 186的地址被存储在SAR1中。
表区域的首位地址被存储在SAR2中。TXI矢量地址被存储在DAR中。
(C)首先,从SAR1所指定的接收FIFO 186读取ISz位中指定的字节大小的命令。通
过ALU 12A将读取的数据左移在SF[2:0]位中指定的4位。将这个结果与SAR2相加并且用作
源地址。
(D)从SAR2所指定的表区域的源地址读取被传送数据。在本实施例中,读取TXI矢
量n和DRXI矢量n。
(E)这被写入DAR所指定的TXI矢量区域和DRXI矢量区域。同时,如上所述地输出模
式控制信号(MDC)。例如,DRXI矢量n是指示必要的数据传送信息m的内容。
因此,可以(从数据传送信息m、m1、m2、m3等)选择对应于命令并且响应于TXI和
DRXI数据传送的数据传送信息。
在字节大小的情况中,最多可在256种之中指定命令。命令可定义后续数据的存在
或不存在、数据长度和数据的种类。例如,命令涉及将后续数据写入定时器17D、17F和17I和
从MCU 10S的I/O端口1A,并且另一个命令涉及发送定时器17D、17F和17I和从MCU 10S的I/O
端口1A的期望数据。可根据适于所关注的微计算机系统1的命令,任意地定义此命令。
图11示出图9的第一示例中的针对接收数据满的数据传送(接收数据传送)。在针
对MCU 10S中的接收数据满的数据传送(接收数据传送)中,如下地设置数据传送信息。
在MR中,TLU位和BRM位被清零,MDCE位被设置成1。Sz[1:0]位指定对应于命令的字
节大小。SM1位和SM0位指定SAR固定。DM1位和DM0位指定DAR递增。TMD1位和TMD0位指定正常
模式。SAR指定接收FIFO 186的地址。DAR指定用于数据接收的RAM 15的地址。CR指定对应于
命令的数据的数量。这些信息条目被作为图11中示出的数据传送信息m来存储。
(A)当因接收数据满(接收数据传送)激活DTC 12时,从对应矢量区域(DRXI中断的
矢量地址所指定的区域(DRXI矢量))读取数据传送信息的首位地址。由于命令接收完成,导
致通过数据传送将其更新成必要内容,并且其指示数据传送信息m。
(B)基于这个地址,从数据传送信息地址区域读取数据传送信息m。此数据传送信
息是MR、SAR、DAR和CR的内容。接收FIFO 186的地址被存储在SAR中,RAM 15的地址被存储在
DAR中。
(C)首先,从SAR所指定的接收FIFO 186读取Sz位所指定的字节大小的接收数据。
所读取的接收数据被写入DAR所指定的RAM 15中。这个操作重复CR所指定的次数。当CR变成
0时,如上所述地输出模式控制信号(MDC)。
(通信操作的第二示例)
图12是示出图8A中示出的微计算机系统中的通信操作的第二示例的时序图。在通
信操作的第二示例中,对应于命令的数据传送是从发送/主接收。如同上述的第一示例的情
况一样,主MCU 10M和从MCU 10S分别地执行作为发送-接收操作的初始设置,并且执行命令
的发送和接收。
为了输出与必要数据的数量对应的同步时钟,主MCU 10M将TD位设置成1,并且通
过例如将发送数据固定成高电平来发送虚拟数据。
通过在命令接收完成时进行DTC 12的模式控制,从MCU 10S将RD位设置成1,以使
数据发送有效(时间T2)。也就是说,RAM 15的表上的发送数据空的DTC矢量被设置为除了
00000000外的预定矢量,并且接收数据满的DTC矢量被设置成00000000。
为了发送对应于命令的预定数量的数据,从MCU 10S根据发送数据空(发送数据传
送)数据传送请求来激活DTC 12S。DTC 12将待发送数据从RAM 15的预定地址发送到发送
FIFO 187。DTC 12在数据发送开始时将状态(ST)输出设置成忙态。执行CR所指示的预先确
定的数的数据传送。当CR变成0时,输出MR所指定的模式控制信号(MDC),并且SCI 18S的模
式控制状态转变(时间T3')。此时,模式的改变或SFCR的改变没有立即被反映,而是在发送
数据的输出完成之后(在发送FIFO 187和发送器185中数据已耗尽的状态下)被反映(时间
T3)。换句话讲,在模式控制输入与发送和接收同步之后,使能该反映。SCI 18S将状态(ST)
输出设置成备用状态。当CR完成0的数据传送时,SCI 18S对CPU 11请求中断。
在发送数据空的数据传送(发送数据传送)中,如下地设置数据传送信息。
在MR中,TLU位和BRM位被清零,MDCE位被设置成1。Sz[1:0]位指定对应于命令的字
节大小。SM1位和SM0位指定SAR递增。DM1位和DM0位指定DAR固定。TMD1位和TMD0位指定正常
模式。SAR指定数据发送的RAM 15S的地址。DAR指定发送FIFO 187的地址。CR指定对应于命
令的数据的数量。
(通信操作的第三示例)
在作为通信操作的第三示例的主/从发送和接收的情况下,尽管未示出,但从MCU
10S将TD位和RD位二者都清零,并且DTC 12在由于发送数据完成而导致的数据传送时不控
制SFCR的改变,而是在由于接收数据完成而导致的数据传送时控制SFCR的改变。也就是说,
RAM 15的表上的发送数据空的DTC矢量和接收数据满的DTC矢量都被设置成除了00000000
外的预定矢量。
根据以上实现方式示例,得到以下的操作效果。
(1)通过在发送和接收被启用(TE=RE=1)(保持指定同时发送-接收操作)的状态
下将TD位或RD位设置成1,可以制止发送或接收的操作。在发送操作制止的情况下,不需要
发送数据的准备和发送开始的说明,并且变得可以对应于同步时钟输入来执行任意数据的
发送和接收操作。在接收操作制止的情况下,接收到的内容被忽略,没有检测到超限错误,
并且没有进行中断请求和数据传送开始请求。因此,在同时发送-接收操作和同步时钟输入
的操作使能态下,变得可以暂时进行发送操作制止和接收操作制止,换句话讲,不需要用于
改变设置的待机时间。不需要准备无用发送数据和处理无用接收数据;因此,可以增强处理
的效率。如果TE位或RE位被切换,则必须确保与整个SCI的操作一致。与此形成对照,通过限
制TD位和RD位的控制目标而不改变同时发送-接收操作的基本操作,可以简化逻辑。可以减
低落入不期望状态的可能性。
(2)在接收操作中,可以指定操作是要接收命令还是要接收数据,并且这些操作可
分别发出中断请求或数据传送开始请求。因此,变得可以以专用方式产生数据传送装置的
开始因子。在进行命令接收操作时,不需要通过指定发送操作制止来准备发送数据。在进行
数据接收操作时,可以指定发送操作制止。由于命令接收完成的中断请求和数据接收完成
的中断请求被分开,因此可以在没有确定是哪个中断请求的情况下,立即直接处理。可以有
效选择合适的处理方法,使得响应于命令接收完成的中断请求来执行数据传送装置的数据
传送,并且响应于数据接收完成的中断请求来执行CPU的中断处理。
(3)根据数据传送装置响应于开始因子和诸如命令接收、仅数据接收和仅数据发
送的模式进行的操作,切换模式。例如,在数据传送装置响应于数据发送或数据接收进行的
数据传送完成时,模式被切换成命令接收。
(4)可以输出对应于模式的状态。通过指定命令接收的状态下的接收操作,输出到
外部的状态被设置成第二状态(忙态)。当通过数据传送装置响应于命令接收完成进行的操
作来改变模式时,输出到外部的状态被设置成第一状态(备用状态)。当通过数据发送操作
或数据接收操作将状态输出设置成第二状态(忙态)时以及当通过数据传送装置的上述操
作将模式切换(成命令接收)时,状态输出被设置成第一状态(备用)。
因此,可以实现对应于实际通信处理的模式,并且可以减少设置改变和待机时间。
通过根据模式和通信操作来激活数据传送装置,并且通过数据传送装置的控制来切换模
式,CPU的处理变得不必要并且可实现效率的提高和加速。通过使数据传送装置能够替代
CPU来执行SCI的模式控制、命令的判断和数据传送,可以降低向CPU发出中断请求的频率并
且可以延长CPU在低功耗状态下操作的时间段。可以消除CPU应该在中断处理中所执行的例
外的处理、堆栈的撤离/返回操作和返回指令的执行,从而有助于简化程序或者提高系统的
效率。还可以缩短从发生事件到执行必要操作的时间,并且增强所谓的响应性。通过比CPU
具有更小逻辑规模并且可执行高速处理的数据传送装置的操作,并且通过使CPU在低功耗
状态下操作,可以实现低功耗。还可以增强软件的开发效率。
可以灵活地支持适于微计算机系统中的每个的命令和通信系统。当用其他语言表
达时,可以根据供应到微计算机的数据来改变微计算机的发送和接收的模式。
如上所述,已经基于实施例、实现方式示例和应用具体说明了本发明的发明人实
现的发明。然而,不可过分强调本发明限于上述的实施例、实现方式示例和应用,可按各种
方式改变本发明。
本实现方式示例采用以下说明:使用TE位和RE位作为完成SCI设置之后的操作许
可,并且TD位和RD位是单独提供的。然而,优选地,对于发送和接收,提供公用的SCI的操作
使能位,并且TE位和RE位的功能以及TD位和RD位的功能被组合,从而能够在操作期间进行
改变。尽管在命令接收和发送制止的情况下发送输出可以是任意的,但期望的是将其固定
成0或1。当CMD位被设置成1时,还优选地设置发送制止,而不管TD位如何。还优选地,不采用
公用的RDRF标志作为CRXI和DRXI的中断因子标志,而是采用独立的中断因子标志。还优选
地,当RD位被设置成1时,将RIE位或RDRF标志清零。用于指定TD位和RD位的长字数据可以是
不被用作数据传送信息存储区的数据。本实现方式示例采用与CPU的重置矢量一样的
00000000。这是基于它没有用作数据传送信息存储区的假设。当数据传送存储地址被视为
是以长字为单元时,可使用低阶2位。
可通过使用控制寄存器来改变用于检测接收数据满(接收数据传送)和发送数据
空(发送数据传送)的接收FIFO和发送FIFO的数据的量和空空间。还优选地,能选择除了字
节大小外的用于确定命令接收中的接收完成的单元。根据由于命令接收完成导致的数据传
送,数据传送信息以及矢量区可被重写。优选地,CPU可设置CMD位、TD位和RD位。还优选地,
使CPU处理是任意命令,以便设置CMD位、TD位和RD位。
本实现方式示例以SCI为例进行说明;然而,本发明不限于此,并且可应用于诸如
I2C(内置集成电路)和SPI(串行外围接口)的串行通信接口。本实现方式示例以DTC为例进
行说明;然而,本发明不限于此,并且还可应用于例如在存储器和寄存器之间传送数据的
DMAC(直接内存访问控制器)。还可以按各种方式改变DTC和中断控制器的具体构造。省略对
BSC和诸如总线权和等待的总线操作的细节的说明;然而,可以适当地实现它们。本发明可
只应用于主MCU和从MCU中的一个。在这种情况下,更优选的是应用于从MCU。
微计算机的构造不受限制。可改变功能块和其他。进行的以上说明是关于本示例
应用于微计算机的情况;然而,本发明不限于此,并且本发明可应用于其他半导体装置,例
如,数字信号处理器(DSP)。
<例证性实施例>
下文中,说明例证性实施例。
(额外附录1)
一种半导体装置,所述半导体装置包括用于根据同步时钟执行发送或接收的顺序
通信的接口电路。
在所述半导体装置中,所述接口电路包括:
第一寄存器,其用于指定作为发送态和接收态中的至少一个的操作使能态,以及
第二寄存器,其用于保持用以指定发送制止或接收制止的信息;以及
基于所述第一寄存器的状态和所述第二寄存器的状态,确定发送或接收信息中的
至少一个操作。
(额外附录2)
一种系统,所述系统包括:
第一半导体装置,其包括用于根据同步时钟执行发送或接收的顺序通信的第一接
口电路,以及
第二半导体装置,其包括用于根据同步时钟执行发送或接收的顺序通信的第二接
口电路。
在所述系统中,所述第二接口电路包括:
第一寄存器,其用于指定作为发送态和接收态中的至少一个的操作使能态,以及
第二寄存器,其用于保持用以指定发送制止或接收制止的信息,以及
基于所述第一寄存器的状态和所述第二寄存器的状态,确定发送或接收信息中的
至少一个操作。