一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

低功耗MCU怎么選?

sanyue7758 ? 來源:21ic論壇 ? 2023-03-25 10:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在芯片國產(chǎn)化日益高漲的情況下,一些新的芯片廠家脫穎而出,比如以串口通訊發(fā)展起來的沁恒微電子的WCH、兆易創(chuàng)新的GD、雅特力的AT、中科藍訊的AB,以及國民技術(shù)等。

其中的國民技術(shù)則屬于后起之秀,其主打的產(chǎn)品有基于M0內(nèi)核的N32G03X通用系列、基于M4內(nèi)核的N32G45X通用系列,以及面向低功耗的N32L4XX系列。

這樣在選取低功耗MCU時,我們就多出了一種選擇,也加大了設(shè)計的靈活性。

此外,國民技術(shù)所主打的3個系列產(chǎn)品是支持以MDK來進行開發(fā)的,這樣對于那些出道早的程序者就天然地增添了一份親近感。你可別小看了這份親近感,常言道“不怕千招會,就怕一招熟”,用慣的東西好上手,它起到事半功倍的性能。

下面就有請我們的主角N32L43XRL-STB開發(fā)板上場,它的MCU為N32L436CBL7,其最高主頻可達108 MHz,是采用LQFP48管腳封裝。

該芯片的主要性能及參數(shù):

● 采用32位ARMCortex-M4內(nèi)核+FPU,支持單周期硬件乘除法指令,支持DSP指令和MPU。

● 高達128KByte片內(nèi)Flash,10萬次擦寫次數(shù),10年數(shù)據(jù)保持。

● 高達32KByte片內(nèi)SRAM,包括24Kbyte SRAM1和8Kbyte SRAM2。

● 高性能模擬接口,含1個12bit 5MspsADC,且多種精度可配置、2個軌到軌運算放大器、2個高速模擬比較器、多達24通道電容觸摸按鍵、1個采樣率為1Msps的12bit DAC

● 豐富的通信接口,有3個USART接口、2個UART接口、1個LPUART、2個速率高達27 MHz的SPI接口、2個速率高達1 MHz的I2C接口、1個USB2.0 Fullspeed Device接口及1個CAN 2.0A/B總線接口。

● 多樣的定時計數(shù)器,有2個16bit高級定時計數(shù)器、5個16bit通用定時計數(shù)器、2個16bit基礎(chǔ)定時計數(shù)器、1個16bit低功耗定時計數(shù)器、1x24bit SysTick、1x7bit窗口看門狗、1x12bit獨立看門狗。

所以,它在性能方面是完全可以勝任常規(guī)芯片要求的! 該芯片的功耗情況:

● 在Standby模式下:典型值為1.5uA,即所有備份寄存器保持,IO保持,可選 RTC Run,8KByte Retention SRAM保持,可快速喚醒。

● 在Stop2模式下:典型值為3uA,RTC Run,8KByte Retention SRAM2保持,CPU寄存器保持,IO保持,可快速喚醒。

● 在Run模式下:90uA/MHz@108MHz/3.3V,100uA/MHz@72MHz/3.3V。

接下來,就將N32L43XRL-STB開發(fā)板與N32G45XVL-STB開發(fā)板放到一起,做一下功耗的對比。當然,這是在都配有調(diào)試下載工具的情況下,會比單純的芯片對比要大一些,但相對來講還是比較公平的。 經(jīng)檢測,N32L43XRL-STB開發(fā)板的功耗為0.13135W,N32G45XVL-STB開發(fā)板的功耗為0.15392W,二者凈差值為0.02257W。

0d093790-cab3-11ed-bfe3-dac502259ad0.jpg

圖1 開發(fā)板的對比

0d1bb4ce-cab3-11ed-bfe3-dac502259ad0.jpg

圖2 N32L43XRL-STB的功耗

0d2b2f08-cab3-11ed-bfe3-dac502259ad0.jpg

圖3 N32G45XVL-STB的功耗

如何構(gòu)建開發(fā)環(huán)境:

前面說過國民技術(shù)的MCU是支持MDK來開發(fā)的,那么對于N32L4x系列的開發(fā)板,是如何來構(gòu)建其開發(fā)環(huán)境的呢?

首先要做的自然是要安裝MDK,其版本可以是V5.25。

隨后,為支持此類芯片的使用,還需要安裝Nationstech.N32L43x_DFP.0.1.0。

這樣再打開MDK,就可在芯片列表中見到N32L4x系列的身影,見圖4所示。

0d337514-cab3-11ed-bfe3-dac502259ad0.jpg

圖4 添加芯片支持

至此,開發(fā)環(huán)境就基本構(gòu)建好了。

此外,為了便于了解和學習程序的設(shè)計方法,還應(yīng)下載一個函數(shù)庫與例程,其壓縮包為Nationstech.N32L43x_Library.1.1.0.7Z。

以例程LedBlink為例,經(jīng)編譯其結(jié)果如圖5所示。

0d541d82-cab3-11ed-bfe3-dac502259ad0.jpg

圖5 完成編譯

為進行下載測試,需按圖6所示來設(shè)置調(diào)試工具的類型,并按圖7所示來選取燒錄算法。

0d667d92-cab3-11ed-bfe3-dac502259ad0.jpg

圖6 設(shè)置調(diào)試工具

0d721710-cab3-11ed-bfe3-dac502259ad0.jpg

圖7 設(shè)置燒錄算法

在開發(fā)板上載有3個彩色LED,其電路原理圖見圖8所示,使用例程就可見到圖9所示的流水燈效果。

仿照該例程,可獲得GPIO口的使用方法,并實現(xiàn)開發(fā)板的功能擴展。

0d7fe548-cab3-11ed-bfe3-dac502259ad0.jpg

圖8 原理圖

0d8fc30a-cab3-11ed-bfe3-dac502259ad0.jpg

圖9 測試效果

驅(qū)動相應(yīng)器件的功耗對比

1)OLED屏顯示及功耗

OLED屏是一種自發(fā)光的顯示器件,但又較之數(shù)碼管要更節(jié)省電能。此外,對I2C接口的OLED屏來講,它的引腳少又能節(jié)省對GPIO口資源的占用,且所顯示的信息及形式更豐富,故極適合與N32L43X系列這樣的芯片相配合來設(shè)計低功耗產(chǎn)品。

那么,在N32L43X系列芯片的開發(fā)環(huán)境下,要實現(xiàn)I2C接口的OLED屏驅(qū)動是否容易呢?

其實,要實現(xiàn)起來并不復雜,所需要的只是2個GPIO口及相應(yīng)等級的延時函數(shù)支持,從而保證以GPIO口模擬的方式來完成I2C通訊。

在OLED屏與開發(fā)板按一下關(guān)系來連接的情況下:

SCL----PA1

SDA----PA2

對引腳功能的配置函數(shù)為:

void OLEDInit(void) { GPIO_InitType GPIO_InitStructure; RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE); GPIO_InitStruct(&GPIO_InitStructure); GPIO_InitStructure.Pin = GPIO_PIN_1|GPIO_PIN_2; GPIO_InitStructure.GPIO_Current = GPIO_DC_4mA; GPIO_InitStructure.GPIO_Pull = GPIO_No_Pull; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure); }

而輸出高低電平的引腳定義為:

#define OLED_SCLK_Clr() GPIOC-》PBA = GPIO_PIN_1 #define OLED_SCLK_Set() GPIOA-》PBSC = GPIO_PIN_1 #define OLED_SDIN_Clr() GPIOA-》PBC = GPIO_PIN_2 #define OLED_SDIN_Set() GPIOA-》PBSC = GPIO_PIN_2

延時函數(shù)的配備:

由于在MDK的開發(fā)板平臺下,并未提供毫秒級和微秒級延時的函數(shù),因此需要使用系統(tǒng)的滴答時鐘來自行設(shè)計。

微秒級延時函數(shù):

void Delayus(uint32_t count) { SysTick_Delay_Us(count); }

毫秒級延時函數(shù):

void Delayms(uint32_t count) { count=count*1000; SysTick_Delay_Us(count); }

使用微秒級延時函數(shù)的I2C啟動函數(shù)為:

void IIC_Start() { OLED_SCLK_Set(); Delayus(2); OLED_SDIN_Set(); Delayus(2); OLED_SDIN_Clr(); Delayus(2); OLED_SCLK_Clr(); Delayus(2); } 有了以上的基礎(chǔ),就不難將OLED屏的驅(qū)動功能移植給N32L43X系列芯片。 實現(xiàn)OLED屏顯示功能測試的主程序為:int main(void) { LedInit(PORT_GROUP2, LED3_PIN); OLEDInit(); OLED_Init(); OLED_Clear(); OLED_ShowString(20,0,“N32L43x ”,16); OLED_ShowString(20,2,“OLED TEST”,16); OLED_ShowString(20,4,“jinglixixi”,16); OLED_ShowString(20,6,“2022.3.2”,16); while (1) { LedOn(PORT_GROUP2, LED3_PIN); Delayms(500); LedOff(PORT_GROUP2, LED3_PIN); Delayms(500); } } 在OLED屏顯示的情況下,其整體功耗如圖10所示。

0d94ffbe-cab3-11ed-bfe3-dac502259ad0.jpg

圖10 功耗測試

2)傳感器檢測及功耗 以BMP085溫度大氣壓傳感器為例,其器件的連接關(guān)系為:

OLED_CLK_PIN---PA1

OLED_DIN_PIN---PA2

BMP_CLK_PIN---PB0

BMP_DIN_PIN---PB1

讀取傳感器數(shù)據(jù)的語句定義為:

#define IIC_SDA_IN GPIO_ReadInputDataBit(GPIOB, GPIO_PIN_1)

實現(xiàn)數(shù)據(jù)引腳輸入輸出功能定義的函數(shù)為:

void IIC_INPUT_MODE_SET() { GPIO_InitType GPIO_InitStructure; RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE); GPIO_InitStruct(&GPIO_InitStructure); GPIO_InitStructure.Pin = GPIO_PIN_1; GPIO_InitStructure.GPIO_Current = GPIO_DC_4mA; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Input; GPIO_InitStructure.GPIO_Pull = GPIO_Pull_Up; //GPIO_No_Pull GPIO_Pull_Down GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure); } void IIC_OUTPUT_MODE_SET() { GPIO_InitType GPIO_InitStructure; RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE); GPIO_InitStruct(&GPIO_InitStructure); GPIO_InitStructure.Pin = GPIO_PIN_1; GPIO_InitStructure.GPIO_Current = GPIO_DC_4mA; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pull = GPIO_No_Pull; GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure); }

模擬I2C發(fā)送字節(jié)數(shù)據(jù)的函數(shù)為:

void BMP085_Send_Byte(char txd) { char t; IIC_OUTPUT_MODE_SET(); SCL_Clr(); for(t=0;t《8;t++) { if((txd&0x80)》》7) SDA_Set(); else SDA_Clr(); txd《《=1; SysTick_Delay_Us(2); SCL_Set(); SysTick_Delay_Us(2); SCL_Clr(); SysTick_Delay_Us(2); } }

讀取溫度大氣壓的函數(shù)為:

void bmp085Convert() { unsigned int ut; unsigned long up; long x1, x2, b5, b6, x3, b3, p; unsigned long b4, b7; ut = bmp085ReadTemp(); up = bmp085ReadPressure(); x1 = (((long)ut - (long)ac6)*(long)ac5) 》》 15; x2 = ((long) mc 《《 11) / (x1 + md); b5 = x1 + x2; temperature = ((b5 + 8) 》》 4); b6 = b5 - 4000; x1 = (b2 * (b6 * b6)》》12)》》11; x2 = (ac2 * b6)》》11; x3 = x1 + x2; b3 = (((((long)ac1)*4 + x3)《《OSS) + 2)》》2; x1 = (ac3 * b6)》》13; x2 = (b1 * ((b6 * b6)》》12))》》16; x3 = ((x1 + x2) + 2)》》2; b4 = (ac4 * (unsigned long)(x3 + 32768))》》15; b7 = ((unsigned long)(up - b3) * (50000》》OSS)); if (b7 《 0x80000000) p = (b7《《1)/b4; else p = (b7/b4)《《1; x1 = (p》》8) * (p》》8); x1 = (x1 * 3038)》》16; x2 = (-7357 * p)》》16; pressure = p+((x1 + x2 + 3791)》》4); }

檢測溫度大氣壓的主程序為:

int main(void) { LedInit(PORT_GROUP2, LED3_PIN); BMP085_Init(); Init_BMP085(); OLEDInit(); OLED_Init(); OLED_Clear(); OLED_ShowString(20,0,“N32L43x ”,16); OLED_ShowString(20,2,“OLED & BMP085”,16); OLED_ShowString(20,4,“t= C”,16); OLED_ShowString(20,6,“p= KPa”,16); while (1) { bmp085Convert(); OLED_ShowNum(44,4,temperature/10,3,16); OLED_ShowNum(44,6,pressure/100,5,16); LedOn(PORT_GROUP2, LED3_PIN); Delayms(500); LedOff(PORT_GROUP2, LED3_PIN); Delayms(500); } } 在添加傳感器的情況下,其顯示效果及整體功耗分別如圖11和圖12所示。

0da7d166-cab3-11ed-bfe3-dac502259ad0.jpg

圖11 顯示效果

0dba5ea8-cab3-11ed-bfe3-dac502259ad0.jpg

圖12 整體功耗

至此,就在N32L43XRL-STB開發(fā)板上完成了溫度大氣壓檢測裝置的設(shè)計,并針對其低功耗的特點對相應(yīng)環(huán)境的功耗進行了跟蹤測量。盡管測試的工具不很專業(yè),但它還是能夠帶來一個很直觀的感性認識。所以在低功耗的設(shè)計中,使用N32L43X芯片是可行的也是十分方便的,其功耗也是能夠達到認可的!

審核編輯 :李倩

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

    關(guān)注

    146

    文章

    17984

    瀏覽量

    366907
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2291

    瀏覽量

    96415
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5682

    瀏覽量

    104746

原文標題:低功耗MCU怎么選?看網(wǎng)友親測國民技術(shù)N32L4xx系列!

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    32位低功耗MCU設(shè)計

    32位低功耗MCU設(shè)計前言傳統(tǒng)的低功耗 MCU 設(shè)計都是以8位MCU為主,因為8 位內(nèi)核閾門相對較少,運行或泄露電流低,售價也相對低廉。但是
    發(fā)表于 10-08 15:38

    轉(zhuǎn):32位低功耗MCU設(shè)計

    32位低功耗MCU設(shè)計前言傳統(tǒng)的低功耗 MCU 設(shè)計都是以8位MCU為主,因為8 位內(nèi)核閾門相對較少,運行或泄露電流低,售價也相對低廉。但是
    發(fā)表于 01-25 16:15

    低功耗MCU如何降低功耗

    低功耗MCU的一項非常重要的指標,比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。 平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到關(guān)于
    發(fā)表于 11-12 13:57

    如何選擇超低功耗MCU

    在物聯(lián)網(wǎng)的推動下,業(yè)界對各種電池供電設(shè)備產(chǎn)生了巨大需求。這反過來又使業(yè)界對微控制器和其他系統(tǒng)級器件的能源效率要求不斷提高。因此超低功耗MCU功耗相關(guān)的很多指標都不斷得刷新記錄。在選擇合適的超
    發(fā)表于 12-28 07:12

    MCU如何降低功耗

     低功耗MCU的一項非常重要的指標,比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。  平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到
    發(fā)表于 12-30 06:55

    MCU怎么實現(xiàn)低功耗?

    MCU怎么實現(xiàn)低功耗
    發(fā)表于 03-10 07:47

    低功耗MCU

    低功耗MCU的一項非常重要的指標,比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到關(guān)于
    發(fā)表于 10-29 06:17

    如何保證MCU低功耗

    保證MCU低功耗 這五點很重要低功耗MCU的一項非常重要的指標,比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大的話,就會經(jīng)常出現(xiàn)電量不足的情況,影響用戶體驗。本
    發(fā)表于 11-04 06:38

    低功耗MCU選型要點

    摘要有時為了一款低功耗產(chǎn)品而絞盡腦汁,產(chǎn)品的低功耗實現(xiàn)往往在于主控MCU的選擇。低功耗MCU選型要點 powerDown時有極低的電流
    發(fā)表于 11-04 06:32

    Apollo2_超低功耗MCU

    低功耗MCU
    發(fā)表于 08-18 11:11 ?107次下載

    TI MCU設(shè)計研討會:低功耗MCU的性能介紹

    TI 2014 MCU設(shè)計研討會:低功耗MCU
    的頭像 發(fā)表于 08-22 01:40 ?2700次閱讀

    關(guān)于MCU低功耗問題

    隨著便攜式移動設(shè)備,各種穿戴設(shè)備的興起,我們不得不關(guān)注設(shè)備的功耗問題,因為這些設(shè)備都具有一個特征:使用電池系統(tǒng)供電,一塊線路板上跟功耗相關(guān)的單元電路可能有很多,今天我們來談?wù)勱P(guān)于MCU低功耗
    的頭像 發(fā)表于 08-13 15:22 ?4181次閱讀

    低功耗MCU設(shè)計理念

    ?轉(zhuǎn)自:http://www.eeworld.com.cn/mcu/article_2018031938316_2.htmlMCU功耗來自何處? ? 在開始討論低功耗MCU設(shè)計前,必須
    發(fā)表于 10-27 15:36 ?19次下載
    <b class='flag-5'>低功耗</b><b class='flag-5'>MCU</b>設(shè)計理念

    MCU低功耗設(shè)計(三)產(chǎn)品

    引言:能耗對電池供電的產(chǎn)品來說是一個重大問題,一旦電能耗盡設(shè)備將“罷工”。在《MCU低功耗設(shè)計(一)理論》中,我們介紹了節(jié)能的原理;在《MCU低功耗設(shè)計(二)實踐》中,實測了STM8L
    發(fā)表于 10-28 14:06 ?16次下載
    <b class='flag-5'>MCU</b><b class='flag-5'>低功耗</b>設(shè)計(三)產(chǎn)品

    低功耗MCU選型

    摘要有時為了一款低功耗產(chǎn)品而絞盡腦汁,產(chǎn)品的低功耗實現(xiàn)往往在于主控MCU的選擇。低功耗MCU選型要點 powerDown時有極低的電流
    發(fā)表于 11-01 16:25 ?18次下載
    <b class='flag-5'>低功耗</b><b class='flag-5'>MCU</b>選型