마이크로―코딩된 시퀀서를 구비한 아날로그―디지털 변환 장치

申请号 KR1020177006669 申请日 2015-10-16 公开(公告)号 KR1020170071474A 公开(公告)日 2017-06-23
申请人 마이크로칩 테크놀로지 인코포레이티드; 发明人 바틀링,제임스이.; 우제우다,이고르; 킬저,케빈;
摘要 마이크로-코딩된시퀀서는중앙처리유닛(CPU)과는독립적으로복합변환시퀀스들을제어한다. 마이크로-코딩은새로운처리단계를쉽게추가하거나기존프로세스단계들을업데이트하는것을제공한다. 아날로그-디지털변환기(ADC) 또는충전시간측정유닛(CTMU)과같은아날로그-디지털변환모듈과디지털처리회로와결합된이러한프로그램가능시퀀서는, 마이크로-코딩된시퀀서와결합하여 CPU와독립적으로작업하도록구성될수 있다. 이것에의해, CPU 및다른고전력모듈들이저전력슬립모드에있을때에도저전력모드들의자급자족동작이제공된다. 이러한주변장치는데이터수집및 그것의처리를실행할수 있고, 그리고필요시에만 CPU를깨우므로전력을절약할수 있다. 또한, 이주변장치는 CPU 처리를필요로하지않으므로, CPU에의한제어를요구하는시간중요애플리케이션들은더 효율적이면서도동작오버헤드는부담이덜하게동작할수 있다.
权利要求
  • 마이크로-코딩된 시퀀서를 사용하는 아날로그-디지털 변환용 장치로서:
    아날로그-디지털 변환 수단;
    상기 아날로그-디지털 변환 수단에 결합되어 상기 아날로그-디지털 변환 수단을 제어하는 마이크로-코딩된 시퀀서; 및
    상기 마이크로-코딩된 시퀀서에 결합된 메모리를 포함하고,
    상기 메모리는 상기 마이크로-코딩된 시퀀서에 상기 아날로그-디지털 변환 수단을 어떻게 제어할지를 명령하는 마이크로-코딩된 워드들을 저장하는, 장치.
  • 제1항에 있어서,
    상기 아날로그-디지털 변환 수단은 아날로그-디지털 변환기(ADC)인, 장치.
  • 제1항에 있어서,
    상기 아날로그-디지털 변환 수단은 충전 시간 측정 유닛(CTMU)인, 장치.
  • 제1항에 있어서,
    상기 아날로그-디지털 변환 수단의 입력부에 결합된 출력부를 구비하고 상기 마이크로-코딩된 시퀀서에 의해 제어되는 아날로그 멀티플렉서를 더 포함하고,
    상기 아날로그 멀티플렉서는, 상기 마이크로-코딩된 시퀀서에 명령하는 상기 마이크로-코딩된 워드들에 의해 결정되는, 자신의 입력부들을 선택하는, 장치.
  • 제1항에 있어서,
    상기 메모리에 결합되고 상기 마이크로-코딩된 시퀀서를 위한 마이크로-코딩된 워드의 선택에 사용되는 어드레스 디코더를 더 포함하는, 장치.
  • 제1항에 있어서,
    저전력 슬립 모드를 갖는 중앙 처리 유닛(CPU)을 더 포함하고,
    상기 CPU가 상기 저전력 슬립 모드에 있을 때에도, 상기 마이크로-코딩된 시퀀서, 아날로그-디지털 변환 수단 및 메모리는 기능을 수행하는, 장치.
  • 제6항에 있어서,
    상기 CPU, 마이크로-코딩된 시퀀서, 아날로그-디지털 변환 수단 및 상기 메모리는 마이크로컨트롤러에 의해 제공되는, 장치.
  • 제1항에 있어서,
    상기 마이크로-코딩된 시퀀서는 데이터 수집 시퀀서와 수학 후처리기(math post processor) 시퀀서를 포함하는, 장치.
  • 제8항에 있어서,
    수학 후처리기를 더 포함하고,
    상기 수학 후처리기는 상기 수학 후처리기 시퀀서에 의해 제어되는, 장치.
  • 제8항에 있어서,
    상기 마이크로-코딩된 워드들의 각각은 데이터 부분과 수학 후처리기 부분을 포함하는, 장치.
  • 제8항에 있어서,
    제1 복수의 마이크로-코딩된 워드들은 상기 데이터 수집 시퀀서를 제어하고, 제2 복수의 마이크로-코딩된 워드들은 상기 수학 후처리기 시퀀서를 제어하는, 장치.
  • 제1항에 있어서,
    제1 복수의 마이크로-코딩된 워드들은 단계들의 제1 시퀀스를 제어하고, 제2 복수의 마이크로-코딩된 워드들은 단계들의 제2 시퀀스를 제어하는, 장치.
  • 제1항에 있어서,
    상기 마이크로-코딩된 워드는, 루프(loop) 제어, 수학 연산 제어, 아날로그-디지털 변환 제어, 충전 시간 측정 유닛 제어, 및 외부 노드 연결부들 제어로 이루어진 그룹으로부터 선택된 부분들을 포함하는, 장치.
  • 제1항에 있어서,
    상기 마이크로-코딩된 워드는, 시퀀스 종료, 임계값 제어, 아날로그-디지털 변환 래치 클록, 누산기(accumulator) 래치 클록, 기록 제어 및 누산기 제어로 이루어지는 그룹으로부터 선택된 부분들을 포함하는, 장치.
  • 집적회로 디바이스 내의 아날로그-디지털 변환기 주변장치로서:
    아날로그-디지털 변환기(ADC) 코어;
    프로그램가능 명령 워드들에 의해 제어되는 상태 머신 - 상기 상태 머신은, 상기 ADC 코어의 제어 기능들을 수행하고, 적어도 상기 집적회로 디바이스의 외부 핀들을 구성하고, 샘플링 및 변환을 개시시키고, 메모리에 결과값을 저장하고, 루프 동작들을 수행하도록 동작가능함 -; 및
    관련된 명령 워드들의 시퀀스를 저장하기 위한 메모리를 포함하는, 아날로그-디지털 변환기 주변장치.
  • 제15항에 있어서,
    명령 워드는: 루프(loop), 후처리 기능, ADC 제어 기능, 및 외부 핀 구성 중 적어도 하나를 정의하기 위한 비트 필드들을 포함하는, ADC 주변장치.
  • 제16항에 있어서,
    용량성 시간 측정 유닛(CTMU; capacitive time measurement unit)을 더 포함하고,
    상기 명령 워드는 상기 CTMU를 제어하기 위한 비트 필드를 포함하는, ADC 주변장치.
  • 제15항에 있어서,
    적어도 하나의 후처리 명령 워드에 의해 제어가능한 산술(arithmetic) 로직 유닛을 더 포함하고, 후처리는 상기 상태 머신 명령 워드에 의해 개시되는, ADC 주변장치.
  • 제18항에 있어서,
    상기 후처리 명령 워드는 임계값, 누산기 입력, 및 결과값 저장을 제어하기 위한 적어도 하나의 비트 필드를 포함하는, ADC 주변장치.
  • 제15항 내지 제19항 중 어느 한 항에 따른 상기 아날로그-디지털 변환기 주변장치를 포함하는, 마이크로컨트롤러.
  • 说明书全文

    마이크로―코딩된 시퀀서를 구비한 아날로그―디지털 변환 장치{ANALOG-TO-DIGITAL CONVERSION WITH MICRO-CODED SEQUENCER}

    본 출원은 2014년 10월 17일자로 출원된 공동 소유의 미국 가출원 제62/065,129호에 대한 우선권을 주장하며, 상기 가출원은 모든 목적을 위해 본 출원에 참조로 통합된다.

    본 개시는 아날로그-디지털 변환 모듈들에 관한 것으로, 특히 마이크로-코딩된 시퀀서(micro-coded sequencer)와 결합된 아날로그-디지털 변환 모듈들에 관한 것이다.

    아날로그-디지털 변환 장치, 특히 마이크로컨트롤러들에 내장된 아날로그-디지털 변환 모듈들은, 전형적으로 마이크로컨트롤러의 각각의 중앙 처리 유닛(CPU) 코어의 소프트웨어 통제하에 있다. 이러한 아날로그-디지털 변환 모듈들은, CPU가 비활성일 때에는 슬립(sleep) 및 아이들(idle)과 같은 저전력 모드들에서 제한적으로 동작한다. 특정 애플리케이션들에서는, 아날로그-디지털 변환 모듈들은 다른 마이크로컨트롤러 주변 기능부들, 예를 들면, 저장 레지스터들, 누산기(accumulator)들, 멀티플렉서들, 샘플 및 홀드 회로들 등과의 상호작용을 필요로 하는데, 여기서, 상기 다른 마이크로컨트롤러 주변 기능부들은 아날로그-아날로그 변환 모듈들과 이러한 다른 마이크로컨트롤러 주변 기능부들 간의 상호작용을 제어하기 위하여 CPU를 필요로 한다. CPU가 아날로그-디지털 변환 모듈들과 다른 지원 주변장치들 간의 상호작용들을 제어해야 한다는 이러한 요구사항은, 더 생산적으로(productively) 예를 들면, 모터 제어, 스위치 모드 파워 서플라이(SMPS) 제어, 디지털 신호 처리(DSP) 등(이에 한정되지 아니함)에 사용될 수 있는 유용한 CPU 처리 전력을 소모한다. 또한, CPU가 다양한 작업들을 수행할 필요가 있을 때에도, 이것은 마이크로컨트롤러의 전력 소모를 증가시킬 수 있다.

    CPU 제어의 대안으로, 아날로그-디지털 변환 모듈과 결합된 하드-코딩된 시퀀서가, 예를 들어 알고리즘을 수행하는 프로세스에 단계들의 하나의 시퀀스를 제공할 수 있다. 하지만, 하드-코딩된 시퀀서에서의 그 단계들은 오류들을 수정하거나 그 프로세스에 대한 개선사항들을 통합하기 위해 변경될 수 없다. 단지 단일의 프로세스 시퀀스만 이용가능하며, 다른 또는 그 이상의 단계들이 변경되거나 그 프로세스에 추가될 수 없다. 그 프로세스 단계들이 하나의 집적회로 디바이스의 제조 동안에 상기 하나의 집적회로 디바이스로부터 또 하나의 집적회로 디바이스로 미세조정(tweak)되기 때문에, 이 단일의 프로세스 시퀀스의 결과로서 각각의 집적회로 디바이스가 독특하게 된다.

    따라서, CPU가 관여하는 것(involvement)과는 독립적이고 필요에 따라 변경되고 업데이트될 수 있는, 복합(complex) 프로세스 변환 시퀀스들이 필요하다. 일부의 그러한 프로세스 변환 시퀀스들은, 예를 들면, 용량성(CAP) 터치 검출일 수 있지만, 이에 한정되는 것은 아니다. 복합 프로세스들은 끊임없이 발전하고 있으므로, 프로세스 변환 시퀀스들도 그들과 함께 발전하여 프로세스 목적(들)에 필요한 최소 전력으로 동작할 필요가 있다.

    일 실시예에 따르면, 마이크로-코딩된 시퀀서를 사용하는 아날로그-디지털 변환용 장치는, 아날로그-디지털 변환 수단; 상기 아날로그-디지털 변환 수단에 결합되어 상기 아날로그-디지털 변환 수단을 제어하는 마이크로-코딩된 시퀀서; 및 상기 마이크로-코딩된 시퀀서에 결합된 메모리를 포함할 수 있고, 상기 메모리는 상기 마이크로-코딩된 시퀀서에 상기 아날로그-디지털 변환 수단을 어떻게 제어할지를 명령하는 마이크로-코딩된 워드들을 저장할 수 있다.

    추가 실시예에 따르면, 상기 아날로그-디지털 변환 수단은 아날로그-디지털 변환기(ADC)일 수 있다. 추가 실시예에 따르면, 상기 아날로그-디지털 변환 수단은 충전 시간 측정 유닛(CTMU)일 수 있다. 추가 실시예에 따르면, 상기 아날로그-디지털 변환 수단의 입력부에 결합된 출력부를 구비하고 상기 마이크로-코딩된 시퀀서에 의해 제어되는 아날로그 멀티플렉서가 제공될 수 있고, 상기 아날로그 멀티플렉서는 상기 마이크로-코딩된 시퀀서에 명령하는 상기 마이크로-코딩된 워드들에 의해 결정될 수 있는 자신의 입력부들을 선택할 수 있다. 추가 실시예에 따르면, 어드레스 디코더가 상기 메모리에 결합되고 상기 마이크로-코딩된 시퀀서를 위한 마이크로-코딩된 워드의 선택에 사용될 수 있다.

    추가 실시예에 따르면, 중앙 처리 유닛(CPU)은 저전력 슬립 모드를 포함할 수 있고, 상기 CPU가 상기 저전력 슬립 모드에 있을 때에도, 상기 마이크로-코딩된 시퀀서, 아날로그-디지털 변환 수단 및 메모리는 기능을 수행한다. 추가 실시예에 따르면, 상기 CPU, 마이크로-코딩된 시퀀서, 아날로그-디지털 변환 수단 및 상기 메모리는 마이크로컨트롤러에 의해 제공될 수 있다. 추가 실시예에 따르면, 상기 마이크로-코딩된 시퀀서는 데이터 수집 시퀀서와 수학 후처리기(math post processor) 시퀀서를 포함할 수 있다. 추가 실시예에 따르면, 수학 후처리기가 제공될 수 있고, 상기 수학 후처리기는 상기 수학 후처리기 시퀀서에 의해 제어될 수 있다. 추가 실시예에 따르면, 상기 마이크로-코딩된 워드들의 각각은 데이터 부분과 수학 후처리기 부분을 포함할 수 있다. 추가 실시예에 따르면, 제1 복수의 마이크로-코딩된 워드들은 상기 데이터 수집 시퀀서를 제어하고, 제2 복수의 마이크로-코딩된 워드들은 상기 수학 후처리기 시퀀서를 제어한다. 추가 실시예에 따르면, 제1 복수의 마이크로-코딩된 워드들은 단계들의 제1 시퀀스를 제어할 수 있고, 제2 복수의 마이크로-코딩된 워드들은 단계들의 제2 시퀀스를 제어할 수 있다. 추가 실시예에 따르면, 상기 마이크로-코딩된 워드는, 루프(loop) 제어, 수학 연산 제어, 아날로그-디지털 변환 제어, 충전 시간 측정 유닛 제어, 및 외부 노드 연결부들 제어로 이루어진 그룹으로부터 선택된 부분들을 포함할 수 있다. 추가 실시예에 따르면, 상기 마이크로-코딩된 워드는, 시퀀스 종료, 임계값 제어, 아날로그-디지털 변환 래치 클록, 누산기(accumulator) 래치 클록, 기록 제어 및 누산기 제어로 이루어지는 그룹으로부터 선택된 부분들을 포함할 수 있다.

    또 하나의 실시예에 따르면, 집적회로 디바이스 내의 아날로그-디지털 변환기 주변장치는, 아날로그-디지털 변환기(ADC) 코어; 프로그램가능 명령 워드들에 의해 제어되는 상태 머신 - 상기 상태 머신은, 상기 ADC 코어의 제어 기능들을 수행하고, 적어도 상기 집적회로 디바이스의 외부 핀들을 구성하고, 샘플링 및 변환을 개시시키고, 메모리에 결과값을 저장하고, 루프 동작들을 수행하도록 동작가능함 -; 및 관련된 명령 워드들의 시퀀스를 저장하기 위한 메모리를 포함할 수 있다.

    추가 실시예에 따르면, 명령 워드는: 루프(loop), 후처리 기능, ADC 제어 기능, 및 외부 핀 구성 중 적어도 하나를 정의하기 위한 비트 필드들을 포함할 수 있다. 추가 실시예에 따르면, 용량성 시간 측정 유닛(CTMU; capacitive time measurement unit)이 제공될 수 있고, 상기 명령 워드는 상기 CTMU를 제어하기 위한 비트 필드를 포함할 수 있다. 추가 실시예에 따르면, 적어도 하나의 후처리 명령 워드에 의해 제어가능한 산술(arithmetic) 로직 유닛이 제공될 수 있고, 후처리는 상기 상태 머신 명령 워드에 의해 개시될 수 있다. 추가 실시예에 따르면, 상기 후처리 명령 워드는 임계값, 누산기 입력, 및 결과값 저장을 제어하기 위한 적어도 하나의 비트 필드를 포함할 수 있다. 추가 실시예에 따르면, 마이크로컨트롤러는 전술한 아날로그-디지털 변환기 주변장치 중 임의의 하나 또는 복수를 포함할 수 있다.

    본 개시는 다양한 변형들 및 대안의 형태들을 허용하지만, 그것의 특정 예시의 실시예들이 도면들에 도시되었고 본 명세서에서 상세히 설명된다. 하지만, 그 특정 예시의 실시예들에 대한 설명은 본 개시를 여기에서 개시된 특정 형태들로 한정하고자 하는 것이 아님을 이해해야 할 것이다.

    본 개시는 첨부된 도면들과 결합된 이하의 설명을 참조함으로써 더욱 완전하게 이해될 수 있다:
    도 1은, 본 개시의 교시들에 따른, 예를 들어 용량성 터치 검출을 위한 용량성 전압 분배기 측정의 개략적인 회로도, 개략적인 그래프; 및 그것의 스위칭 타이밍도를 도시한다.
    도 2는, 본 개시의 특정의 실시예들에 따른, 도 1에 도시된 단계들의 시퀀스에 대한 흐름도를 도시한다.
    도 2a는, 본 개시의 특정의 예시적인 실시예들에 따른, 마이크로컨트롤러의 개략적인 블록도를 도시한다.
    도 2b는, 본 개시의 특정의 실시예들에 따른, 복수의 마이크로-코딩된 워드(micro-coded words)의 개략적인 블록도를 도시한다.
    도 3은, 본 개시의 특정의 예시적인 실시예들에 따른, CVD 프로세스에 필요한 리소스들의 제어에 사용되는 마이크로-코딩된 워드에 대한 레지스터 비트 할당을 도시한 도면이다.
    도 4는, 본 개시의 특정의 예시적인 실시예들에 따른, 데이터 누산 및 처리 로직의 개략적인 블록도를 도시한다.
    도 5는, 본 개시의 특정의 예시적인 실시예들에 따른, 데이터 비교 로직의 개략적인 블록도를 도시한다.
    도 6은, 본 개시의 특정의 예시적인 실시예에 따른, 수학 후처리(math post processing)에 필요한 리소스들의 제어에 사용되는 마이크로-코딩된 워드에 대한 레지스터 비트 할당을 도시한 도면이다.

    본 개시의 다양한 실시예들에 따르면, 마이크로-코딩된 시퀀서는, 예를 들면, 마이크로컨트롤러와 같은 집적회로 디바이스의 중앙 처리 유닛(CPU) 코어 및/또는 아날로그-디지털 변환과는 독립적인 완전한 복합 변환 시퀀스들(complete complex conversion sequences)을 제공하는데 사용될 수 있지만 이에 한정되는 것은 아니다. 시퀀서를 마이크로-코딩함으로써 새로운 프로세스 단계들이 추가되고 기존 프로세스 단계들이 업데이트될 수 있다.

    아날로그-디지털 변환 모듈(예를 들면 아날로그-디지털 변환기(ADC) 및/또는 충전 시간 측정 유닛(CTMU)일 수 있지만 이에 한정되지 않음) 및 디지털 처리 회로들 예를 들어 계산(computation) 회로들과 결합된 그러한 프로그램가능 시퀀서는, CPU 코어와는 독립적으로 작동하도록 구성될 수 있다. 따라서, 아날로그-디지털 변환 및 이어지는 디지털 처리를 제어하는 마이크로-코딩된 시퀀서는, CPU 및/또는 다른 고전력 소모 모듈들이 저전력 슬립 모드에 있을 때에는 저전력 모드들에서의 자급자족할(self-sufficient) 수 있는 동작을 제공한다. 이러한 주변장치는 데이터 수집 및 그것의 처리를 실행할 수 있고, 그리고 필요시에만 CPU를 깨우므로 전력을 절약할 수 있다. 또한, 이런 주변장치는 CPU 처리를 필요로 하지 않으므로, CPU에 의한 제어를 필요로 하는 시간 중요 애플리케이션들(time critical applications)은 더 효율적이면서도 더 적은 동작 오버헤드 부담(operating overhead burden)을 가지고 동작할 수 있다.

    충전된/방전된 외부 커패시턴스 예를 들어 터치키와 ADC의 방전된/충전된 내부 샘플 및 홀드 커패시터의 결합으로부터 생기는 용량성 전압 분배기(CVD; capacitive voltage divider) 회로의 아날로그 전압이, 아날로그 전압값의 디지털 표현을 제공하는 데에 사용될 수 있는 임의 유형의 ADC 또는 CTMU에 의해, 디지털 표현으로 변환될 수 있음이 예상되고 본 개시의 범위 내에 있다. CTMU는 CVD 결과값을 가진 샘플 및 홀드 커패시터를 알고 있는 전압값으로 충전시키거나 방전시키기 위해 사용될 수 있고, 그리고 그것이 알고 있는 전압값으로 되는 데에 걸리는 시간(클록 카운트)은 CVD 전압 결과값을 결정하는 데에 사용될 수 있다. 아날로그값의 디지털 표현을 제공하는 CTMU의 애플리케이션은, www.microchip.com에서 입수가능한 마이크로칩 애플리케이션 노트들(AN1250 및 AN1375) 그리고 James E. Bartling에 의한 "Measuring a long time period"라는 명칭의 공동 소유의 미국 특허 번호 US 7,460,441 B2와 Current-time digital-to-analog converter"라는 명칭의 US 7,764,213 B2에서 더 상세하게 기재되어 있으며, 이들 모두는 모든 목적을 위하여 본 개시에 참조로 통합된다.

    프로그램가능 시퀀서는, 그것의 마이크로-코딩된 프로그램 단계들이 오류들을 수정하거나 애플리케이션의 프로세스 단계들의 개선사항들을 통합하기 위해 변경될 수 있다는 점에서, 유연성을 제공한다. 프로그램가능 시퀀서의 프로세스 단계들은 필요에 따라 추가되거나 및/또는 변경될 수 있다. 이러한 마이크로-코딩된 프로그램가능 시퀀서를 사용하는 모든 디바이스들은 쉽게 업데이트될 수 있으므로, 그것의 설계 및 지원을 단순화할 수 있다. 또한, 복수의 서로 다른 애플리케이션들을 위해 하나의 디바이스가 프로그래밍될 수 있기 때문에, 그러한 디바이스들은 더 적게 필요할 수 있다.

    이제, 도면들을 참조하면, 특정한 예시적인 실시예들의 세부 사항들이 도식적으로 도시되어 있다. 도면들에서 동일 요소들은 동일 번호들로 표시될 것이며, 유사한 요소들은 다른 소문자 첨자가 붙여진 동일 번호들로 표시될 것이다.

    도 1을 보면, 본 개시의 교시들에 따른, 예를 들어 용량성 터치 검출을 위한 용량성 전압 분배기 측정의 개략적인 다이어그램, 개략적인 그래프; 및 그것의 스위칭 타이밍도가 도시되어 있다. 이 용량성 전압 분배기(CVD) 측정은, 예비-충전 단계(pre-charge phase), 획득 단계(acquisition phase)(전압 평형(balance)) 및 변환 단계를 포함할 수 있는, 단계들의 시퀀스를 구비할 수 있다. 이 단계들의 시퀀스는 전형적으로 2번 수행될 수 있으며, 그 2개의 결과값들은 노이즈 제거를 개선하기 위해 함께 평균화될 수 있다. 단계들의 제1 시퀀스에서는, 외부 커패시터가 충전될 수 있고 샘플 커패시터가 방전될 수 있다. 이어지는 단계들의 제2 시퀀스에서는, 외부 커패시터가 방전되고 샘플 커패시터가 충전될 수 있으며, 또는 그 반대일 수도 있다. 획득 단계와 변환 단계는 단계들의 이 시퀀스들 둘 다에 대해서 동일할 수 있다.

    도 1(a)은 아날로그-디지털 변환기(ADC)(102)와 결합된 내부 샘플링 커패시터(Cb) 및 복수의 스위치들(SWa-SWe) 예를 들어 아날로그 멀티플렉서를 사용하는 일반화된 CVD 회로의 개략도를 보여준다. 커패시터(Ca)는 집적회로의 외부에 위치된 커패시터 예를 들어 용량성 터치키이다. 도 1(b)은 커패시터들(Ca 및 Cb)의 다양한 전압 충전 상태들을 보여준다. CVD는, 반대 전압으로 충전된 2개의 커패시터들을 서로 연결할 때에 그 결과로서 이루어지는 정지 전압 충전(quiescent voltage charge)은 상기 2개의 서로 다른 커패시턴스값들의 비가 될 것이라는 원리에 따라, 동작한다. 하나의 커패시턴스값 예를 들어 Cb를 알면, 다른 커패시턴스값 예를 들어 Ca가 결정될 수 있다.

    도 2를 보면, 본 개시의 특정의 실시예들에 따른, 도 1에 도시된 단계들의 시퀀스에 대한 흐름도가 도시된다. 전술한 단계들의 시퀀스는, 입출력(I/O) 핀들과 같은 리소스들의 액세스 및 제어를 필요로 하며, 연속 근사 레지스터(SAR; successive approximation register)가 아날로그-디지털 변환기(ADC) 또는 CTMU, 멀티플렉서, 샘플 및 홀드 회로 등에서 사용될 수 있다. CVD 프로세스는 단계(202)에서 시작한다. 단계(204)에서, 시간 A 동안 외부 커패시터(Ca)는 VDD로 충전되고 내부 커패시터(Cb)는 VSS로 방전된다. 단계(206)에서, 2개의 커패시터들(Ca 및 Cb)은 서로 연결되고, 그들 각자의 전하들은 시간 B 이후에 VDD와 VSS 사이의 전압으로 균등화(equalize)(평형(balance))될 것이다. 단계(208)에서, 내부 커패시터(Cb)의 이러한 균등화된 전압은 디지털값 A로 변환된다(EOC - 변환 종료). 단계(210)에서, 이 디지털값 A는 후술하는 바와 같이 후처리 변환 A로 보내진다. 단계(212)에서, 시간 A 동안 외부 커패시터(Ca)는 VSS로 방전되고, 내부 커패시터(Cb)는 VDD로 충전된다. 단계(214)에서, 2개의 커패시터들(Ca 및 Cb)은 서로 연결되고 그들 각자의 전하들은 시간 B 이후에 VDD와 VSS 사이의 전압으로 균등화(평형)될 것이다. 단계(216)에서, 내부 커패시터(Cb)의 이 균등화된 전압은 디지털값 B로 변환된다(EOC - 변환 종료). 단계(218)에서, 이 디지털값 B는 후술하는 바와 같이 후처리 변환 B로 보내진다.

    도 2a를 보면, 본 개시의 특정의 예시적인 실시예들에 따른, 마이크로컨트롤러의 개략적인 블록도가 도시되어 있다. 마이크로컨트롤러(350)는 수학 후처리기 및 시퀀서(MPPS; math post processor and sequencer)(352), 마이크로-코딩된 메모리(354), 어드레스 디코더(356), CPU 및 프로그램 메모리(358), CTMU(360), 데이터 수집 시퀀서(DCS)(362), ADC(364), 아날로그 멀티플렉서(366), 마이크로컨트롤러(350)를 용량성 터치키들(368)에 결합하는 데에 사용될 수 있는 복수의 외부 연결 노드들(370)을 포함할 수 있다.

    DCS(362)는 마이크로-코딩된 메모리(354)로부터의 마이크로-코딩된 워드들(DCSCW)로써 제어될 수 있다. 각각의 시퀀스 상태를 위한 DCSCW를 사용함으로써, DCS(362)에게 멀티플렉서(366), ADC(364) 및/또는 CTMU(360)를 어떻게 제어할지를 명령할 수 있다. MPPS(352)는 마이크로-코딩된 메모리(354)로부터의 마이크로-코딩된 워드들(MPPSCW)로써 제어될 수 있다. 각각의 계산 시퀀스 상태를 위한 MPPSCW를 사용하여, MPPS(352)에게 ADC(364) 및/또는 CTMU(360)로부터의 데이터를 어떻게 처리할지 그리고 적절한 때에 결과값을 CPU(358)에게 어떻게 제공할지를 명령할 수 있다.

    멀티플렉서(366)는, 전술한 도 1 및 2의 설명에서 상세하게 기재된 바와 같이, 외부 노드들(370)을 VDD, VSS 또는 ADC(364) 또는 CTMU(360)의 입력부의 어느 하나에 결합시키기 위해 사용될 수 있다. DCS(362), MPPS(352), 멀티플렉서(366) 및 마이크로-코딩된 메모리(354)는, CPU 및 프로그램 메모리(358)와는 독립적으로 동작할 수 있고, 미리정의된 기준이 충족될 때까지 예를 들어 터치키(368)의 커패시턴스 변화가 거기에 근접한 용량성 오브젝트 예를 들어 손가락 터치(도시하지 않음)를 표시하기에 충분하게 될 때까지, 마이크로컨트롤러(350) 내의 고전력 인출 모듈들이 저전력 슬립 모드를 유지하게 할 수 있다.

    도 2b를 보면, 본 개시의 특정의 실시예들에 따른, 복수의 마이크로-코딩된 워드들의 개략적인 블록도가 도시되어 있다. 단계들의 제1 시퀀스는 복수의 마이크로-코딩된 워드들(320)을 포함할 수 있으며, 여기서 상기 복수의 마이크로-코딩된 워드들(320)의 각각의 하나는 관련된 제1 시퀀스 내의 하나의 단계를 나타낸다. 단계들의 제2 시퀀스는 복수의 마이크로-코딩된 워드들(322)을 포함할 수 있으며, 여기서 상기 복수의 마이크로-코딩된 워드들(322)의 각각의 하나는 관련된 제2 시퀀스 내의 하나의 단계를 나타낸다. 어드레스 디코더(356)는 상기 복수의 마이크로-코딩된 워드들(320 또는 322) 중 어느 하나가 선택될지를 제어할 수 있으며, 여기서 상기 복수의 마이크로-코딩된 워드들(320 또는 322) 중 상기 선택된 하나의 마이크로-코딩된 컨텐츠는 DCS(362) 및 MPPS(352)에 동작 명령들을 제공한다. MPPS(352) 및 DCS(362)에 그것의 파이프라인 동작들을 위한 적절한 기능들을 제어하도록 명령하기 위해, 적절한 마이크로 코딩된 워드들(320 및 322)이 어드레스 디코더(356)에 의해 실질적으로 동시에 선택될 수 있음은, 예상되고 또한 본 개시의 범위에 있다.

    도 3을 보면, 본 개시의 특정의 예시적인 실시예에 따른, CVD 프로세스에 필요한 리소스들의 제어에 사용되는 마이크로-코딩된 워드에 대한 레지스터 비트 할당 다이어그램이 도시되어 있다. 마이크로-코딩된 워드는 예를 들면, 일회용 프로그래밍(OTP), 플래시 메모리, 휘발성 및/또는 비휘발성 랜덤 액세스 메모리(RAM)(이들에 한정되지 아니함)에 저장될 수 있다. 시퀀스들이 이런 아키텍처에 추가되거나 수정될 수 있으며, 따라서 CPU 작업-부하를 줄일 수 있거나 또는 다른 고전력 요구 모듈들 예를 들어 CPU가 전력을 보존하기 위해 슬립 모드에 있을 때에 동작할 수 있는 지능형 주변장치를 만들 수 있다.

    마이크로-코딩된 워드는, 하나 이상의 루프(loop)들을 정의하기 위한 비트 필드들을 포함할 수 있어서, 후처리 변환 수학 연산들(math operations)을 제어하고, 다양한 CVD 단계들을 제어하고, ADC(364)를 제어하고, 용량성 시간 측정 유닛(CTMU)(360) 및 그것의 다양한 동작 단계들을 제어하고, 주변장치들과 관련된 다양한 외부 노드들(370)(집적회로 패키지의 외부 연결부들)을 제어할 수 있다. 도 1에 도시된 바와 같은 측정 변환 시퀀스로부터 시작하여, 도 2에 도시된 바와 같은 상태 다이어그램이 형성될 수 있다. 그리고 프로그램 워드는 흐름도의 각 관련된 상태에 대해 정의된다. 이어서, 순차적인 단계들은, 플래시 메모리, RAM과 같은 마이크로-코딩된 메모리(354)에 저장되거나 또는 일회용 프로그램가능(OTP) 메모리에 하드 코딩된다.

    도 3에 도시된 마이크로-코딩된 워드는, 예를 들면, 32 비트를 포함할 수 있지만, 이것에 한정되는 것은 아니다. 비트들 [31:26]은 루프 제어에 사용될 수 있고, 비트들 [25:19]은 장래의 사용을 위해 예비될 수 있고, 비트들 [18:16]은 수학 계산들 제어에 사용될 수 있고, 비트들 [15:12]은 ADC 제어에 사용될 수 있고, 비트들 [11:8]은 CTMU 제어에 사용될 수 있고, 그리고 비트들 [7:0]은 외부 노드 연결부들 예를 들어 마이크로컨트롤러 집적회로 패키지 상의 외부 연결 핀들에 사용될 수 있다.

    프로그램가능 시퀀서들, DCS(362) 및/또는 MPPS(352)는 그들의 관련된 기능들을 제어하기 위해, 디바이스의 모듈들(주변장치들)의 각자의 특수 기능 레지스터들에 액세스하는 상태 머신들을 포함할 수 있다. 상태 머신은 마이크로-코딩된 워드들(320 및 322)에 의해 제어되도록 구현될 수 있다. 단지 특정의 기능들만이 필요하기 때문에, 상태 머신은, 그것의 로직 디바이스 풋프린트를 집적회로 실리콘 다이 상에 작게 유지하도록, 최소한의 관련 로직으로 설계될 수 있다.

    이제, 도 4를 보면, 본 개시의 특정의 예시적인 실시예들에 따른, 데이터 누산 및 처리 로직의 개략적인 블록도가 도시되어 있다. 데이터 누산 및 처리 로직은, 개괄적으로 번호(400)로 표시되며, 제1 멀티플렉서(420), 기록 래치(422), 기록 파일(424), 제2 멀티플렉서(426), 시프트 레지스터(430), ADC 래치(432), 가산/감산 로직(436), 제3 멀티플렉서(438), 및 누산기 래치(440)를 포함할 수 있다. 전술한 로직 모두는 상태 머신 구성들에서 사용될 수 있고 마이크로-코딩된 워드들(320 및/또는 322)에 의해 제어될 수 있다.

    이제, 도 5를 보면, 본 개시의 특정의 예시적인 실시예들에 따른, 데이터 비교 로직의 개략적인 블록도가 도시되어 있다. 데이터 비교 로직은, 개괄적으로 번호(500)로 표시되며, "초과(greater than)" 비교기(550), "미만(less than)" 비교기(552), 제4 멀티플렉서(554), 제5 멀티플렉서(560), 제6 멀티플렉서(562), N+1 기록 래치(556), 고임계(high threshold) 래치(THHLDH)(558), N 기록 래치(564) 및 저임계 래치(THHLDL)(566)를 포함할 수 있다.

    도 4 및 도 5에 도시된 바와 같이 수학 처리가 제공될 수 있다. 수학 처리는, MPPS(352) 계산 시퀀스 제어에 링크될 수 있는 하나 이상의 개별적인 마이크로-코딩된 워드(들)를 사용함으로써 정의될 수 있다. 도 6에 도시된 바와 같은 각각의 마이크로-코딩된 워드로 인해, 도 4에 도시된 바와 같은 관련된 산술 로직 유닛을 이용하는 수학 연산을 수행할 수 있고, 도 5에 도시된 바와 같은 비교 연산들을 수행할 수 있다. 가산 또는 감산이 수행될 수 있고, 수행될 각각의 동작을 위한 다양한 입력 신호들이 선택될 수 있다. 임계값 레지스터들로 인해, 상한 및 하한 임계값과의 비교가 가능케 되며, 도 5에 도시된 바와 같은 관련된 신호들이 발생된다.

    이제, 도 6을 보면, 본 개시의 특정의 예시적인 실시예에 따른, 수학 후처리에 필요한 리소스들의 제어에 사용되는 마이크로-코딩된 워드에 대한 레지스터 비트 할당 다이어그램이 도시되어 있다. 수학 후처리는, 후처리의 다양한 상태들을 먼저 정의함(first defining)으로써 달성될 수 있고 그리고 관련된 상태도를 생성할 수 있다. 그 다음에, 마이크로-코딩된 워드, 예를 들면, 도 6에 도시된 바와 같은 것(이에 한정되지 아니함)을 사용하여, 프로그램 워드가 각 상태에 대하여 정의될 수 있다. 도 6에 도시된 마이크로-코딩된 워드는, 예를 들면, 24 비트들을 포함할 수 있지만 이에 한정되는 것은 아니다. 비트 [23]는 시퀀스의 종료를 표시할 수 있고, 비트 [22:19]는 장래의 사용을 위해 예비될 수 있고, 비트 [18:13]는 임계값 제어에 사용될 수 있고, 비트 [12]는 ADC 래치 클록에 사용될 수 있고, 비트 [11]은 ACC(누산기) 래치 클록에 사용될 수 있고, 비트 [10:6]는 기록 제어에 사용될 수 있고, 그리고 비트 [5:0]는 누산기 제어에 사용될 수 있다. 각각의 마이크로 코드 워드는 플래시 또는 DRAM에 저장될 수 있고, 또는 시퀀서 제어와 유사한 OTP 메모리에 하드-코딩될 수도 있다.

    결과적으로 생성되는 마이크로-코딩된 시퀀서 주변장치는 다음과 같은 장점들을 제공한다: 그것은 향상된 유연성을 갖도록 구성가능하고, 에러들로부터 쉽게 복구될 수 있게 하고, 새로운 프로세스 단계들을 쉽게 포함시킬 수 있게 한다. 미리정의된 시퀀스들이, 사용자들을 위해 생성되어 이용될 수 있는 완성된(canned) 코드들에 의해서, 복수의 미리정의된 애플리케이션들에 제공될 수 있다. 하지만, 그 디바이스로 인해, 물론, 사용자들은 그들 자신의 사용자지정 프로세스 단계들을 만들 수 있을 것이다. 이 마이크로-코딩된 시퀀서 주변장치는 CPU와 독립적으로 동작할 수 있다.

    QQ群二维码
    意见反馈