CN111124034B - 一种使用时间处理单元的时序控制方法 - Google Patents
一种使用时间处理单元的时序控制方法 Download PDFInfo
- Publication number
- CN111124034B CN111124034B CN201911189690.9A CN201911189690A CN111124034B CN 111124034 B CN111124034 B CN 111124034B CN 201911189690 A CN201911189690 A CN 201911189690A CN 111124034 B CN111124034 B CN 111124034B
- Authority
- CN
- China
- Prior art keywords
- etpu
- matching
- channel
- external chip
- time
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明属于机载计算机系统软件领域,提供一种使用时间处理单元的时序控制方法。该方法仅使用带有时间处理单元(eTPU)的微控制器,不依赖外部可编程逻辑,对有严格时序控制需求的外部芯片实现控制时序。该方法包括:确定eTPU的基本配置信息和输入输出通道;确定运行控制逻辑的eTPU通道;确定运行控制逻辑的eTPU通道的运行模式;规划外部芯片各种情况下的eTPU线程入口条件;编写eTPU程序;编写微控制器端用来驱动eTPU程序的代码。
Description
技术领域
本发明属于机载计算机系统软件领域,具体的说是一种使用时间处理单元的时序控制方法,可以仅使用带有时间处理单元的微控制器,实现有严格时序控制需求的外部芯片的时序控制,不需要中断微控制器,也不需要额外的可编程逻辑芯片支持。
背景技术
机载计算机系统经常应用于发动机控制、发动机状态监控、机电管理、健康管理等各个方面,要完成相应的功能,往往需要采集获取大量的诸如模拟量、离散量、频率量等外部信号,还需要与许多外部设备通过各种数据总线进行交联,同时对微控制器的主频、存储等硬件性能也有较高的要求,还要求机载计算机系统具有很高的实时性。除此之外,机载计算机受到安装位置的限制,其体积往往也有严格的要求,同时考虑到成本、较高的可维护性、安全性等因素,也需要机载计算机具有较高的集成度。
为了满足上述要求,机载计算机中经常需要使用外部芯片,例如外部AD转换芯片、外部存储芯片、外部通信总线芯片等,这些芯片大多需要使用数字信号进行时序控制才能正常工作(图1是一种高精度AD转换芯片的时序控制图),而为了保证大数据量和高实时性,这些控制信号的切换速度大多在数十纳秒级别,微控制器(CPU)远远不能输出如此高速变换的信号。以往的解决方案是通过可编程逻辑(FPGA)实现这类芯片的时序控制功能。然而对于轻量级系统,增加额外的芯片就是增加重量、体积和成本。对于已有可编程逻辑(FPGA)的系统,其资源往往有限,若采用可编程逻辑(FPGA)执行,则会造成资源浪费。
发明内容
本发明的目的在于提供了一种利用CPU内部的协处理器eTPU实现外部芯片控制时序的方法,该方法无需采用其他硬件芯片,避免使用额外的可编程逻辑芯片造成的资源浪费问题。
本发明的具体技术方案是:
本发明提供了一种使用时间处理单元的时序控制方法,具体包括以下步骤:
步骤1:根据芯片控制逻辑确定eTPU的基本配置;所述eTPU的基本配置包括确定eTPU主频以及eTPU的输入输出通道;
其中,eTPU主频需要根据控制时序最小的时间要求来确定;
eTPU的输入输出通道根据外部芯片的IO管脚的方向来确定;
步骤2:确定运行控制逻辑的eTPU通道;
步骤3:确定步骤2所述eTPU通道的运行模式;
所述eTPU通道的运行模式包括捕获外部芯片的输入以及匹配事件的发生,所述匹配事件包括超时、延时、定时输出以及故障检测;
步骤4:根据eTPU通道的运行模式,从而规划外部芯片在各种情况下的线程入口条件;
一个eTPU通道内有多种线程入口条件,线程入口条件是由几个状态标志经过排列组合得到:实现时序控制功能所用的状态标志包括:主服务请求HSR、匹配A跳变检测B、匹配B跳变检测A、标志0、标志1和输入引脚状态pin;
步骤5:根据步骤1-4的确定的eTPU的基本配置、运行控制逻辑的eTPU通道、eTPU通道的运行模式以及线程入口条件编写eTPU的程序;
步骤6:编写微控制器端用来驱动eTPU程序的代码,使用驱动eTPU程序的代码来初始化eTPU通道,设置通道参数,处理eTPU中断,以及获取运行结果,从而实现外部芯片的时序控制。
进一步地,上述状态标志排列组合应遵循以下原则:
A:对于处理CPU发起的初始化、复位以及参数更改请求,必须使用主服务请求HSR进行;
其中,在处理CPU发起参数更改请求时,还需要根据外部芯片的控制时序,确定在更改参数时是否需要同时考虑外部芯片输出信号的跳变状态;所述跳变状态为匹配A跳变检测B或匹配B跳变检测A;
以及是否需要同时考虑外部芯片输出信号的状态,所述外部芯片输出信号的状态为输入引脚状态pin;
B、对于外部芯片输出信号的改变:
若该信号指示外部芯片某过程的开始,则需要使用匹配A跳变检测B或匹配B跳变检测A进行检测,同时可以结合标志0和标志1来区分上述检测的时机;
若该信号指示外部芯片某过程的结束,则需要使用匹配A跳变检测B结合匹配B跳变检测A,以实现在给定的时间窗口内检测外部芯片的输出信号并处理上述检测超时,同时可以结合标志0和标志1来区分上述检测的时机;
C、对于外部芯片控制时序要求的延时或定时输出,可以使用匹配A跳变检测B或匹配B跳变检测A来实现延时和定时,同时可以结合标志0和标志1来区分上述延时和定时的时机。
进一步地,上述eTPU主频最高为微控制器主频的一半。
进一步地,上述状态标志除了主服务请求HSR可以取8个值外,其余都只能取0或1两个值。
进一步地,上述步骤5中编写eTPU的程序具体是根据外部芯片的控制时序和步骤4的线程入口条件,编写每个线程的处理程序。
本发明的有益效果是:
本发明采用时间处理单元eTPU可以灵活地处理许多与时间相关的复杂任务,从而减轻微控制器(CPU)的负担,改变以往控制逻辑需要使用可编程逻辑芯片(FPGA)实现的现状,从而大大降低了成本,提高效率,且稳定可靠,实现简单。
附图说明
图1为AD采集芯片的时序图;
图2为采用本发明进行时序控制的流程图;
图3是实施例控制时序与eTPU线程的对照图;
图4是实施例微控制器驱动eTPU的接口组成图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
首先,需要对时间处理单元(eTPU)进行简单介绍:eTPU也是一种位于微控制器内部的协处理器,目前被广泛地应用于汽车发动机控制等领域。eTPU属于可编程的IO控制器,并具有自己的内核和存储系统,从而允许它独立于微控制器,处理复杂的时间相关的IO操作。eTPU一般具有数十个可以独立控制的IO通道,并对应微控制器的IO管脚,其内核时钟可以达到微控制器主频的一半,保证其可以处理高速、复杂的IO操作。每个eTPU通道均可以自由指定运行的程序,也可以多个通道配合实现一个功能。eTPU通道中运行的程序以线程为单位,每个线程都可以设置相应触发条件,当条件满足时,eTPU调度器完成通道和线程的调度。eTPU与微控制器的数据交互使用主机接口单元实现。其中eTPU的二进制可执行代码被存储在共享代码存储区中,该区域对微控制器可读写而对eTPU只读。而eTPU的数据存储在共享数据区中,该区域对微控制器和eTPU都可读写,微控制器可以通过这个区域设置eTPU的运行参数,获取eTPU的运行结果等。
如图1所示,以AD采集芯片的控制时序为实施例进行说明,具体实现时序控制的流程参见图2:
步骤1:确定eTPU的基本配置,eTPU的基本配置包括eTPU的主频和eTPU输入输出通道。
其中,eTPU主频需要根据控制时序最小的时间要求来确定;
eTPU的输入输出通道根据外部芯片的IO管脚的方向来确定;由于每个eTPU通道都有1个关联的IO管脚,要使用eTPU控制外部芯片,就要确定哪些管脚需要通过eTPU进行采集或输出,从而确定使用的eTPU通道以及它们的方向,并在微控制器中配置这些管脚的复用功能。
实施例使用的微控制器主频为100MHz,而控制逻辑中使用的最小时间间隔约为25ns,eTPU主频应选为最大的50MHz,以满足上述时间要求。
外部芯片为多路AD转换芯片,使用6路同时转换,则需要的eTPU通道列表及方向参见表1。
表1
eTPU通道 | 作用 | 方向(相对微控制器) |
A0 | 多路选择器第0位 | 输出 |
A1 | 多路选择器第1位 | 输出 |
A2 | 多路选择器第2位 | 输出 |
A3 | 多路选择器第3位 | 输出 |
A4 | CONVSTA | 输出 |
A5 | CONVSTB | 输出 |
A6 | CONVSTC | 输出 |
A7 | 芯片复位 | 输出 |
A8 | BUSY | 输入 |
步骤2:确定控制逻辑所在的eTPU通道;
根据外部芯片的控制时序,选择外部芯片的输出管脚,作为运行控制逻辑的eTPU通道;其目的是尽量让控制逻辑运行在一个通道内以简化设计,并利用eTPU可以多通道协作的特点,在这个通道内根据时序控制其他需要输出的通道。一般来说,外部芯片控制逻辑中输出的信号可以作为上述通道,因为微控制器往往需要根据芯片输出来判断控制时序执行到哪一步,进而设置相应的输出。图1例中,应使用BUSY信号所在的通道作为eTPU的控制通道,运行控制逻辑。
步骤3:确定步骤2所述eTPU通道的运行模式。在AD芯片初始化时,应当使用匹配事件中的延时和定时输出功能,延时一段时间后切换状态,并给出相应的输出信号。当AD转换开始后,eTPU需要等待BUSY信号以指示转换结束,此时应当使用捕获功能,在超时时间内检测信号输入。
步骤4:规划线程入口条件;一个eTPU通道内可以多种线程入口条件,这些入口条件是由几个状态标志经过排列组合得到的。实现时序控制功能常用的5个状态标志包括:主服务请求(HSR)、匹配A跳变检测B(m1)、匹配B跳变检测A(m2)、标志0(flag0)、标志1(flag1)和输入引脚状态(pin)。上述状态标志除了HSR可以取8个值外,其余都只能取0或1两个值。
通常状态标志排列组合应遵循以下原则:
A:对于处理CPU发起的初始化、复位以及参数更改请求,必须使用主服务请求HSR进行;
其中,在处理CPU发起参数更改请求时,还需要根据外部芯片的控制时序,确定在更改参数时是否需要同时考虑外部芯片输出信号的跳变状态;所述跳变状态为匹配A跳变检测B或匹配B跳变检测A;
以及是否需要同时考虑外部芯片输出信号的状态,所述外部芯片输出信号的状态为输入引脚状态pin;
B、对于外部芯片输出信号的改变:
若该信号指示外部芯片某过程的开始,则需要使用匹配A跳变检测B或匹配B跳变检测A进行检测,同时可以结合标志0和标志1来区分上述检测的时机;
若该信号指示外部芯片某过程的结束,则需要使用匹配A跳变检测B结合匹配B跳变检测A,以实现在给定的时间窗口内检测外部芯片的输出信号并处理上述检测超时,同时可以结合标志0和标志1来区分上述检测的时机;
C、对于外部芯片控制时序要求的延时或定时输出,可以使用匹配A跳变检测B或匹配B跳变检测A来实现延时和定时,同时可以结合标志0和标志1来区分上述延时和定时的时机。
本实施例线程入口条件可参见表2和图3。其中初始化、复位和切换多路选择器需要由CPU触发,应使用主服务请求HSR实现;同时多路选择器应当在芯片空闲时切换,应结合输入引脚状态pin来区分发起切换多路选择器时的芯片状态。其余控制逻辑均使用匹配、捕获以及两个标志组合,构成各种线程入口条件。对于复位、CONVST这类需要主动生成的信号,可以使用匹配中的定时输出功能,使信号在特定的时刻输出。而对于BUSY这类需要等待的信号,可以使用捕获进行检测,并结合匹配中的超时检测功能来判断超时。
表2为本实施例中状态标志排列组合的原则:
表2
步骤5:编写eTPU的程序。根据步骤1-4的确定的eTPU的基本配置、运行控制逻辑的eTPU通道、eTPU通道的运行模式以及线程编写eTPU的程序;
步骤6:编写微控制器端用来驱动eTPU程序的代码。对于本实施例,需要初始化接口、芯片复位接口、获取转换标志接口、设置超时参数接口,具体参见图4。
Claims (5)
1.一种使用时间处理单元的时序控制方法,其特征在于,具体包括以下步骤:
步骤1:根据芯片控制逻辑确定eTPU的基本配置;所述eTPU的基本配置包括确定eTPU主频以及eTPU的输入输出通道;
其中,eTPU主频需要根据控制时序最小的时间要求来确定;
eTPU的输入输出通道根据外部芯片的IO管脚的方向来确定;
步骤2:确定运行控制逻辑的eTPU通道;
根据外部芯片的控制时序,选择外部芯片的输出管脚,作为运行控制逻辑的eTPU通道;
步骤3:确定步骤2所述eTPU通道的运行模式;
所述eTPU通道的运行模式包括捕获外部芯片的输入以及匹配事件的发生,所述匹配事件包括超时、延时、定时输出以及故障检测;
步骤4:根据eTPU通道的运行模式,从而规划外部芯片在各种情况下的线程入口条件;
一个eTPU通道内有多种线程入口条件,线程入口条件是由几个状态标志经过排列组合得到:实现时序控制功能所用的状态标志包括:主服务请求HSR、匹配A跳变检测B、匹配B跳变检测A、标志0、标志1和输入引脚状态pin;
步骤5:根据步骤1-4的确定的eTPU的基本配置、运行控制逻辑的eTPU通道、eTPU通道的运行模式以及线程入口条件编写eTPU的程序;
步骤6:编写微控制器端用来驱动eTPU程序的代码,使用驱动eTPU程序的代码来初始化eTPU通道,设置通道参数,处理eTPU中断,以及获取运行结果,从而实现外部芯片的时序控制。
2.根据权利要求1所述的使用时间处理单元的时序控制方法,其特征在于:状态标志排列组合应遵循以下原则:
A:对于处理CPU发起的初始化、复位以及参数更改请求,必须使用主服务请求HSR进行;
其中,在处理CPU发起参数更改请求时,还需要根据外部芯片的控制时序,确定在更改参数时是否需要同时考虑外部芯片输出信号的跳变状态;所述跳变状态为匹配A跳变检测B或匹配B跳变检测A;
以及是否需要同时考虑外部芯片输出信号的状态,所述外部芯片输出信号的状态为输入引脚状态pin;
B、对于外部芯片输出信号的改变:
若该信号指示外部芯片某过程的开始,则需要使用匹配A跳变检测B或匹配B跳变检测A进行检测,同时可以结合标志0和标志1来区分匹配A跳变检测B或匹配B跳变检测A的时机;
若该信号指示外部芯片某过程的结束,则需要使用匹配A跳变检测B结合匹配B跳变检测A,以实现在给定的时间窗口内检测外部芯片的输出信号并处理匹配A跳变检测B结合匹配B跳变检测A超时,同时可以结合标志0和标志1来区分匹配A跳变检测B结合匹配B跳变检测A的时机;
C、对于外部芯片控制时序要求的延时或定时输出,可以使用匹配A跳变检测B或匹配B跳变检测A来实现延时和定时,同时可以结合标志0和标志1来区分上述延时和定时的时机。
3.根据权利要求1所述的使用时间处理单元的时序控制方法,其特征在于:所述eTPU主频最高为微控制器主频的一半。
4.根据权利要求1所述的使用时间处理单元的时序控制方法,其特征在于:所述状态标志除了主服务请求HSR可以取8个值外,其余都只能取0或1两个值。
5.根据权利要求1所述的使用时间处理单元的时序控制方法,其特征在于:所述步骤5中编写eTPU的程序具体是根据外部芯片的控制时序和步骤4的线程入口条件,编写每个线程的处理程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911189690.9A CN111124034B (zh) | 2019-11-28 | 2019-11-28 | 一种使用时间处理单元的时序控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911189690.9A CN111124034B (zh) | 2019-11-28 | 2019-11-28 | 一种使用时间处理单元的时序控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124034A CN111124034A (zh) | 2020-05-08 |
CN111124034B true CN111124034B (zh) | 2021-03-30 |
Family
ID=70496945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911189690.9A Active CN111124034B (zh) | 2019-11-28 | 2019-11-28 | 一种使用时间处理单元的时序控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124034B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112034615B (zh) * | 2020-08-31 | 2022-06-24 | 同济大学 | 高速扫描用可变透镜的控制编码方法、装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102116796A (zh) * | 2010-12-10 | 2011-07-06 | 天津凯发电气股份有限公司 | 基于eTPU的交流信号同步采样和频率测量装置及其工作方法 |
CN102518523A (zh) * | 2011-12-29 | 2012-06-27 | 北京经纬恒润科技有限公司 | 一种高压共轨柴油机喷油控制装置 |
CN202578924U (zh) * | 2012-05-18 | 2012-12-05 | 中国汽车工程研究院股份有限公司 | 车用柴油机高压喷射系统电子控制单元 |
CN104321747A (zh) * | 2012-04-19 | 2015-01-28 | 西门子公司 | 用于多核/众核可编程逻辑控制器的时间裕隙应用流水线平衡 |
CN108227541A (zh) * | 2016-12-14 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非连续模拟差分信号频率与相位采集方法 |
CN109782723A (zh) * | 2019-01-31 | 2019-05-21 | 西安微电子技术研究所 | 一种面向非特定ad的可配置多功能控制系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544092A (en) * | 1994-02-25 | 1996-08-06 | Intel Corporation | Method and apparatus for configuring an integrated circuit |
CN101684758A (zh) * | 2008-09-26 | 2010-03-31 | 北京耀佳汽车电子技术有限公司 | 一种车用柴油机压电式高压共轨喷射系统电子控制单元 |
CN101961997A (zh) * | 2010-09-17 | 2011-02-02 | 安徽安凯汽车股份有限公司 | 一种用于串联混合动力客车的整车控制器 |
JP6050721B2 (ja) * | 2012-05-25 | 2016-12-21 | 株式会社半導体エネルギー研究所 | 半導体装置 |
CN103049323A (zh) * | 2012-12-31 | 2013-04-17 | 西安奇维科技股份有限公司 | 一种在fpga中实现的多中断均衡管理方法 |
CN105406972A (zh) * | 2015-07-15 | 2016-03-16 | 浙江骐远智能科技有限公司 | 一种基于微控制器的有线和无线切换控制系统及切换控制方法 |
-
2019
- 2019-11-28 CN CN201911189690.9A patent/CN111124034B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102116796A (zh) * | 2010-12-10 | 2011-07-06 | 天津凯发电气股份有限公司 | 基于eTPU的交流信号同步采样和频率测量装置及其工作方法 |
CN102518523A (zh) * | 2011-12-29 | 2012-06-27 | 北京经纬恒润科技有限公司 | 一种高压共轨柴油机喷油控制装置 |
CN104321747A (zh) * | 2012-04-19 | 2015-01-28 | 西门子公司 | 用于多核/众核可编程逻辑控制器的时间裕隙应用流水线平衡 |
CN202578924U (zh) * | 2012-05-18 | 2012-12-05 | 中国汽车工程研究院股份有限公司 | 车用柴油机高压喷射系统电子控制单元 |
CN108227541A (zh) * | 2016-12-14 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种非连续模拟差分信号频率与相位采集方法 |
CN109782723A (zh) * | 2019-01-31 | 2019-05-21 | 西安微电子技术研究所 | 一种面向非特定ad的可配置多功能控制系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于eTPU技术的信号处理模块的设计与实现;华金;《上海船舶运输科学研究所学报》;20140930;第37卷(第3期);第9-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111124034A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8850236B2 (en) | Power gating of cores by an SoC | |
US7830902B2 (en) | Arbiter, crossbar, request selection method and information processing device | |
US9430411B2 (en) | Method and system for communicating with non-volatile memory | |
US20060268967A1 (en) | Supplying instruction to operational stations | |
CN1667597A (zh) | 资源管理装置 | |
DE102013113262B4 (de) | Auslöser-Leitwegeinheit | |
US10002102B2 (en) | Low-pin microcontroller device with multiple independent microcontrollers | |
EP0728331A1 (en) | Microcontroller with multiple timing functions available in a single peripheral module | |
US20200192832A1 (en) | Influencing processor governance based on serial bus converged io connection management | |
US9390033B2 (en) | Method and system for communicating with non-volatile memory via multiple data paths | |
CN107743621B (zh) | 集成电路输入及输出 | |
CN111124034B (zh) | 一种使用时间处理单元的时序控制方法 | |
CN104765701A (zh) | 数据访问方法及设备 | |
US9377968B2 (en) | Method and system for using templates to communicate with non-volatile memory | |
CN103218219A (zh) | 紧凑函数跟踪 | |
EP2759927B1 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
US10339085B2 (en) | Method of scheduling system-on-chip including real-time shared interface | |
CN108009121B (zh) | 面向应用的动态多核配置方法 | |
US10713188B2 (en) | Inter-process signaling system and method | |
US20170004104A1 (en) | Usb switch and control method thereof | |
US20030084226A1 (en) | Data transmission device | |
CN117422024B (zh) | 数据位宽转换方法、装置、计算机设备及介质 | |
CN117009265B (zh) | 一种应用于片上系统的数据处理装置 | |
CN109460254B (zh) | 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片 | |
CN109101457B (zh) | 一种基于c6678的单核实现ndk通信与srio传输的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |