91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32L083模擬電壓比較器的使用

武漢芯源半導(dǎo)體有限公司 ? 2022-12-20 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CW32L083 內(nèi)部集成 2 個(gè)模擬電壓比較器(VC),用于比較兩路模擬輸入電壓,并將比較結(jié)果從引腳輸出。兩路信號的正端支持8路外部模擬輸入,負(fù)端既支持外部輸入,也支持內(nèi)部電壓基準(zhǔn)等四種內(nèi)部電壓參考。比較結(jié)果輸出具有濾波功能、遲滯窗口功能,以及極性選擇。支持比較中斷,可用于低功耗模式下喚醒 MCU。

模擬電壓比較器主要特性

? 雙路模擬電壓比較器 VC1、VC2

? 內(nèi)部64階電阻分壓器

? 多達(dá)8路外部模擬信號輸入

? 4路片內(nèi)模擬輸入信號

- 內(nèi)置電阻分壓器輸出電壓

- 內(nèi)置溫度傳感器輸出電壓

- 內(nèi)置1.2V基準(zhǔn)電壓

- ADC參考電壓

? 可選擇輸出極性

? 支持遲滯窗口比較功能

? 可編程濾波器和濾波時(shí)間

? 3種中斷觸發(fā)方式,可組合使用

- 高電平觸發(fā)

- 上升沿觸發(fā)

- 下降沿觸發(fā)

? 支持低功耗模式下運(yùn)行,中斷喚醒 MCU

下圖為模擬電壓比較器的功能框圖:

pYYBAGOhWPyALXJEAANS13DYdI4770.jpg

VC模擬電壓比較器將兩路模擬信號比較時(shí)可配置多種參數(shù),如VC1_CR0.EN和VC1_CR0.HYS位分別控制VC使能及VC遲滯窗口配置。VC1_CR0.POL控制輸出結(jié)果極性,后端還有窗口比較功能配置及數(shù)字濾波模塊的配置。

VC1、VC2 的正負(fù)端輸入選擇,由控制寄存器 VCx_CR0 的 INP、INN 位域選擇,如下表所示:

poYBAGOhWPuAa6drAAGx6s8FHMI172.jpg

模擬電壓比較器支持 8路外部模擬信號輸入,用戶必須將對應(yīng) GPIO端口配置為模擬功能(GPIOx_ANALOG.PINy = 1)。模擬電壓比較器支持將比較結(jié)果從引腳輸出,用戶必須將對應(yīng) GPIO 端口配置為數(shù)字輸出,同時(shí)選擇功能復(fù)用。VC1、VC2 支持的輸入輸出引腳如下表所示:

pYYBAGOhWPuAd_SoAAJJNh9DzBg778.jpg

模擬電壓比較器還具有延遲/響應(yīng)時(shí)間配置,從VC使能或VC的正負(fù)兩端輸入電壓變化,到電壓比較器輸出正確比較結(jié)果的時(shí)間,被定義為比較器的延遲/響應(yīng)時(shí)間。延遲/響應(yīng)時(shí)間由控制寄存器 VCx_CR0 的 RESP 位域配置,響應(yīng)時(shí)間值從200ns到20μs四檔可調(diào)。

模擬電壓比較器可進(jìn)行輸出極性選擇,由控制寄存器VCx_CR0的POL位域設(shè)置,POL為1,即正端大于負(fù)端時(shí)VCx輸出低電平;POL為0,正端大于負(fù)端時(shí)VCx輸出高電平。

模擬電壓比較器具有數(shù)字濾波功能,電壓比較器內(nèi)置的數(shù)字濾波器,用于對電壓比較器的輸出信號進(jìn)行數(shù)字濾波,由控制寄存器VCx_CR1的FLTEN位域控制,F(xiàn)LTEN為1使能數(shù)字濾波,F(xiàn)LTEN為0禁止數(shù)字濾波。

模擬電壓比較器支持遲滯功能,使用遲滯功能后,比較器的輸出結(jié)果不會隨輸入信號的變化而立即翻轉(zhuǎn),而是在兩路輸入信號的偏移值高于或低于遲滯閾值電壓后才發(fā)生翻轉(zhuǎn)。遲滯閾值電壓由控制寄存器VCx_CR0的HYS位域決定,配置為00時(shí),沒有遲滯;配置為01時(shí)遲滯窗口大約10mV;配置為10時(shí),遲滯窗口大約為20mV;配置為11時(shí),遲滯窗口大約30mV。

模擬電壓比較器支持窗口比較功能,可將VC1和VC2的比較結(jié)果進(jìn)行異或操作后輸出,由控制寄存器VCx_CR0的WINDOW位域使能。WINDOW為1時(shí),VCx_OUTW信號為 VC1_OUTP信號與VC2_OUTP 信號的異或值;WINDOW為0時(shí),VCx_OUTW信號與VCx_OUTP 信號電平相同。

模擬電壓比較器支持BLANK窗口功能,在保持VCx模塊工作的同時(shí),如果想暫時(shí)停止電壓比較功能,或者為避免某些應(yīng)用系統(tǒng)(比如電機(jī)控制)中,被監(jiān)測信號短時(shí)間的合理波動造成電壓比較器的輸出電平發(fā)生不必要的翻轉(zhuǎn),本芯片的電壓比較器增加了BLANK窗口功能,即當(dāng)指定的外部觸發(fā)條件啟動BLANK窗口時(shí),在設(shè)定的BLANK窗口期內(nèi),不進(jìn)行電壓比較,電壓比較器的輸出電平保持當(dāng)前電平狀態(tài)。BLANK窗口期之后,電壓比較器恢復(fù)正常工作。BLANK窗口持續(xù)時(shí)間,由控制寄存器 VCx_CR1的BLANKFLT位域配置。BLANK窗口的觸發(fā)啟動條件,由控制寄存器VCx_CR1的 BLANKCH1B、BLANKCH2B、BLANKCH3B位域配置,分別由ATIM的CH1B、CH2B、CH3B上升沿觸發(fā)啟動BLANK窗口。

CW32L083 的電壓比較器支持在低功耗模式下工作,比較中斷可將芯片從低功耗模式下喚醒。設(shè)置控制寄存器 VCx_CR0 的 IE 位域?yàn)?1,使能 VCx 中斷,產(chǎn)生中斷時(shí)狀態(tài)寄存器 VCx_SR 的中斷標(biāo)志位 INTF 會 被硬件置 1,用戶可以向 INTF 位寫 0,清除中斷標(biāo)志。

設(shè)置控制寄存器 VCx_CR1 的 HIGHIE、RISEIE、FALLIE 位域,可選擇不同的中斷觸發(fā)方式:

? HIGHIE 為 1,VCx_OUT 輸出信號高電平觸發(fā)中斷

? RISEIE 為 1,VCx_OUT 輸出信號上升沿觸發(fā)中斷

? FALLIE 為 1,VCx_OUT 輸出信號下降沿觸發(fā)中斷

根據(jù)上述內(nèi)容介紹以下例程,通過VC模塊輸出信號的上升沿/下降沿觸發(fā)中斷功能。

//VC I/O初始化

void VC_PortInit(void)

{

GPIO_InitTypeDef GPIO_InitStructure = {0};

//打開GPIO時(shí)鐘

REGBITS_SET( CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOA_Msk );

//打開VC時(shí)鐘

REGBITS_SET( CW_SYSCTRL->APBEN2, SYSCTRL_APBEN2_VC_Msk );

//set PA11 as output

GPIO_InitStructure.Pins = GPIO_PIN_11;

GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_Init(CW_GPIOA, &GPIO_InitStructure);

//set PA11 as VC output

PA11_AFx_VC1OUT();

//set PA00 as VC1_CH0 P-INPUT

PA00_ANALOG_ENABLE();

//set PA01 as VC1_CH1 N-INPUT

PA01_ANALOG_ENABLE();

}

int main(void)

{

VC_InitTypeDef VC_InitStruct = {0};

VC_BlankTypeDef VC_BlankStruct = {0};

VC_OutTypeDef VC_OutStruct = {0};

//LED初始化

LED_Init();

//配置測試IO口

VC_PortInit();

//VC通道初始化

VC_InitStruct.VC_InputP = VC_InputP_Ch0;//將VC正端輸入為PA00的輸入信號

VC_InitStruct.VC_InputN = VC_InputN_Bgr1P2; //將VC負(fù)端輸入設(shè)置為內(nèi)部1.2V基準(zhǔn)電壓

VC_InitStruct.VC_Hys = VC_Hys_10mV;//將VC遲滯功能配置為10mV

VC_InitStruct.VC_Resp = VC_Resp_High;//VC反應(yīng)速度為高速

VC_InitStruct.VC_FilterEn = VC_Filter_Enable;//VC數(shù)字濾波模塊開啟

VC_InitStruct.VC_FilterClk = VC_FltClk_RC150K;//VC數(shù)字濾波時(shí)鐘為150KHz的RC振蕩器

VC_InitStruct.VC_FilterTime = VC_FltTime_4095Clk;//VC的數(shù)字濾波時(shí)間配置為濾波小于4095個(gè)時(shí)鐘信號

VC_InitStruct.VC_Window = VC_Window_Disable;//VC窗口比較功能關(guān)閉

VC_InitStruct.VC_Polarity = VC_Polarity_Low;

VC1_ChannelInit(&VC_InitStruct);

//VC Blank窗口初始化

VC1VC2_BlankInit(&VC_BlankStruct);

VC1_BlankCfg(&VC_BlankStruct);

//VC輸出連接初始化

VC1VC2_OutInit(&VC_OutStruct);

VC1_OutputCfg(&VC_OutStruct);

//VC中斷設(shè)置

VC1_ITConfig(VC_IT_FALL | VC_IT_RISE, ENABLE);

VC1_EnableIrq(VC_INT_PRIORITY);

VC1_ClearIrq();

VC1_EnableChannel();

while (1)

{

if(gFlagIrq)

{

PC03_TOG();

gFlagIrq = FALSE;

}

}

}

//LED I/O初始化

void LED_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure = {0};

//打開GPIOC時(shí)鐘

REGBITS_SET(CW_SYSCTRL->AHBEN, SYSCTRL_AHBEN_GPIOC_Msk);

GPIO_InitStructure.Pins = GPIO_PIN_2 | GPIO_PIN_3;

GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_Init(CW_GPIOC, &GPIO_InitStructure);

//LED的初始狀態(tài)為滅

PC02_SETLOW();

PC03_SETLOW();

}

//VC1的中斷服務(wù)函數(shù)

void VC1_IRQHandler(void)

{

VC1_ClearIrq();

gFlagIrq = TRUE;

}

實(shí)驗(yàn)現(xiàn)象

使用電源向PA00輸入電壓,PA11被復(fù)用為VC1的比較結(jié)果輸出引腳,當(dāng)電壓大于1.2V時(shí), PA11輸出高電平,當(dāng)PA00輸入電壓小于1.2V時(shí),PA11輸出低電平,而當(dāng)PA00的輸入電壓由1.2V以下變?yōu)?.2V以上或者從1.2V以上變?yōu)?.2V以下,LED的狀態(tài)會發(fā)生翻轉(zhuǎn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45495

    瀏覽量

    670439
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18925

    瀏覽量

    398276
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32L083能替代STM32F103的MCU嘛?

    1M SPS 轉(zhuǎn)換速度 --內(nèi)置電壓參考 --模擬看門狗功能 --內(nèi)置溫度傳感 ?雙路電壓比較
    發(fā)表于 01-27 09:49

    請問如何配置和使用CW32L083系列微控制的ADC和DAC模塊?

    如何配置和使用CW32L083系列微控制的ADC和DAC模塊?
    發(fā)表于 12-16 08:27

    請問如何解決CW32L083系列微控制在通信過程中可能出現(xiàn)的數(shù)據(jù)錯(cuò)誤問題?

    如何解決CW32L083系列微控制在通信過程中可能出現(xiàn)的數(shù)據(jù)錯(cuò)誤問題?
    發(fā)表于 12-16 08:01

    CW32L083系列微控制有哪些應(yīng)用場景?

    CW32L083系列微控制有哪些應(yīng)用場景
    發(fā)表于 12-16 07:52

    在進(jìn)行低功耗設(shè)計(jì)時(shí)如何優(yōu)化CW32L083系列微控制的功耗?

    在進(jìn)行低功耗設(shè)計(jì)時(shí),如何優(yōu)化CW32L083系列微控制的功耗?
    發(fā)表于 12-16 06:03

    請問CW32L083如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?

    如題,CW32L083如何實(shí)現(xiàn)AUTOTRIM時(shí)鐘校準(zhǔn)?有沒有HSIOSC時(shí)鐘校準(zhǔn)編程示例?
    發(fā)表于 12-16 06:02

    請問如何利用CW32L083系列微控制的內(nèi)部Flash存儲進(jìn)行程序升級和數(shù)據(jù)存儲?

    如何利用CW32L083系列微控制的內(nèi)部Flash存儲進(jìn)行程序升級和數(shù)據(jù)存儲?
    發(fā)表于 12-15 07:39

    在開發(fā)過程中如何利用CW32L083系列微控制的官方固件庫進(jìn)行程序編寫和調(diào)試?

    在開發(fā)過程中,如何利用CW32L083系列微控制的官方固件庫進(jìn)行程序編寫和調(diào)試?
    發(fā)表于 12-15 07:23

    CW32L083系列微控制的時(shí)鐘配置有哪些選項(xiàng)?

    CW32L083系列微控制的時(shí)鐘配置有哪些選項(xiàng)?如何選擇合適的時(shí)鐘源?
    發(fā)表于 12-15 07:09

    CW32L083的基本定時(shí)

    CW32L083 內(nèi)部集成 3 個(gè)基本定時(shí) (BTIM),每個(gè) BTIM 完全獨(dú)立且功能完全相同,各包含一個(gè) 16bit 自動重裝 載計(jì)數(shù)并由一個(gè)可編程預(yù)分頻驅(qū)動。BTIM 支持
    發(fā)表于 12-15 06:23

    在使用CW32L083系列微控制時(shí)如何配置中斷向量表?

    在使用CW32L083系列微控制時(shí),如何配置中斷向量表?
    發(fā)表于 12-15 06:17

    在使用CW32L083系列微控制時(shí)如何進(jìn)行系統(tǒng)復(fù)位和看門狗定時(shí)配置?

    在使用CW32L083系列微控制時(shí),如何進(jìn)行系統(tǒng)復(fù)位和看門狗定時(shí)配置?
    發(fā)表于 12-10 06:46

    CW32L083的內(nèi)置獨(dú)立校準(zhǔn)的RTC這一般怎么玩?

    CW32L083的內(nèi)置獨(dú)立校準(zhǔn)的RTC這一般怎么玩?
    發(fā)表于 12-09 07:04

    CW32L083系列微控制有哪些主要特點(diǎn)?

    CW32L083系列微控制有哪些主要特點(diǎn)
    發(fā)表于 12-09 06:34

    CW32L083有哪些應(yīng)用場景?

    CW32L083有哪些應(yīng)用場景
    發(fā)表于 11-24 07:37