基于串行外围设备接口总线的设备及其数据传输方法技术

技术编号:5211315 阅读:260 留言:0更新日期:2012-04-11 18:40
一种基于串行外围设备接口总线的数据传输方法,该方法包括步骤:生成主机内部时钟;选择从机控制器;将主机内部时钟二分频生成串行时钟信号,并将该串行时钟信号发送给选择的从机控制器;将串行时钟信号二倍频生成从机内部时钟;分别对主机内部时钟及从机内部时钟计数;传输读/写操作控制符及目标地址;传输有效数据;及结束对从机控制器的选择。本发明专利技术能够实现高速率的数据传输,并且兼容现有技术的串行外围设备接口总线系统。

【技术实现步骤摘要】

本专利技术涉及一种串行数据传输设备及其数据传输方法,特别是关于一种基于串行外围设备接口总线的设备及其数据传输方法
技术介绍
串行外围设备接口(Serial Peripheral Interface,SPI)是一种串行同步通讯接口。利用该接口,主设备(即主机)可以与一个或多个从设备(即从机)以串行方式进行数据传输。传统的SPI总线系统基于主设备提供给从设备的串行时钟信号进行数据传输,每个串行时钟周期发送1比特数据。适当地提高串行时钟信号的频率,可以获得较高的数据传输速率。例如,当串行时钟信号频率为8MHz时,数据传输速率为8Mbps,当串行时钟信号频率提高到16MHz时,数据传输速率提高到16Mbps。然而,串行时钟信号的频率是受限的,不能任意提高。例如,为了保证信号完整性,最高串行时钟信号的频率为32MHz。相应地,传统的SPI总线系统的数据传输速率也受到了限制。例如,当最高串行时钟信号的频率为32MHz时,最高数据传输速率只能达到32Mbps。另一方面,目前绝大多数的SPI总线系统使用的是传统的SPI总线,为了与传统的SPI总线系统进行数据传输,兼容性问题不容忽视。
技术实现思路
鉴于以上内容,有必要提供一种基于串行外围设备接口(SPI)总线的设备,能够实现高速率的数据传输,并且兼容现有技术的SPI总线系统。此外,还有必要提供一种基于SPI总线的数据传输方法,能够实现高速率的数据传输,并且兼容现有技术的SPI总线系统。一种基于SPI总线的主机控制器,可以与基于SPI总线的从机控制器进行数据传输,该主机控制器包括:主机时钟产生单元,用于生成主机内部时钟;从机选择单元,用于选择与主机控制器进行数据传输的从机控制器;主机时钟分频单元,用于将主机内部时钟二分频生成串行时钟信号,并将该串行时钟信号发送给选择的从机控制器;主机时钟计数单元,用于对主机内部时钟计数;主机地址缓冲区,用于缓存发送给选择的从机控制器的目标地址;主机输出数据缓冲区,用于缓存发送给选择的从机控制器的有效数据;主机输出控制逻辑单元,用于生成读/写操作控制符,从主机地址缓冲区读取发送给选择的从机控制器的目标地址,从主机输出数据缓冲区读取发送给选择的从机控制器的有效数据,并根据主机内部时钟及主机内部时钟计数值按照指定的顺序将读/写操作控制符、目标地址以及有效数据发送给选择的从机控制器,所述读/写操作控制符用于控制选择的从机控制器执行相应的读/写操作;及主机输入控制逻辑单元,用于根据主机内部时钟及主机内部时钟计数值接收选择的从机控制器发送来的有效数据,并将接收的有效数据缓存到主机输入数据缓冲区。-->一种基于串行外围设备接口(SPI)总线的数据传输方法,用于在主机控制器与从机控制器之间进行数据传输,该方法包括步骤:主机控制器生成主机内部时钟;主机控制器选择进行数据传输的从机控制器;主机控制器将主机内部时钟二分频生成串行时钟信号,并将该串行时钟信号发送给选择的从机控制器;从机控制器将串行时钟信号二倍频生成从机内部时钟;主机控制器对主机内部时钟计数,从机控制器对从机内部时钟计数;主机控制器根据主机内部时钟计数值以及主机内部时钟按照指定的顺序发送读/写操作控制符及目标地址,从机控制器根据从机内部时钟计数值以及从机内部时钟接收该读/写操作控制符及目标地址;与写操作控制符相对应地,主机控制器根据主机内部时钟计数值以及主机内部时钟按照指定的顺序发送有效数据,从机控制器根据从机内部时钟计数值以及从机内部时钟接收有效数据并将该有效数据写入目的地址指定的存储单元,或者与读操作控制符相对应地,从机控制器从目标地址指定的存储单元读取有效数据,并根据从机内部时钟及从机内部时钟计数值将该有效数据按照指定的顺序发送给主机控制器,主机控制器根据主机内部时钟及主机内部时钟计数值接收该有效数据;及主机控制器结束对从机控制器的选择。本专利技术将主机控制器及从机控制器的内部时钟的频率加倍,利用多个控制逻辑单元协调主机控制器与从机控制器之间的数据传输,每半个串行时钟周期传输1比特数据,实现了高速率的数据传输。并且,本专利技术支持单倍速的数据传输,以兼容现有技术的SPI总线系统。附图说明图1为串行外围设备接口总线系统较佳实施例的系统架构图。图2为图1中主机控制器的细化架构图。图3为图1中从机控制器的细化架构图。图4为本专利技术基于串行外围设备接口总线的数据传输方法较佳实施例的示意图。图5是以两倍速传输数据时连续执行两次写操作的示意图。图6是以两倍速传输数据时连续执行两次读操作的示意图。图7是以两倍速传输数据时先后执行一次写操作与一次读操作的示意图。图8是以两倍速传输数据时先后执行一次读操作与一次写操作的示意图。图9是以单倍速传输数据时执行写操作的示意图。图10是以单倍速传输数据时执行读操作的示意图。具体实施方式参阅图1所示,是串行外围设备接口(Serial Peripheral Interface,SPI)总线系统较佳实施例的系统架构图。该SPI总线系统10包括主机控制器11及一个或者多个从机控制器,例如从机控制器12A-12D。主机控制器11与从机控制器12A-12D之间通过SPI总线13进行数据传输。所述SPI总线13包括串行时钟信号线14、主机输出/从机输入数据线15、主机输入/从机输出数据线16以及从机选择信号线17A-17D。所述串行时钟信号线14传输串行时钟信号(SCLK),所述主机输出/从机输入数据线15传输主机-->控制器11发送给从机控制器12A-12D的数据(MOSI),所述主机输入/从机输出数据线16传输从机控制器12A-12D发送给主机控制器11的数据(MISO),所述从机选择信号线17A-17D传输从机选择信号(/SS1-/SS4)。SPI总线系统10的工作方式包括写操作及读操作。主机控制器11拥有SPI总线控制的主动权,读、写操作都由主机控制器11发起。进行写操作时,主机控制器11将目标地址及有效数据发送给从机控制器12A-12D,从机控制器12A-12D将有效数据写入目标地址指定的存储单元。进行读操作时,主机控制器11将目标地址发送给从机控制器12A-12D,从机控制器12A-12D从目标地址指定的存储单元读取有效数据,并把有效数据返回给主机控制器11。参阅图2所示,是图1中主机控制器11的细化架构图。所述主机控制器11包括主机时钟产生单元200、从机选择单元210、主机时钟分频单元220、主机时钟计数单元230、主机地址缓冲区240、主机输出数据缓冲区250、主机输入数据缓冲区260、主机输出控制逻辑单元270及主机输入控制逻辑单元280。所述主机时钟产生单元200生成主机内部时钟,并将该主机内部时钟输出给从机选择单元210、主机时钟分频单元220、主机时钟计数单元230、主机输出控制逻辑单元270及主机输入控制逻辑单元280。主机内部时钟用于对从机选择单元210、主机时钟分频单元220、主机时钟计数单元230、主机输出控制逻辑单元270及主机输入控制逻辑单元280输出的信号进行同步。在本实施例中,主机时钟产生单元200根据外部电路(例如外部的晶振电路)提供的系统时钟生成主机内部时钟。例如,假设外部的晶振电路提供的系统时钟的频率为16本文档来自技高网...

【技术保护点】
一种基于串行外围设备接口(SPI)总线的主机控制器,可以与基于SPI总线的从机控制器进行数据传输,其特征在于,该主机控制器包括:主机时钟产生单元,用于生成主机内部时钟;从机选择单元,用于选择与主机控制器进行数据传输的从机控制器;主机时钟分频单元,用于将主机内部时钟二分频生成串行时钟信号,并将该串行时钟信号发送给选择的从机控制器;主机时钟计数单元,用于对主机内部时钟计数;主机地址缓冲区,用于缓存发送给选择的从机控制器的目标地址;主机输出数据缓冲区,用于缓存发送给选择的从机控制器的有效数据;主机输出控制逻辑单元,用于生成读/写操作控制符,从主机地址缓冲区读取发送给选择的从机控制器的目标地址,从主机输出数据缓冲区读取发送给选择的从机控制器的有效数据,并根据主机内部时钟及主机内部时钟计数值按照指定的顺序将读/写操作控制符、目标地址以及有效数据发送给选择的从机控制器,所述读/写操作控制符用于控制选择的从机控制器执行相应的读/写操作;及主机输入控制逻辑单元,用于根据主机内部时钟及主机内部时钟计数值接收选择的从机控制器发送来的有效数据,并将接收的有效数据缓存到主机输入数据缓冲区。

【技术特征摘要】
1.一种基于串行外围设备接口(SPI)总线的主机控制器,可以与基于SPI总线的从机控制器进行数据传输,其特征在于,该主机控制器包括:主机时钟产生单元,用于生成主机内部时钟;从机选择单元,用于选择与主机控制器进行数据传输的从机控制器;主机时钟分频单元,用于将主机内部时钟二分频生成串行时钟信号,并将该串行时钟信号发送给选择的从机控制器;主机时钟计数单元,用于对主机内部时钟计数;主机地址缓冲区,用于缓存发送给选择的从机控制器的目标地址;主机输出数据缓冲区,用于缓存发送给选择的从机控制器的有效数据;主机输出控制逻辑单元,用于生成读/写操作控制符,从主机地址缓冲区读取发送给选择的从机控制器的目标地址,从主机输出数据缓冲区读取发送给选择的从机控制器的有效数据,并根据主机内部时钟及主机内部时钟计数值按照指定的顺序将读/写操作控制符、目标地址以及有效数据发送给选择的从机控制器,所述读/写操作控制符用于控制选择的从机控制器执行相应的读/写操作;及主机输入控制逻辑单元,用于根据主机内部时钟及主机内部时钟计数值接收选择的从机控制器发送来的有效数据,并将接收的有效数据缓存到主机输入数据缓冲区。2.如权利要求1所述的基于SPI总线的主机控制器,其特征在于,所述主机时钟计数单元在以两倍速传输数据时每经过一个主机内部时钟周期将主机内部时钟计数值加1,在以单倍速传输数据时每经过两个主机内部时钟周期将主机内部时钟计数值加1。3.如权利要求1所述的基于SPI总线的主机控制器,其特征在于,所述主机输出控制逻辑单元采用交错传输的方式发送读/写操作控制符、目标地址以及有效数据。4.如权利要求1所述的基于SPI总线的主机控制器,其特征在于,所述从机选择单元根据主机时钟计数单元的主机内部时钟计数值判断是否数据传输完毕,若数据传输完毕,则结束对从机控制器的选择。5.一种基于串行外围设备接口(SPI)总线的从机控制器,可以与基于SPI总线的主机控制器进行数据传输,其特征在于,该从机控制器包括:从机时钟倍频单元,用于接收主机控制器发送来的串行时钟信号,将该串行时钟信号二倍频生成从机内部时钟;从机时钟计数单元,用于当主机控制器选择与该从机控制器进行数据传输时,对从机内部时钟计数;从机输入控制逻辑单元,用于根据从机内部时钟及从机内部时钟计数值接收主机控制器发送的读/写操作控制符、目标地址及有效数据,将接收的目标地址缓存到从机地址缓冲区,将接收的有效数据缓存到从机输入数据缓冲区,并根据接收的读/写操作控制符产生相应的读/写操作控制信号;从机操作控制逻辑单元,用于当收到写操作控制信号时,读取从机地址缓冲区缓存的目标地址以及从机输入数据缓冲区缓存的有效数据,并将有效数据存储到从机目标存储器的目标地址所指定的存储单元;或者当收...

【专利技术属性】
技术研发人员:黄振文
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1