检测方法及检测装置与流程
未命名
10-09
阅读:123
评论:0
1.本发明是有关于一种检测方法以及检测装置,特别是有关于一种判断通信协议为uart、i2c总线以及spi的一者的检测方法以及检测装置。
背景技术:
2.由于目前需要事先决定好微控制器(microcontroller unit,mcu)所使用的传输接口(如,i2c、spi或uart),才能够将对应已决定的传输接口的系统可编程设计(in-system programming,isp)的程序代码通过已决定好的传输接口烧录至ldrom,并且等待使用者使用该已决定的接口的引脚而将数据更新至aprom。
3.若是微控制器能够对应各种不同的传输接口(如,i2c、spi以及uart),这样就需准备对应各种不同传输接口的系统可编程设计的程序代码(isp code)。如果微控制器的引脚不对或ldrom所烧录的程序代码不符,则无法进行更新aprom。为了避免发生ldrom烧录的程序代码与传输接口不符的情况,微控制器有必要自行判断与外部装置的通信协议。
技术实现要素:
4.有鉴于此,本发明提出一种检测方法,适用于一串行通信接口,用以检测上述串行通信接口以及一外部装置之间的一通信协议。上述通信协议包括一通用非同步收发传输器、一i2c总线以及一串行外设接口,上述串行通信接口包括一第一引脚以及一第二引脚,上述通用非同步收发传输器的一传送线、上述i2c总线的一串行时钟线以及上述串行外设接口的一装置选择线共用的上述第一引脚,上述通用非同步收发传输器的一接收线、上述i2c总线的一串行数据线以及上述串行外设接口的一时钟线共用的上述第二引脚。上述检测方法包括根据上述第一引脚以及上述第二引脚的信号边缘,判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者。
5.根据本发明的一实施例,上述根据上述第一引脚以及上述第二引脚的信号边缘判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行通信接口的一者的步骤更包括在上述第二引脚的信号发生切换之前,判断上述第一引脚是否具有一信号边缘;以及当判断上述第一引脚具有上述信号边缘时,判断上述通信协议为上述串行外设接口。
6.根据本发明是一实施例,上述根据上述第一引脚以及上述第二引脚的信号边缘判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者的步骤更包括当判断上述第一引脚不具有上述信号边缘时,计数上述第二引脚的信号边缘的一数目;当上述数目大于一既定数量时,判断上述第一引脚的信号是否发生切换;以及当判断上述第一引脚的信号发生切换时,判断上述通信协议为上述i2c总线。
7.根据本发明的一实施例,上述根据上述第一引脚以及上述第二引脚的信号边缘判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者的步骤更包括当上述数目大于上述既定数量且判断上述第一引脚的信号并未发生切换
时,判断上述通信协议为上述通用非同步收发传输器。
8.根据本发明的一实施例,上述串行通信接口通过上述第一引脚及/或上述第二引脚自上述外部装置接收一数据信号,其中上述数据信号为0x55。
9.根据本发明的一实施例,上述既定数量为4。
10.根据本发明的一实施例,上述检测方法更包括当判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者时,根据上述通信协议设定上述串行通信接口。
11.本发明更提出一种检测装置,耦接至一串行通信接口,用以检测上述串行通信接口以及一外部装置之间的一通信协议。上述通信协议包括一通用非同步收发传输器、一i2c总线以及一串行外设接口,上述串行通信接口包括耦接至上述外部装置的一第一引脚以及一第二引脚。上述通用非同步收发传输器的一传送线、上述i2c总线的一串行时钟线以及上述串行外设接口的一装置选择线共用的上述第一引脚,上述通用非同步收发传输器的一接收线、上述i2c总线的一串行数据线以及上述串行外设接口的一时钟线共用的上述第二引脚。上述检测装置包括一正反器、一比较器、一第一多工器、一第二多工器、一加法器以及一第三多工器。上述正反器暂存上述第一引脚接收的一第一接收信号且将上述第一接收信号输出为一第一内部信号。上述比较器比较上述第一接收信号以及上述第一内部信号,产生一比较信号。上述第一多工器根据一边缘检测信号,将上述比较信号以及一第一逻辑电平的一者输出为一第二内部信号。上述第二多工器根据一状态信号,将上述第一逻辑电平以及上述第二内部信号的一者输出为一第三内部信号。上述加法器根据上述第三内部信号,将一累加信号加1。上述第三多工器根据上述状态信号,将上述累加信号以及一第二逻辑电平的一者输出为一判断信号。上述串行通信接口根据上述判断信号,判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者。
12.根据本发明的一实施例,上述检测装置更包括一边缘检测器。上述边缘检测器由上述状态信号所致能,用以检测上述第一接收信号的信号边缘而产生上述边缘检测信号。
13.根据本发明的一实施例,当上述边缘检测器检测到上述第一接收信号的信号边缘时,上述第一多工器输出的上述第二内部信号为上述第一逻辑电平,上述第二多工器根据上述状态信号而输出为上述第一逻辑电平的上述第三内部信号,上述加法器根据为上述第一逻辑电平的上述第三内部信号而将上述累加信号加1。
14.根据本发明的一实施例,上述检测装置更包括一计数器、一第四多工器以及一第五多工器。上述计数器计数上述第二引脚接收的一第二接收信号的信号边缘的一数目,而产生一计数信号。上述第四多工器根据上述计数信号,将上述第一逻辑电平以及一第三逻辑电平的一者输出为一第四内部信号。上述第五多工器根据一重置信号,将上述第二逻辑电平以及上述第四内部信号的一者输出为上述状态信号。
15.根据本发明的一实施例,当上述计数器根据上述重置信号而重置时,上述第四多工器输出的上述第四内部信号为上述第一逻辑电平,且上述第五多工器输出的上述状态信号为上述第二逻辑电平。当上述边缘检测器根据上述重置信号而重置时,上述第一多工器输出的上述第二内部信号为上述比较信号。
16.根据本发明的一实施例,当上述计数器以及上述边缘检测器根据上述重置信号而重置时,上述第二多工器根据为上述第二逻辑电平准的上述状态信号将上述第一逻辑电平
输出为上述第三内部信号,使得上述累加信号的初始值设定为1。上述第三多工器根据上述状态信号而将上述第二逻辑电平输出为上述判断信号。
17.根据本发明的一实施例,当上述计数器开始计数上述数目时,上述正反器根据上述第二接收信号的信号边缘而暂存上述第一接收信号且输出为上述第一内部信号。当上述比较器判断上述第一接收信号以及上述第一内部信号不同时,上述比较信号为上述第一逻辑电平。上述第一多工器以及上述第二多工器将为上述第一逻辑电平的上述比较信号提供至上述加法器以将上述累加信号加1。
18.根据本发明的一实施例,当上述数目不小于一既定数量时,上述计数器产生的上述计数信号为上述第一逻辑电平,上述第四多工器根据为上述第一逻辑电平的上述计数信号而输出为上述第三逻辑电平的上述第四内部信号。上述第三多工器根据为上述第三逻辑电平的上述第四内部信号,而将上述累加信号输出为上述判断信号。
19.根据本发明的一实施例,上述既定数量为4。
20.根据本发明的一实施例,当上述判断信号为1时,上述串行通信接口根据上述判断信号判断上述通信协议为上述通用非同步收发传输器。当上述判断信号为2时,上述串行通信接口判断上述通信协议为上述串行外设接口。当上述判断信号是大于2时,上述串行通信接口根据上述判断信号判断上述通信协议为上述i2c总线。
21.根据本发明的一实施例,当上述判断信号为0时,上述串行通信接口根据上述判断信号判断上述检测装置尚未完成检测。
22.根据本发明的一实施例,上述检测装置更包括一暂存器。上述暂存器用以暂存上述累加信号。
23.根据本发明的一实施例,上述串行通信接口通过上述第一引脚及/或上述第二引脚自上述外部装置接收一数据信号,其中上述数据信号为0x55。
24.本发明可以用同一个程序来取代需要对应不同通信协议的程序的更新,有助于降低ldrom所烧录的程序与串行通信接口不符的可能性。
附图说明
25.图1位根据本发明的一实施例所述的微处理器的方块图;
26.图2为根据本发明的一实施例所述的非同步收发传输器的信号图;
27.图3为根据本发明的一实施例所述的i2c总线的信号图;
28.图4为根据本发明是一实施例所述的串行外设接口的信号图;
29.图5为根据本发明的一实施例所述的检测方法的流程图;
30.图6为根据本发明的一实施例所述的检测装置的方块图;以及
31.图7为根据本发明的另一实施例所述的检测方法的流程图。
32.附图标号:
33.100:微控制器
34.110:处理器
35.120:快闪式存储器
36.130:随机存取存储器
37.140:串行通信接口
38.10:外部装置
39.500,700:检测方法
40.150,600:检测装置
41.610:正反器
42.620:比较器
43.630:加法器
44.640:暂存器
45.650:边缘检测器
46.660:计数器
47.ip1:第一功能单元
48.ipn:第n功能单元
49.en:致能信号
50.sdt:判断信号
51.tx:传送线
52.rx:接收线
53.sd:数据信号
54.h:高逻辑电平
55.sda:串行数据线
56.scl:串行时钟线
57.clk:时钟信号
58.s:起始状态
59.ss:装置选择线
60.sck:时钟线
61.mosi:主出从入线
62.miso:主入从出线
63.mux1:第一多工器
64.mux2:第二多工器
65.mux3:第三多工器
66.mux4:第四多工器
67.mux5:第五多工器
68.d:输入端
69.q:输出端
70.c:时钟端
71.pin1:第一引脚
72.pin2:第二引脚
73.sr1:第一接收信号
74.sr2:第二接收信号
75.si1:第一内部信号
76.si2:第二内部信号
77.si3:第三内部信号
78.si4:第四内部信号
79.start:起始信号
80.lsb:最低有效位
81.msb:最高有效位
82.stop:停止信号
83.sa:累加信号
84.sc:比较信号
85.se:边缘检测信号
86.st:状态信号
87.rst:重置信号
88.cnt:计数信号
89.l1:第一逻辑电平
90.l2:第二逻辑电平
91.l3:第三逻辑电平
92.s510~s570,s710~s770:步骤流程
具体实施方式
93.以下说明为本发明的实施例。其目的是要举例说明本发明一般性的原则,不应视为本发明的限制,本发明的范围当以申请专利范围所界定者为准。
94.能理解的是,虽然在此可使用用语“第一”、“第二”、“第三”等来叙述各种元件、组成成分、区域、层、及/或部分,这些元件、组成成分、区域、层、及/或部分不应被这些用语限定,且这些用语仅是用来区别不同的元件、组成成分、区域、层、及/或部分。因此,以下讨论的一第一元件、组成成分、区域、层、及/或部分可在不偏离本揭露一些实施例的教示的情况下被称为一第二元件、组成成分、区域、层、及/或部分。
95.值得注意的是,以下所揭露的内容可提供多个用以实践本发明的不同特点的实施例或范例。以下所述的特殊的元件范例与安排仅用以简单扼要地阐述本发明的精神,并非用以限定本发明的范围。此外,以下说明书可能在多个范例中重复使用相同的元件符号或文字。然而,重复使用的目的仅为了提供简化并清楚的说明,并非用以限定多个以下所讨论的实施例以及/或配置之间的关系。此外,以下说明书所述的一个特征连接至、耦接至以及/或形成于另一特征的上等的描述,实际可包含多个不同的实施例,包括该等特征直接接触,或者包含其它额外的特征形成于该等特征之间等等,使得该等特征并非直接接触。
96.图1为根据本发明的一实施例所述的微处理器的方块图。如图1所示,微控制器100包括处理器110、快闪式存储器120、随机存取存储器130、串行通信接口(serial communication interface)140、第一功能单元ip1
…
以及第n功能单元ipn,其中处理器110、快闪式存储器120、随机存取存储器130、串行通信接口140、第一功能单元ip1
…
以及第n功能单元ipn是通过总线bus相互沟通。根据本发明的一实施例,快闪式存储器120包括ldrom以及aprom。根据本发明的一些实施例,第一功能单元ip1
…
以及第n功能单元ipn用以执行特定的功能。
97.如图1所示,串行通信接口140包括第一引脚pin1以及第二引脚pin2。微控制器100是通过第一引脚pin1以及第二引脚pin2,基于特定的通信协议(protocol)而与外部装置10进行沟通。根据本发明的一些实施例,通信协议包括通用非同步收发传输器(universal asynchronous receiver/transmitter,uart)、i2c总线(inter-integrated circuit bus,i2c bus)以及串行外设接口(serial peripheral interface bus,spi)。
98.如图1所示,微控制器100更包括检测装置150。串行通信接口140利用致能(enable)信号en,致能检测装置150,使得检测装置150根据第一引脚pin1以及第二引脚pin2所接收的信号,判断外部装置10所使用的通信协议。当检测装置150判断通信协议为非同步收发传输器、i2c总线以及串行外设接口的一者时,检测装置150发出判断信号sdt以通知串行通信接口140调整设定。下文中将详细说明检测装置150如何根据第一引脚pin1以及第二引脚pin2的信号,而判断外部装置10所使用的通信协议。
99.图2为根据本发明的一实施例所述的非同步收发传输器的信号图。非同步收发传输器包括传送线tx以及接收线rx。根据本发明的一实施例,当检测装置150检测外部装置10与微控制器100之间的通信协议是以非同步收发传输器进行通信时,外部装置10通过接收线rx传送数据信号sd至微控制器100,并且传送线tx维持在高逻辑电平h。
100.如图2所示,当外部装置10通过接收线rx传送数据信号sd时,外部装置10会先于接收线rx产生低逻辑电平的起始信号start,并且依据最低有效位lsb至最高有效位msb的顺序发送八位的数据信号sd。当数据信号sd传送完成后,外部装置10会于接收线rx产生两个高逻辑电平的停止信号stop。根据本发明的一些实施例,图2的数据信号sd是用以说明解释之用,并未以任何形式限定于此。
101.图3为根据本发明的一实施例所述的i2c总线的信号图。根据本发明的一实施例,当检测装置150检测外部装置10与微控制器100之间的通信协议且外部装置10与微控制器100是以i2c总线进行通信时,外部装置10通过串行数据线sda传送数据信号sd至微控制器100,通过串行时钟线(clock line)scl传送时钟信号clk至微控制器100。换句话说,当外部装置10通过串行数据线sda传送数据信号sd至微控制器100时,外部装置10同时通过串行时钟线scl传送时钟信号clk至微控制器100。
102.如图3所示,在起始状态s中,串行数据线sda的信号发生切换,而串行时钟线scl维持在高逻辑电平h。换句话说,在起始状态s中,串行数据线sda的信号先于串行时钟线scl发生切换。
103.图4为根据本发明的一实施例所述的串行外设接口的信号图。根据本发明的一实施例,当检测装置150检测外部装置10与微控制器100之间的通信协议且外部装置10与微控制器100是以串行外设接口时,外部装置10利用装置选择线ss选取微控制器100,利用时钟线sck传送时钟信号clk至微控制器100,利用主出从入线mosi传送数据信号sd至微控制器100,并且主入从出线miso维持高阻抗状态。根据本发明的一实施例,如图4所示,当装置选择线ss为低逻辑电平时,外部装置10选取微控制器100进行通信。
104.为了使检测装置150得以判断外部装置10与微控制器100之间的通信协议,第一引脚pin1以及第二引脚pin2于通用非同步收发传输器、i2c总线以及串行外设接口的定义是如表1所示。换句话说,第一引脚pin1是定义为非同步收发传输器的传送线tx、i2c总线的串行时钟线scl以及串行外设接口的装置选择线ss,第二引脚pin2是定义为非同步收发传输
器的接收线rx、i2c总线的串行数据线sda以及串行外设接口的时钟线sck。
105.表1
[0106] pin1pin2非同步收发传输器(uart)txrxi2c总线sclsda串行外设接口(spi)sssck
[0107]
图5为根据本发明的一实施例所述的检测方法的流程图。以下针对图5的检测方法500的说明,将搭配图1以利详细说明。
[0108]
当图1的检测装置150执行检测方法500时,串行通信接口140自外部装置10接收数据信号sd。根据本发明的一实施例,数据信号sd为0x55。首先,在第二引脚pin2的信号发生切换之前,检测装置150判断第一引脚pin1是否具有信号边缘(signal edges)(步骤s510)。当判断在第二引脚pin2的信号发生切换之前第一引脚pin具有信号边缘时,判断外部装置10的通信协议为串行外设接口(步骤s520)。
[0109]
如图2所示,当外部装置10利用非同步收发传输器的通信协议传送数据信号sd至串行通信接口140时,由于第一引脚pin1是定义为非同步收发传输器的传送线tx(如表1所示),第一引脚pin是维持高逻辑电平。换句话说,若通信协议为非同步收发传输器的通信协议的话,检测装置150无法在第一引脚pin1上检测到信号边缘。
[0110]
如图3所示,当外部装置10利用i2c总线传送数据信号sd至串行通信接口140时,由于第一引脚pin1是定义为i2c总线的串行时钟线scl(如表1所示)且串行数据线sda(对应至第二引脚pin2)的信号先于串行时钟线scl(对应至第一引脚pin1)发生切换。换句话说,若通信协议为i2c总线的话,检测装置150无法在第二引脚pin2的信号发生切换之前于第一引脚pin1上检测到信号边缘。
[0111]
如图4所示,当外部装置10利用串行外设接口传送数据信号sd至串行通信接口140时,第一引脚pin1是定义为串行外设接口的装置选择线ss(如表1所示),且在第二引脚pin2(对应至时钟线sck)开始传输时钟信号clk之前,装置选择线ss(对应至第一引脚pin1)是由高逻辑电平切换至低逻辑电平。因此,当在步骤s510中判断在第二引脚pin2的信号发生切换之前第一引脚pin1即具有信号边缘时,代表外部装置10的通信协议为串行外设接口。
[0112]
回到步骤s510,当判断在第二引脚pin2的信号发生切换之前第一引脚pin1不具有信号边缘时,检测装置150判断第二引脚pin2的信号边缘是否超过既定数量(步骤s530)。根据本发明的一实施例,数据信号sd为0x55,既定数量为4。当在步骤s530中判断第二引脚pin2的信号边缘不超过既定数量时,重复执行步骤s530。当在步骤s530判断第二引脚pin2的信号边缘超过既定数量时,检测装置150再次判断第一引脚pin1的信号是否生切换(步骤s540)。
[0113]
当在步骤s540中判断第一引脚pin1的信号发生切换时,检测装置150判断外部装置10的通信协为i2c总线(步骤s550)。当在步骤s540中判断第一引脚pin1的信号并未发生切换时,检测装置150判断外部装置10的通信协议为非同步收发传输器(步骤s560)。当判断通讯协议是为通用非同步收发传输器、i2c总线以及串行周边接口之一者时,检测装置150根据所判定的通信协议,设定串行通信接口140(步骤s570)。
[0114]
如表1所示,第一引脚pin1是定义为非同步收发传输器的传送线tx以及i2c总线的
串行时钟线scl,其中串行外设接口是于步骤s510排除。如图2所示,当外部装置10传送数据信号sd时,非同步收发传输器的传送线tx持续为高逻辑电平h。如图3所示,当外部装置10传送数据信号sd时,i2c总线的串行时钟线scl(第一引脚pin1)同时传输时钟信号clk。因此,当第二引脚pin2的信号边缘超过既定数量后,根据第一引脚pin1的信号是否依然发生切换,即可判断通信协议为非同步收发传输器或i2c总线。
[0115]
图6为根据本发明的一实施例所述的检测装置的方块图。根据本发明的一实施例,图6的检测装置600是对应图1的检测装置150。如图6所示,检测装置600包括正反器610、比较器620、第一多工器mux1、第二多工器mux2、加法器630、暂存器640以及第三多工器mux3。
[0116]
正反器610包括输入端d、输出端q以及时钟端c,其中输入端d接收第一引脚pin1所接收的第一接收信号sr1,输出端q输出第一内部信号si1,时钟端c接收第二引脚pin2所接收的第二接收信号sr2。根据本发明的一实施例,正反器610根据时钟端c所接收的第二接收信号sr2的信号边缘,暂存第一接收信号sr1且将第一接收信号sr1输出为第一内部信号si1。
[0117]
比较器620用以比较第一接收信号sr1以及第一内部信号si1是否相同,而产生比较信号sc。根据本发明的一实施例,当第一接收信号sr1以及第一内部信号si1为相同时,代表第一引脚pin1接收的第一接收信号sr1并未发生切换,因此比较器620输出的比较信号sc为逻辑”0”。根据本发明的另一实施例,当第一接收信号sr1以及第一内部信号si1为不同时,代表第一引脚pin1接收的第一接收信号sr1发生切换,因此比较器620输出的比较信号sc为逻辑“1”。
[0118]
第一多工器mux1根据边缘检测信号se,而将比较信号sc以及第一逻辑电平l1的一者输出为第二内部信号si2。第二多工器mux2根据状态信号st,将第一逻辑电平l1以及第二内部信号si2的一者输出为第三内部信号si3。加法器630根据第三内部信号si3,将累加信号sa加1。暂存器640用以储存累加信号sa。
[0119]
第三多工器mux3根据状态信号st,将累加信号sa以及第二逻辑电平l2的一者输出为判断信号sdt。根据本发明的一实施例,图1的串行通信接口140基于判断信号sdt的状态,判断通信协议为通用非同步收发传输器、i2c总线以及串行外设接口的一者。
[0120]
如图6所示,检测装置600更包括边缘检测器650。边缘检测器650是由状态信号st的反相所致能且由重置信号rst所重置,其中边缘检测器650用以检测第一接收信号sr1的信号边缘而产生边缘检测信号se。换句话说,边缘检测器650用以检测第一接收信号sr1是否发生切换,而产生边缘检测信号se。根据本发明的一实施例,重置信号rst是对应至图1的致能信号en。
[0121]
根据本发明的一实施例,当边缘检测器650检测到第一接收信号sr1的信号边缘时,第一多工器mux1输出的第二内部信号si2为第一逻辑电平l1,第二多工器mux2输出的第三内部信号si3为第一逻辑电平l1,加法器630根据为第一逻辑电平l1的第三内部信号si3而将累加信号sa加1。
[0122]
如图6所示,检测装置600更包括计数器660、第四多工器mux4以及第五多工器mux5。计数器660被重置信号rst所重置,且计数第二引脚pin2接收的第二接收信号sr2的信号边缘的数目而产生计数信号cnt。第四多工器mux4根据计数信号cnt,将第一逻辑电平l1以及第三逻辑电平l3的一者输出为第四内部信号si4。第五多工器mux5根据重置信号rst,
的比较信号sc提供至加法器630,使得累加信号sa维持不变。根据本发明的另一实施例,当第一接收信号sr1以及第一内部信号si1为不同时,比较器620输出的比较信号sc为逻辑”1”,第一多工器mux1以及第二多工器mux2将为逻辑”1”的比较信号sc提供至加法器630,使得累加信号sa加1。
[0132]
回到图7,当步骤s740判断为否或步骤s750结束后,检测装置600更判断第二引脚pin2接收的第二接收信号sr2的信号边缘的数目是否超过既定数量(步骤s760)。当判断第二接收信号sr2的信号边缘的数目超过既定数量时,检测装置600将累加信号sa输出为判断信号sdt(步骤s770)。当判断第二接收信号sr2的信号边缘的数目不超过既定数量时,检测装置600重复执行步骤s760。
[0133]
如图6所示,计数器660用以计数第二引脚pin2接收的第二接收信号sr2的信号边缘的数目。当第二接收信号sr2的信号边缘的数目不小于既定数量时,计数信号cnt为逻辑”1”,使得第四多工器mux4根据为逻辑”1”的计数信号cnt,将第三逻辑电平l3(即,逻辑”2”)输出为第四内部信号si4,第五多工器mux5也将为第三逻辑电平l3(即,逻辑”2”)的第四内部信号si4输出为状态信号st。第三多工器mux3根据为逻辑”2”的状态信号st,将累加信号sa输出为判断信号sdt。根据本发明的一实施例,既定数量为4。根据本发明的一些实施例,既定数量是随着数据信号sd而改变。
[0134]
接着,图1的串行通信接口140根据判断信号sdt,判断外部装置10的通信协议为通用非同步收发传输器、i2c总线以及串行外设接口的一者。通信协议与判断信号sdt的数值的对应关系,是如表2所示。
[0135]
表2
[0136]
判断信号sdt通信协议0未完成检测方法1通用非同步收发传输器(uart)2i2c总线》2串行外设接口(spi)
[0137]
根据本发明的一实施例,由于累加信号sa的初始值为1,并且当通信协议为通用非同步收发传输器时耦接至传送线tx的第一引脚pin1是维持为高逻辑电平h(如图2所示)。当判断信号sd为1时,代表累加信号sa在执行检测方法700的过程中未曾改变,因此串行通信接口140根据判断信号sdt等于1而判断通信协议为通用非同步收发传输器。
[0138]
根据本发明的另一实施例,当通信协议为串行外设接口时,第一引脚pin1是定义为装置选择线ss。如图4所示,装置选择线ss是于时钟线sck开始传输时钟信号clk之前发生切换,并且从此再无任何改变。如上所述,当通信协议为串行外设接口时,累加信号sa是于步骤s730加1,加上累加信号sa的初始值为1。因此,串行通信接口140根据判断信号sdt等于2,判断通信协议为串行外设接口。
[0139]
根据本发明的又一实施例,当通信协议为i2c总线时,由于第一引脚pin1定义为串行时钟线scl(如图3所示),因此累加信号sa在步骤s750中会不断加1,直到状态信号st为第三逻辑电平l3为止。因此,串行通信接口140根据判断信号sdt大于2,判断通信协议为i2c总线。根据本发明的又一实施例,当判断信号sdt为0时,代表检测方法700尚未完成。
[0140]
本发明在此提出检测外部装置的通信协议的检测装置以及检测方法。当微控制器
可同时支援通用非同步收发传输器、i2c总线以及串行外设接口,本发明所提出的检测装置以及检测方法可检测外部装置的通信协议为通用非同步收发传输器、i2c总线以及串行外设接口的一者,串行通信接口再根据检测到的通信协议调整设定,再搭配原有的更新流程,即可以用同一个程序来取代需要对应不同通信协议的程序的更新,有助于降低ldrom所烧录的程序与串行通信接口不符的可能性。
[0141]
虽然本揭露的实施例及其优点已揭露如上,但应该了解的是,任何所属技术领域的技术人员,在不脱离本揭露的精神和范围内,当可作更动、替代与润饰。此外,本揭露的保护范围并未局限于说明书内所述特定实施例中的工艺、机器、制造、物质组成、装置、方法及步骤,任何所属技术领域中的技术人员可从本揭露一些实施例的揭示内容中理解现行或未来所发展出的工艺、机器、制造、物质组成、装置、方法及步骤,只要可以在此处所述实施例中实施大抵相同功能或获得大抵相同结果皆可根据本揭露一些实施例使用。因此,本揭露的保护范围包括上述工艺、机器、制造、物质组成、装置、方法及步骤。另外,每一申请专利范围构成个别的实施例,且本揭露的保护范围也包括各个申请专利权利要求范围及实施例的组合。
技术特征:
1.一种检测方法,其特征在于,适用于一串行通信接口,用以检测上述串行通信接口以及一外部装置之间的一通信协议,其中上述通信协议包括一通用非同步收发传输器、一i2c总线以及一串行外设接口,其中上述串行通信接口包括一第一引脚以及一第二引脚,上述通用非同步收发传输器的一传送线、上述i2c总线的一串行时钟线以及上述串行外设接口的一装置选择线共用的上述第一引脚,上述通用非同步收发传输器的一接收线、上述i2c总线的一串行数据线以及上述串行外设接口的一时钟线共用的上述第二引脚,上述检测方法包括:根据上述第一引脚以及上述第二引脚的信号边缘,判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者。2.如权利要求1所述的检测方法,其特征在于,上述根据上述第一引脚以及上述第二引脚的信号边缘判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者的步骤更包括:在上述第二引脚的信号发生切换之前,判断上述第一引脚是否具有一信号边缘;以及当判断上述第一引脚具有上述信号边缘时,判断上述通信协议为上述串行外设接口。3.如权利要求2所述的检测方法,其特征在于,上述根据上述第一引脚以及上述第二引脚的信号边缘判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者的步骤更包括:当判断上述第一引脚不具有上述信号边缘时,计数上述第二引脚的信号边缘的一数目;当上述数目大于一既定数量时,判断上述第一引脚的信号是否发生切换;以及当判断上述第一引脚的信号发生切换时,判断上述通信协议为上述i2c总线。4.如权利要求3所述的检测方法,其特征在于,上述根据上述第一引脚以及上述第二引脚的信号边缘判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者的步骤更包括:当上述数目大于上述既定数量且判断上述第一引脚的信号并未发生切换时,判断上述通信协议为上述通用非同步收发传输器。5.如权利要求3所述的检测方法,其特征在于,上述串行通信接口通过上述第一引脚及/或上述第二引脚自上述外部装置接收一数据信号,其中上述数据信号为0x55。6.一种检测装置,其特征在于,耦接至一串行通信接口,用以检测上述串行通信接口以及一外部装置之间的一通信协议,其中上述通信协议包括一通用非同步收发传输器、一i2c总线以及一串行外设接口,其中上述串行通信接口包括耦接至上述外部装置的一第一引脚以及一第二引脚,上述通用非同步收发传输器的一传送线、上述i2c总线的一串行时钟线以及上述串行外设接口的一装置选择线共用的上述第一引脚,上述通用非同步收发传输器的一接收线、上述i2c总线的一串行数据线以及上述串行外设接口的一时钟线共用的上述第二引脚,上述检测装置包括:一正反器,暂存上述第一引脚接收的一第一接收信号且将上述第一接收信号输出为一第一内部信号;一比较器,比较上述第一接收信号以及上述第一内部信号,产生一比较信号;一第一多工器,根据一边缘检测信号,将上述比较信号以及一第一逻辑电平的一者输
出为一第二内部信号;一第二多工器,根据一状态信号,将上述第一逻辑电平以及上述第二内部信号的一者输出为一第三内部信号;一加法器,根据上述第三内部信号,将一累加信号加1;以及一第三多工器,根据上述状态信号,将上述累加信号以及一第二逻辑电平的一者输出为一判断信号,其中上述串行通信接口根据上述判断信号,判断上述通信协议为上述通用非同步收发传输器、上述i2c总线以及上述串行外设接口的一者。7.如权利要求6所述的检测装置,其特征在于,更包括:一边缘检测器,由上述状态信号所致能,用以检测上述第一接收信号的信号边缘而产生上述边缘检测信号,其中当上述边缘检测器检测到上述第一接收信号的信号边缘时,上述第一多工器输出的上述第二内部信号为上述第一逻辑电平,上述第二多工器根据上述状态信号而输出为上述第一逻辑电平的上述第三内部信号,上述加法器根据为上述第一逻辑电平的上述第三内部信号而将上述累加信号加1。8.如权利要求7所述的检测装置,其特征在于,更包括:一计数器,计数上述第二引脚接收的一第二接收信号的信号边缘的一数目而产生一计数信号;一第四多工器,根据上述计数信号,将上述第一逻辑电平以及一第三逻辑电平的一者输出为一第四内部信号;以及一第五多工器,根据一重置信号,将上述第二逻辑电平以及上述第四内部信号的一者输出为上述状态信号。9.如权利要求8所述的检测装置,其特征在于,当上述计数器开始计数上述数目时,上述正反器根据上述第二接收信号的信号边缘而暂存上述第一接收信号且输出为上述第一内部信号,其中当上述比较器判断上述第一接收信号以及上述第一内部信号不同时,上述比较信号为上述第一逻辑电平,其中上述第一多工器以及上述第二多工器将为上述第一逻辑电平的上述比较信号提供至上述加法器以将上述累加信号加1。10.如权利要求8所述的检测装置,其特征在于,当上述判断信号为1时,上述串行通信接口根据上述判断信号判断上述通信协议为上述通用非同步收发传输器,其中当上述判断信号为2时,上述串行通信接口判断上述通信协议为上述串行外设接口,其中当上述判断信号是大于2时,上述串行通信接口根据上述判断信号判断上述通信协议为上述i2c总线。11.如权利要求8所述的检测装置,其特征在于,当上述判断信号为0时,上述串行通信接口根据上述判断信号判断上述检测装置尚未完成检测。12.如权利要求6所述的检测装置,其特征在于,上述串行通信接口通过上述第一引脚及/或上述第二引脚自上述外部装置接收一数据信号,其中上述数据信号为0x55。
技术总结
本发明提供一种检测方法及检测装置,该检测方法用以检测串行通信接口以及外部装置之间的通信协议。通信协议包括UART、I2C总线以及SPI,串行通信接口包括UART的传送线、I2C总线的串行时钟线以及SPI的装置选择线共用的第一引脚以及UART的接收线、I2C总线的串行数据线以及SPI的时钟线共用的第二引脚。根据第一引脚以及第二引脚的信号边缘判断通信协议为UART、I2C总线以及SPI的一者。本发明可以用同一个程序来取代需要对应不同通信协议的程序的更新,有助于降低LDROM所烧录的程序与串行通信接口不符的可能性。通信接口不符的可能性。通信接口不符的可能性。
技术研发人员:黄国贞
受保护的技术使用者:新唐科技股份有限公司
技术研发日:2022.07.21
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
