CN117033279A - 一种时序输入输出控制方法 - Google Patents

一种时序输入输出控制方法 Download PDF

Info

Publication number
CN117033279A
CN117033279A CN202310732544.6A CN202310732544A CN117033279A CN 117033279 A CN117033279 A CN 117033279A CN 202310732544 A CN202310732544 A CN 202310732544A CN 117033279 A CN117033279 A CN 117033279A
Authority
CN
China
Prior art keywords
sequence
ram
control
input
output
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
Application number
CN202310732544.6A
Other languages
English (en)
Inventor
葛松芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202310732544.6A priority Critical patent/CN117033279A/zh
Publication of CN117033279A publication Critical patent/CN117033279A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Programmable Controllers (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种时序输入输出控制方法,由总线接口桥、处理器寄存器堆、时序控制状态机、时序发生计数器、时序RAM存储器、串并转换控制器组成,所述处理器寄存器堆包含多个序列控制寄存器组。本发明的有益效果是:实现一种通用的,即支持各种数字端口输入输出时序变化要求,应对复杂多变的各种数字接口协议;降低芯片研发周期;功耗更低。

Description

一种时序输入输出控制方法
技术领域
本发明涉及处理器技术领域,具体的说是一种时序输入输出控制方法。
背景技术
在现有的芯片中,如果要实现各种数字接口,就必须在内部加入其控制器。例如要实现SPI接口,就必须加入SPI控制器,要加入UART接口,就必须加入UART控制器,要实现对片外SRAM的读写访问就必须加入SRAM的控制器。然而这些芯片在不同使用者那里的应用场景并不相同。有些客户不需要SPI,但芯片却集成了;而有些客户需要某一特定协议的接口,但芯片却没有集成;有些客户需要8路PWM接口,而芯片却只集成了2路。芯片集成了客户不需要的接口,导致性价比下降,不必要的功耗也会增加。而且每设计一种接口会比较复杂,延长了芯片研发生产的周期,也导致成本上升。同时过多接口的加入,导致芯片设计复杂,漏洞过多,出现错误概率增加。
发明内容
针对上述现有技术不足,本发明提供一种时序输入输出控制方法。
本发明提供的一种通用输入输出时序处理器及时序输入输出控制方法是通过以下技术方案实现的:
一种通用输入输出时序处理器,由总线接口桥、处理器寄存器堆、时序控制状态机、时序发生计数器、时序RAM存储器、串并转换控制器组成,所述处理器寄存器堆包含多个序列控制寄存器组,其中:
所述总线接口桥分别连接处理器寄存器堆、时序RAM存储器,总线接口桥从总线上接收CPU的各种命令传递给各个寄存器,起到了一个命令格式转换的作用;
所述处理器寄存器堆连接时序控制状态机,处理器寄存器堆用于暂存处理器的处理数据;
所述时序控制状态机连接时序发生计数器,时序控制状态机由取指控制器、译码器、执行器组成,取指器用于读取控制代码,译码器用于分析代码并翻译成执行器便于执行控制的代码,执行器用于配合计数器具体实施控制;
所述时序发生计数器连接时序RAM存储器;
时序RAM存储器连接串并转换控制器组,时序RAM存储器存储各个序列的控制代码,方便于序列状态机和串并转换控制器的读取,所述串并转换控制器用于完成位宽转换,从时序RAM存储器读取数据,然后依次输送到指定的引脚上;
所述序列控制寄存器组中,每个序列控制寄存器组对应1个序列控制。
所述串并转换控制器是双向的,可从当前设定成输入的引脚上读取数据,写入到存储器的指定位置。
一种时序输入输出控制方法,采用芯片引脚与RAM交换数据的方式,在控制器的控制下,当设定为输出时,从RAM中读取数据输出到芯片引脚;当设定为输入时,从芯片引脚读取数据写入到RAM中。图2中有两个RAM,1个RAM(数据RAM)中存放输入输出序列的数据。当输出时将RAM中的数据写入芯片引脚。当输入时读取芯片引脚的数据写入RAM。另1个RAM(方向控制RAM)存储序列的输入输出方向选择控制序列。在控制器的控制下随着序列的发生依次读取RAM中的输入写入芯片引脚的输入输出方向选择寄存器,控制芯片输入输出方向,也同时根据方向控制数据RAM当前是读取还是写入;
将一个或多个序列存储在RAM中,当同一时刻只有1个序列在运行或者没有序列在运行;每个序列对应着1个序列控制寄存器组,组内至少设置4个寄存器,采用波特率寄存器控制本序列的速度;
序列首地址寄存器存放本序列在RAM中存放的开始处地址,尾地址寄存器存放本序列在RAM中存放的结束地址;控制寄存器指明本序列的属性。
常见属性有:
1、方向灵活性控制。本序列的方向可以像上面所描述的采用1个专门的RAM存储来控制,这样灵活性比较高,可随着序列发生随时切换方向。但也可由本属性指明本序列只是输入,或只是输出,或者输入输出同时支持。如果指明只是输入或输出,那么方向控制RAM在本序列发生时不会读取。
2、串并转换设置。上面说明的是一种无串并转换设置。1个RAM1次读取或写入可以是1个字节(8位),2个字节(16位)或4个字节(32位)等等(本文描述以1个字节为例),每位对应芯片的1个引脚。但还有1种带串并转换的设置,就是1个RAM的数据都对应1个引脚,要写入引脚时,需要将每次RAM读取的数据由并行到串行转换成位流,依次送入芯片的1个引脚;要读取引脚时,将引脚上的数据由串行转换成并行数据,再写入RAM。当需要进行串并转换时,序列的方向控制如果由RAM提供,那么方向控制RAM中读出的数据也要进行从并行到串行的转换。而如果是由本序列的控制寄存器提供,则不需要。
3、序列启动条件控制。1个控制器可以有几组序列控制寄存器组,以支持多个序列发生。每个序列的启动条件包括:
(1)、当指定的芯片引脚出现上升沿时;
(2)、当指定的芯片引脚出现下降沿时;
(3)、当指定的芯片引脚出现上升沿或者下降沿时;
(4)、当指定的芯片引脚等于0时;
(5)、当指定的芯片引脚等于1时;
(6)、当输入输出时序处理器收到其它CPU命令要求启动时;
(7)、当指定的其它输入输出时序处理器(1个芯片内可以有多个输入输出时序处理器)的某个序列开始,与之同时开始;
(8)、当指定的某个序列结束时开始;
4、大小端控制。指明在串行传输时先发送字节中的高位还是低位。
本发明的有益效果是:
1、实现一种通用的,即支持各种数字端口输入输出时序变化要求,应对复杂多变的各种数字接口协议;
2、每个端口只需支持1个通用输入输出时序处理器即可,降低芯片研发周期;
3、功耗更低;
4、可应用于各种带输入输出数字接口的芯片中。在应用过程中也可以根据应用场景将时序处理器分类以进行简化。例如,有些端口上的时序处理器只支持串行输入(读取某一引脚上的数值将其串转并成字节数据写入RAM)或输出(将RAM字节数据并转串输出到某一引脚);有些端口上的时序处理器只支持并行输入(例如,同时读取8个引脚上的数据,作为1个字节写入RAM)或输出(例如,从RAM中读取1个字节并行输出到8个引脚),不进行串并转换;有些端口上的时序处理器支持并行输出,不支持并行输入等等。这些都是为了根据实际情况简化设计而作的类别划分。
附图说明
图1是通用输入输出时序处理器结构示意图;
图2是一种时序输入输出控制方法示意图;
图3是串并转换设置示意图。
具体实施方式
下面将通过实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
文中英文缩写释义:CPU:中央处理器单元;GPIO:通用输入输出端口;MUX:多路选择器;IIC:集成电路总线;UART:通用异步收发传输器;PWM:脉冲宽度调制;RAM:随机存取存储器;SPI:串行外设接口;外设IP:在集成电路的可重用设计方法学中,IP核,全称知识产权核(英语:intellectualpropertycore),是指某一方提供的、形式为逻辑单元、芯片设计的可重用模块。
实施例1:
如图1所示的一种通用输入输出时序处理器,由总线接口桥、处理器寄存器堆、时序控制状态机、计数器,时序RAM存储器,串并转换控制器组成。
总线接口桥用于从总线上接收CPU的各种命令传递给各个寄存器。起到了一个命令格式转换的作用。
处理器寄存器堆内部包含若干个序列控制寄存器组(每个寄存器组对应1个序列控制),用于暂存处理器的处理数据。序列首地址寄存器记录了要发生序列的在存储器中访问的起始地址,序列尾地址寄存器记录了要发生序列的在存储器中的结束地址。序列控制寄存器有方向灵活性控制,串并转换,启动条件,大小端控制,序列长度控制,发生次数控制,位使能等。
序列长度控制要发生序列的长度和序列发生次数。其序列长度最大值受限于存储器的大小,根据应用场景和系统规格确定时序存储器的容量。容量越大,序列长度最大值也就越大。序列长度最小值为1位。另外注意存储器中不止存储1个序列,可以存储多个序列。也可以通过程序控制各个序列的发生先后顺序和次数。
每个序列的发生次数从只发生1次到无数次(即持续不停的发生)。每个序列启动的条件有:1、受CPU控制直接启动;2、当某个序列结束时启动或者和某个序列同时启动;3、当输入引脚上出现指定的上升沿,下降沿,边沿(上升沿或下降沿),等于0时或等于1时启动,这些条件要由CPU事先配置入控制寄存器。序列速度寄存器控制要发生序列的运行速度,即每个位占用多少个时钟周期。支持每个序列设定不同的速度。
位使能决定究竟是哪些引脚参与本次序列发生。
序列发生控制状态机是中央控制器,决定序列发生的各个步骤,并具体实施。与之配合的计数器起到定时的辅助控制的作用。序列发生控制状态机由3个控制器组成。取指器用于读取控制代码,译码器用于分析代码并翻译成执行器便于执行控制的代码。而执行器用于配合计数器具体实施控制。
时序RAM存储器存储各个序列的控制代码,方便于序列状态机和串并转换控制器的读取。CPU可以像访问普通RAM存储器那样访问这个RAM存储器,所以当时序处理器不工作时,这个RAM存储器可以当做一般存储器供CPU使用。
因为从存储器中读取的数据和写入的数据的位宽是固定的,而每个序列所作用于的引脚的个数不同,引脚的编号也不同。例如序列A控制了4个引脚,分别是引脚0,1,2,3;序列B控制了8个引脚,分别是引脚0,1,5,6,10,11,12,13。所以需要串并转换控制器来完成这个转换操作。串并转换控制器用于完成位宽转换,受中央控制器的决定,从存储器读取数据,然后依次输送到制定的引脚上。同时串并转换控制器是双向,从当前设定成输入的引脚上读取数据,写入到存储器的指定位置。
实施例2
如图2所示的一种时序输入输出控制方法,采用芯片引脚与RAM交换数据的方式,在控制器的控制下,当设定为输出时,从RAM中读取数据输出到芯片引脚;当设定为输入时,从芯片引脚读取数据写入到RAM中。图2中有两个RAM,1个RAM(数据RAM)中存放输入输出序列的数据。当输出时将RAM中的数据写入芯片引脚。当输入时读取芯片引脚的数据写入RAM。另1个RAM(方向控制RAM)存储序列的输入输出方向选择控制序列。在控制器的控制下随着序列的发生依次读取RAM中的输入写入芯片引脚的输入输出方向选择寄存器,控制芯片输入输出方向,也同时根据方向控制数据RAM当前是读取还是写入;
将一个或多个序列存储在RAM中,当同一时刻只有1个序列在运行或者没有序列在运行;每个序列对应着1个序列控制寄存器组,组内至少设置4个寄存器,采用波特率寄存器控制本序列的速度;
序列首地址寄存器存放本序列在RAM中存放的开始处地址,尾地址寄存器存放本序列在RAM中存放的结束地址;控制寄存器指明本序列的属性。
常见属性有:
1、方向灵活性控制。本序列的方向可以像上面所描述的采用1个专门的RAM存储来控制,这样灵活性比较高,可随着序列发生随时切换方向。但也可由本属性指明本序列只是输入,或只是输出,或者输入输出同时支持。如果指明只是输入或输出,那么方向控制RAM在本序列发生时不会读取。
2、串并转换设置。上面说明的是一种无串并转换设置。1个RAM1次读取或写入可以是1个字节(8位),2个字节(16位)或4个字节(32位)等等(本文描述以1个字节为例),每位对应芯片的1个引脚。但还有1种带串并转换的设置,就是1个RAM的数据都对应1个引脚,要写入引脚时,需要将每次RAM读取的数据由并行到串行转换成位流,依次送入芯片的1个引脚;要读取引脚时,将引脚上的数据由串行转换成并行数据,再写入RAM。当需要进行串并转换时,如图3所示,序列的方向控制如果由RAM提供,那么方向控制RAM中读出的数据也要进行从并行到串行的转换。而如果是由本序列的控制寄存器提供,则不需要。
3、序列启动条件控制。1个控制器可以有几组序列控制寄存器组,以支持多个序列发生。每个序列的启动条件包括:
(1)、当指定的芯片引脚出现上升沿时;
(2)、当指定的芯片引脚出现下降沿时;
(3)、当指定的芯片引脚出现上升沿或者下降沿时;
(4)、当指定的芯片引脚等于0时;
(5)、当指定的芯片引脚等于1时;
(6)、当输入输出时序处理器收到其它CPU命令要求启动时;
(7)、当指定的其它输入输出时序处理器(1个芯片内可以有多个输入输出时序处理器)的某个序列开始,与之同时开始;
(8)、当指定的某个序列结束时开始;
4、大小端控制。指明在串行传输时先发送字节中的高位还是低位。
以上所述实施例仅表示本发明的实施方式,其描述较为具体和详细,但并不能理解为对本发明范围的限制。应当指出的是,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明保护范围。

Claims (4)

1.一种时序输入输出控制方法,其特征在于:采用芯片引脚与RAM交换数据的方式,在控制器的控制下,当设定为输出时,从RAM中读取数据输出到芯片引脚;当设定为输入时,从芯片引脚读取数据写入到RAM中;
将一个或多个序列存储在RAM中,当同一时刻只有1个序列在运行或者没有序列在运行;每个序列对应着1个序列控制寄存器组,组内至少设置4个寄存器,采用波特率寄存器控制本序列的速度;
序列首地址寄存器存放本序列在RAM中存放的开始处地址,尾地址寄存器存放本序列在RAM中存放的结束地址;控制寄存器指明本序列的属性。
2.根据权利要求1所述的一种时序输入输出控制方法,其特征在于:所述RAM包括数据RAM和方向控制RAM。
3.根据权利要求1所述的一种时序输入输出控制方法,其特征在于,所述属性包括:
a、方向灵活性控制,本序列的方向可采用1个专门的RAM存储来控制,可随着序列发生随时切换方向;也可由本属性指明本序列只是输入,或只是输出,或者输入输出同时支持;如果指明只是输入或输出,那么方向控制RAM在本序列发生时不会读取;
b、串并转换设置,需要进行串并转换时,序列的方向控制如果由RAM提供,那么方向控制RAM中读出的数据也要进行从并行到串行的转换;如果是由本序列的控制寄存器提供,则不需要。
c、序列启动条件控制;1个控制器有几组序列控制寄存器组,以支持多个序列发生;
d、大小端控制,指明在串行传输时先发送字节中的高位还是低位。
4.根据权利要求3所述的一种时序输入输出控制方法,其特征在于,所述序列启动条件控制中,每个序列的启动条件包括:
a、当指定的芯片引脚出现上升沿时;
b、当指定的芯片引脚出现下降沿时;
c、当指定的芯片引脚出现上升沿或者下降沿时;
d、当指定的芯片引脚等于0时;
e、当指定的芯片引脚等于1时;
f、当输入输出时序处理器收到其它CPU命令要求启动时;
g、当指定的其它输入输出时序处理器(1个芯片内有多个输入输出时序处理器)的某个序列开始,与之同时开始;
h、当指定的某个序列结束时开始。
CN202310732544.6A 2017-05-12 2017-05-12 一种时序输入输出控制方法 Pending CN117033279A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310732544.6A CN117033279A (zh) 2017-05-12 2017-05-12 一种时序输入输出控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710335729.8A CN106980587B (zh) 2017-05-12 2017-05-12 一种通用输入输出时序处理器及时序输入输出控制方法
CN202310732544.6A CN117033279A (zh) 2017-05-12 2017-05-12 一种时序输入输出控制方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710335729.8A Division CN106980587B (zh) 2017-05-12 2017-05-12 一种通用输入输出时序处理器及时序输入输出控制方法

Publications (1)

Publication Number Publication Date
CN117033279A true CN117033279A (zh) 2023-11-10

Family

ID=59341941

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710335729.8A Active CN106980587B (zh) 2017-05-12 2017-05-12 一种通用输入输出时序处理器及时序输入输出控制方法
CN202310732544.6A Pending CN117033279A (zh) 2017-05-12 2017-05-12 一种时序输入输出控制方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710335729.8A Active CN106980587B (zh) 2017-05-12 2017-05-12 一种通用输入输出时序处理器及时序输入输出控制方法

Country Status (1)

Country Link
CN (2) CN106980587B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062857B (zh) * 2018-08-14 2021-07-13 苏州硅岛信息科技有限公司 一种能高速实现多处理器间通信的新型消息控制器及其通信方法
CN109669894A (zh) * 2018-12-21 2019-04-23 天津国芯科技有限公司 一种可减少芯片封装管脚的通用异步收发装置
CN110245096B (zh) * 2019-06-24 2023-07-25 苏州暴雪电子科技有限公司 一种实现处理器直接连接扩展计算模块的方法
CN112255944A (zh) * 2020-10-16 2021-01-22 同济大学 多路并行超声波传感器驱动结构

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453468B (zh) * 2007-12-05 2011-11-23 中国科学院空间科学与应用研究中心 一种适用于星载设备的数据通信协议控制器
CN206975631U (zh) * 2017-05-12 2018-02-06 葛松芬 一种通用输入输出时序处理器

Also Published As

Publication number Publication date
CN106980587A (zh) 2017-07-25
CN106980587B (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
CN106980587B (zh) 一种通用输入输出时序处理器及时序输入输出控制方法
CN105468547A (zh) 一种基于axi总线的便捷可配置帧数据存取控制系统
CN107562672B (zh) 一种提高矢量网络分析仪数据传输速率的系统及方法
CN104731746A (zh) 设备控制器装置
US7197590B2 (en) Method and apparatus for connecting LPC bus and serial flash memory
CN106776458B (zh) 基于fpga和hpi的dsp间的通信装置及通信方法
CN116450552B (zh) 基于i2c总线异步批量读写寄存器的方法及系统
JP2008521080A5 (zh)
CN215769533U (zh) 一种基于cxl加速计算的板卡
CN113961505A (zh) 一种高性能硬件加速和算法验证系统及方法
CN113824741A (zh) 一种iic设备的通信方法、装置、设备、系统及介质
CN102375749B (zh) 一种采用i2c总线快速下载和更新固件的方法
US9298378B2 (en) Logic device
CN206975631U (zh) 一种通用输入输出时序处理器
CN100552660C (zh) 一种数据处理系统及数据处理方法
CN110765065A (zh) 片上系统
CN101950276B (zh) 一种存储器访问装置及其程序执行方法
CN201812284U (zh) 一种存储器接口
CN109857485B (zh) 一种可编程gpio装置及基于该装置的时序实现方法
CN108228517A (zh) I3c电路设备、系统及通信方法
US9377957B2 (en) Method and apparatus for latency reduction
CN111710357A (zh) Mcu的mtp单元读写控制电路
CN114641763B (zh) 协议转换器模块系统和使用该协议转换器模块系统的方法
CN111831227A (zh) 一种nvme协议命令加速处理系统
CN104331385A (zh) 一种串行外围接口的高速半硬件实现方法

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