首页 / 导航装置、包含该导航装置的导航系统及其运行方法

导航装置、包含该导航装置的导航系统及其运行方法公开 发明

技术领域

[0001] 本发明涉及一种使用双线接口的导航系统,更特别涉及一种在主装置与从装置之间通过相同信号线传送通信数据与动作中断(motion interrupt)的光学导航系统及其运行方法。

相关背景技术

[0002] 使用四线序列周边接口(4‑wire SPI)的从装置(slave device)通常包含主入从出接脚接脚(MISO pin)、主出从入接脚接脚(MOSI pin)、时钟接脚(SCLK pin)以及芯片致能接脚(NCS pin)。所述时钟接脚用于接收时钟信号SCLK。芯片致能接脚又称为SPI芯片选择接脚,用于接收被读取芯片的命令。
[0003] 在使用四线序列周边接口且用于检测运动的导航装置的检测芯片上,还需要多出一个接脚用于传输检测到的运动(motion),故称为motion接脚。传统上,为了降低总接脚数目,可将MISO接脚与motion接脚共享。
[0004] 请参照图1所示,其为已知四线序列周边接口中,主装置与从装置之间的信号时序图。当NCS接脚的电位为高电平时(例如NCS=1’b1),MISO/MOTION接脚用来传送动作信号;而当NCS接脚的电位为低电平时(例如NCS=1’b0),MISO/MOTION接脚用来传送SPI通信数据。
[0005] 更详言之,图1的已知方法是利用NCS接脚作为选择器,用以实现以相同接脚传送两种数据的目的。
[0006] 然而,虽然图1的方法容易实现,但其并不适用于双线序列周边接口(2‑wire SPI),因其并不具有NCS接脚,且不适用于三线序列周边接口(3‑wire SPI),因其并不具有MISO接脚。再者,从图1中可看出,在写运行(显示为写入)时,MISO/MOTION信号线完全被闲置,无法有效被利用。

具体实施方式

[0031] 本发明的目的在于提供一种在双线接口中使用同一条数据/动作信号线(例如图2中显示为SDIO/MOTION)传输SPI通信数据及动作中断的导航系统及其运行方法。本发明的从装置通过所述双线接口接收到时钟信号SCLK(例如在从装置未与主装置进行通信且时钟信号SCLK从高电平转变为低电平)时,将其数据方向转变为输出态(即从装置驱动),以当从装置检测到动作时可通过数据/动作信号线SDIO/MOTION传送动作中断传至主装置,避免另外设置动作输出线及动作接脚。
[0032] 请参照图2所示,其为本发明实施例的使用双线接口的导航系统200的方框示意图。导航系统200包含主装置21及从装置23,其通过时钟信号线25及数据/动作信号线27(两条信号线)相连接,以进行数据交换(transaction)。所述双线接口例如是双线序列周边接口(2‑wire SPI),但不限于此,其亦可为其他双线接口。
[0033] 从装置23可以是人工输入设备(human input device),例如光学导航检测装置、鼠标、键盘、游戏杆或其他种可适用SPI接口的装置,并无特定限制。因此,本发明中检测到的动作是根据从装置23的种类而定,包含检测到按键按压、装置移动、杆体拨动、旋钮转动等的用户操作。一种实施方式中,从装置23是具有多个接脚/衬垫的检测芯片,并配置于所述人工输入设备内。
[0034] 主装置21则是从装置23所连接的计算机设备,例如包括处理器、微控制单元(MCU)、桌上型计算机、笔记本电脑、工作站或其他可适用SPI接口的计算机设备,并无特定限制。根据不同应用,主装置21位于人工输入设备之内或之外。
[0035] 图2显示主装置21的核心逻辑及缓冲电路,该缓冲电路用于缓冲所述核心逻辑的信号。主装置21包含时钟信号端口211及数据/动作端口213。
[0036] 时钟信号端口211用于输出时钟信号SCLK至时钟信号线25。
[0037] 数据/动作端口(SDIO/MOTION)213用于通过数据/动作信号线27输出地址比特组(address byte)及输出/接收数据比特组(data byte),其根据写运行(write operation)或读运行(read operation)而决定。例如,当MOSI使能(例如使用使能信号,enable signal)输出入缓冲器Buf_1时,数据/动作端口213运行于主出从入(显示为MOSI_Out);而当MOSI禁能(disable)输出入缓冲器Buf_1时,数据/动作端口213运行于主入从出(显示为MISO_In);亦可相反配置。
[0038] 本发明中,数据/动作端口213还用于通过数据/动作信号线27接收动作中断(例如用于通知主装置21关于从装置23离开低耗能模式,但不限于此),其表示从装置23检测到动作。如上所述,该动作根据从装置23的种类而定。
[0039] 图2还显示从装置23的核心逻辑及缓冲电路。从装置23包含时钟信号端口231、数据/动作端口233及计数器235。
[0040] 时钟信号端口231用于通过时钟信号线25接收来自主装置21的时钟信号SCLK。计数器235用于计数时钟信号SCLK,例如当检测到时钟信号SCLK完成一次从高到低及从低到高(或一个周期),则计数值加1。
[0041] 数据/动作端口233用于通过数据/动作信号线27接收地址比特组及接收/输出数据比特组,其根据读运行或写运行而定。例如,当MISO使能(例如使用使能信号)输出入缓冲器Buf_2时,数据/动作端口233运行于主入从出(显示为MISO_Out,表示数据方向为输出态);而当MISO禁能输出入缓冲器Buf_2时,数据/动作端口233运行于主出从入(显示为MOSI_In,表示数据方向为输入态);亦可相反配置。
[0042] 本发明中,数据/动作端口233还通过数据/动作信号线27输出动作中断至主装置21。亦即,数据/动作信号线27用于传送SPI通信数据(或称交换数据)及动作中断。
[0043] 请参照图3所示,其为本发明实施例的双线接口在同步状态(或称正常状态)的运行示意图。在读运行(显示为读取)时,主装置21在8个时钟信号SCLK期间传送1比特读取要求(read request)及7比特地址(即上述地址比特组)至从装置23,然后在另外8个时钟信号SCLK期间从从装置23的移位寄存器(shift register)2351读取8比特数据(即上述数据比特组)。在写运行(显示为写入)时,主装置21在8个时钟信号SCLK期间传送1比特写入要求(write request)及7比特地址(即上述地址比特组)至从装置23,然后在另外8个时钟信号SCLK写入8比特数据(即上述数据比特组)至从装置23的移位寄存器2351。写入及读取移位寄存器2351的方式为已知且并非本发明的主要目的,故于此不予赘述。
[0044] 图3中,地址比特组与数据比特组之间的时间差(例如显示为填满斜线的区间)并无特定限制。
[0045] 换句话说,一种实施方式中,一次数据交换包含8个时钟信号SCLK的地址阶段(address phase)及8个时钟信号SCLK的数据阶段(data phase)。如前所述,双线接口的读出/写入是根据输出入缓冲器Buf_1、Buf_2的使/禁能信号决定。当移位寄存器2351具有8比特时,每个阶段(phase)包含8个时钟期间,但不限于此。
[0046] 请同时参照图2及图4,图4为本发明实施例的导航系统200在主装置21与从装置23间的双线接口共享数据/动作信号线时的信号时序图。图4中所示SD/MO(SDIO/MOTION的简写)方向表示从装置23的数据/动作端口233的数据方向,而SD/MO表示从装置23的数据/动作端口233传输的数据内容,包括动作中断、MOSI及MISO。
[0047] 一种实施方式中,主装置21例如是微处理单元,从装置23例如是光学导航检测器(或检测芯片)。主装置21与从装置23通过双线接口进行通信。
[0048] 主装置21通过双线接口的时钟信号线25发出时钟信号SCLK,并通过双线接口的数据/动作信号线27发出地址比特组及发出/接收数据比特组。
[0049] 从装置23包含时钟信号端口231、数据/动作端口233及计数器235。时钟信号端口231用于通过双线接口的时钟信号线25接收时钟信号SCLK。当时钟信号端口231未通过双线接口的时钟信号线25接收到时钟信号SCLK时(如图4的SCLK的前段及后段电压未变化的期间),数据/动作端口233的数据方向设为输出态(如图4的从装置23的SD/MO方向显示输出),以能够输出动作中断。此外,当时钟信号端口231通过双线接口的时钟信号线25接收到时钟信号SCLK时(如图4的SCLK的中间段电压发生高低变化的期间),数据/动作端口233的数据方向转为输入态(如图4的从装置23的SD/MO方向显示输入),以接收来自主装置21的地址比特组。
[0050] 一种实施方式中,从装置23的数据/动作端口233的数据方向预设为输出。如前所述,数据/动作端口233的数据方向根据MISO使/禁能信号决定。
[0051] 一种实施方式中,当所述地址比特组显示为读运行(可根据读取要求判断)时,从装置23还在计数器235计数至8后(即地址比特组传送完毕),将数据/动作端口233的数据方向转为输出(例如MISO使能Buf_2),以输出数据比特组;接着,在计数器235计数至16后(即数据比特组读取完毕),将数据/动作端口233的数据方向维持为输出(例如MISO使能Buf_2),以能够输出动作中断,如图4所示。亦即,数据/动作端口233的数据方向只有在地址阶段为输入态。
[0052] 此外,当读运行包含丛发读取数据(burst read data)时,例如输出动作数据、X位移数据、Y位移数据及设定数据等,从装置23还在计数器235计数至大于或等于16后,将数据/动作端口233的数据方向维持为输出,以能够输出动作中断。数据/动作端口233的数据方向直到数据阶段结束之后才改变,可能大于16个时钟期间。
[0053] 亦即,从装置23的数据/动作端口233的数据方向(即SD/MO方向)并不限于在接收到第16个时钟信号SCLK后即表示数据阶段结束,而可根据数据传输量相对决定。一种实施方式中,在从装置23未与主装置21进行通信且判断时钟信号SCLK从高电平转变为低电平时,判断接收到时钟信号SCLK而开始数据交换,图4显示为通信开始。
[0054] 一种实施方式中,当所述地址比特组显示为写运行(可根据写入要求判断)时,从装置23还在计数器235计数至16后(即地址比特组與数据比特组传送完毕),将数据/动作端口233的数据方向从输入态转为输出态(例如MISO使能Buf_2),以能够输出动作中断,如图4所示。
[0055] 藉此,从装置23即能够在双线接口没有进行通信时,根据时钟信号SCLK使用数据/动作信号线27传送动作中断。除了可降低最低接脚数目,也可有效利用数据/动作信号线27。
[0056] 请参照图5所示,其为本发明实施例的共享数据/动作接脚的导航系统200的运行方法的流程图,包含下列步骤:在未进行通信时,将从装置23的数据/动作端口233的数据方向设为输出,以输出动作中断(步骤S51);以及在进行所述通信时,将从装置23的数据/动作端口233的数据方向设为输入,以接收来自主装置21的地址比特组(步骤S53)。详细实施方式例如参照图2及图4。本发明中,当通讯开始时,数据/动作端口233的数据方向转为输入态至少8个时钟期间。
[0057] 如上所述,从装置23的数据/动作端口233的数据方向从输入态转回输出态的时间点则根据主装置21是进行读运行还是写运行而定。
[0058] 例如,当所述地址比特组显示为读运行(例如包含读取要求)时,所述运行方法还包含:在从装置23的计数器235计数至8后,将从装置23的数据/动作端口233的数据方向从输入态转为输出态,以输出数据比特组;以及在从装置23的计数器235计数至16后,将从装置23的数据/动作端口233的数据方向维持为输出态,以能够输出动作中断。
[0059] 例如,当所述地址比特组显示为写运行(例如包含写入要求)时,所述运行方法还包含:在从装置23的计数器235计数至16后,将从装置23的数据/动作端口233的数据方向从输入态转为输出态,以能够输出动作中断。
[0060] 可以了解的是,当从装置23的数据/动作端口233的数据方向设为输出态时,主装置21的数据/动作端口213的数据方向相对地设为输入(例如MOSI禁能Buf_1)以能够从从装置23接收动作中断。
[0061] 本发明实施例中,主装置21包含第一处理器,例如微处理单元(MCU)或中央处理器(CPU)以硬件、软件和/或固件执行其运行,例如核心逻辑及缓冲电路包含于所述第一处理器;从装置23包含第二处理器,例如数字处理器(DSP)、特定用户集成电路(ASIC)、可程序化逻辑门阵列(FPGA)以硬件、软件和/或固件执行其运行,例如核心逻辑及缓冲电路包含于所述第二处理器。
[0062] 必须说明的是,本发明说明中的数值仅用于说明,并非用于限定本发明。
[0063] 必须说明的是,虽然上述实施例是以双线序列周边接口为例进行说明,但本发明并不限于此。本发明实施例的接脚分享技术亦适用于三线序列周边接口,其同样可根据SCLK信号决定SDIO/MOTION接脚的传输内容而不是根据NCS接脚的电压。
[0064] 综上所述,已知的四线序列周边接口虽然可通过将动作接脚并入MISO接脚并根据NCS接脚的电压来决定数据内容,藉此来降低最小接脚数目,但其无法应用于三线序列周边接口或双序列周边线接口,且MISO信号线的利用率并没有最大化。因此,本发明另提供一种适用于双线接口的接脚共享的导航装置及包含该导航装置的导航系统(参照图2)及其运行方法(参照图4至图5)。本发明中,使用时钟信号SCLK作为模式选择器,以在不同模式(例如包含SPI通信数据传输模式及非SPI通信传输模式)下使SDIO/MOTION信号线传输不同类型的信号/数据,以达成降低最小接脚数目的目的。
[0065] 虽然本发明已通过前述实例披露,但是其并非用以限定本发明,任何本发明所属技术领域中具有通常知识技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与修改。因此本发明的保护范围当视后附的权利要求所界定的范围为准。

当前第1页 第1页 第2页 第3页