CN117093524A - 采用单路spi接收多个ssi接口编码器的系统及数据接收方法 - Google Patents
采用单路spi接收多个ssi接口编码器的系统及数据接收方法 Download PDFInfo
- Publication number
- CN117093524A CN117093524A CN202311043777.1A CN202311043777A CN117093524A CN 117093524 A CN117093524 A CN 117093524A CN 202311043777 A CN202311043777 A CN 202311043777A CN 117093524 A CN117093524 A CN 117093524A
- Authority
- CN
- China
- Prior art keywords
- interface
- spi
- data
- receiving
- ssi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000001360 synchronised effect Effects 0.000 claims abstract description 24
- 238000004891 communication Methods 0.000 claims abstract description 9
- 235000015429 Mirabilis expansa Nutrition 0.000 claims description 4
- 244000294411 Mirabilis expansa Species 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 235000013536 miso Nutrition 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 101000879635 Streptomyces albogriseolus Subtilisin inhibitor Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了采用单路SPI接收多个SSI接口编码器的系统及数据接收方法,其系统包括微控制器、SSI接口编码器、RS‑422串行数据收发器及多路复用器;所述微控制器用于提供SPI通信接口,生成同步脉冲信号CLK+和同步脉冲信号CLK‑,并接收所述SSI接口编码器的数据;所述SSI接口编码器包括Clock+信号、Clock‑信号、DATA+信号和DATA‑信号;所述RS‑422串行数据收发器用于将所述同步脉冲信号的TTL电平转换为差分电平,及将所述SSI接口编码器的数据差分电平转换为TTL电平;所述多路复用器通过选通管脚的高低电平判断输出管脚的信号和输入一或输入二是否相同;本发明利用微控制器MCU的SPI接口实现SSI接口编码器数据的接收,不需要增加FPGA或CPLD等逻辑芯片,简化硬件电路设计,降低成本。
Description
技术领域
本发明涉及信号通信技术领域,尤其涉及采用单路SPI接收多个SSI接口编码器的系统及数据接收方法。
背景技术
在精密自动化设备中常常用到绝对式编码器,用于测量不同位置的姿态信息。同步串行接口(Synchronous Serial Interface,简称SSI)作为高精度绝对式编码器常用的接口方式,可实现高精度、高实时性的角度输出,同时具有较强的抗干扰性,被广泛应用。一般采用微控制器(MCU)的SPI接口接收SSI类型编码器,由于SSI接口协议中无片选信号,无法用单个SPI接口完成多个SSI编码器数据读取。现有专利名称为“基于SPI总线接收SSI接口编码器数据的系统及传输方法”申请号为CN202210845992.2的专利,提及了两种不采用SPI接口读取SSI编码器数据的方法,但都有不可弥补的缺陷。
为了克服这些缺陷,本章提出了采用单路SPI接收多个SSI接口编码器的系统及数据接收方法。
发明内容
本申请的目的是提供采用单路SPI接收多个SSI接口编码器的系统及数据接收方法,旨在解决现有微控制器(MCU)由于SPI接口不足导致无法采集多路SSI接口编码器数据的问题。
为实现上述目的,本申请提供如下技术方案:
本申请提供采用单路SPI接收多个SSI接口编码器的系统,所述系统包括微控制器、SSI接口编码器、RS-422串行数据收发器及多路复用器;
所述微控制器:用于提供SPI通信接口,生成同步脉冲信号CLK+和同步脉冲信号CLK-,并接收所述SSI接口编码器的数据;
所述SSI接口编码器:包括Clock+信号、Clock-信号、DATA+信号和DATA-信号;所述同步脉冲信号CLK+和同步脉冲信号CLK-分别与所述Clock+信号和所述Clock-信号连接,所述DATA+信号和DATA-信号分别与所述RS-422串行数据收发器连接;
所述RS-422串行数据收发器:用于将所述同步脉冲信号CLK+和同步脉冲信号CLK-的TTL电平转换为差分电平,及将所述DATA+信号和DATA-信号转换为TTL电平;
所述多路复用器:通过选通管脚的高低电平判断输出管脚的信号和输入一或输入二是否相同。
进一步的,所述微控制器、SSI接口编码器、RS-422串行数据收发器及多路复用器之间的连接关系为:
所述微控制器中SPI的CLK信号与所述RS-422串行数据收发器的发送端连接;所述微控制器中SPI的MISO信号与所述多路复用器的输出引脚连接;
每一个所述SSI接口编码器对应一个RS-422串行数据收发器;
经过所述RS-422串行数据收发器后,SSI接口编码器产生四路TTL信号DataA、DataB、DataC和DataD与所述多路复用器的输入端连接;
所述多路复用器的控制端与微控制器的三个IO接口连接。
本申请还提供采用单路SPI接收多个SSI接口编码器的数据接收方法,包括下述步骤:
控制所述多路复用器的IO接口发送片选信号CSA;
判断所述微控制器中SPI接口的DMA接收模式是否接收完成标志位;
根据所述SSI接口编码器的接口协议延时tw,控制所述IO发送片选信号CSB、CSC和CSD。
进一步的,在控制所述多路复用器的IO接口发送片选信号CSA的步骤前,包括下述步骤:
配置所述微控制器中SPI接口及DMA模式初始化,所述SPI接口配置成模式2,时钟极性CPOL=1,相位CPHA=0。
进一步的,在控制所述多路复用器的IO接口发送片选信号CSA的步骤中,包括下述步骤:
所述多路复用器的数据输入选通为SSI接口编码器A,启动SPI接口的DMA发送模式,发送同步时钟脉冲;其中同步脉冲的时钟频率的范围为0.5~2MHz。
进一步的,在判断所述微控制器中SPI接口的DMA接收模式是否接收完成标志位的步骤中,包括下述步骤:
当判断所述微控制器中SPI接口的DMA接收模式接收完成后,产生一次DMA中断,在中断中将SSI接口编码器A的数据存储到数组1中,并进行解析;当判断所述微控制器SPI的DMA接收模式未接收完成,则DMA发送模式进行重新发送。
进一步的,所述控制IO电平切换的时间需要等待数据接收完成后,所述接口协议延时大于接口协议中规定的时钟空闲时间。
本申请提供了采用单路SPI接收多个SSI接口编码器的系统及数据接收方法,具有以下有益效果:
(1)本申请通过配置微控制器和多路复用器初始化,将定时器中断,控制IO发送片选信号,并判断所述微控制器SPI的DMA接收模式是否接收完成标志位,根据SSI接口协议延时tw控制IO发送片选信号,实现对SSI接口编码器数据的接收,且不需要增加FPGA或CPLD等逻辑芯片,简化硬件电路设计,降低成本;
(2)本申请提出的单路SPI接口实现了对SSI接口编码器的数据采集,扩展了微控制器MCU的接口,用最简单的方法实现了多路数据的采集;并根据SSI接口协议延时控制IO发送片选信号。
附图说明
图1为本申请实施例1的采用单路SPI接收多个SSI接口编码器的系统的结构示意图;
图2为本申请实施例1的硬件连接示意图;
图3为本申请实施例1的控制时序图;
图4为本申请实施例2的采用单路SPI接收多个SSI接口编码器的数据接收方法的流程示意图;
图5为本申请实施例2的控制流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,为本申请提出的一种采用单路SPI接收多个SSI接口编码器的系统的结构示意图;所述系统包括微控制器、SSI接口编码器、RS-422串行数据收发器及多路复用器;
所述微控制器:用于提供SPI通信接口,生成同步脉冲信号CLK+和同步脉冲信号CLK-,并接收所述SSI接口编码器的数据;
所述SSI接口编码器:包括Clock+信号、Clock-信号、DATA+信号和DATA-信号;所述同步脉冲信号CLK+和同步脉冲信号CLK-分别与所述Clock+信号和所述Clock-信号连接,所述DATA+信号和DATA-信号分别与所述RS-422串行数据收发器连接;
所述RS-422串行数据收发器:用于将所述同步脉冲信号CLK+和同步脉冲信号CLK-的TTL电平转换为差分电平,及将所述DATA+信号和DATA-信号转换为TTL电平;
所述多路复用器:通过选通管脚的高低电平判断输出管脚的信号和输入一或输入二是否相同。
在本实施例中,对微控制器、SSI接口编码器、RS-422串行数据收发器以及多路复用器的连接关系进行详细说明。
所述微控制器中SPI的CLK信号与所述RS-422串行数据收发器的发送端连接;所述微控制器中SPI的MISO信号与所述多路复用器的输出引脚连接;
每一个所述SSI接口编码器对应一个RS-422串行数据收发器;
经过所述RS-422串行数据收发器后,SSI接口编码器产生四路TTL信号DataA、DataB、DataC和DataD与所述多路复用器的输入端连接;
所述多路复用器的控制端与微控制器的三个IO接口连接。
请参阅图2,为本申请实施例1的硬件连接示意图;图2中(11)为型号GD32F450VKT6的ARM微控制器,用于提供SPI通信接口,生成同步脉冲,接收SSI接口编码器的数据。其SCK管脚连接至四个MAX3490的RS-422串行数据收发器(11)的发送T管脚,共享时钟信号。
产生的差分时钟信号分别与编码器(12)的Clock+和Clock-相连,四个编码器(13)的差分数据信号分别与对应收发器(11)的R+和R-相连,产生的四路TTL信号DataA、DataB、DataC和DataD并连接至复用器(14)和复用器(15)的输入端。
复用器(14)和(15)的输出与(16)的输入相连。MCU(11)的MISO管脚与复用器(16)的输出端相连。MCU(11)的IO1、IO2和IO3与复用器(14)、(16)和(15)的信号选通管脚相连。
请参阅图3,为本申请实施例1的控制时序图;对工作原理进行说明:
MCU(11)中设置一个1ms的定时器中断,在中断中读取四个编码器的角度值。
MCU(11)IO1、IO2和IO3中定义“0”为高电平,“1”为低电平,“X”为任意电平,则图5中CSA(21)、CSB(22)、CSC(23)和CSD(24)对应的IO1、IO2和IO3的电平状态依次为“X00”、“X01”、“01X”和“11X”。
进入定时器中断后,发送片选信号CSA-“X00”,使能SPI的DMA发送模式,发送3个8位数据共计24个同步脉冲,编码器A的角度数据接收完成后进入SPI的DMA接收中断,在中断中进行角度的解析处理。
中断接收完成,关闭SPI的DMA发送模式,延时tw,参数图3(25),在本实施例中tw=26us。顺序发送片选信号CSB-“X01”,CSC-“01X”和CSD-“11X”重复上述步骤,完成编码器B、C和D的角度数据的接收。
综上所述,本申请通过实施例1采用小封装的多路复用器解决了SSI接口协议的编码器无片选信号的问题;通过微控制器、SSI接口编码器、RS-422串行数据收发器及多路复用器实现了用单路SPI接收四路SSI接口编码器;该系统硬件电路简单、实现方便,能够有效的扩展微控制器MCU接收SSI编码器的能力。
实施例2
请参阅图4,为本申请实施例2提出的采用单路SPI接收多个SSI接口编码器的数据接收方法的流程示意图;具体步骤包括:
S1:控制所述多路复用器的IO接口发送片选信号CSA。
在本实施例中,在控制所述多路复用器的IO接口发送片选信号CSA的步骤前,配置所述微控制器中SPI接口及DMA模式初始化,所述SPI接口配置成模式2,时钟极性CPOL=1,相位CPHA=0。
定时器的中断时间取决于SSI接口编码器的时钟频率以及需要传输的数据的位数;在定时器中断中,控制IO发送片选信号CSA,所述多路复用器的数据输入选通为SSI接口编码器A,启动SPI的DMA发送模式,发送同步时钟脉冲;其中同步脉冲的时钟频率的范围为0.5~2MHz。
S2:判断所述微控制器中SPI接口的DMA接收模式是否接收完成标志位。
在本实施例中,当判断所述微控制器SPI接口的DMA接收模式接收完成后,产生一次DMA中断,在中断中将SSI接口编码器A的数据存储到数组1中,并进行解析;当判断所述微控制器SPI的DMA接收模式未接收完成,则则DMA发送模式进行重新发送。
S3:根据所述SSI接口编码器的接口协议延时tw,控制所述IO发送片选信号CSB、CSC和CSD。
在本实施例中,所述控制IO电平切换的时间需要等待数据接收完成后,所述SSI接口协议延时大于SSI接口协议中规定的时钟空闲时间。
请参阅图5,为本申请实施例2的控制流程图;以下进行详细说明。
首先将定时器中断,控制IO发送片选信号CSA,SPI-VDA发送使能,判断微控制器中SPI的DMA接收模式是否接收完成,若未接收完成则返回SPI-VDA发送使能;若接收完成则对SPI-VDA关闭发送,再根据SSI接口协议延时tw,控制IO发送片选信号CSB、CSC、CSD,直到定时器不再中断则完成控制。
综上所述,本申请通过实施例2配置微控制器和多路复用器初始化,将定时器中断,控制IO发送片选信号,并判断所述微控制器SPI的DMA接收模式是否接收完成标志位,根据SSI接口协议延时tw控制IO发送片选信号,实现对SSI接口编码器数据的接收,且不需要增加FPGA或CPLD等逻辑芯片,简化硬件电路设计,降低成本。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
尽管已经示出和描述了本申请的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本申请的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由所附权利要求及其等同物限定。
当然,本发明还可有其它多种实施方式,基于本实施方式,本领域的普通技术人员在没有做出任何创造性劳动的前提下所获得其他实施方式,都属于本发明所保护的范围。
Claims (7)
1.采用单路SPI接收多个SSI接口编码器的系统,其特征在于,所述系统包括微控制器、SSI接口编码器、RS-422串行数据收发器及多路复用器;
所述微控制器:用于提供SPI通信接口,生成同步脉冲信号CLK+和同步脉冲信号CLK-,并接收所述SSI接口编码器的数据;
所述SSI接口编码器:包括Clock+信号、Clock-信号、DATA+信号和DATA-信号;所述同步脉冲信号CLK+和同步脉冲信号CLK-分别与所述Clock+信号和所述Clock-信号连接,所述DATA+信号和所述DATA-信号分别与所述RS-422串行数据收发器连接;
所述RS-422串行数据收发器:用于将所述同步脉冲信号CLK+和同步脉冲信号CLK-的TTL电平转换为差分电平,及将所述DATA+信号和DATA-信号转换为TTL电平;
所述多路复用器:通过选通管脚的高低电平判断输出管脚的信号和输入一或输入二是否相同。
2.根据权利要求1所述的采用单路SPI接收多个SSI接口编码器的系统,其特征在于,所述微控制器、SSI接口编码器、RS-422串行数据收发器及多路复用器之间的连接关系为:
所述微控制器中SPI的CLK信号与所述RS-422串行数据收发器的发送端连接;所述微控制器中SPI的MISO信号与所述多路复用器的输出引脚连接;
每一个所述SSI接口编码器对应一个RS-422串行数据收发器;
经过所述RS-422串行数据收发器后,SSI接口编码器产生四路TTL信号DataA、DataB、DataC和DataD与所述多路复用器的输入端连接;
所述多路复用器的控制端与微控制器的三个IO接口连接。
3.一种根据权利要求1或2所述的采用单路SPI接收多个SSI接口编码器的系统的数据接收方法,其特征在于,包括下述步骤:
控制所述多路复用器的IO接口发送片选信号CSA;
判断所述微控制器中SPI接口的DMA接收模式是否接收完成标志位;
根据所述SSI接口编码器的接口协议延时tw,控制所述IO发送片选信号CSB、CSC和CSD。
4.根据权利要求3所述的采用单路SPI接收多个SSI接口编码器的系统的数据接收方法,其特征在于,在控制所述多路复用器的IO接口发送片选信号CSA的步骤前,包括下述步骤:
配置所述微控制器中SPI接口及DMA模式初始化,所述SPI接口配置成模式2,时钟极性CPOL=1,相位CPHA=0。
5.根据权利要求3所述的采用单路SPI接收多个SSI接口编码器的系统的数据接收方法,其特征在于,在控制所述多路复用器的IO接口发送片选信号CSA的步骤中,包括下述步骤:
所述多路复用器的数据输入选通为SSI接口编码器A,启动SPI接口的DMA发送模式,发送同步时钟脉冲;其中同步脉冲的时钟频率的范围为0.5~2MHz。
6.根据权利要求3所述的采用单路SPI接收多个SSI接口编码器的系统的数据接收方法,其特征在于,在判断所述微控制器中SPI接口的DMA接收模式是否接收完成标志位的步骤中,包括下述步骤:
当判断所述微控制器中SPI接口的DMA接收模式接收完成后,产生一次DMA中断,在中断中将SSI接口编码器A的数据存储到数组1中,并进行解析;当判断所述微控制器SPI的DMA接收模式未接收完成,则DMA发送模式进行重新发送。
7.根据权利要求3所述的采用单路SPI接收多个SSI接口编码器的系统的数据接收方法,其特征在于,所述控制IO电平切换的时间需要等待数据接收完成后,所述接口协议延时大于接口协议中规定的时钟空闲时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311043777.1A CN117093524A (zh) | 2023-08-18 | 2023-08-18 | 采用单路spi接收多个ssi接口编码器的系统及数据接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311043777.1A CN117093524A (zh) | 2023-08-18 | 2023-08-18 | 采用单路spi接收多个ssi接口编码器的系统及数据接收方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117093524A true CN117093524A (zh) | 2023-11-21 |
Family
ID=88770970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311043777.1A Pending CN117093524A (zh) | 2023-08-18 | 2023-08-18 | 采用单路spi接收多个ssi接口编码器的系统及数据接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117093524A (zh) |
-
2023
- 2023-08-18 CN CN202311043777.1A patent/CN117093524A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140115229A1 (en) | Method and system to reduce system boot loader download time for spi based flash memories | |
US4048673A (en) | Cpu - i/o bus interface for a data processing system | |
US4412286A (en) | Tightly coupled multiple instruction multiple data computer system | |
CN110008151B (zh) | 电子设备、数据传输装置和数据传输方法 | |
US7224638B1 (en) | Reliability clock domain crossing | |
EP0217486B1 (en) | A synchronizing system | |
EP1396786A1 (en) | Bridge circuit for use in retiming in a semiconductor integrated circuit | |
EP3311293A1 (en) | Single sdio interface with multiple sdio units | |
US8463959B2 (en) | High-speed interface for daisy-chained devices | |
CN117093524A (zh) | 采用单路spi接收多个ssi接口编码器的系统及数据接收方法 | |
EP0036766A1 (en) | Computer system and interface therefor | |
CN103107877B (zh) | 数据传输系统、数据传输方法、接收电路以及接收方法 | |
CN108268416B (zh) | 一种异步接口转同步接口控制电路 | |
EP4012423A1 (en) | Detection circuit and detection method | |
CN1856835A (zh) | 同步的ram存储电路 | |
CN110059036B (zh) | 一种存储体内部多异步接口访问控制装置及方法 | |
SE515886C2 (sv) | Sätt för dataöverföring och dataöverföringsapparat som arbetar vid två frekvenser | |
US11387941B2 (en) | Signal transceiving system and method | |
EP1324346B1 (en) | Memory device | |
CN114966557B (zh) | 一种用于相控阵雷达多通道t/r多功能的快速波控系统 | |
US20050254276A1 (en) | Interface circuit | |
US7526017B2 (en) | Transmitting device, receiving device, transmission system, and transmission method | |
RU2055392C1 (ru) | Устройство последовательно-параллельного обмена | |
SU1683022A1 (ru) | Устройство дл сопр жени ЭВМ с разноскоростными группами внешних устройств | |
Xie et al. | Design and implementation of Serial ATA pbysical layer on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |