CN103914415B - 调整输入/输出接口 - Google Patents

调整输入/输出接口 Download PDF

Info

Publication number
CN103914415B
CN103914415B CN201310750652.2A CN201310750652A CN103914415B CN 103914415 B CN103914415 B CN 103914415B CN 201310750652 A CN201310750652 A CN 201310750652A CN 103914415 B CN103914415 B CN 103914415B
Authority
CN
China
Prior art keywords
order
interface
terminals
controller
interface circuits
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.)
Active
Application number
CN201310750652.2A
Other languages
English (en)
Other versions
CN103914415A (zh
Inventor
X·王
P·I·扎瓦尔尼
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.)
Silicon Laboratories Inc
Original Assignee
Silicon Laboratories Inc
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 Silicon Laboratories Inc filed Critical Silicon Laboratories Inc
Publication of CN103914415A publication Critical patent/CN103914415A/zh
Application granted granted Critical
Publication of CN103914415B publication Critical patent/CN103914415B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M1/00Details of apparatus for conversion
    • H02M1/0003Details of control, feedback or regulation circuits
    • H02M1/0012Control circuits using digital or numerical techniques
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M1/00Details of apparatus for conversion
    • H02M1/38Means for preventing simultaneous conduction of switches
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M7/00Conversion of ac power input into dc power output; Conversion of dc power input into ac power output
    • H02M7/42Conversion of dc power input into ac power output without possibility of reversal
    • H02M7/44Conversion of dc power input into ac power output without possibility of reversal by static converters
    • H02M7/48Conversion of dc power input into ac power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode
    • H02M7/53Conversion of dc power input into ac power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal
    • H02M7/537Conversion of dc power input into ac power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal using semiconductor devices only, e.g. single switched pulse inverters
    • H02M7/539Conversion of dc power input into ac power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal using semiconductor devices only, e.g. single switched pulse inverters with automatic control of output wave form or frequency
    • H02M7/5395Conversion of dc power input into ac power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode using devices of a triode or transistor type requiring continuous application of a control signal using semiconductor devices only, e.g. single switched pulse inverters with automatic control of output wave form or frequency by pulse-width modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Human Computer Interaction (AREA)

Abstract

本发明涉及调整输入/输出接口。一种设备包括输入/输出(I/O)接口电路,其包括存储器和控制器。存储器存储多个命令以调整输入/输出(I/O)接口。该命令指示I/O接口电路的至少一个I/O端子的至少一个I/O状态以及与I/O状态关联的持续时间。控制器执行命令来按照预定顺序将I/O接口置于(一个或更多个)I/O状态。

Description

调整输入/输出接口
技术领域
本申请涉及控制输入/输出(I/O)电路,具体涉及控制I/O接口电路的方法和设备。
背景技术
典型的微控制器可以包含用于与微控制器外部的装置通信的通用输入/输出(I/O)接口。就这一点而言,I/O接口的I/O端子可以用于诸如以下功能:模拟信号采样;传输数字信号;产生波形;提供与双向通信线路(例如,串行总线的双向通信线路)结合使用的信号;以及提供用于控制应用的信号。
作为更具体的示例,I/O接口可以产生用于在串行外围接口总线(SPI)上通信、在系统管理总线(SMB)上通信的信号或者提供通用异步接收器/发送器(UART)接口。作为另一个示例,微控制器可以产生脉冲宽度调制(PWM)信号,其可以用于电机控制或者交换调整器控制应用。
发明内容
在一个示例性实施方式中,一种设备包括输入/输出(I/O)接口电路,其包括存储器和控制器。存储器存储用于调整输入/输出(I/O)接口的多个命令。命令指示I/O接口电路的至少一个I/O端子的至少一个I/O状态以及与该I/O状态关联的持续时间。控制器执行命令来按照预定顺序将I/O接口置于I/O状态。
在另一个示例性实施方式中,一种技术包括在存储器中存储用于调制输入/输出(I/O)接口电路的多个命令。每个命令指示I/O接口电路的至少一个I/O端子的至少一个I/O状态以及与该I/O状态关联的持续时间。该技术包括使用I/O接口电路的控制器执行命令以按照预定顺序将I/O接口电路置于(多元一个)I/O状态。
在又一个示例性实施方式中,一种设备包括集成电路(IC),其包括输入/输出(I/O)接口、存储器、控制器和处理器核。存储器适于存储用于调整I/O接口的多个命令,并且每个命令指示I/O接口的至少一个I/O端子的至少一个I/O状态以及与该I/O状态关联的持续时间。控制器适于执行命令而没有处理器核的介入从而按照预定顺序将I/O接口电路置于(多元一个)I/O状态。
从以下附图、描述和权利要求,优点和其它期望特征将变得明显。
附图说明
图1是根据一个示例性实施方式的系统的示意图。
图2是根据一个示例性实施方式的微控制器单元(MCU)的示意图。
图3是根据一个示例性实施例描绘用于调整图2的MCU的输入/输出(I/O)接口的技术的流程图。
图4是根据一个示例性实施方式的I/O接口命令的结构的示意图。
图5是根据一个示例性实施方式使用I/O接口命令驱动信号到I/O接口的I/O端子上的示意图。
图6是根据一个示例性实施方式的使用I/O接口命令来配置用于双向通信的I/O接口的I/O端子的示意图。
图7是根据一个示例性实施方式的图2的I/O接口控制器的示意图。
图8是根据一个示例性实施方式的I/O接口控制器的状态图。
图9是根据一个示例性实施方式的电机控制系统的示意图。
具体实施方式
本文公开的技术和系统允许输入/输出(I/O)接口命令被执行以达到控制微控制器单元(MCU)的通用I/O接口的目的。就这一点而言,本文公开的控制技术和系统允许I/O接口用于诸如确知地产生波形、控制采样协议、双向通信流路径控制、输入信号的采样等的示例性目的。另外,I/O接口命令可以由MCU的通用I/O控制器执行,而在命令执行中不涉及MCU的处理器核。因此,在这个配置的潜在优点中,可以精确调整MCU产生的信号波形的时序,而不受到例如不确定的延迟或者时延(例如,系统总线延迟),这可以由处理器核I/O命令执行引入。另外,在此公开的技术和系统可以用于产生相对准确的波形,并且可以用于随机或者伪随机波形的产生。预计的其它和不同的优点将从以下描述中变得明显。
作为一个更具体的示例,图1描绘在一个示例性系统10中的MCU 24。对于这个示例,MCU 24控制一个或者更多个部件70的各个方面。作为实例,根据具体的应用,部件70可以包括以下中的一个或更多个:电机、家用电器、库存控制终端、计算机、平板机、智能功率计、无线接口、蜂窝接口、交互式触摸屏用户界面等。MCU 24的全部或者一部分部件可以是集成电路(IC)或者半导体封装30的部分。例如,MCU 24的全部或者一部分部件可以构造在半导体封装30的单个芯片上或者多个芯片(例如多芯片模块)上。
如图1所示,MCU 24包括通用I/O(GPIO)接口140,其用于产生和经由I/O端子40接收输入和输出信号以与部件通信。参照图2,在其部件中,MCU 24包括处理器核150和GPIO接口140。根据具体的实施例,除了处理器核150和GPIO接口140以外,MCU 24可以不包括图2描绘的任何部件;还可以包含除了处理器核150和GPIO接口以外的图2中描绘的一个或者更多个部件;可以包含不同于图2中描绘部件的其它和/或附加部件;等等。因而,设想很多实施方式,其都在所附权利要求的范围内。
作为一个实例,处理器核150可以是32位核,诸如高级RSIC机器(Advanced RISCMachine(ARM))处理器核,其执行精简指令集计算机(RISC)指令集。一般地,处理器核150通过系统总线130与MCU 24的各种其它系统部件(诸如存储器控制器或者管理器160)通信。一般地,存储器管理器160控制对MCU 24的各个存储器部件的访问,诸如对缓存器172、非易失性存储器168(例如,闪存存储器)和易失性存储器164(例如,静态随机存取存储器(SRAM))的访问。
请注意图2描绘MCU架构的示例或简化表示,因为根据进一步实施方式,MCU 24可以具有未在图2中描绘的很多其它部件、网桥、总线等。例如,根据一些实施方式,MCU 24可以具有实现从属侧仲裁并被用于调整对MCU 24的存储器装置的访问的总线矩阵模块。
根据一些实施方式,MCU 24包括模拟和数字部件90,其与I/O端子90传输模拟和数字信号。模拟部件可以包括诸如模数转换器(ADC)和比较器这样的接收模拟信号的各种部件;并且MCU 24可以包含提供模拟信号的模拟部件,诸如电流驱动器。
MCU 24的数字部件可以通过系统总线130与处理器核150通信。作为实例,数字部件可以包括通用串行总线(USB)接口、通用异步接收器/发送器(UART)、系统管理总线接口(SMB)、串行外围接口(SPI)等。一般地,这些数字部件经由I/O端子91与MCU 24外部的装置通信。
根据一个示例性实施方式,MCU单元24包括复用器94,其允许可编程指派所选择的I/O端子91到GPIO端子40、50。就这一点而言,MCU 24可以包含一个或者更多个寄存器以允许选择性指派I/O端子40到端子91以及经由寄存器的位将端子配置为专用输入或者输出端子。
如图2所示,MCU 24还包括包括GPIO接口140,其可以被选择性地指派到一个或者更多个I/O端子91(经由一个或者更多个寄存器),以在对应的I/O端子40、50上调整这些端子91的相关状态。就这一点而言,根据示例性实施方式,GPIO接口140包括一个或者更多个寄存器148,其可以被编程以定义I/O通信流方向并且配置I/O端子91的各个方面,如以下进一步公开的。一般地,GPIO接口140将给定I/O端子91映射到给定I/O端子149并调整I/O端子149的状态,如此处所公开的。根据一个示例实施例,I/O端子149可以被提供给复用器94,其可用于选择性地将I/O端子149映射到外部端子40、50。对于此处公开的示例性实施方式,假定给定I/O端子91由(一个或更多个)寄存器148配置为路由到GPIO接口140,其调整对应的I/O端子40和50的I/O状态。
根据一个示例性实施方式,GPIO接口140包括存储器144(例如,基于先入先出(FIFO)的存储器),其存储用于控制I/O端子149的I/O状态的I/O接口命令146。为此,根据一个示例性实施方式,存储器144按照给定预定的顺序存储命令146,使得命令146按照预定执行顺序或者序列由GPIO接口140的控制器142检索和执行。
如此处进一步所公开的,当被控制器142执行时,每个I/O接口命令146控制I/O端子149集的I/O状态,其中I/O端子集被指定(由对应的配置寄存器位)为由GPIO接口140控制。针对每个要被控制的I/O端子149,每个I/O接口命令146包含表示或者指示I/O端子149的关联的I/O状态的数据和表示或者指示该I/O状态的持续时间的数据。如此处进一步公开的,I/O状态可以是:I/O端子149被驱动为具体逻辑值的状态;采样状态,在其中I/O端子149在预定持续时间之后对外部信号采样;定义采样协议的状态;定义双向通信协议的状态;等等。
根据示例性实施方式由控制器142进行的I/O接口命令146的时间连续执行在没有处理器核150的介入下发生。就这一点而言,根据示例性实施方式,控制器142从存储器144检索I/O接口命令146并按照预定顺序执行I/O接口命令146,以使对应的I/O状态按照预定顺序出现。这种配置的具体优点是控制器142可以不使用具有不可预测时延的总线,例如,诸如系统总线130;并且因此,可以按照确知方式调整I/O端子149的I/O状态。
根据示例性实施方式,如此处进一步公开的,GPIO接口140被构造为对易失性存储器164进行直接存储器存取(DMA)以检索命令146以及将命令146存储在存储器144中。在这种方式中,根据一个示例性实施方式,当存储器144中排队的I/O接口命令146的数量减小到低于预定阈值时,GPIO接口140可以进行这种DMA存取以补充命令146。
作为一个示例,处理器核150可以在非易失性存储器164中将命令排队。在一个进一步实施方式中,处理器核150可以周期性地或者在从GPIO接口控制器140接收指示请求命令146补充的中断(作为示例)时,从易失性存储器164检索更多的I/O接口命令146(如果可用)并通过在系统总线130上的写操作将命令146存储在存储器144中。因而,想到了很多变型,其都在所附的权利要求的范围内。
因而,参照图3,根据示例性实施方式,技术250包括使用(块254)存储器来存储用于调整I/O接口的命令,其中每个命令指示针对也由该命令指示的持续时间的I/O接口的至少一个I/O端子的至少一个I/O状态。依据技术250,在没有处理器核的接入的情况下执行命令(块258)以按照预定顺序调整(一个或更多个)I/O状态。
图4描绘根据一些实施方式的I/O接口命令146的示例结构。作为一个实例,根据其他的实施例,命令146可以是字,或者32位,尽管命令146可以包含少于或者多于32位。对于图4的示例,命令146包括计数字段284,其包含指示关联的I/O状态的持续时间的数据。在一些实施方式中,计数字段284包含指示给定时钟的循环次数的数据。I/O接口命令146还包括值字段286,其包含表示或者指示要被驱动到I/O端子149(参见图2)的值的数据。
例如,根据一些实施方式,如果MCU 24包括十六个I/O端子149,则值字段286是十六位数据字段,包含,每个位是“1”(即,逻辑一)或者“0”(即,逻辑零)。这些逻辑状态接着控制关联的I/O端子149的I/O状态。例如,如果值字段286包含“1”位,则对应的I/O端子149在由计数字段284指定的相关的持续时间期间,被驱动到逻辑一。
除了值字段286和计数字段284指示I/O状态和持续时间之外,I/O接口命令146可以进一步包含一个或者多个控制位,以进一步指定I/O端子149的I/O状态。例如,根据示例性实施方式,命令146可以包含字段282(例如,一位字段),其指示或者表示在由计数字段284指定的关联的持续时间期间,特定I/O端子149的通信流方向是否被反向或者反转。
更具体地,根据示例实施方式,反转字段282与GPIO接口140的一个或者多个其它“静态”寄存器148结合使用(参见图2),诸如寄存器148,其按位指示对应的I/O端子149是否经过由字段282指示的反转;以及通信流方向寄存器148,其一般地按位静态地指示对应的I/O端子149的通信流方向。
根据示例实施方式,下列真值表描述与I/O接口命令146和上述寄存器结合使用的命令句法。
表1
在表1中,“x”表示高阻抗态,“1”表示逻辑一状态,而“0”表示逻辑零状态;“invdiren”表示静态寄存器149的相应位,其标识是否允许相应的I/O端子149反转;“invdir”表示字段282的值(参见图4);“dir”表示由寄存器148指派的静态通信流方向;“value”表示字段286的I/O状态值;“gpio”表示I/O端子149的对应I/O状态;“gpio_out”表示在I/O端子149上出现的相应信号;以及“gpio_oe”表示I/O端子149的输出使能状态(表示对应缓冲器或者驱动器的输出使能状态)。因而,以表1的第四行为示例,当invdiren反转使能位是“0”时,反转字段282不影响I/O状态。相反地,以表1的第十行为示例,当invdiren反转使能位被断言时,则字段282的断言的invdir值使I/O端子149用作输入端子,尽管dir位指示端子149是输出端子。
根据进一步实施例,命令146可以包含各种其它控制字段。例如,在一个进一步的示例性实施方式中,命令146的字段286(图4)可以用在等待特征中。按此方式,字段286可以用作要被匹配的值,并且控制器142可以监测I/O端子149并保持命令146的执行直至匹配发生。外部控制器通过向I/O端子149提供匹配值(作为信号)来触发匹配。该匹配可以由另一个静态寄存器(等待掩模寄存器)来配置以确定要监测哪一个或者多个I/O端子的匹配值。
图5示出例了示意图300,在其中,示例性I/O接口命令146-1、146-2和146-3用于在相应的I/O端子149上产生波形。按此方式,如图5所示,I/O接口命令146-1、146-2和146-3按照预定执行顺序(例如,由在存储器144中存储I/O接口命令146的顺序定义)被执行使得I/O接口命令146-1被首先执行,I/O接口命令146-2被第二执行,而I/O接口命令146-3被最后执行。在时间T0,控制器142执行I/O接口命令146-1,其规定端子149要被驱动到逻辑一达持续时间“5”(例如五个时钟周期)。因而,从时间T0到时间T1,五个时钟周期过后,在时间T1,控制器142执行下一个I/O接口命令146-2,其现在控制I/O端子149的I/O状态。
如图所示,对于这个示例,I/O接口命令146-2规定I/O端子149要被驱动到逻辑零值达计数“10”(即,十个时钟周期),其在时间T1到时间T2之间发生。在时间T2上十个时钟周期终止时,控制器142执行I/O接口命令146-3,其规定I/O端子149要被驱动到逻辑一值达计数“7”。因而,作为非限定示例,图5图示了如何针对专用输出端子使用I/O接口命令146在给定I/O端子149上产生具体波形诸如PWM波形(作为一个示例)。
其它I/O端子149可以是被指定的输入端子。为此,I/O接口命令146可以被执行以调整采样间隔,使得在预定计数时段之后,MCU 24对I/O端子149上存在的值采样。根据一些实施方式,给定的I/O端子可以在被指定为输入端子和被指定为输出端子之间交替。按此方式,这种I/O端子149可以用于双向通信,如在串行总线上的通信、握手(handshaking)等。
图6描绘了被用作输入端子和输出端子两者的相关I/O端子149的I/O状态的示意图310。对于这个示例,控制器142按照以下顺序连续地执行三个I/O接口命令146:I/O接口命令146-4;I/O接口命令146-5;和I/O接口命令146-6。I/O接口命令146-4的执行建立I/O端子149从时间T0到时间T1作为输入端子,而时间T0到时间T1由计数“3”分开。为此,根据具体的实施方式,I/O接口命令146-4的执行可以将I/O端子149的通信流方向反转或者不反转,这取决于静态GPIO寄存器中的静态定义的定义。
在时间T1,对于这个示例,控制器142执行I/O接口命令146-5,其使得GPIO接口控制器140驱动I/O端子149到逻辑零值达计数“6”,从时间T1到时间T2。因而,从时间T1到时间T2,I/O端子149是输出端子。这可以通过将I/O端子149(如果被静态配置为输入端子)的流方向反转而建立,这取决于具体配置。在时间T2,控制器142执行命令146-6,其维持I/O端子149作为输出端子但是将端子上驱动的值改变为逻辑一值达计数“6”。
作为一个示例,从时间T0到时间T1,GPIP接口控制器140可以使用I/O端子149来感测被另一个实体驱动的信号;并且两个随后的逻辑零和逻辑一电平可用于确认感测到的信号。因而,例示图310可以被视为握手的示例,尽管根据进一步实施方式,可以采用其它使用同一I/O端子149作为输入端子和输出端子的应用。
参照图7,根据一个示例性实施方式,GPIO接口控制器140包括两个先入先出(FIFO)缓冲器:命令FIFO缓冲器360,其形成存储器144的至少部分并存储要被控制器142执行的I/O接口命令146;和样本FIFO缓冲器364,其存储由输入I/O端子149获取的数据。一般地,根据示例性实施方式,FIFO缓冲器360和364耦合在系统总线接口366和控制器142之间,如图7所示。因而,例如,FIFO缓冲器360和364适应系统总线130(参见图2)和控制器142之间的不同的时钟速率。
根据一个示例性实施方式,GPIO接口控制器140还包括DMA接口350。一般地,DMA接口350被构建为当FIFO缓冲器360中的命令的数量降低到预定阈值以下时,访问非易失性存储器164(参见图2)以检索或者获取更多命令到FIFO缓冲器360中。为此,DMA接口350可以使用各种发送和接收DMA请求和活动通信线路352来通信。根据一些实施方式,线路352可以与仲裁方(未示出)通信。在进一步实施方式中,系统总线接口366可以被配置为允许处理器核150访问命令FIFO缓冲器360以补充或存储命令到FIFO缓冲器360中。根据具体的实施方式,DMA接口350或者处理器核150可以访问经采样的FIFO缓冲器364以从GPIO接口检索闪速提供的已采样数据。因而,想到了很多变形例,其都在所附的权利要求的范围内。
根据示例性实施方式,控制器142与时钟信号(在图7中称为“CLK”)同步,其中,时钟信号接着可以与系统总线130的时钟同步(在相同频率或者在另一个频率上,根据需要)。控制器142还接收称为“KILL(杀灭)”的信号,当“KILL”被断言时(例如,驱动到逻辑一电平),使得控制器142将I/O端子149的I/O状态异步地转换到预定“安全”电平。为此,根据示例性实施方式,GPIO接口控制器140的寄存器148可以用对应于预定安全电平的位来针对对应I/O端子149编程。一般地,如果是故障状况,则安全电平不对系统造成危害。例如,被用于驱动开关晶体管的信号的安全电平可以是逻辑一电平,对于这个实例,是将开关晶体管关闭的电平。对于其它应用,给定I/O端子149的安全电平可以是逻辑一电平或者另选地,是三态状态。
在一些实施方式中,控制器142被构建为响应于检测断言的KILL信号,维持I/O端子149在它们各自的安全电平直至下一个I/O接口命令146被执行。因而,针对最近执行的I/O接口命令146,安全电平保持达当前时间间隔的持续时间。在进一步实施方式中,KILL信号可以触发持续杀灭状态、安全状态,其中,在安全状态,控制器142维持I/O端子149在它们相应的安全电平直至处理器核150将GPIO接口140复位。因而,在持续安全状态下,GPIO接口控制器140被有效地禁止直至处理器核140采取进一步校正动作。
根据进一步实施方式,安全状态可以由控制器142内部触发。例如,根据一些实施方式,当检测一个或者更多个输入状态的逻辑组合时(例如,在I/O端子149上感测),控制器可以启动KILL状态。因而,想到了很多变形例,其都在所附的权利要求的范围内。
根据一些实施方式,控制器142接收称为“TRIGGER(触发)”的外部信号,当被断言(例如被驱动到逻辑一电平)时,其使控制器142开始执行存储在命令FIFO缓冲器360中的命令146。请注意根据示例性实施方式,响应于内部触发,诸如响应于逻辑电平的特定组合而产生的触发,控制器142可以开始执行命令146。
参照图8,根据一些实施方式,控制器142可以具有相关的状态图400。当加电时,控制器142进入空闲状态,其中控制器142保持直至触发事件发生,其在逐周期的基础上控制I/O波形的开始点。如本领域技术人员能够理解的,根据示例性实施方式,I/O波形的逐周期控制可以非常准确地执行。在一些实施方式中,控制器142(例如,由特定寄存器位配置)可以被构建以在特定周期的开始处插入“空载/死区时间”间隔。例如,当产生开关信号时,这可用于确保特定开关信号在时间上不交叠。因而,当执行满足某种I/O电平的组合的一些命令时,控制器142可以初始地转换到DEAD TIME(空载时间)状态以在周期开始处引发空载时间。
从DEAD TIME状态或者从IDLE(空闲)状态,在执行I/O接口命令146后,控制器142转换到ACTIVE TIME(活动时间)状态,在该状态下控制器142执行I/O接口命令146,假定没有发生问题。例如,如果问题确实发生,根据具体实施方式,控制器142可以从ACTIVE TIME转换到PERSIST KILL(持续杀灭)状态,控制器142在该状态下保持直至被处理器核150复位。
因而,在周期持续时间结束时,控制器142还可以从ACTIVE TIME状态转换到WAITTIME状态,以等待具体逻辑电平(例如,为实现握手协议)。在接收输入后,控制器142从WAITTME(等待时间)转换回到ACTIVE TIME状态。因而,如图8所描绘的,从ACTIVE TIME状态,控制器142可以转换到DEAD TIME状态、STALL(拖延)状态、WAIT TIME状态或者PERSIST KILL状态。
当在状态持续时间的结束处FIFO缓冲器360为空时,控制器142进入STALL状态。在STALL状态中,任何有效命令继续操作,并因此,控制转换到DEAD TIME或者到ACTIVE TIME状态。然而,STALL状态,控制器142可以被配置为被禁用,这使得控制器142转换回到IDEL状态。请注意PERSIST KILL状态可以从ACTIVE TIME、DEAD TIME、WAIT TIME或者STALL状态的任何状态到达,如图8所描绘。
MCU 24可以用于多种不同应用中。作为一个示例,图9描绘了一种电机控制应用,在其中,电机控制系统400的MCU 24产生/接收用于控制电机474的输入和输出信号(I/O信号)。按此方式,为了与电机接口470(包括驱动器、传感器等的接口)通信,MCU 24的GPIO接口140可以在其I/O端子40上产生信号;并且结合这个通信,I/O端子40可以与电机接口传输波形(例如,脉冲宽度调制(PWM)信号)、接收感测到的电流和电压、经由一个或者更多个串行总线传输数据等。GPIO接口140的I/O端子40可以进一步产生/接收信号以与系统400的用户控制接口476通信,从而达到诸如传输电机474或者电机接口470的状态、传输检测到的故障状况、接收用户指示的命令和信号等目的。
尽管本文已经公开了有限数量的实施方式,但是受益于本公开的本领域技术人员将理解其各种修改和变化。所附权利要求旨在覆盖全部这些修改和变化。

Claims (19)

1.一种调整输入/输出接口电路的设备,所述设备包括:
输入/输出接口电路,即I/O接口电路,其包括控制器和存储器;
其中所述存储器适于存储多个命令以调整所述I/O接口电路,所述命令指示所述I/O接口电路的I/O状态和与所述I/O状态关联的持续时间,并且所述命令中的至少一个具有格式,其包括第一字段和第二字段中的至少一个,所述第一字段用于控制所述I/O接口电路的关联的I/O端子是否被驱动和被用于在所述持续时间期间采样,所述第二字段用于控制针对所述I/O接口电路的关联的I/O端子的数据方向是否被反转;并且
其中所述控制器适于执行命令来按照预定顺序将所述I/O接口电路置于所述I/O状态。
2.根据权利要求1所述的设备,其中所述多个命令中的至少一个命令指示所述I/O状态中的一个是否要被反转,并且所述控制器适于执行所述至少一个命令来选择性地反转该I/O状态,以响应所述至少一个命令的执行。
3.根据权利要求1所述的设备,其中所述命令中的至少一个指示所述I/O状态中的一个的采样协议,并且所述控制器适于响应于所述至少一个命令的执行来调整所述采样协议。
4.根据权利要求1所述的设备,其中所述命令的至少一个指示要被驱动到所关联的I/O端子的值,并且所述控制器适于执行该命令以将该端子驱动到所述值。
5.根据权利要求1所述的设备,其中所述I/O接口电路进一步包括:
直接存储器存取接口,即DMA接口,其适于从耦合到所述I/O接口电路的另一个存储器检索所述命令。
6.根据权利要求1所述的设备,其中所述格式进一步包括:
第三字段,用于控制所述持续时间;和
第四字段,用于控制针对所述I/O接口电路的关联的I/O端子的值。
7.根据权利要求1所述的设备,其中所述I/O接口进一步包括:
接口,其适于允许耦合到所述I/O接口的处理器核将所述命令存储在所述存储器中。
8.一种调整输入/输出接口电路的方法,所述方法包括:
存储用于调整输入/输出接口电路,即I/O接口电路的多个命令,其中每个命令指示针对所述I/O接口电路的关联的I/O端子的I/O状态以及与所述I/O状态关联的持续时间;以及
使用所述I/O接口电路的控制器执行所述命令以根据预定顺序调整所述至少一个I/O状态,其中执行所述命令包括基于所述多个命令中的命令的字段,调整采样协议,所述字段指示所述I/O端子的I/O端子是否在所关联的持续时间期间被用于采样。
9.根据权利要求8所述的方法,其中执行所述命令包括选择性地驱动所述I/O接口电路的I/O端子到预定值。
10.根据权利要求8所述的方法,其中存储所述命令包括使用处理器核或者直接存储器存取接口,即DMA接口将所述命令存储在所述存储器中。
11.一种调整输入/输出接口电路的设备,所述设备包括:
集成电路,即IC,所述IC包括:
处理器核;
输入/输出接口电路,即I/O接口电路;
存储器,所述存储器适于存储多个命令,所述命令指示所述I/O接口电路的至少一个I/O端子的至少一个I/O状态以及与该I/O状态关联的持续时间,其中所述命令中的至少一个具有格式,其包括第一字段和第二字段中的至少一个,所述第一字段用于控制所述I/O接口电路的关联的I/O端子是否被驱动和被用于在所述持续时间期间采样,所述第二字段用于控制针对所述I/O接口电路的关联的I/O端子的数据方向是否被反转;和
控制器,所述控制器适于执行所述命令而没有处理器核介入从而按照预定顺序将所述I/O接口电路置于所述至少一个I/O状态。
12.根据权利要求11所述的设备,所述设备进一步包括:
系统总线,耦合在所述处理器核和所述存储器之间;和
直接存储器存取接口,即DMA接口,适于访问所述系统总线来检索所述多个命令以用于所述存储器中的后续存储。
13.根据权利要求11所述的设备,所述设备进一步包括:
系统总线,耦合在所述存储器和所述处理器核之间,
其中所述处理器核适于访问所述系统总线以将所述多个命令写入所述存储器中。
14.根据权利要求11所述的设备,其中所述控制器进一步适于执行所述命令中的至少一个以选择性地将与所述I/O接口电路的I/O端子相关的通信方向反转。
15.根据权利要求11所述的设备,其中所述控制器进一步适于执行所述命令中的至少一个以调整与所述I/O接口电路的I/O端子关联的采样协议。
16.根据权利要求11所述的设备,其中所述控制器进一步适于执行所述命令中的至少一个以选择性地驱动所述I/O接口电路的I/O端子到预定值。
17.根据权利要求11所述的设备,其中所述控制器进一步适于响应于所述IC外部的触发器将所述I/O接口电路异步转换为安全状态。
18.根据权利要求11所述的设备,其中所述格式进一步包括:
第三字段,用于控制所述持续时间;和
第四字段,用于控制针对所述I/O接口的关联的I/O端子的值。
19.一种调整输入/输出接口电路的方法,所述方法包括:
存储用于调整输入/输出接口电路即I/O接口电路的多个命令,其中每个命令指示针对所述I/O接口电路的关联的I/O端子的I/O状态以及与所述I/O状态关联的持续时间;以及
使用所述I/O接口电路的控制器执行所述命令以根据预定顺序调整所述至少一个I/O状态,其中执行所述命令包括响应于所述多个命令中的命令具有指示与所述I/O接口电路的I/O端子关联的通信方向将被反转的字段而选择性地反转所述通信方向。
CN201310750652.2A 2012-12-31 2013-12-31 调整输入/输出接口 Active CN103914415B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/731,253 US8954632B2 (en) 2012-12-31 2012-12-31 System method for regulating an input/output interface by sampling during a time duration associated with I/O states
US13/731,253 2012-12-31

Publications (2)

Publication Number Publication Date
CN103914415A CN103914415A (zh) 2014-07-09
CN103914415B true CN103914415B (zh) 2017-05-10

Family

ID=50928512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310750652.2A Active CN103914415B (zh) 2012-12-31 2013-12-31 调整输入/输出接口

Country Status (3)

Country Link
US (1) US8954632B2 (zh)
CN (1) CN103914415B (zh)
DE (1) DE102013021107B4 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904575B2 (en) 2013-05-15 2018-02-27 Apple Inc. System and method for selective timer rate limiting
US9542230B2 (en) * 2013-05-15 2017-01-10 Apple Inc. System and method for selective timer coalescing
US9958933B2 (en) 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
JP6953211B2 (ja) * 2017-07-18 2021-10-27 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法
CN108508812B (zh) * 2018-05-15 2024-04-09 广东嘉腾机器人自动化有限公司 一种agv控制器io端口复用配置系统及其方法
US20220414051A1 (en) * 2021-06-28 2022-12-29 Silicon Laboratories Inc. Apparatus for Array Processor with Program Packets and Associated Methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561788A (zh) * 2008-01-11 2009-10-21 联发科技股份有限公司 通用接口控制器
CN102053930A (zh) * 2009-11-10 2011-05-11 苹果公司 用于外围组件的命令队列
CN102696021A (zh) * 2009-11-05 2012-09-26 拉姆伯斯公司 接口时钟管理

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802019B2 (en) * 2005-06-14 2010-09-21 Microsoft Corporation Hard disk drive condition reporting and error correction
US7571266B2 (en) * 2006-02-06 2009-08-04 Carlson Lance R Peripheral device in a computerized system and method
US7937520B2 (en) * 2008-01-11 2011-05-03 Mediatek Inc. General purpose interface controller of resoure limited system
CN101572107A (zh) * 2008-04-28 2009-11-04 卓然公司 单一通用输入/输出(gpio)管脚的电动机控制电路
US8390949B2 (en) * 2009-05-18 2013-03-05 Dell Products L.P. Data loss prevention during a fall of a storage device
US8291126B2 (en) * 2010-03-23 2012-10-16 Spansion Llc Variable read latency on a serial memory bus
CN102054370B (zh) * 2010-10-29 2013-06-05 鸿富锦精密工业(深圳)有限公司 Usb线控器及应用所述usb线控器的电子阅读设备
US8990449B2 (en) * 2012-05-15 2015-03-24 Dell Products L.P. Systems and methods for out of band notification of hard drive status change

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561788A (zh) * 2008-01-11 2009-10-21 联发科技股份有限公司 通用接口控制器
CN102696021A (zh) * 2009-11-05 2012-09-26 拉姆伯斯公司 接口时钟管理
CN102053930A (zh) * 2009-11-10 2011-05-11 苹果公司 用于外围组件的命令队列

Also Published As

Publication number Publication date
US8954632B2 (en) 2015-02-10
US20140189162A1 (en) 2014-07-03
DE102013021107A1 (de) 2014-07-03
CN103914415A (zh) 2014-07-09
DE102013021107B4 (de) 2015-10-29

Similar Documents

Publication Publication Date Title
CN103914415B (zh) 调整输入/输出接口
US5805922A (en) Queued serial peripheral interface having multiple queues for use in a data processing system
US8914551B2 (en) Sensor polling unit for microprocessor integration
CN107092568A (zh) 在低功耗系统中处理数据的数据通信接口
US20150212738A1 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
EP2232376B1 (en) Resource controlling
CN108027791A (zh) 多节点网络中的输入/输出信号桥接和虚拟化
US20140278205A1 (en) Embedded processor on an integrated mems sensor chip autonomously managing external sensor
US9294300B2 (en) Token based communication in daisy chain configured battery management devices
CN107209743A (zh) 串行总线的接收时钟校准
US7532136B2 (en) Analog to digital converter unit
EP3244318A1 (en) Method and unit for handling interrupts in a system
TW201743572A (zh) 用於線多工uart流程控制的數位訊號傳遞方案
CN109344098A (zh) 主从设备间的数据操作方法和装置
CN109844685A (zh) 一种分时复用的复位装置、方法、及终端
CN105892350B (zh) 在微控制器单元和主处理器之间通信的电子设备及其方法
US9251107B2 (en) Immediate direct memory access descriptor-based write operation
CN109240130B (zh) 可程序化接脚位准的控制电路
CN104424142B (zh) 一种多核处理器系统中访问共享资源的方法与装置
Corcoran Two wires and 30 years: A tribute and introductory tutorial to the I2C two-wire bus
CN105378650B (zh) 用于控制处理模块的操作模式的方法和装置
US8412976B2 (en) Data negotiation using serial voltage identification communication
CN105577052B (zh) 一种基于fpga的步进电机无抖动驱动控制系统及基于该系统的控制方法
CN109887259B (zh) 一种单线传输装置及方法
Visconti et al. Operation principle, advanced procedures and validation of a new Flex-SPI communication Protocol for smart IoT devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant