CN109343992B - 应用于通用主控芯片的灵活可配的模数转换器控制方法 - Google Patents

应用于通用主控芯片的灵活可配的模数转换器控制方法 Download PDF

Info

Publication number
CN109343992B
CN109343992B CN201811131496.0A CN201811131496A CN109343992B CN 109343992 B CN109343992 B CN 109343992B CN 201811131496 A CN201811131496 A CN 201811131496A CN 109343992 B CN109343992 B CN 109343992B
Authority
CN
China
Prior art keywords
conversion
digital converter
analog
channel
data
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
CN201811131496.0A
Other languages
English (en)
Other versions
CN109343992A (zh
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201811131496.0A priority Critical patent/CN109343992B/zh
Publication of CN109343992A publication Critical patent/CN109343992A/zh
Application granted granted Critical
Publication of CN109343992B publication Critical patent/CN109343992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

本发明公开了一种应用于通用主控芯片的灵活可配的模数转换器控制方法,在模数转换器进行转换时,通过配置选择转换模式,转换模式包括:有限次数的单通道转换、有限次数的多通道转换、连续的单通道转换、连续的多通道转换。本发明使得SoC在控制模数转换器的时候有很高的灵活性使软件开发更加便捷,节约了开发成本和CPU的运算开销。

Description

应用于通用主控芯片的灵活可配的模数转换器控制方法
技术领域
本发明涉及通用主控芯片,具体是一种应用于通用主控芯片的灵活可配的模数转换器控制方法。
背景技术
在现代SoC芯片中,模数转换器的控制方法大同小异;但是在实时性要求比较高的处理器中,要求模数转换器控制方法对CPU的时序开销尽可能小。这就导致了灵活可配的控制方法在不同场景下显得更为重要,选取合适的控制方法可以保证SoC在使用更少的CPU资源的前提下拥有更大的灵活度,提高开发效率。
目前业界使用广泛的模数转换器应用于意法半导体公司的STM32系列芯片中。
当前主流的ADC控制方法是STM32中使用的方法。STM32的模数转换器控制方法拥有下的特点:
具有单次转换和连续转换的功能(单次转换是指转换操作仅仅进行一次;连续转换是指除非收到停止转换控制信号,转换操作会一直进行下去)。STM32不支持有限次数的转换,只能在一次转换完成之后使用软件控制开始下一次转换,或者进行不会自动停止的转换。STM32所有通道共用同一个硬件看门狗,在为一个通道配置完成看门狗的功能之后,如果需要为其他的通道配置看门狗功能则需要软件重新进行配置。现有技术在设置看门狗的方式上不够灵活,在每一个通道都需要设置一个看门狗的情形下需要在每次转换完成之后由软件再次进行配置看门狗,这种操作方式非常不灵活,占用了大量的软件开发成本与CPU的时序开销,除此之外,现有技术只能采集一次或者连续采集,并且使用软件实现采集有限次数的功能需要占用大量的处理器资源。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提供了一种应用于通用主控芯片的灵活可配的模数转换器控制方法,在模数转换器进行转换时,通过配置选择转换模式达到ADC灵活可配并且节约CPU使用率的目的,转换模式包括:有限次数的单通道转换、有限次数的多通道转换、连续的单通道转换、连续的多通道转换。
进一步的,所述有限次数的单通道转换过程如下:当模数转换器接受到触发信号之后,控制模块会传递给模数转换器开始转换的信号,在模数转换器接收到开始信号的时刻会立刻开始一次转换,转换完成后采集到的数据和通道标志数据会被保存到寄存器中;模数转换器产生的中断信号被置位用来提示转换完成;控制器存在一个计数器,用于判断当前转换的次数,如果次数满足条件,那么转换就自动停止。
进一步的,所述有限次数的多通道转换过程如下:在触发信号到来之后模数转换器会开始转换,每完成一次转换,模数转换器的转换通道会跳变成下一个通道的地址并且立刻开始下一次转换;用于转换次数计数的计数器计满做出对应的计数工作,计数器计满之后,控制器认为完成了所有的转换,并停止转换。
进一步的,所述连续的单通道转换过程如下:在触发信号到来之后模数转换器会开始转换,每完成一次转换,模数转换器会立刻对这个通道进行一次新的转换,数据不断地写入指定的寄存器,后采集到的数据会把上一次转换的数据覆盖掉。
进一步的,所述连续的多通道转换过程如下:模数转换器根据事先配置好的顺序依次转换每一个通道里面的数据并在所有通道都完成转换之后立刻从第一个通道重新开始转换,除非用户主动停止转换或者系统复位,否则模数转换器会一直工作,数据会不断地写入指定的寄存器,后采集到的数据会把上一次转换的数据覆盖掉。
进一步的,在使用看门狗的情形下,在使能模数转换器转换之前对需要检测的通道进行配置,当模数转换器在转换的过程中如果采集到了数据超出了看门狗预先设置的值就在对应的寄存器中产生一个标志位,该标志位会被手动清除。
进一步的,在使用中断的情形下,对触发中断的类型进行配置,在模数转换器转换数据时,若满足了产生中断的条件,那么模数转换器产生一个中断标志位,并把产生中断的通道和当前采集到的数据保存到指定的寄存器中供查看。
进一步的,在看门狗中断中除了产生中断的数据和通道外还会额外提示当前是上阈值超出还是下阈值超出范围。
本发明的应用于通用主控芯片芯片的灵活可配的模数转换器控制方法,当通用主控芯片需要测量模拟信号电压的时候,需要调用模数转换器进行模数转换,根据寄存器中的配置以及当前模数转换器当前的工作状态,控制模数转换器自动进行转换以及自动停止,并保存产生中断的时候模数转换器采集到的值与通道。该机制分成两个部分:1. 选择采集到的数据是不是需要保存,若采集到的数据需要保存,可以通过读取对应的寄存器或者使用DMA搬运到指定的存储器空间,若采集到的数据不需要保存,只考虑数据是否超出了指定的范围,当采集到的数据超出范围之后,会在对应的标志位寄存器写入对应的数据;当产生中断的时候,产生中断的通道和当前采集到的数据会被存储到指定的寄存器用来保护产生中断的现场。2. 模数转换器是否需要在完成一定次数的转换之后自动停止。如果需要转换多次并且自动停止,就需要在完成转换之后使计数器自加,当计数器满之后模数转换器就立刻停止转换。在需要多次采集模拟量并计算平均数的场合下会经常使用到这个功能,使用硬件完成这个功能只要占用很少的资源,但是用软件去实现一个计数器功能则需要浪费大量的CPU资源。
通过以上机制使得SoC在控制模数转换器的时候有很高的灵活性使软件开发更加便捷,节约了开发成本和CPU的运算开销。
本发明的模数转换器控制方法拥有以下特点:
在一次完整的ADC转换过程中,模数转换器需要两个外界提供的信息,一个是被转换的通道,通道是模数转换器与外部模拟信号相连的接口。另外一个是转换开始的触发信号,这个触发信号既可以来自软件配置,也可以用户自己设置。当触发信号到来之后,ADC会自动开始转换,模块会把来自外部的模拟信号经过一系列的处理最终生成一个数字信号并写入寄存器。其中发生转换的外部入口被称为通道,一个ADC会拥有多个通道。按照转换的次数来看,可以分为有限次数的转换和无限次数的转换,有限次数的转换是指ADC可以对一个或者几个通道进行多次或者一次转换操作并在完成一定的次数后主动停止工作。连续转换时指ADC对一个或者多个通道进行持续的转换操作并不会主动停止工作。当采集到的数据量比较大的时候,就会使用额外的模块(DMA)把模数转换结果寄存器中的数据快速搬运到一块更大的存储器中等待进一步的处理。除此之外,每一个采集到的数据会被送入一个硬件看门狗进行比较,看门狗的功能是当采集到超出看门狗预先设定的值的时候产生一个中断信号提示CPU并记录当前的状态。
附图说明
图1是单通道有限次数的转换流程图;
图2是多通道有限次数的转换流程图;
图3是单通道连续转换流程图;
图4是多通道连续转换流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明的主要目的在于提高SoC操作模数转换器的灵活性。为了在实际场景下复杂多变的需求与处理的开销中取得平衡,既不会占用过多的逻辑资源,又能尽量保证软件操作的便利性。即使在复杂的需求下,仍然可以只通过配置少量的寄存器完成既定的使用需求。
如图1所示,有限次数的单通道转换:这种模式是在指定的通道完成一次转换操作,当模数转换器接受到触发信号之后,控制模块会传递给ADC开始转换的信号,在模数转换器接收到开始信号的时刻会立刻开始一次转换,转换完成后采集到的数据和通道标志数据会被保存到寄存器中。如果这个采集到的数据超出了阈值,那么会使对应的标志位发生变化。于此同时一个由模数转换器产生的中断信号会被置位用来提示转换完成。控制器会存在一个计数器,用于判断当前转换的次数,如果次数满足条件,那么转换就自动停止。
如图2所示,有限次数的多通道转换:这种模式是对指定的通道按照预先设定的顺序,依次进行有限次数的转换。在触发信号到来之后模数转换器会开始转换,每完成一次转换,模数转换器的转换通道会跳变成下一个通道的地址并且立刻开始下一次转换。用于转换次数计数的计数器计满会做出对应的计数工作,计数器计满之后,控制器认为完成了所有的转换,并停止转换。每一次完成转换之后相关的数据都会被保存到寄存器里面,直到下一次转换完成,下一次转换会把上一次的数据覆盖掉,除非上一次转换的数据触发了中断,无论是超出阈值的中断还是其他类型的中断,触发了中断的数据会被单独保存到其他的寄存器之中。采集到的数据如果不想被清除掉,还可以通过DMA的方式搬运到指定的地址空间。
如图3所示,连续的单通道转换:这种模式是对同一个通道进行连续转换的工作模式。在这种模式下面,模数转换器不会自动的停止转换,而是除非用户手动关闭模数转换器功能,转换就会永远持续下去,直到系统复位。在触发信号到来之后模数转换器会开始转换,每完成一次转换,模数转换器会立刻对这个通道进行一次新的转换。数据会不断地写入指定的寄存器,后采集到的数据会把上一次转换的数据覆盖掉。可以手动使用DMA功能把数据搬运到指定的存储器空间。如果采集到的数据满足触发中断的条件,那么发生中断的数据和通道就会被记录下来等待被查看。
如图4所示,连续的多通道转换:这种模式是对多个通道按照一定的顺序进行连续转换的工作模式。在这种模式下面,模数转换器会根据事先配置好的顺序依次转换每一个通道里面的数据并在所有通道都完成转换之后立刻从第一个通道重新开始转换。除非用户主动停止转换或者系统复位,否则模数转换器会一直工作。数据会不断地写入指定的寄存器,后采集到的数据会把上一次转换的数据覆盖掉。可以手动使用DMA功能把数据搬运到指定的存储器空间。如果采集到的数据满足触发中断的条件,那么发生中断的数据和通道就会被记录下来等待被查看。
本发明采用的不同的工作模式下有着不同的工作流程。
在模数转换器进行转换时,通过配置选择转换模式。
在单通道有限次转换中,需要配置转换的通道号和转换的次数寄存器,在完成这部分的配置之后,模数转换器会使能ADC进行转换的通道。并控制ADC开始进行转换,在每一转换完成后会收到一个来自ADC的转换完成标志位信号,标志位信号会把对应的计数器自加,当计数器里面的数据和寄存器中配置的数据匹配后就关闭ADC的使能信号,使ADC停止转换。
在多通道有限次转换中,需要依次配置需要转换的通道、转换次数、转换顺序寄存器,在完成配置之后,模数转换器会使能ADC进行转换的通道。并且控制ADC开始转换,在每一转换完成后会收到一个来自ADC的转换完成标志位信号,标志位信号会把对应的计数器自加,当计数器里面的数据和寄存器中配置的数据匹配后就关闭ADC的使能信号,使ADC停止转换。
在单通道无限次转换中,需要配置转换的通道,在完成配置之后使能ADC转换,控制ADC开始进行转换,在ADC完成一次转换之后指示ADC立刻开始进行下一次转换。直到寄存器中的ADC转换使能位被关闭。
在多通道无限次转换中,需要配置转换的通道、转换顺序。在完成配配置之后使能ADC转换,控制ADC进行转换,在ADC完成一个通道的转换之后指示ADC立刻开始下一个通道的转换,当所有通道完成转换之后指示ADC从第一个通道开始进行转换操作,直到寄存器中的ADC转换使能位被关闭。
在使用看门狗的情形下,在使能ADC转换之前对需要检测的通道进行配置。那么当ADC在转换的过程中如果采集到了数据超出了看门狗预先设置的值就会在对应的寄存器中产生一个标志位,这个标志位会被手动清除。如果没有配置对应的看门狗中断,那么ADC采集到数据不会打断转换过程。
在需要使用中断的情形下,需要对触发中断的类型进行配置,在ADC转换数据的时候如果满足了产生中断的条件,那么模数转换器会产生一个中断标志位,并把产生中断的通道和当前采集到的数据保存到指定的寄存器中供查看。在看门狗中断中除了产生中断的数据和通道外还会额外提示出当前是上阈值超出还是下阈值超出了范围。

Claims (7)

1.一种应用于通用主控芯片的灵活可配的模数转换器控制方法,在模数转换器进行转换时,通过配置选择转换模式,其特征在于:转换模式包括:有限次数的单通道转换、有限次数的多通道转换、连续的单通道转换、连续的多通道转换;所述有限次数的单通道转换过程如下:当模数转换器接受到触发信号之后,控制模块会传递给模数转换器开始转换的信号,在模数转换器接收到开始信号的时刻会立刻开始一次转换,转换完成后采集到的数据和通道标志数据会被保存到寄存器中;模数转换器产生的中断信号被置位用来提示转换完成;控制器存在一个计数器,用于判断当前转换的次数,如果次数满足条件,那么转换就自动停止。
2.如权利要求1所述的应用于通用主控芯片的灵活可配的模数转换器控制方法,其特征在于:所述有限次数的多通道转换过程如下:在触发信号到来之后模数转换器会开始转换,每完成一次转换,模数转换器的转换通道会跳变成下一个通道的地址并且立刻开始下一次转换;用于转换次数计数的计数器计满做出对应的计数工作,计数器计满之后,控制器认为完成了所有的转换,并停止转换。
3.如权利要求1所述的应用于通用主控芯片的灵活可配的模数转换器控制方法,其特征在于:所述连续的单通道转换过程如下:在触发信号到来之后模数转换器会开始转换,每完成一次转换,模数转换器会立刻对这个通道进行一次新的转换,数据不断地写入指定的寄存器,后采集到的数据会把上一次转换的数据覆盖掉。
4.如权利要求1所述的应用于通用主控芯片的灵活可配的模数转换器控制方法,其特征在于:所述连续的多通道转换过程如下:模数转换器根据事先配置好的顺序依次转换每一个通道里面的数据并在所有通道都完成转换之后立刻从第一个通道重新开始转换,除非用户主动停止转换或者系统复位,否则模数转换器会一直工作,数据会不断地写入指定的寄存器,后采集到的数据会把上一次转换的数据覆盖掉。
5.如权利要求2-4之一所述的应用于通用主控芯片的灵活可配的模数转换器控制方法,其特征在于:在使用看门狗的情形下,在使能模数转换器转换之前对需要检测的通道进行配置,当模数转换器在转换的过程中如果采集到了数据超出了看门狗预先设置的值就在对应的寄存器中产生一个标志位,该标志位会被手动清除。
6.如权利要求2-4之一所述的应用于通用主控芯片的灵活可配的模数转换器控制方法,其特征在于:在使用中断的情形下,对触发中断的类型进行配置,在模数转换器转换数据时,若满足了产生中断的条件,那么模数转换器产生一个中断标志位,并把产生中断的通道和当前采集到的数据保存到指定的寄存器中供查看。
7.如权利要求5所述的应用于通用主控芯片的灵活可配的模数转换器控制方法,其特征在于:在看门狗中断中除了产生中断的数据和通道外还会额外提示当前是上阈值超出还是下阈值超出范围。
CN201811131496.0A 2018-09-27 2018-09-27 应用于通用主控芯片的灵活可配的模数转换器控制方法 Active CN109343992B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811131496.0A CN109343992B (zh) 2018-09-27 2018-09-27 应用于通用主控芯片的灵活可配的模数转换器控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811131496.0A CN109343992B (zh) 2018-09-27 2018-09-27 应用于通用主控芯片的灵活可配的模数转换器控制方法

Publications (2)

Publication Number Publication Date
CN109343992A CN109343992A (zh) 2019-02-15
CN109343992B true CN109343992B (zh) 2020-09-01

Family

ID=65307311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811131496.0A Active CN109343992B (zh) 2018-09-27 2018-09-27 应用于通用主控芯片的灵活可配的模数转换器控制方法

Country Status (1)

Country Link
CN (1) CN109343992B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110336563A (zh) * 2019-05-09 2019-10-15 核芯互联(北京)科技有限公司 一种工作模式选择方法、装置、系统及存储介质
CN111813179A (zh) * 2020-07-24 2020-10-23 南方电网数字电网研究院有限公司 模数转换器的控制方法及控制芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599253A (zh) * 2003-09-17 2005-03-23 得州仪器公司 在不显著危及吞吐量性能的情况下增强逐次逼近型模数转换器的信噪比
CN101213753A (zh) * 2006-02-02 2008-07-02 株式会社东芝 模/数转换设备
CN104506195A (zh) * 2014-12-25 2015-04-08 北京兆易创新科技股份有限公司 一种分辨率可配置逐次逼近型模数转换器
CN106788431A (zh) * 2016-12-19 2017-05-31 上海新储集成电路有限公司 一种逐次逼近寄存器型模数转换器
CN108139956A (zh) * 2015-10-22 2018-06-08 克诺尔商用车制动系统有限公司 用于基于看门狗电压来监测微控制器的电路装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7319852B2 (en) * 2002-08-29 2008-01-15 Qualcomm, Incorporated Apparatus and method for DC offset compensation in a direct conversion receiver
CN107395208B (zh) * 2017-04-19 2020-12-29 电子科技大学 基于多通道非均匀时延的压缩采样结构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599253A (zh) * 2003-09-17 2005-03-23 得州仪器公司 在不显著危及吞吐量性能的情况下增强逐次逼近型模数转换器的信噪比
CN101213753A (zh) * 2006-02-02 2008-07-02 株式会社东芝 模/数转换设备
CN104506195A (zh) * 2014-12-25 2015-04-08 北京兆易创新科技股份有限公司 一种分辨率可配置逐次逼近型模数转换器
CN108139956A (zh) * 2015-10-22 2018-06-08 克诺尔商用车制动系统有限公司 用于基于看门狗电压来监测微控制器的电路装置和方法
CN106788431A (zh) * 2016-12-19 2017-05-31 上海新储集成电路有限公司 一种逐次逼近寄存器型模数转换器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
用于超低频信号测量的高精度低功耗增量式模数转换器;陈浩 等;《西安交通大学学报》;20170630;第51卷(第6期);79-85 *

Also Published As

Publication number Publication date
CN109343992A (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
US20200159279A1 (en) Low power autonomous peripheral management
US7420498B2 (en) Signal converter performing a role
CN109343992B (zh) 应用于通用主控芯片的灵活可配的模数转换器控制方法
US5736948A (en) Semiconductor integrated circuit device and control system
TW201327188A (zh) 週邊通訊
KR100222351B1 (ko) 아나로그-디지탈 변환 시스템 및 아나로그 신호를 디지탈 신호로 변환시키는 방법
US4454500A (en) Analog data acquisition device
US7852246B2 (en) Analogue/digital converter device
US7984216B2 (en) Method and system for a RFIC master
CN109684244A (zh) 用于多从机系统的i2c总线主机优化传输方法及装置
KR101878200B1 (ko) 서든 파워 오프 발생 시 메모리 시스템을 제어하는 방법
US20080276073A1 (en) Apparatus for and method of distributing instructions
US20100289681A1 (en) A/d conversion device
JP2009077353A (ja) パラレルデータ出力制御回路及び半導体装置
CN108108564B (zh) 一种提高系统启动速度的装置和方法
CN110045911B (zh) 模数转换控制电路及单片机模数转换电路
JPH08272765A (ja) 半導体集積回路及びモータ駆動制御回路
US6831583B1 (en) Integrated circuit comprising a microprocessor and an analogue to digital converter which is selectively operable under the control of the microprocessor and independently of the microprocessor, and a method for operating the integrated circuit
US10802730B2 (en) Semiconductor device and reconfiguration control method of the same
EP0779582A1 (en) Data processor having bus controller
TW201810048A (zh) 嵌入式系統之操作方法與控制晶片
US9286250B2 (en) Semiconductor device
JPS5826583B2 (ja) デ−タニユウリヨクソウチ
JPH05314281A (ja) A/d変換器を内蔵したマイクロコンピュータ
CN110515559B (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
GR01 Patent grant
GR01 Patent grant