数据通信装置及使用该装置的控制器 【技术领域】
本发明涉及一种使用串行通信总线,尤其是使用SPI通信进行一对多的数据通信的数据通信装置及安装有数据通信装置的内部控制器。
背景技术
作为数据通信系统,从很久以来,大家公知:与物理的数据通信机构相对应,进行传输速度以及时钟逻辑相位等物理协议的设定的技术(参考例如专利文献1)。另外,作为物理上的数据通信装置,有一种作为具有芯片选择信号线的时钟同步式串行通信的采用串行外围接口(以下称作“SPI”)的方法(参考例如非专利文献1)
例如,作为内部控制器的一种,具有对安装在汽车中的引擎、节气门、变速器、制动器、转向器及电池进行控制的车辆控制控制器。近年来,以低燃料消耗、低尾气化等为目的,对车辆控制控制器的控制功能要求更高。为了实现极为精密的控制,使用在内部控制器中安装多个微型计算机以及处理传感器、驱动器的信号地IC,并且将测量结果以及输出值的数据使用基于SPI通信总线的数据通信进行交换的方法。
上述专利文献1中所述的数据通信装置中,对应于物理的通信装置,设置了通信协议,因此,例如在使用进行一对多通信的通信总线的通信中,存在必须使与通信总线相连接的所有的设备的通信协议共同这一问题。一般来说,微型计算机能够进行高速的传输动作,但IC有时候相对传输速度会跟不上。因此,在将微型计算机与IC混合连接在同一个SPI通信总线上时,必须将全体的传输速度与速度最低的设备的传输速度相同。即使使用进行高传输速度的微型计算机,也被低速的传输速度所限制,因此,产生了通信时间中需要设置余量,通信性能恶化这一问题。
专利文献1:特开2000-257501号公报,
非专利文献:摩托罗拉公司,“MPC555 User’s Manual MPC555UMJ/AD R0。95”,449页~525页。
【发明内容】
本发明的目的在于,提供一种能够在同一个SPI通信总线上混合多个通信协议,并能够分别进行适当的通信的数据通信装置。
本发明的特征在于设有通信管理器,其作为串行通信的驱动器,通过设置每个设备的通信设备,设置每个设备设置物理协议,协调串行通信的总线。
根据本发明的观点一,一种数据通信装置,在具有:主设备;多个从设备;连接在上述主设备与多个上述从设备之间、传输数据转发的同步用时钟信号的同步时钟信号总线;与上述同步时钟信号线同步,从上述主设备向上述从设备发送数据的数据发送总线,或与上述同步时钟信号线同步,使上述主设备从上述从设备接收数据的数据接收总线这两种总线中的至少任意一方;将上述主设备与上述从设备一对一地连接,并通知通信执行的芯片选择线。其中,在进行串行通信的数据通信装置中,包括具有设定每个上述从设备的物理协议的设备通信驱动器,以及协调上述主设备与上述从设备之间串行通信的通信管理器的串行通信驱动器。
作为优选方式,串行通信驱动器,具有例如以下的特征:
1)上述串行通信驱动器,根据上述同步时钟信号总线上的同步用时钟信号,对应于上述主设备所激活的上述芯片选择信号线,变更时钟的频率。
2)上述串行通信驱动器,将上述同步时钟信号总线所通信的同步时钟信号,对应于上述主设备所激活的上述芯片选择信号线,变更时钟逻辑。
3)上述串行通信驱动器,将上述数据发送总线上的发送数据或上述数据接收总线上的接收数据中的至少一方,对应于上述主设备所激活的上述芯片选择信号线,变更与上述同步时钟信号的时钟同步相位。
另外,具有设定每个上述从设备的物理协议的设备通信驱动器、以及协调上述主设备与上述从设备之间的串行通信的通信管理器的串行通信驱动器,一般执行例如存储在ROM内的程序。另外,作为串行通信设备,在不能以设备通信驱动器与通信管理器这种形式明确区分的情况下,例如在进行上述1)~3)所述的通信的情况下,也包括在本发明的范围中,而并不能够通过名称等进行限定。
(发明效果)
通过使用上述装置,即使是具有不同的通信协议的设备,也能够在同一个通信总线上使用。另外,能够通过各个设备的最大转发效率协议进行串行通信,能够使装置全体高速化。
【附图说明】
图1(a)是表示说明本发明的数据通信系统的构成例的示意图,图1(b)是表示本发明的实施方式1的数据通信装置的第1构成例的示意图。
图2(a)是表示本发明的实施方式1的数据通信装置的第1动作例的示意图,图2(b)为说明第2动作例的示意图。
图3是表示基于本发明的实施方式1的数据通信装置的第3动作例的示意图。
图4是表示在车辆控制的控制器一部分中使用基于本发明的实施方式1的数据通信装置的图。
图5是表示图4中所示的车辆控制的控制器概要构成例的图。
图6是表示基于本发明的实施方式1的数据通信装置中的主微型计算机的概要图。
图7是表示本发明的实施方式1的数据通信装置中的控制寄存器的构成例的图。
图8是表示CS1用通信协议存储机构的构成例的图。
图9A是表示本发明的实施方式1的数据通信装置中的通信控制机构的处理流程的第1流程图。
图9B是表示基于本发明的实施方式1的数据通信装置中的通信控制机构的处理流程的第1流程图。
图10是表示本实施方式的通信控制机构的构成例的图。
图11A是表示本发明的实施方式1的数据通信装置中的通信控制机构的处理流程的第2流程图。
图11B是表示本发明的实施方式1的数据通信装置中的通信控制机构的处理流程的第2流程图,是接着图11A。
图12是表示通信控制驱动器的通信执行处理流程的流程图。
图13是表示通信控制驱动器的通信结束处理流程的流程图。
图14是表示本发明的实施方式的数据通信系统的动作的概要图。
图15是表示本发明的实施方式2的通信控制机构的构成例的图。
图16是表示本发明的实施方式3的SPI模块的构成例的图。
图中:1-主微型计算机(控制设备),2A-副微型计算机、2B-驱动器IC,3A-时钟信号线1,3B-时钟信号线2,4-同步用时钟信号总线,5-数据发送总线,6-数据接收总线,41、42、43、44、45、46-同步用时钟信号,51、52、53、54、55、56-发送数据,61、62、63、64、65、66-接收数据,7-车辆,8-引擎,9-油门踏板,10-车辆控制控制器。
【具体实施方式】
在对本发明的实施方式进行说明之前,首先对本发明的相关数据通信装置的概要进行说明。图1(a)是表示与本发明的相关数据通信装置的基本构成例的图。如图1(a)所示,关于本发明数据通信装置50,是一种进行SPI串行通信的数据通信装置,其具有:主设备51;多个从设备67、71、75;连接在主设备51与多个从设备67、71、75之间,与同步时钟信号同步,从主设备51向从设备67、71、75发送数据的数据发送总线,或与同步时钟信号同步,使主设备51自从设备67、71、75接收数据的数据接收总线中的至少一方;将主设备51与从设备67、71、75之间一对一地连接,并通知通信执行的芯片选择线。另外,数据通信装置中,具有设定各个从设备67、71、75的物理协议的通信驱动器61a、61b、61c,以及对主设备51与从设备67、71、75之间的串行通信进行协调的通信管理器61e。通信管理器61e所协调的串行通信,经通信接口65,与各个从设备67、71、75根据适当的物理协议进行通信。
以下,根据上述原理,对照附图对基于本发明的实施方式的数据通信装置进行说明。另外,以下的实施方式中,以车辆用电子控制单元(EUC)作为具有数据通信装置的内部控制器的一例进行说明。
图1(b)是表示本发明的实施方式1的数据通信装置的构成例的图。如图1(b)所示,本发明实施方式的数据通信装置,具有主微型计算机1(对应于主设备)、副微型计算机2A和输入输出控制用驱动器IC2B。副微型计算机2A以及输入输出控制用驱动器IC2B对应于从设备。
上述构成中,芯片选择线3A被主微型计算机1所控制,通知执行从主微型计算机1向副微型计算机2A的通信。芯片选择线3B被主微型计算机1所控制,通知执行从主微型计算机1向输入输出控制驱动器IC2B的通信。
时钟信号总线4(对应于同步时钟信号总线)被主微型计算机1所控制,在时钟信号总线4中,在从主设备向从设备的通信时,输出取得数据转送的同步用的时钟信号。数据发送线5被主微型计算机1所控制,在数据发送线5中,与时钟信号线4所传送的时钟信号同步,输出从主微型计算机1发送给副微型计算机2A或驱动器IC2B的数据。数据接收线6被副微型计算机2A或驱动器IC2B所控制。在数据接收线6中,与时钟信号同步,输出自从设备发送给主设备的数据。
图2(a)是表示本实施方式的数据通信装置的第1动作例,显示了芯片选择信号线3A、3B、时钟信号线4、数据发送线5以及数据接收线6的输出例。在图2(a)中的横轴表示时间,纵轴表示各个信号的电压。在图2(a)中,芯片选择信号线3A、3B,在电压的高电平(High)状态为不激活,在低电平(Low)状态为激活。同步用时钟信号4在高电平(High)状态为负,在低电平(Low)状态为激活。
如图2(a)所示,第1动作例中,在区间T1中,图1(b)中所示的主微型计算机1控制芯片激活信号线3A,处于执行主微型计算机1与副微型计算机2A之间的SPI通信的状态。主微型计算机1控制时钟信号线4,以所通信的数据的位数(例如8bit),以适用于与副微型计算机2A之间的通信的波特率(例如2MHz)输出时钟信号。主微型计算机1,与时钟信号同步,输出向副微型计算机2A的发送数据51。副微型计算机2A,与时钟信号同步,输出主微型计算机1所接收的接收数据61。时钟信号的输出结束之后,主微型计算机1将芯片选择信号线3A设为不激活,结束主微型计算机1与副微型计算机2A之间的SPI通信。
区间T2中,微型计算机1使芯片选择信号线3B被激活,处于可执行主微型计算机1与输入输出控制驱动器IC2B之间的SPI通信的状态。主微型计算机1控制时钟信号线4,以所通信的数据的位数(例如8bit),以适用于与输入输出控制驱动器IC2B之间的通信波特率(例如1MHz)输出时钟信号。主微型计算机1,与时钟信号同步,输出向输入输出控制驱动器IC2B的发送数据52。输入输出控制驱动器IC2B,与时钟信号同步,输出主微型计算机1所接收的接收数据62。时钟信号的输出结束之后,主微型计算机1将芯片选择信号线3A设为不激活,结束主微型计算机1与副微型计算机2A之间的SPI通信。
本实施方式的第1动作例中,SPI通信中的同步用时钟信号的频率,与激活的芯片选择线相对应。因此。例如,象高性能的微型计算机与低价的驱动器IC这样,SPI通信接口中所对应的时钟频率的上限存在差别的情况下,能够使用适用于各个从设备的同步时钟频率。也即,通过图1(b)的构成,具有在SPI通信总线中,能够混合多个通信协议的优点。
另外,图1(b)中所示的数据通信装置中,从设备与芯片选择线3、时钟信号线4、数据发送线5以及数据接收线6相连接,但关于数据发送线5以及数据接收线6,也可以只以其中任一个连接主从设备。例如,在传感器用驱动器IC的情况下,可以连接有芯片选择线3、时钟信号线4以及数据接收线6,通信传感器所检测到的数据。
以下,对本实施方式的其他动作例进行说明,关于基本的系统构成,与图2(a)所示的构成相同。因此,适当对照图1(a)、(b)进行说明。图2(b)是表示本实施方式的数据通信技术的第2动作例的信号波形图。图2(b)所示的第2动作例的信号波形例中,芯片选择信号线3A被激活的期间T3,也即进行主微型计算机1与副微型计算机2A之间的通信的期间中,同步用时钟信号CLK43,低电平(Low)状态为无效,高电平(High)状态为有效。在芯片选择信号线3B被激活的期间T4,也即进行主微型计算机1与驱动器IC2B之间的通信的期间中,同步用时钟信号44,低电平(Low)状态为无效,高电平(High)状态为激活。图2(b)的符号53、54、63、64分别与图2(a)的符号53、54、63、64相对应。
同步用时钟信号的时钟逻辑43、44,与被激活的芯片选择信号相对应。即,根据如图2(b)所示的第2动作例进行动作,按照将同步用时钟信号一个在高电平(High)的场合为有效的设定,一个在低电平(Low)的场合为有效的设定那样,就能够在同一个SPI通信总线上混合进行时钟逻辑的设定不同的通信协议。
图3是表示本实施方式的数据通信系统的第3动作例的通信数据的一例。在第3动作例中,芯片选择信号线3A、3B,在高电平(High)状态为不激活,在低电平(Low)状态为激活。同步用时钟信号4在高电平(High)状态为无效,在低电平(Low)状态为有效。图3中所示的第3动作例中,芯片选择信号线3A被激活的期间T5,也即进行主微型计算机1与副微型计算机2A之间的通信的期间中,对应于同步时钟信号45从无效向有效迁移的时钟信号的上升时刻(例如时刻t1),发送数据55与接收数据65分别被主微型计算机1以及副微型计算机2A所更新。芯片选择信号线3B被激活的期间T6,也即进行主微型计算机1与驱动器IC2B之间的通信的期间中,对应于同步时钟信号45从有效向无效迁移的时钟信号的下降时刻(例如时刻t2),发送数据56与接收数据66分别被主微型计算机1以及驱动器IC2B所更新。
图3中所示的第3动作例中,在同步用时钟信号的上升时刻的数据更新,或是在下降时刻的数据更新这种时钟相位的设定不同的通信协议,能够在同一个SPI通信总线上混合进行。
接下来,对本发明的实施方式2进行说明。本实施方式为将上述实施方式1的数据通信装置应用于车辆中的例子。图4表示本实施方式的车辆。如图4所示,本实施方式的车辆7,具有引擎8、控制引擎8的电子控制单元(Electric Control Unit:ECU)10以及被驾驶者所操作的油门踏板9。这里,ECU10,除了关于引擎的控制,还可以是用于控制图中未显示的自动变速器、电子控制节气门以及电动制动器的内部控制器,总之,图4的ECU为用来进行与车辆相关的各种控制的内部控制器。
图5是表示基于本发明的实施方式2的ECU一例的图。如图5所示,基于本实施方式的ECU10,具有图1(b)中所说明过的数据通信系统。驱动器IC2B输入传感器测量值(例如油门角度),通过SPI通信发送给主微型计算机1。主微型计算机1,根据所接收到的测量值,运算输出电压值以及排气口输出。主微型计算机1使用SPI通信,将输出值发送给驱动器IC2B。另外,主微型计算机与副微型计算机之间的数据通信也通过SPI通信进行。
图6是表示图5所示的主微型计算机1的基本构成例的图。如图6所示,主微型计算机1,包括存储器11、控制SPI通信总线的SPI模块12、进行运算处理的处理器13、数据总线14、直接存储器访问控制器15。SPI模块12,包括设定SPI通信的物理协议的控制寄存器121、用来对发送数据进行设置的发送数据存储器122、用来存储所接收到的数据的接收数据存储器123。存储器11,具有运算控制数据等的应用软件113、将控制数据变换为SPI驱动器能够通信的数据形式、数据大小的通信中间器件112,以及控制SPI模块实现SPI通信的SPI驱动器111。SPI驱动器111具有包括副微型计算机用通信协议存储机构11121以及驱动器IC用通信协议存储机构11122的通信协议存储机构1112,以及通信控制机构1111。符号3A、3B、4~6分别对应于图1(b)、图5的相同符号。
图7是表示控制寄存器121的构成例的图。如图7所示,控制寄存器121,具有设定所激活的芯片选择信号线的CS信号线设定区域1210、设定转送的数据的位长的数据长度设定区域1211、时钟逻辑设定区域1212、时钟位相设定区域1213、设定同步用时钟信号的波特率的转发速度设定区域1214、设定从激活芯片选择信号线之后到开始输出同步用时钟信号之前的转发前延迟时间的转发前延迟设定区域1215、设定从同步用时钟信号的输出结束之后到使芯片选择信号线不激活之前的转发后延迟时间的转发后延迟设定区域1216。
图8是表示副微型计算机用通信协议存储机构11121的构成例的图。如图8所示,副微型计算机用通信协议存储机构11121,具有:存储激活的芯片选择信号线的CS信号线存储区域111210,设定转送数据的位长的数据长度存储区域111211,时钟逻辑存储区域111212,时钟位相存储区域111213,设定同步用时钟信号的波特率的转发速度存储区域111214,存储从激活芯片选择信号线之后到开始输出同步用时钟信号之前的转发前延迟时间的转发前延迟存储区域111215,存储从同步用时钟信号的输出结束之后到使芯片选择信号线不激活之前的转发后延迟时间的转发后延迟存储区域111216。
图9是表示通信控制机构1111的动作流程的流程图。如图9所示,在步骤S11中,通信中间器件112启动通信控制机构1111之后,开始通信处理。步骤S12中,进行是否正在通信中等现在是否为能够开始通信的状态的判断。在步骤S12中判断能够开始通信的情况下,进入步骤S13。在步骤S13中,设置发送给发送数据存储器122的数据。在只进行数据的接收的情况下,也可以省略步骤S13的处理。步骤S14中,将对应于通信目的地设备的通信协议,参照通信协议存储机构1112设置在控制寄存器121中。步骤S15中,向SPI模块12发出开始通信的命令之后,开始SPI通信。在步骤S12中,检测出不能够进行通信的情况下,进入步骤S16。在步骤S16中,将现在为不能够进行通信状态这一事项通知给通信中间器件112。执行了以上的处理之后,暂时结束处理。
步骤S21,在步骤S15中开始的SPI通信结束时所产生的通信结束中断中调出,执行SPI通信的后处理。在步骤S22中,从接收数据存储器123中读出所接收的数据。在只进行数据的发送的情况下,也可以省略步骤S22的处理。之后,在步骤S23中,将通信处理结束了这一事项通知给通信中间器件112。通知完成之后,在步骤S24中结束通信处理。通过图6~图9的构成,具有设定SPI通信总线的通信协议的控制寄存器即使只有1个SPI模块,也能够混合利用多个通信协议的优点。
另外,通过图6、图8的构成,能够对应于通信目的地设备分别存储通信协议。因此,即使在与通信设备相连接的设备发生了变更的情况下,只变更对应于变更了的设备的通信协议存储机构就可以,而其他通信协议存储机构能够原样利用。也即具有这样的优点:具有可高效地开发在同一个SPI通信总线上混合进行多个通信协议的数据通信装置。
图10是表示本实施方式的通信控制机构的一个构成例的图。如图10所示,通信控制机构111,具有副微型计算机用通信控制驱动器11111、驱动器IC用通信控制驱动器11112以及通信控制管理器11113。副微型计算机用通信控制驱动器11111具有预先存储发送数据的发送缓存器111111,以及预先存储接收数据的接收缓存器111112。驱动器IC用通信控制驱动器也同样具有发送缓存器以及接收缓存器。通信控制管理器11113具有用来预先存储通信开始请求的通信作业队列111131。
图11A、图11B是表示通信控制机构中的处理的一例的图。以下的处理的说明中,适当参照图10。这里,使用请求与副微型计算机2进行通信的例子进行说明。图11A是表示通信控制驱动器11111被通信中间器件112所调出的情况下的处理例的图。如图11A所示,在步骤S31中,通过通信中间器件112调出通信控制驱动器11111,开始通信处理。步骤S32中,通过目前是否在进行与副微型计算机的通信,判断现在是否处于能够开始通信的状态。在判断不能够开始通信的情况下,进入步骤S33。在步骤S33中,将现在不能够进行通信这一事项通知给通信中间器件112,结束处理。
在能够开始通信的情况下,调出通信控制器11113。在步骤S34中,检测通信作业队列111131,判断是否存在现在正在执行通信处理的作业。在存在通信执行中的作业的情况下,进入步骤S35,将进行请求的通信目的地(本例中为副微型计算机2)登录到作业的末尾并中断处理。在不存在通信中的作业的情况下,进入步骤S36,将进行请求的通信目的地登录到作业的开头。之后,调出对应于通信目的地的通信控制驱动器(本例中为副微型计算机用通信控制驱动器)。步骤S37中,通过微型计算机用通信控制驱动器,进行用来执行SPI通信的通信执行处理。开始SPI通信之后,暂时中断处理。
图11B是表示通信控制驱动器11111被处理器的通信结束指定所调出的情况下的处理的流程的流程图。如图11B所示,SPI通信结束之后,在处理器的通信结束中断中调出步骤S41,执行SPI通信的后工序处理。步骤S42中,检查通信作业队列111131,对登录在开头的通信作业的通信目的地进行确认。步骤S43中,调出对应于作业队列的开头所登录的通信目的地的通信控制驱动器(本例中为副微型计算机用通信控制驱动器)的通信结束处理。在通信结束处理完成之后,在步骤S44中更新通信控制管理器的作业队列。
清空作业队列的开头的通信作业,将所登录的通信作业的次序顺次提升1位。步骤S45中,检查通信作业队列111131,判断是否残留有通信作业。在没有残留作业的情况下,结束处理。在存在残留作业的情况下(本例中位驱动器IC用通信控制驱动器),调出对作业队列的开头中所登录的通信目的地的通信控制驱动器的通信开始处理步骤S37。
图12是表示为作为通信控制驱动器的通信开始处理(步骤S37)的一例,副微型计算机用通信控制驱动器11111的动作的图。步骤S371中,通过将副微型计算机用通信控制驱动器11111的发送缓存器111111中所设定的数据拷贝到发送数据存储器122(图6)中,设置发送数据。在步骤S372中,通过将副微型计算机用通信协议存储机构11121中所设定的通信协议设定在控制寄存器121中,将通信协议设定为副微型计算机用。步骤S373中,命令SPI模块开始通信。
图13是表示作为通信控制驱动器的通信结束处理步骤S43(图11A)的一例,副微型计算机用通信控制驱动器的通信结束处理。步骤S431中,从接收数据存储器S123读出通过SPI通信所接收到的数据,并复制到接收缓存器111112中。步骤S432中,将SPI通信结束这一事项通知给中间件112。
图14是表示适用本实施方式的数据通信装置的动作的示意图。首先,在时刻t10清空通信(SPI)作业队列31~34。在时刻t11,调出与副微型计算机21A之间的通信开始请求21。由于通信作业队列为空,因此与副微型计算机的通信请求被设置在通信作业队列的开头31。在设置了副微型计算机用通信协议之后,开始SPI通信22。在时刻t12,发出与驱动器IC2B之间的通信开始请求23。由于通信作业队列31中设置了作业,因此,在队列32中设置与驱动器IC的通信请求,暂时结束处理,进入通信开始等待状态。
在时刻t3,结束与副微型计算机2A之间的通信。检查通信作业队列,执行登录在开头的副微型计算机2A的通信完成处理。之后,更新作业队列。之后,再次检查作业队列,开始与设置在作业队列的开头31中的驱动器IC之间的通信25。在时刻t14,结束与驱动器IC2B之间的通信。之后,更新作业队列。再次检查作业队列,确认了作业队列为空之后,结束SPI通信处理。
图15是表示本实施方式的数据通信装置中的通信控制机构1111的另一个构成例的图。图15中所示的构成中,通信控制机构1111具有通信作业列表11114。通信作业列表11114具有通信目的地设备的信息111141、发送缓存器111142以及接收缓存器111143。通信中间器件在通信作业列表中登录发送数据与通信目的地数据,请求开始SPI通信。开始了SPI通信之后,处理器逐次执行登录在通信作业列表中的通信作业。全部通信作业结束之后,就能够从接收缓存器中读出接收数据。
这里具有这样的优点:通过在通信作业的执行中使用DMAC15,从发送缓存器向到发送数据存储器122的拷贝、从通信协议存储机构1112向控制寄存器的拷贝以及从接收数据存储器123向接收缓存器111143的拷贝等处理,能够在处理器13中不产生负担地执行。
图16是表示本发明的实施方式的数据通信装置中的SPI模块12的另一个构成例的图。符号3A、3B、4~6分别与图1(b)、图5的相同符号相对应。如图16所示,SPI模块12B具有多个控制寄存器12B1、12B2以及通信作业列表12B3。控制寄存器12B1、12B2的构成与图7中所示的控制寄存器121的构成相同。作业列表12B3的各个要素,包括所使用的控制寄存器12B31、登录发送数据的发送数据存储器12B32以及存储所接收到的数据的接收数据存储器12B33。SPI驱动器111在通信作业列表12B中登录发送数据与使用寄存器,请求开始SPI通信。开始了SPI通信之后,SPI通信模块12B依次执行登录在作业列表12B3中的通信作业。当所有的通信作业完成之后,可以从接收数据存储器12B33中读出接收数据。如本构成例所述,也能够设置多个控制寄存器,进行硬件的通信协议的切换。
另外,图9A的步骤S13中,在发送数据存储器122中设置发送数据。在只进行数据的接收的情况下,还可以省略步骤S13。在步骤S14中,将对应于通信目的地设备的通信协议,参照通信协议存储机构1112,设置在控制寄存器121中。在步骤S15中向SPI模块12发出开始通信的指示,开始SPI通信,暂时中断处理。在步骤S12中检测出不能够开始通信的情况下,进入步骤S16。
以上,使用基于本发明的各个实施方式的数据通信装置,通过切换对应于在SPI通信等串行通信中所激活的芯片选择信号的同步时钟信号的波特率,能够以最佳的通信协议与通信目的地设备进行通信。
另外,通过切换对应于在SPI通信等串行通信中所激活的芯片选择信号的同步时钟信号的时钟逻辑,能够以最佳的通信协议与通信目的地设备进行通信。另外,通过切换对应于在SPI通信等串行通信中所激活的芯片选择信号的同步时钟信号的相位,能够以最佳的通信协议与通信目的地设备进行通信。
并且,通过设置每个通信目的地设备的通信协议存储机构,以及调出通信协议存储机构执行SPI通信的通信控制机构,能够以最佳的通信协议与通信目的地设备进行通信。
另外,通过设置每个通信目的地设备的通信控制驱动器,以及进行通信控制驱动器的排他控制的通信控制管理器,能够以最佳的通信协议与通信目的地设备进行通信。
而且,将通信协议存储机构与通信控制机构,作为在存储器中工作的程序,由此即使在控制寄存器只是1个SPI模块,也能够切换通信协议,以最佳的通信协议与通信目的地设备进行通信。
另外,通过使用DMAC,进行与SPI模块存储器之间的通信协议或发送数据或接收数据的转发,即使在控制寄存器只是1个SPI模块,也能够高速地切换通信协议。