首页 / 专利分类库 / 基本电子电路 / 一种用于TKC或ADC的实现电路及芯片

一种用于TKC或ADC的实现电路及芯片

申请号 CN202110683226.6 申请日 2021-06-21 公开(公告)号 CN113489497B 公开(公告)日 2024-04-26
申请人 苏州聚元微电子股份有限公司; 发明人 张跃玲; 万海军;
摘要 本 发明 公开了集成 电路 、 半导体 领域的一种用于TCK或ADC的实现电路及芯片,旨在解决可集成于SoC/MCU系统中的触摸按键数据转换和内部 硬件 实现数据计算操作、ADC数模转化和数据计算技术问题。其包括:集成于SoC/MCU系统中的用于实现相应功能的模 块 主要有数字 逻辑电路 、模拟实现电路、时钟管理模块、寄存器读写配置模块、CPU和电源管理模块。本发明能够实现当SoC/MCU芯片管脚配置触摸按键功能管脚或ADC数据转换功能时,通过SoC/MCU系统CPU运行和设计的硬件IP电路实现按键识别和模拟 信号 数据的转化和数据计算。
权利要求

1.一种用于TKC和ADC的实现电路,TKC指触摸按键检测控制,ADC指模数转换,其特征在于,包括状态控制处理模、ADC功能模块、TKC功能模块、channel模块、计算处理结束信号及中断产生和处理模块以及数据计算处理和产生模块;
所述状态控制处理模块用于根据获取到的控制参数,生成低功耗运行控制信号,控制所述ADC功能模块和TKC功能模块生成运行信号;
所述ADC功能模块用于产生ADC运行的开始信号以及ADC使能运行信号,以及产生需要运行和进行计算的通道信号并输出到channel模块;
所述TKC功能模块用于产生TKC运行和开始信号,以及控制逻辑信号输出到channel模块,以及产生TKC功能需求运行的起始信号并输出到ADC功能模块;
所述channel模块用于根据所述ADC功能模块和TKC功能模块传输来的通道信号和控制逻辑信号产生需要进行计算和算法处理的通道信号,并传输至计算处理结束信号及中断产生和处理模块;
所述计算处理结束信号及中断产生和处理模块用于产生计算算法结束信号和控制内部相关中断处理;
所述数据计算处理和产生模块用于根据低功耗运行控制信号运行计算算法和产生计算数据结果;
所述状态控制处理模块包括时钟/复位/低功耗状态控制处理模块和寄存器读写配置模块;
所述时钟/复位/低功耗状态控制处理模块用于产生功能模块的时钟、复位信号以及根据系统内部的CPU传输来的低功耗信号进行相应内部时钟同步处理后,产生低功耗运行控制信号;
所述寄存器读写配置模块用于根据低功耗运行控制信号生成配置指令,控制所述ADC功能模块和TKC功能模块的按键通道配置、数据计算方法模式、运行开始以及中断产生方式;
所述状态控制处理模块通过外部指令控制所述寄存器读写配置模块使CPU和整个系统选择进入省电模式和正常模式;
在省电模式下的ADC与TKC的采集通道信号的频率较正常模式下的ADC与TKC的采集通道信号的频率更低;
所述TKC功能模块通过寄存器配置实现单一按键识别、多按键轮询扫描、多按键轮询扫描并累加、多按键轮询扫描并累加求平均;
所述TKC功能模块通过I/O端口与多个触摸按键模块连接,所述TKC功能模块与逻辑I/O引脚复用,通过寄存器进行选择;
所述触摸按键模块通过测量内部感应比较器的充电时间与电压来感应触摸动作;
所述I/O端口被提前配置为模拟管脚,其输入上拉功能或者施密特触发器输入功能被禁掉。
2.根据权利要求1所述的实现电路,其特征在于,所述省电模式包括空闲模式、停止模式和睡眠模式;所述状态控制处理模块在无低功耗需求指令配置时,控制CPU和整个系统工作在正常模式;发生触摸动作时可以把系统从省电模式中唤醒,系统会进入正常模式;
ADC功能模块只能工作在正常和空闲模式,而TKC功能模块能工作在正常模式和节能模式;
在正常模式和空闲模式中,所述ADC功能模块和TKC功能模块的工作时钟是系统时钟管理模块产生的第一时钟经过预分频产生的;正常和空闲模式下,来自于系统提供的第二时钟和第三时钟一直工作;但在停止模式和睡眠模式中,只有第二时钟一直工作。
3.根据权利要求1所述的实现电路,其特征在于,ADC功能模块的芯片内置分辨率为11‑bit,采样时间为固定的5个ADC工作时钟,转换速率仅由工作时钟决定;ADC功能模块的工作时钟通过寄存器配置灵活的选择分频比多档位可配置分频系数。
4.一种芯片,其特征在于,包括:权利要求1‑3任一项所述的实现电路以及模拟实现电路、时钟管理模块和芯片寄存器读写配置模块;
模拟实现电路用于把产生于管脚的按键动作产生的通道信号进行检测识别,并且完成模拟信号转换为数字逻辑电路控制处理的数字信号
时钟管理模块用于提供数字逻辑电路功能工作在各个模式下的时钟、复位信号来源;
芯片寄存器读写配置模块用于传输读写操作的bus总线信号,以及完成TKC/ADC电路内部的寄存器读写操作。
5.根据权利要求4所述的芯片,其特征在于,所述时钟管理模块至少包括第一时钟,第二时钟,第三时钟,用于提供数字逻辑电路功能工作在各个模式下的时钟、复位信号,以控制所述模拟实现电路以预设频率获取通道信号;
芯片寄存器读写配置模块根据获取到的控制参数,控制所述系统进入节能模式或正常模式;正常模式下,第一时钟,第二时钟,第三时钟都运行;节能模式下,所述时钟管理模块的时钟不全部运行。
6.根据权利要求4所述的芯片,其特征在于,所述芯片还包括CPU和中断处理模块;
所述CPU和中断处理模块用于产生控制TKC或者ADC运行及数据计算的相关信号及数据读出,将指令转化为传输IP的控制信号;
当芯片处于节能模式时,CPU传输逻辑信号至数字逻辑电路。
7.根据权利要求4所述的芯片,其特征在于,所述芯片还包括电源管理模块;
所述电源管理模块用于在系统工作不同模式下的系统内部电源管理控制。

说明书全文

一种用于TKC或ADC的实现电路及芯片

技术领域

[0001] 本发明涉及一种用于TKC或ADC的实现电路及芯片,属于模数混合电路控制技术领域。

背景技术

[0002] 随着集成电路低功耗和高度集成技术的发展,出现可实现触摸按键检测和相关控制功能(TOUCHKEY简称TKC)、模数转换(ADC)控制和数据计算等功能的电路,触摸按键相对于传统的机械按键有许多优点,如:按键次数几乎无限,不会由于机械磨损而导致按键失效,外观美观,成本较低,防防尘等功能,因此电容式触摸按键系统广泛应用与消费电子物联网,家电设备等场合。触摸按键的基本原理是检测人手指触摸产生的额外电容,而这个额外电容是并联在振荡器的充放电电容上,当电容由于人手指触摸而产生变化时,振荡器的频率或占空比就会产生变化。
[0003] 现有触控设备中包括:微控制单元(Microcontroller Unit,MCU)和多个触摸按键,其中MCU与每一个触摸按键之间存在一个通道,在每个触摸按键下方均设置有触摸传感器,因此,上述的触摸按键也可以被称为触摸感应电电极。 触控设备的工作原理是:MCU内设置有触控模和计时器,多个通道基于同一个计时器工作,任一个触摸按键可以被理解为一个电容,触控模块周期性对多个通道依次进行扫描(即采集电容触摸触感器的输出电压),当有手指按压在该触摸按键上时,人体与地会行成一个电容,这个电容与触摸按键串连在一起,从而导致触摸按键的电容变大,进而电容触摸触感器的输出电压变小,MCU内软件程序对扫描数据进行处理,进而判断有无手指按压触摸按键,并判断是哪一路通道被手指按压。
[0004] 现有的电路不可集成于SoC或MCU系统中,且现有技术中的触摸按键检测电路往往面积浪费,集成度低、高功耗,并难以满足硬件实现的可移植的要求。

发明内容

[0005] 本发明的目的在于,提供一种用于TKC或ADC的实现电路及芯片,集成度高,可集成于MCU/SoC系统中的一个硬件IP核电路,集成率高,速度快。
[0006] 为达到上述目的,本发明所采用的技术方案是:
[0007] 第一方面,本发明提供一种用于TKC或ADC的实现电路,TKC指触摸按键检测控制,ADC指模数转换,包括状态控制处理模块、ADC功能模块、TKC功能模块、channel模块、数据计算处理和产生模块、计算处理结束信号及中断产生和处理模块以及数据计算处理和产生模块;
[0008] 所述状态控制处理模块用于根据获取到的控制参数,生成低功耗运行控制信号,控制所述ADC功能模块和TKC功能模块生成运行信号;
[0009] 所述ADC功能模块用于产生ADC运行的开始信号以及ADC使能运行信号,以及产生需要运行和进行计算的通道信号并输出到channel模块;
[0010] 所述TKC功能模块用于产生TKC运行和开始信号,以及控制逻辑信号输出到channel模块,以及产生TKC功能需求运行的起始信号并输出到ADC功能模块;
[0011] 所述channel模块用于根据所述ADC功能模块和TKC功能模块传输来的通道信号和控制逻辑信号产生需要进行计算和算法处理的通道信号,并传输至计算结束信号及中断产生和处理模块;
[0012] 所述计算结束信号及中断产生和处理模块用于产生计算算法结束信号和控制内部相关中断处理;
[0013] 所述数据计算处理和产生模块用于根据低功耗运行控制信号运行计算算法和产生计算数据结果。
[0014] 进一步的,所述状态控制处理模块包括时钟/复位/低功耗状态控制处理模块和寄存器读写配置模块;
[0015] 所述时钟/复位/低功耗状态控制处理模块用于产生功能模块的时钟、复位信号以及根据系统内部的CPU传输来的低功耗信号进行相应内部时钟同步处理后,产生低功耗运行控制信号;
[0016] 所述寄存器读写配置模块用于根据低功耗运行控制信号生成配置指令,控制所述ADC功能模块和TKC功能模块的按键通道配置、数据计算方法模式、运行开始以及中断产生方式。
[0017] 进一步的,所述状态控制处理模块通过外部指令控制所述寄存器读写配置模块使CPU和整个系统选择进入省电模式和正常模式;
[0018] 在省电模式下的ADC与TKC的采集通道信号的频率较正常模式下的ADC与TKC的采集通道信号的频率更低。
[0019] 进一步的,所述省电模式包括空闲模式、停止模式和睡眠模式;所述状态控制处理模块在无低功耗需求指令配置时,控制CPU和整个系统工作在正常模式;发生触摸动作时可以把系统从省电模式中唤醒,系统会进入正常模式;
[0020] ADC功能模块只能工作在正常和空闲模式,而TKC功能模块能工作在正常模式和节能模式;
[0021] 在正常模式和空闲模式中,所述ADC功能模块和TKC功能模块的工作时钟是系统时钟管理模块产生的第一时钟经过预分频产生的;正常和空闲模式下,来自于系统提供的第二时钟和第三时钟一直工作;但在停止模式和睡眠模式中,只有第二时钟一直工作。
[0022] 进一步的,ADC功能模块的芯片内置分辨率为11‑bit,采样时间为固定的5个ADC工作时钟,转换速率仅由工作时钟决定;ADC功能模块的工作时钟通过寄存器配置灵活的选择分频比多档位可配置分频系数。
[0023] 进一步的,所述TKC功能模块通过寄存器配置实现单一按键识别、多按键轮询扫描、多按键轮询扫描并累加、多按键轮询扫描并累加求平均;
[0024] 所述TKC功能模块通过I/O端口与多个触摸按键模块连接,所述TKC功能模块与逻辑I/O引脚复用,通过寄存器进行选择;所述TKC功能模块设有中断向量和中断标志位;所述触摸按键模块通过测量内部感应比较器的充电时间与电压来感应触摸动作;所述I/O端口被提前配置为模拟管脚,其输入上拉功能或者施密特触发器输入功能被禁掉。
[0025] 第二方面,本发明提供一种芯片,包括:如第一方面所述的实现电路以及模拟实现电路、时钟管理模块和芯片寄存器读写配置模块;
[0026] 模拟实现电路用于把产生于管脚的按键动作产生的通道信号进行检测识别,并且完成模拟信号转换为数字逻辑电路控制处理的数字信号
[0027] 时钟管理模块用于提供数字逻辑电路功能工作在各个模式下的时钟、复位信号来源。
[0028] 芯片寄存器读写配置模块用于传输读写操作的bus总线信号,以及完成TKC/ADC电路内部的寄存器读写操作。
[0029] 进一步的,所述时钟管理模块至少包括第一时钟,第二时钟,第三时钟,用于提供数字逻辑电路功能工作在各个模式下的时钟、复位信号,以控制所述模拟实现电路以预设频率获取通道信号;
[0030] 芯片寄存器读写配置模块根据获取到的控制参数,控制所述系统进入节能模式或正常模式;正常模式下,第一时钟,第二时钟,第三时钟都运行;节能模式下,所述时钟管理模块的时钟不全部运行。
[0031] 进一步的,所述芯片还包括CPU和中断处理模块;
[0032] 所述CPU和中断处理模块用于产生控制TKC或者ADC运行及数据计算的相关信号及数据读出,将指令转化为传输IP的控制信号;
[0033] 当芯片处于节能模式时,CPU传输逻辑信号至数字逻辑电路。
[0034] 进一步的,所述芯片还包括电源管理模块;
[0035] 所述电源管理模块用于在系统工作不同模式下的系统内部电源管理控制。
[0036] 本发明所达到的有益效果:
[0037] 1、本发明可集成于MCU/SoC系统中的一个硬件IP核电路,集成率高,速度快;
[0038] 2、内部集成ADC模块,借助于ADC的转换功能,通过模拟硬件电路和数字硬件逻辑控制电路结合,还可以实现SoC/MCU系统的I/O口的触摸按键检测、按键识别、按键自动唤醒MCU/SoC系统,电容充放电、电荷采集、数据转换、通过ADC模块完成模数转化后的数据,硬件自动完成内部数据算法计算和产生中断,通知CPU处理器数据计算处理完成和读取数据;通过内部硬件计算处理可实现多种计算算法硬件自动处理等功能;
[0039] 3、集成于MCU/SoC系统中,可实现低功耗模式下按键检测、按键识别和唤醒功能、硬件完成按键单键识别、多个按键轮询、轮询累加、累加求平均等各种模式下的算法,节约功耗、占用面积小,节约成本。
[0040] 此IP硬件电路可作为可通过SoC/MCU软件程序和内部CPU指令完成对TKC和ADC特性功能控制和操作实现的作为系统内部的子模块电路。
[0041] 此硬件IP电路包含特定的模拟ADC模块,ADC主要完成模拟电路信号到数字信号的转化,模拟信号包括采集的来自于SoC/MCU管脚I/O配置为TKC功能时的触摸动作产生的电容充放电、电容电荷采集释放产生的电压特型的模拟信号到ADC模块,当ADC把模拟信号转化为数字信号输出到内部数字逻辑控制电路,通过内部硬件逻辑处理控制完成触摸按键检测、按键识别功能和计算算法处理,根据计算处理结束信号产生中断信号,并且硬件算法实现的计算数据结果存于存放结果的数据寄存器。可实现通知内部CPU相应的数据计算处理完成和读取计算结果数据,而相应的数据计算处理方法通过寄存器配置有多种算法可选择以及硬件计算实现。
[0042] 此硬件IP电路支持各种低功耗模式下运行,支持多种计算模式的算法实现,计算的算法模式通过寄存器配置可选择为:单键按键识别、多个按键轮询、按键轮询累加、按键轮询累加求平均等;特别是当配置低功耗模式时,通过按键检测、识别动作能够唤醒SoC/MCU系统,使其进入正常模式下工作。附图说明
[0043] 图1为TKC/ADC数字控制电路和接口示意图;
[0044] 图2为TKC/ADC数字逻辑内部主要功能模块示意图;
[0045] 图3为内部时钟/复位sleep和stop的产生和处理示意图;
[0046] 图4为channel的产生和处理示意图;
[0047] 图5为ADC/TKC控制运行、触发电路模块;
[0048] 图6为ADC/TKC数据处理模块;
[0049] 图7为计算处理结束逻辑和中断控制逻辑相关信号。

具体实施方式

[0050] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。实施例
[0051] 本实施例提供一种用于TKC或ADC的实现电路,设置在SoC或MCU系统中,包括:时钟/复位/低功耗状态控制处理、寄存器读写配置、ADC功能模块、TKC功能模块、channel选择产生、数据计算处理和产生、计算处理结束信号及中断产生和处理模块。
[0052] 时钟/复位/低功耗状态控制处理模块主要是产生内部触摸按键控制和ADC数据转换控制、计算算法的时钟、复位信号以及根据SoC/MCU系统内部的CPU传输来的低功耗信号(IDLE/STOP/SLEEP)进行相应内部时钟同步处理后产生的内部的低功耗运行控制信号。
[0053] 寄存器读写配置模块主要是控制TKC/ADC按键通道配置、数据计算方法模式(如可配置为累加、自动轮询、求平均、自动减等算法)、控制ADC运行开始以及中断产生方式等控制寄存器的配置 。
[0054] ADC功能模块用于产生ADC运行的开始信号(adc_sta)以及ADC使能运行信号(adc_run)的产生,以及需要运行和进行计算的通道信号(adc_ch)的产生(主要通过内部产生下一个控制通道处理和计算ch_nxt功能模块实现)和输出到channel模块。
[0055] TKC功能模块用于产生TKC运行(TKC_run)和开始信号(TKC_sta)信号,以及进行数据处理和计算的通道逻辑信号(TKC_ch)的产生和输出到channel模块 。以及 TKC功能需求 adc 运行的起始信号(tk_adc_sta)的产生和输出到ADC功能模块。
[0056] channel选择产生用于根据TKC和ADC传输来的通道信号和更新通道等控制逻辑信号等进而产生需要进行计算和算法处理的通道信号;传输至计算结束信号及中断产生和处理模块等其他需求获取通道信息的模块。
[0057] 计算结束信号及中断产生、处理模块用于关于计算算法结束信号产生和内部相关中断处理控制。
[0058] 数据计算处理和产生模块用于计算算法运行和计算数据结果产生。
[0059] SoC/MCU系统中的ADC和TKC功能,实现电路主要有数字逻辑控制电路和模拟电路,数字逻辑控制电路完成TKC睡眠模式下,传输至电源管理模块实现低功耗唤醒后先开启电源基准使能信号,通过 SoC/MCU系统时钟管理模块提供数字控制电路模块的三路时钟(clk_hirc,clk_per,clk_32k)并内部逻辑产生IP内部的工作时钟;关于clk_hirc,clk_per,clk_32k节能模式下工作情况为:SoC/MCU系统会进入Normal模式和IDLE模式,clk_hirc,clk_per,clk_32k仍都配置为继续工作;当系统进入STOP或SLEEP模式时,clk_32k继续运行,而clk_hirc配置TKC使能运行情况下和其他特定需求下仍开启运行。
[0060] 图1中的数字逻辑控制电路是实现ADC和TKC功能的控制电路;模拟电路是实现ADC和TKC功能的采集系统I/O口的电容充放电/ADC转换等的模拟信号及转换实现模块,主要是实现外部按键信号检测,ADC数据转化,和提供模拟有效信号转换数字信号的完成信号;电源管理模块实现系统的基本电源工作模块;数字逻辑控制电路的输入信号rst是MCU/SoC系统内部复位管理模块产生到外设IP的复位信号,sckcon[5]是可配置寄存器的某一位,实现SCKCON[5]为1加快TKC检测速度,STOP或SLEEP使用的clk_hirc替换的clk_32k时钟的运行功能。bus总线读写信号,来自于SoC系统采用的总线结构:idle、stop、sleep信号来自于SoC系统内部的CPU输出信号,Normal模式下,idle、stop、sleep保持为0,当进入相应低功耗模式时,相应信号置1。
[0061] 图1中的tkadc_intack信号为CPU输出的,表示CPU响应TKC或ADC功能模块的中断信号。寄存器输出为TKC/ADC数字逻辑控制模块的寄存器输出值,可通过MCU/SoC系统内部的CPU读出。tkadcif为TKC/ADC数字逻辑控制模块产生的中断标志信号,输出送到SoC系统中断管理模块进行处理;pd_TKCif_set为stop/sleep模式下的中断标志设置信号,送至唤醒模块,用于唤醒MCU/SoC系统和唤醒CPU进入Normal模式下的时钟工作; dat_vld是TKC/ADC模拟电路输出到TKC/ADC数字逻辑控制信号,每完成一次ADC数据转换或电容充放电后,表示数据有效的信号;dat_in[10:0]是TKC/ADC模拟电路模块完成数据转换后的11位ADC数据;tkadc_clk为TKC/ADC数字逻辑控制模块内部工作时钟通过寄存器预分频选择配置得到的分频后的时钟,输出到TKC/ADC模拟电路模块,用于电容控制/ADC模拟电路工作时钟;TKC_hirc_en为按键唤醒系统后内部控使能clk_hirc运行信号;TKC_run为控制TKC使能运行;TKC_sta为控制每次电容充放电以及按键动作检测的起始信号;adc_run为控制ADC运行使能信号,adc_sta为控制每次ADC转换的起始信号;channel[15:0]为TKC/ADC数字逻辑控制模块内部产生的选择工作通路的信号。其他TKC/ADC数字逻辑控制模块输出到TKC/ADC模拟电路的信号为TKC/ADC数字逻辑控制模块产生用于TKC/ADC模拟电路控制内部ADC运行模式、时钟、开启、使能等具体完成ADC/TKC相应功能信号。
[0062] 图2为TKC与ADC数字逻辑控制电路内部的主要模块,主要是分为时钟/复位/低功耗处理模块、ADC的功能模块(主要是ADC的通道产生、控制ADC的使能运行(adc_run)和ADC起始(adc_sta)逻辑)、TKC的功能模块(TKC的通道产生、控制TKC的使能运行(TKC_run)和TKC的起始信号(TKC_sta))、channel产生(I/O的通路选择)、寄存器读写配置、数据计算处理和产生、中断产生和处理模块。
[0063] 图3中为TKC与ADC数字逻辑控制电路内部时钟、复位和休眠状态的(来自cpu的stop/sleep)控制电路。时钟信号clk_hirc,clk_per,clk_32k来自SoC/MCU系统时钟模块,TKC与ADC数字逻辑控制电路模块内部产生通过门控控制和低功耗模式下的工作时钟:tkadc_clk,clk_lirc,clk_hirc_sig,tkadc_clk_org时钟信号。ADC功能主要只工作在Normal和IDLE模式下,在这两种模式,clk_per一直存在,所以ADC功能的数字控制逻辑主要有时钟clk_per提供;TKC工作在Normal/IDLE以及STOP/SLEEP模式,clk_lirc,clk_hirc_sig,tkadc_clk_org为用于TKC各种工作模式下的时钟选择信号,clk_hirc_sig是门控控制产生的时钟,当TKC_clk_en使能后开启通过门控控制产生,并与clk_hirc同频率的时钟,通过门控控制,目的是减少功耗,为尽量减少门控毛刺影响,采用使能信号通过时钟同步后,再使能控制门控时钟的产生。TKC_bgap_en信号为内部在低功耗休眠模式下,触摸动作检测信号有效后,再使能开始TKC进入Normal情况下,先触发TKC_bgap_en有效,TKC_bgap_en送到模拟的电源基准控制逻辑信号即从低功耗模式唤醒进入Normal模式下需要先开启正常模式工作的电源基准。开启TKC_bgap_en同时通过clk_lirc时钟同步计数,计数相应周期后, TKC_hirc_en使能,经过clk_lirc同步后使门控使能时钟TKC_clk_en有效,开启clk_hirc_sig时钟源信号有效。输入的clk_32k和clk_hirc在stop/sleep模式下,如果配置TKC使能TKC_en为1时,仍会继续工作;tkadc_clk_org时钟信号是当经过内部逻辑同步输入的stop和sleep信号产生的stop_sleep为1,且配置TKC使能时,选择clk_hirc_sig,其他选择clk_per;sckcon输入如果通过寄存器配置为1,clk_lirc选择tkadc_clk_org时钟通过,其他选择clk_32k,选择clk_32k工作,时钟频率慢,可降低功耗;TKC/ADC数字逻辑控制模块端口来自于系统的控制外设IP的复位信号rst,TKC/ADC数字逻辑控制模块内部控制寄存器读写配置使用rst复位初始值;内部电路还使用内部控制产生的inner_rst信号复位;由rst和TKC_en_redge(寄存器配置TKC使能后的上升沿信号)和adc_en_redge(寄存器配置adc使能后的上升沿信号),内部有些信号,在配置TKC或ADC使能时,需要先复位清除。当在非sleep模式,且开启TKC开始工作时,或者内部的按键动作经过clk_lirc同步延时后的信号设置1时,并且在开启TKC_en使能时,内部的sleep_test信号为0; stop_sleep是内部的经过时钟同步处理后的stop或sleep信号。
[0064] 图4中关于TKC/adc工作的I/O通路选择,产生逻辑如下:当每次产生内部完成一次数据转化后如果ADC模式下配置通过寄存器注入使能有效,通道15被注入作为ADC的有效通道开始转换。关于ch_nxt[15:0]为下一个有效的通道选择信号;TKChs[15:0]是由寄存器配置选择需要处理的I/O通道, ch_tmp为产生通道的功能模块产生,调用的通道产生功能模块共有三个输入ch_in(当前工作通道)、sel(需要选择的通道有效信号)、scan(轮询使能信号)配置,其主要逻辑功能算法是根据输入的当前通道输入、配置的按键通道选择、轮询使能信号,产生下一个需要工作的有效通道,当轮询完TKChs[15:0]最后一个配置的有效通道时,ch_tmp[16]位置1,表示轮询完成。update_ch为根据输入的dat_vld有效数据完成信号内部逻辑控制产生的更新通道信号。adc_ch和TKC_ch根据输入的update_ch和其他逻辑控制更新通道为下一个有效的通道ch_nxt[15:0]。
[0065] 关于adc的开始工作信号控制和TKC的开始工作信号控制逻辑示意图如图5所示。TKC功能也会使用到adc触发工作。adc_sta信号根据adc_en或TKC_en由ad_adc_sta或tk_adc_sta两个逻辑信号选择通过控制。ad_adc_sta通过寄存器配置只开启adc使能内部开启触发adc运行的信号。tk_adc_sta是TKC功能下触发adc开启工作,TKC_sta是每次处理完adc转化数据后再一次开始触发TKC开始操作和控制I/O电容转化、充放电、电荷采集等运行,idle是来自于CPU信号,在idle状态下,adc仍开启运行。
[0066] adc和TKC的功能进行数据处理电路如图6;图6中当配置自动减使能模式下时,内部根据寄存器配置自动减使能进行同步逻辑控制产生的做减法计算差值使能信号,自动减数据为差分模式下的自动减计算的数据;dat_vld为外部ADC送至的完成数据转换后的有效信号,dat_in为模拟电路ADC采集好的11位的数据,累加数据为在配置累加使能情况下的进行累加计算的数据,寄存器配置的累计使能累加操作的累加次数;清除累加逻辑控制清除一次累加计算和。加法器产生的数据之和,求平均计算以及自动减等等各种算法结果根据寄存器配置选择输出到寄存器值tkdath[7:0]和tkdatl[7:0]。
[0067] 关于计算处理结束逻辑和内部相关中断处理如图7中, 当数据转换处理和计算方式配置adc模块转换结束并且数据有效产生结束信号eoc;当数据转换处理和计算方式配置轮询在adc模块dat_vld有效后并且轮询完后产生结束信号eop;eos为两次累加操作之间间隙完成之后的结束信号;所有数据处理结束(eoa):轮询完并且数据处理结束(累加或平均),产生结束信号;若adc工作在累加(或者打开求平均操作)模式中,则会产生eoa中断,通知处理器查看对原始adc转换数据的处理结果。
[0068] 图7中的tkadcif为中断标志送至中断处理模块, tkadc_intack来自于cpu对中断的响应处理信号,当tkadc_intack为1时,清除tkadcif标志,当休眠模式下中断产生即pd_TKCif_set信号为1或者adc数据处理完产生中断adcif_set都会使tkadcif置1,另外还受总线写标志中断寄存器影响;当adc_en和TKC_en在非休眠模式下,tkadcif主要是adc操作数据运算完成影响,在休眠模式,主要由pd_TKCif_set控制产生。实施例
[0069] 本实施例提供一种系统芯片,其中内部影响或控制完成TKC或者ADC功能的模块包括:数字逻辑电路、模拟实现电路、时钟管理模块、芯片寄存器读写配置模块、CPU和中断处理、电源管理模块;
[0070] 所述数字逻辑电路通过电源管理模块实现唤醒,通过时钟管理模块提供的三路时钟并内部逻辑产生IP内部的工作时钟,用于使整个系统选择进入不同的工作模式,所述工作模式包括:空闲模式、停止模式、睡眠模式和正常模式;所述三路时钟包括第一时钟,第二时钟,第三时钟;
[0071] 模拟实现电路用于当SoC/MCU的管脚功能特型配置为TKC或者ADC功能特型时,把产生于管脚的按键动作产生的充电电容信号(其为模拟特型的信号)或ADC采集的模拟信号进行检测识别,并且完成模拟信号转换为数字逻辑电路控制处理的数字信号及数据。
[0072] 时钟管理模块用于提供数字逻辑电路功能工作在各个模式下的时钟、复位信号来源。
[0073] 芯片寄存器读写配置模块用于传输读写操作的bus总线信号,以及完成TKC/ADC电路内部的寄存器读写操作。
[0074] CPU和中断处理模块主要产生控制TKC或者ADC运行及数据计算的相关信号及数据读出,是SoC/MCU的应用软件程序指令转化为传输IP的控制信号。特别当低功耗工作模式寄存器控制配置不同值,SoC/MCU的CPU传输IDLE/STOP/SLEEP值(空闲模式IDLE置1、停止模式STOP置1、睡眠模式SLEEP置1和正常模式IDLE/STOP/SLEEP都为0)逻辑信号至数字逻辑电路。
[0075] 电源管理模块控制SoC/MCU系统工作不同模式下,特别低功耗模式下的系统内部电源管理控制。
[0076] 图1中的tkadcif为tkadc_ctrl控制产生的中断标志信号,输出送到SoC系统中断管理模块进行处理;pd_TKCif_set为stop/sleep模式下的中断标志设置信号,送至唤醒模块,用于唤醒MCU/SoC系统; dat_vld是tkadc_analog产生的输入到tkadc_ctrl信号,每完成一次ADC数据转换或电容充放电后,表示数据有效的信号;dat_in[10:0]是tkadc_analog模块完成数据转换后的11位ADC数据;tkadc_clk为内部工作时钟通过寄存器预分频选择配置得到的分频后的时钟,输出到TKC_analog模块,用于电容控制/ADC模拟电路工作时钟;TKC_hirc_en为按键唤醒系统后内部门控使能clk_hirc运行信号;TKC_run为控制TKC使能运行;TKC_sta为控制每次电容充放电以及按键动作检测的起始信号;adc_run为控制ADC运行使能信号,adc_sta为控制每次ADC转换的起始信号;channel[15:0]为内部产生的选择工作通路的信号。其他tkadc_ctrl输出到tkadc_analog的信号为tkadc_ctrl产生用于控制tkadc_analog内部的ADC运行的模式、时钟、开启、使能等具体完成ADC/TKC相应功能信号。
[0077] 图2为TKC与ADC控制电路内部的主要模块,主要是分为时钟/复位/低功耗处理模块、ADC的功能模块(主要是ADC的通道产生、控制ADC的使能(adc_run)和ADC起始(adc_sta)逻辑)、TKC的功能模块(TKC的通道产生、控制TKC的使能(TKC_run)和TKC的起始信号(TKC_sta))、channel产生(I/O的通路选择)、寄存器读写配置、数据计算处理和产生、中断产生和处理模块。
[0078] 图3中为TKC与ADC控制电路内部时钟、复位和休眠状态的(来自cpu的stop/sleep)控制电路。时钟信号clk_hirc,clk_per,clk_32k来自SoC/MCU系统时钟模块,模块内部主要产生的时钟tkadc_clk,clk_lirc,clk_hirc_sig,tkadc_clk_org。ADC功能主要只工作在Normal和IDLE模式下,在这两种模式,clk_per一直存在,所以ADC功能的数字控制逻辑主要有时钟clk_per提供;TKC工作在Normal/IDLE以及STOP/SLEEP模式,clk_lirc,clk_hirc_sig,tkadc_clk_org为用于TKC各种工作模式下的时钟选择信号,clk_hirc_sig是当TKC_clk_en使能后开启通过门控控制产生,与clk_hirc同频率的时钟,通过门控控制,目的是减少功耗,为尽量减少门控毛刺影响,采用使能信号通过时钟同步后,再使能进行门控时钟产生。TKC_bgap_en信号为内部在低功耗休眠模式下,触摸动作检测信号有效后,再使能TKC_en情况下,先触发TKC_bgap_en有效,TKC_bgap_en送到模拟的电源基准控制逻辑。开启TKC_bgap_en同时通过clk_lirc时钟同步计数,计数相应周期后, TKC_hirc_en使能,经过clk_lirc同步后使门控使能时钟TKC_clk_en有效,开启clk_hirc_sig时钟源信号有效。输入的clk_32k和clk_hirc在stop/sleep模式下,如果配置TKC使能TKC_en为1时,仍会继续工作;tkadc_clk_org时钟信号是当经过内部逻辑同步输入的stop和sleep信号产生的stop_sleep为1,且配置TKC使能时,选择clk_hirc_sig,其他选择clk_per;sckcon输入如果通过寄存器配置为1,clk_lirc选择tkadc_clk_org时钟通过,其他选择clk_32k,选择clk_32k工作,时钟频率慢,可降低功耗;tkadc_ctrl模块端口来自于系统的控制外设IP的复位信号rst,tkadc_ctrl模块内部控制寄存器读写配置使用rst复位初始值;内部电路还使用内部控制产生的inner_rst信号复位;由rst和TKC_en_redge(寄存器配置TKC使能后的上升沿信号)和adc_en_redge(寄存器配置adc使能后的上升沿信号),内部有些信号,在配置TKC或ADC使能时,需要先复位清除。当在非sleep模式,且开启TKC开始工作时,或者内部的按键动作经过clk_lirc同步延时后的信号没置1时,并且在开启TKC_en使能时,内部的sleep_test信号为0; stop_sleep是内部的经过时钟同步处理后的stop或sleep信号。
[0079] 图4中关于TKC/adc工作的I/O通路选择,产生逻辑如下:当每次产生内部完成一次数据转化后如果ADC模式下配置通过寄存器注入使能有效,通道15被注入作为ADC的有效通道开始转换。关于ch_nxt[15:0]为下一个有效的通道选择信号;TKChs[15:0]是由寄存器配置选择需要处理的I/O通道, ch_tmp为产生通道的功能模块产生,调用的通道产生功能模块共有三个输入ch_in(当前工作通道)、sel(需要选择的通道有效信号)、scan(轮询使能信号)配置,其主要逻辑功能算法是根据输入的当前通道输入、配置的按键通道选择、轮询使能信号,产生下一个需要工作的有效通道,当轮询完TKChs[15:0]最后一个配置的有效通道时,ch_tmp[16]位置1,表示轮询完成。update_ch为根据输入的dat_vld有效数据完成信号内部逻辑控制产生的更新通道信号。adc_ch和TKC_ch根据输入的update_ch和其他逻辑控制更新通道为下一个有效的通道ch_nxt[15:0]。
[0080] 关于adc的开始工作信号控制和TKC的开始工作信号控制逻辑示意图如图5所示。TKC功能也会使用到adc触发工作。adc_sta信号根据adc_en或TKC_en由ad_adc_sta或tk_adc_sta两个逻辑信号选择通过控制。ad_adc_sta通过寄存器配置只开启adc使能内部开启触发adc运行的信号。tk_adc_sta是TKC功能下触发adc开启工作,TKC_sta是每次处理完adc转化数据后再一次开始触发TKC开始操作和控制I/O电容转化、充放电、电荷采集等运行,idle是来自于CPU信号,在idle状态下,adc仍开启运行。
[0081] adc和TKC的功能进行数据处理电路如图6;图6中当配置自动减使能模式下时,内部根据寄存器配置自动减使能进行同步逻辑控制产生的做减法计算差值使能信号,自动减数据为差分模式下的自动减计算的数据;dat_vld为外部ADC送至的完成数据转换后的有效信号,dat_in为模拟电路ADC采集好的11位的数据,累加数据为在配置累加使能情况下的进行累加计算的数据,寄存器配置的累计使能累加操作的累加次数;清除累加逻辑控制清除一次累加计算和。加法器产生的数据之和,求平均计算以及自动减等等各种算法结果根据寄存器配置选择输出到寄存器值tkdath[7:0]和tkdatl[7:0]。
[0082] 关于eoc、eop、eos、eoa和内部相关中断处理如图7中, adc模块转换结束并且数据有效(eoc);eop为adc模块dat_vld有效后并且轮询完后的结束信号;eos为两次累加操作之间间隙完成之后的结束信号;所有数据处理结束(eoa):轮询完并且数据处理结束(累加或平均),产生结束信号;若adc工作在累加(或者打开求平均操作)模式中,则会产生eoa中断,通知处理器查看对原始adc转换数据的处理结果。图7中的tkadcif为中断标志送至中断处理模块, tkadc_intack来自于mcu对中断的响应处理信号,当tkadc_intack为1时,清除tkadcif标志,当休眠模式下中断产生即pd_TKCif_set信号为1或者adc数据处理完产生中断adcif_set都会使tkadcif置1,另外还受总线写标志中断寄存器影响;当adc_en和TKC_en在非休眠模式下,tkadcif主要是adc操作数据运算完成影响,在休眠模式,主要由pd_TKCif_set控制产生。
[0083] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0084] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0085] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0086] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0087] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
QQ群二维码
意见反馈