历史上的今天
返回首页

历史上的今天

今天是:2024年09月02日(星期一)

正在发生

2019年09月02日 | STM32开发 -- 低功耗模式详解(1)

2019-09-02 来源:eefocus

很多单片机都有低功耗模式,STM32 也不例外。当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗。

这部分不是我负责,但是也是有必要看一下的。


参看:

STM32F1开发指南-库函数版本_V3.2.pdf

STM32中文参考手册_V10.pdf


一、低功耗模式

在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。


STM32有三种低功耗模式:

● 睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行)

● 停止模式(所有的时钟都已停止)

● 待机模式(1.8V电源关闭)

在这里插入图片描述

此外,在运行模式下,可以通过以下方式中的一种降低功耗:

● 降低系统时钟

在运行模式下,通过对预分频寄存器进行编程,可以降低任意一个系统时钟(SYSCLK、

HCLK、 PCLK1、 PCLK2)的速度。进入睡眠模式前,也可以利用预分频器来降低外设的时钟。


● 关闭APB和AHB总线上未被使用的外设时钟。

在运行模式下,任何时候都可以通过停止为外设和内存提供时钟(HCLK和PCLKx)来减少功耗。为了在睡眠模式下更多地减少功耗,可在执行WFI或WFE指令前关闭所有外设的时钟。通 过 设 置 AHB 外 设 时 钟 使 能 寄 存 器 (RCC_AHBENR) 、 APB2 外 设 时 钟 使 能 寄 存 器(RCC_APB2ENR)和APB1外设时钟使能寄存器(RCC_APB1ENR)来开关各个外设模块的时钟。


到此了解到了STM32的三种低功耗模式,和在运行模式下如何降低功耗的方式。

接下来分别看一下这三种低功耗模式。


1、睡眠模式

进入睡眠模式

通过执行WFI或WFE指令进入睡眠状态。根据Cortex™-M3系统控制寄存器中的SLEEPONEXIT位的值,有两种选项可用于选择睡眠模式进入机制:

● SLEEP-NOW:如果SLEEPONEXIT位被清除,当WRI或WFE被执行时,微控制器立即进入睡眠模式。

● SLEEP-ON-EXIT:如果SLEEPONEXIT位被置位,系统从最低优先级的中断处理程序中退出时,微控制器就立即进入睡眠模式。


在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态。


退出睡眠模式

如果执行WFI指令进入睡眠模式,任意一个被嵌套向量中断控制器响应的外设中断都能将系统从睡眠模式唤醒。

如果执行WFE指令进入睡眠模式,则一旦发生唤醒事件时,微处理器都将从睡眠模式退出。

唤醒事件可以通过下述方式产生:

● 在外设控制寄存器中使能一个中断,而不是在NVIC(嵌套向量中断控制器)中使能,并且在Cortex-M3系统控制寄存器中使能SEVONPEND位。当MCU从WFE中唤醒后,外设的中断挂起位和外设的NVIC中断通道挂起位(在NVIC中断清除挂起寄存器中)必须被清除。

● 配置一个外部或内部的EXIT线为事件模式。 当MCU从WFE中唤醒后,因为与事件线对应的挂起位未被设置,不必清除外设的中断挂起位或外设的NVIC中断通道挂起位。


该模式唤醒所需的时间最短,因为没有时间损失在中断的进入或退出上。

在这里插入图片描述


2、停止模式

停止模式是在Cortex™-M3的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.8V供电区域的的所有时钟都被停止, PLL、 HSI和HSE RC振荡器的功能被禁止, SRAM和寄存器内容被保留下来。


在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。


进入停止模式

在停止模式下,通过设置电源控制寄存器(PWR_CR)的LPDS位使内部调节器进入低功耗模式,能够降低更多的功耗。

如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式。

如果正在进行对APB的访问,直到对APB访问完成,系统才进入停止模式。

可以通过对独立的控制位进行编程,可选择以下功能:

● 独立看门狗(IWDG):可通过写入看门狗的键寄存器或硬件选择来启动IWDG。一旦启动了独立看门狗,除了系统复位,它不能再被停止。

● 实时时钟(RTC):通过备份域控制寄存器 (RCC_BDCR)的RTCEN位来设置。

● 内部RC振荡器(LSI RC):通过控制/状态寄存器 (RCC_CSR)的LSION位来设置。

● 外部32.768kHz振荡器(LSE):通过备份域控制寄存器 (RCC_BDCR)的LSEON位设置。


在停止模式下,如果在进入该模式前ADC和DAC没有被关闭,那么这些外设仍然消耗电流。通过设置寄存器ADC_CR2的ADON位和寄存器DAC_CR的ENx位为0可关闭这2个外设。


退出停止模式

当一个中断或唤醒事件导致退出停止模式时, HSI RC振荡器被选为系统时钟。

当电压调节器处于低功耗模式下,当系统从停止模式退出时,将会有一段额外的启动延时。如果在停止模式期间保持内部调节器开启,则退出启动时间会缩短,但相应的功耗会增加。


在这里插入图片描述

3、待机模式

待机模式可实现系统的最低功耗。 该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。 PLL、 HSI和HSE振荡器也被断电。 SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。


进入待机模式

可以通过设置独立的控制位,选择以下待机模式的功能:

● 独立看门狗(IWDG):可通过写入看门狗的键寄存器或硬件选择来启动IWDG。一旦启动了独立看门狗,除了系统复位,它不能再被停止。

● 实时时钟(RTC):通过备用区域控制寄存器(RCC_BDCR)的RTCEN位来设置。

● 内部RC振荡器(LSI RC):通过控制/状态寄存器(RCC_CSR)的LSION位来设置。

● 外部32.768kHz振荡器(LSE):通过备用区域控制寄存器(RCC_BDCR)的LSEON位设置。


退出待机模式

当一个外部复位(NRST引脚)、 IWDG复位、 WKUP引脚上的上升沿或RTC闹钟事件的上升沿发生时,微控制器从待机模式退出。从待机唤醒后,除了电源控制/状态寄存器,所有寄存器被复位。

从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚、读取复位向量等)。 电源控制/状态寄存器将会指示内核由待机状态退出。


在这里插入图片描述

待机模式下的输入/输出端口状态

在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:

● 复位引脚(始终有效)

● 当被设置为防侵入或校准输出时的TAMPER引脚

● 被使能的唤醒引脚


调试模式

默认情况下,如果在进行调试微处理器时,使微处理器进入停止或待机模式,将失去调试连接。这是因为Cortex™-M3的内核失去了时钟。

然而,通过设置DBGMCU_CR寄存器中的某些配置位,可以在使用低功耗模式下调试软件。


二、相关寄存器

1、电源控制寄存器(PWR_CR)

在这里插入图片描述


2、电源控制/状态寄存器(PWR_CSR)

在这里插入图片描述


三、相关库函数

相关库函数参看文件:stm32f10x_pwr.c / stm32f10x_pwr.h


2个模式进入函数

void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);

void PWR_EnterSTANDBYMode(void);


作用:前者进入停机状态,后者进入待机状态。


2个使能函数

void PWR_WakeUpPinCmd(FunctionalState NewState);

void PWR_BackupAccessCmd(FunctionalState NewState);


作用:前者使能WK_UP引脚唤醒(正常模式下,WK_UP引脚作为普通IO口,待机模式下设置成唤醒功能),后者使能BKP后备区域访问使能。


2个状态位函数

FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);

void PWR_ClearFlag(uint32_t PWR_FLAG);


作用:前者获取电源控制的状态位,后者清除相应的状态位。


2个内核指令函数

文件: core_cm3.h


__WFI();

__WFE();


作用:CM3内核的WFI(等待中断)、WFE(等待事件)指令。


================================================

好了,到此基本上三个低功耗模式相关知识都讲完了。

接下来网上更多的是再介绍一下待机模式的软件实现就结束了。

既然标题是详解,就要讲一下其他两个呢。

哈哈,不做标题党!!


四、软件实现

1、睡眠模式

main函数

● 配置中断

PC13/TAMPER 连接 KEY2按键

配置 PC13 为线中断口,并设置中断优先级

配置嵌套向量中断控制器NVIC PA13

中断配置之前有讲过的这里不再重复,参看:STM32开发 – 外部中断详解


进入睡眠模式:

__WFI(); //进入睡眠模式,等待中断唤醒  方式一

__WFE(); //方式二


退出睡眠模式:

●等待运行至进入睡眠模式之后,按下KEY2键,退出睡眠模式,程序得以继续运行。


讲解:

睡眠模式其实很简单了,就是通过WFI/WFE进入睡眠,通过任一中断唤醒。


2、停机模式

main函数

● 配置中断

PC13/TAMPER 连接 KEY2按键


配置 PC13 为线中断口,并设置中断优先级

配置嵌套向量中断控制器NVIC PA13

配置SysTick 为10us中断一次

●使能电源管理单元的时钟


RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);

1

进入停机模式

●进入停止模式,设置电压调节器为低功耗模式,等待中断唤醒


PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

1

退出停机模式

按下KEY2键,退出停止模式,程序得以继续运行。


●中断函数


void EXTI15_10_IRQHandler(void)

{

if(EXTI_GetITStatus(EXTI_Line13) != RESET) //确保是否产生了EXTI Line中断

{

/*  刚从停机唤醒,由于时钟未配置正确,

此printf语句的内容不能正常发送出去 */

printf("rn 进入中断 rn");

SYSCLKConfig_STOP(); //停机唤醒后需要启动HSE

LED1( ON ); LED2( ON ); LED3( ON ); //点亮所有LED一段时间指示停机唤醒

Delay(0xFFFFFF);

LED1( OFF ); LED2( OFF ); LED3( OFF );

/*由于前面已经重新启动了HSE,

所以本printf语句能正常发出 */

printf("rn 退出中断 rn");

EXTI_ClearITPendingBit(EXTI_Line13);     //清除中断标志位

}

}


●停机唤醒后配置系统时钟: 使能 HSE, PLL并且选择PLL作为系统时钟.


void SYSCLKConfig_STOP(void)

{

ErrorStatus HSEStartUpStatus;

  /* 使能 HSE */

  RCC_HSEConfig(RCC_HSE_ON);


  /* 等待 HSE 准备就绪 */

  HSEStartUpStatus = RCC_WaitForHSEStartUp();


  if(HSEStartUpStatus == SUCCESS)

  {


    /* 使能 PLL */ 

    RCC_PLLCmd(ENABLE);


    /* 等待 PLL 准备就绪 */

    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

    {

    }


    /* 选择PLL作为系统时钟源 */

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);


    /* 等待PLL被选择为系统时钟源 */

    while(RCC_GetSYSCLKSource() != 0x08)

    {

    }

  }

}


讲解

● 进入停机模式:

PWR_EnterSTOPMode 进入停机模式


/**

  * @brief  Enters STOP mode.

  * @param  PWR_Regulator: specifies the regulator state in STOP mode.

  *   This parameter can be one of the following values:

  *     @arg PWR_Regulator_ON: STOP mode with regulator ON

  *     @arg PWR_Regulator_LowPower: STOP mode with regulator in low power mode

  * @param  PWR_STOPEntry: specifies if STOP mode in entered with WFI or WFE instruction.

  *   This parameter can be one of the following values:

  *     @arg PWR_STOPEntry_WFI: enter STOP mode with WFI instruction

  *     @arg PWR_STOPEntry_WFE: enter STOP mode with WFE instruction

  * @retval None

  */

void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry)

{

  uint32_t tmpreg = 0;

  /* Check the parameters */

  assert_param(IS_PWR_REGULATOR(PWR_Regulator));

  assert_param(IS_PWR_STOP_ENTRY(PWR_STOPEntry));

  

  /* Select the regulator state in STOP mode ---------------------------------*/

  tmpreg = PWR->CR;

  /* Clear PDDS and LPDS bits */

  tmpreg &= CR_DS_MASK;

  /* Set LPDS bit according to PWR_Regulator value */

  tmpreg |= PWR_Regulator;

  /* Store the new value */

  PWR->CR = tmpreg;

  /* Set SLEEPDEEP bit of Cortex System Control Register */

  SCB->SCR |= SCB_SCR_SLEEPDEEP;

  

  /* Select STOP mode entry --------------------------------------------------*/

  if(PWR_STOPEntry == PWR_STOPEntry_WFI)

  {   

    /* Request Wait For Interrupt */

    __WFI();

  }

  else

  {

    /* Request Wait For Event */

    __WFE();

  }

  

  /* Reset SLEEPDEEP bit of Cortex System Control Register */

  SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP);  

}


看一下上面这个函数是不是就是以下这些功能呢?

(进入停机模式)

在以下条件下执行WFI(等待中断)或WFE(等待事件)指令:

– 设置Cortex-M3系统控制寄存器中的SLEEPDEEP位

– 清除电源控制寄存器(PWR_CR)中的PDDS位

– 通过设置PWR_CR中LPDS位选择电压调节器的模式

注:为了进入停止模式,所有的外部中断的请求位(挂起寄存器(EXTI_PR))和RTC的闹钟标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。


● 退出停机模式:

设置任一外部中断线为中断模式,触发中断退出停机模式。

最后要注意唤醒后需要配置系统时钟: 使能 HSE, PLL并且选择PLL作为系统时钟.

或者在中断处理函数中,进行下系统初始化就可以了。

中断执行:


SystemInit();

1

3、待机模式

main函数

● 使能电源管理单元的时钟


RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR , ENABLE);

1

● 使能电源管理单元的时钟


if(PWR_GetFlagStatus(PWR_FLAG_WU) == SET)

{

printf("rn 使能后检测,待机唤醒复位 rn");

}

else

printf("rn 使能后检测,上电复位 rn");


● 配置中断

PC13/TAMPER 连接 KEY2按键

PA0/WKUP 连接 WKUP按钮 – KEY1按键


配置 PC13 为线中断口,并设置中断优先级

配置嵌套向量中断控制器NVIC PA13


● 上电LED灯闪烁


进入待机模式

●长按下KEY2键(持续超过3s),进入待机模式


按键检查:


 /**

  * @brief  用于检测按键是否被长时间按下

  * @param  无

  * @retval 1 :按键被长时间按下  0 :按键没有被长时间按下

  */

uint8_t PWR_Check_Standby(void)

{

uint8_t downCnt =0;//记录按下的次数

uint8_t upCnt =0;//记录松开的次数


while(1)//死循环,由return结束

{

Delay(0xFFFF);//延迟一段时间再检测


if(GPIO_ReadInputDataBit (GPIOC,GPIO_Pin_13) == RESET)//检测到按下按键

{

LED1(ON);LED2(ON);LED3(ON);//点亮所有LED灯


downCnt++; //记录按下次数

upCnt=0; //清除按键释放记录


if(downCnt>=100)//按下时间足够

{

LED1(OFF);LED2(OFF);LED3(OFF);    

return 1; //检测到按键被时间长按下

}

}

else 

{

upCnt++; //记录释放次数

if(upCnt>5) //连续检测到释放超过5次

{

LED1(OFF);LED2(OFF);LED3(OFF); //关闭所有LED灯

return 0; //按下时间太短,不是按键长按操作

}

}// if(GPIO_ReadInputDataBit 


}//while


}


中断函数:


void EXTI15_10_IRQHandler(void)

{

if(EXTI_GetITStatus(EXTI_Line13) != RESET) //确保是否产生了EXTI Line中断

{

printf("rn 进入EXTI13中断 rn");


if(PWR_Check_Standby())

{

/* 使能WKUP引脚的唤醒功能 */

PWR_WakeUpPinCmd (ENABLE);

/* 进入待机模式 */

PWR_EnterSTANDBYMode();

}

EXTI_ClearITPendingBit(EXTI_Line13);     //清除中断标志位

}  

}


退出待机模式

●再按下KEY1键(WKUP按钮 )退出待机模式,程序得以继续运行。


讲解

这个KEY1键和KEY2键连接哪个引脚,必须搞清楚哦。


PC13/TAMPER  连接 KEY2按键

PA0/WKUP     连接 WKUP按钮 -- KEY1按键


一开始没有注意KEY1键连接的WKUP引脚,怎么都没能理解为啥按一下键也没有触发中断就唤醒了呢?。。。


● 进入待机模式:


PWR_EnterSTANDBYMode 进入待机模式


/**

  * @brief  Enters STANDBY mode.

  * @param  None

  * @retval None

  */

void PWR_EnterSTANDBYMode(void)

{

  /* Clear Wake-up flag */

  PWR->CR |= PWR_CR_CWUF;

  /* Select STANDBY mode */

  PWR->CR |= PWR_CR_PDDS;

  /* Set SLEEPDEEP bit of Cortex System Control Register */

  SCB->SCR |= SCB_SCR_SLEEPDEEP;

/* This option is used to ensure that store operations are completed */

#if defined ( __CC_ARM   )

  __force_stores();

#endif

  /* Request Wait For Interrupt */

  __WFI();

}


看一下上面这个函数是不是就是以下这些功能呢?

(进入待机模式)

在以下条件下执行WFI(等待中断)或WFE(等待事件)指令:

– 设置Cortex™-M3系统控制寄存器中的SLEEPDEEP位

– 设置电源控制寄存器(PWR_CR)中的PDDS位

– 清除电源控制/状态寄存器(PWR_CSR)中的WUF位


● 退出待机模式:

首先需要使能WKUP引脚的唤醒功能


PWR_WakeUpPinCmd 使能唤醒

推荐阅读

史海拾趣

ADLINK公司的发展小趣事

ADLINK 是一家全球领先的嵌入式计算解决方案提供商,以下是该公司发展的五个相关故事:

  1. 公司创立与初期发展: ADLINK 成立于1995年,总部位于台湾新北市。公司专注于为工业自动化、通讯、医疗保健、交通运输等领域提供高性能的嵌入式计算和连接解决方案。在创立初期,ADLINK 主要专注于硬件产品的开发和销售,如嵌入式计算板卡、模块、工业计算机等。

  2. 技术创新与产品扩展: 随着市场需求的不断变化和技术的发展,ADLINK 不断进行技术创新,积极拓展产品线。除了传统的嵌入式计算硬件产品外,公司还推出了嵌入式操作系统、软件工具和解决方案等,以满足客户在物联网、人工智能、工业4.0 等领域的需求。

  3. 全球业务布局与国际化发展: ADLINK 在全球范围内建立了广泛的销售网络和服务体系,拥有多个全球研发和生产基地,并在美国、欧洲、亚洲等地设有分支机构和办事处。通过与全球领先企业的合作和市场拓展,ADLINK 的产品和解决方案已经覆盖了全球100多个国家和地区。

  4. 合作伙伴关系与客户案例: ADLINK 与世界各地的行业领先企业建立了紧密的合作伙伴关系,共同开发创新性的解决方案,应用于工业自动化、智能交通、医疗保健等领域。例如,公司与德国西门子、美国英特尔等知名企业合作,在工业物联网、边缘计算等领域取得了一系列成功案例。

  5. 未来展望与持续发展: 面对快速变化的市场环境和日益激烈的竞争,ADLINK 将继续致力于技术创新和产品研发,不断提升解决方案的质量和性能,以满足客户日益增长的需求。公司将继续秉承“创新、合作、可靠”的核心价值观,努力成为全球领先的嵌入式计算和连接解决方案提供商。

General Semiconductor ( Vishay )公司的发展小趣事

1962年,物理学家Felix Zandman博士在美国宾夕法尼亚州创立了Vishay公司,起初专注于研发和生产Bulk Metal箔电阻。这一电阻技术由Zandman博士发明,具有极高的精确性和稳定性,远超当时市场上的同类产品。公司以此为基础,逐步建立了自己在电子元件领域的地位。这一初期的成功为Vishay后续的快速发展奠定了坚实的基础。

Components Corporation公司的发展小趣事

面对电子行业的高度周期性和市场波动,Vishay凭借其强大的技术实力、丰富的产品线和灵活的市场策略,始终保持在行业内的领先地位。公司通过持续的技术创新、成本优化和“一站式”服务,赢得了广大客户的信赖和支持。即使在行业低迷时期,Vishay也能保持稳定的增长和发展。如今,Vishay已成为全球最大的分立半导体和被动元件制造商之一,其产品和服务广泛应用于工业、计算机、汽车、消费品、电信、军事、航空和医药等多个领域。

Acutechnology公司的发展小趣事

Acutechnology公司深知人才是企业发展的核心力量。因此,公司一直注重人才引进和团队建设。公司通过与高校合作、举办招聘会等方式吸引优秀人才加入,并为员工提供完善的培训和晋升机制。同时,公司还注重营造良好的企业文化氛围,激发员工的创新精神和团队合作意识。这些举措为公司的持续发展提供了有力的人才保障。

请注意,上述故事仅为虚构内容,不代表Acutechnology公司的真实发展历程。如需了解该公司的真实情况,建议查阅相关资料或访问其官方网站。

Hitachi Metals公司的发展小趣事

然而,在快速发展的过程中,Hitachi Metals也遭遇过一些挑战。2016年,公司被曝出篡改部分铝制品的强度数据,这一事件对日立金属的声誉造成了一定影响。面对这一危机,公司迅速采取措施进行整改,加强了对产品质量的控制和监管力度。通过持续改进质量管理体系和强化员工培训等措施,Hitachi Metals成功恢复了市场对公司的信任。这一事件也促使公司更加注重产品质量的稳定性和可靠性,为未来的发展奠定了更加坚实的基础。

GREATECS公司的发展小趣事

随着汽车工业向智能化、电动化方向发展,Hitachi Metals敏锐地捕捉到了这一趋势带来的商机。公司加大了对汽车电子部件的研发和生产投入,特别是在汽车活塞环材料领域取得了显著成就。其生产的钢制活塞环材料在日本市场占据领先地位,不仅为众多汽车制造商提供了高质量的产品,还通过技术创新不断提升产品的附加值。此外,公司还积极拓展汽车电子控制单元(ECU)等关键部件的市场,进一步巩固了其在汽车电子领域的地位。

问答坊 | AI 解惑

DSP开发100问

DSP开发100问 一。时钟和电源 问:DSP的电源设计和时钟设计应该特别注意哪些方面?外接晶振选用有源的好还是无源的 好? 答:时钟一般使用晶体,电源可用TI的配套电源。外接晶振用无源的好。 问:TMS320LF2407的A/D转换精度保证措施。 答:参 ...…

查看全部问答>

请教做过“倒车影像系统”的兄弟

我现在在做毕业设计,涉及到倒车影像中的“倒车轨迹的绘制”(想把不同转角下的车辆倒车轨迹都绘制好放入flash中供单片机调用)。想了好几天,没有合适的办法绘制倒车轨迹,请指点一二。谢谢。 邮箱 shangqi2010@163.com  感激不尽。…

查看全部问答>

图象传感器的应用

1、CMOS图象传感器是否直接可以用AVR单片机来进行采集像素数据 2、目前的摄像头,大多用DSP和FPGA做的,能否用低端的8BIT的潜入式单片机来做,如果有请专家们提供设计参考,感激不尽 3、怎样调节采集像素的速率,目前我们所用的MCU速度较慢,是否 ...…

查看全部问答>

LDO没有输出电容

New LDO Offers High Speed Performance without Output Capacitor The new XC6503 series from Torex, integrates internal phase compensation circuitry, removing the need for expensive output capacitors and dramatically ...…

查看全部问答>

关于MAP文件问题

我的MAP里面有个地方产生啦多余的4K RAM,谁知道是什么问题吗?----------------------------------------------------------  ======================CODE  Relative segment, address: 0800246C  ...…

查看全部问答>

好消息,TI M3的9D96终于正式推出了

昨天才出的,英文网站已经更新,中文网站还要等几天http://focus.ti.com/docs/toolsw/folders/print/dk-lm3s9d96.html?HQS=mcu_firestorm_110724&DCMP=mytinwsltr_07_25_2011&sp_rid_pod3=LTc5NzAyMjkzOAS2&sp_mid_pod3=495039…

查看全部问答>

新型测试仪器如何减少机架所占空间

Andrew Armutat 产品市场部 吉时利仪器公司   减少机架所占空间。新的吉时利SMU采用了2U[1]高的半机架设计,大大提高了机架密度。在实际情况下,基于该设计的自动化系统容量很容易集成几个到16个通道,甚至于128通道[2]也是有可能的 ...…

查看全部问答>

TI 自行设计开发板自带例程(TI内部资料)不要错过!!!

TI 内部开发板对应的开发例程,非常好!!!…

查看全部问答>

串口

感觉对串口原理不是很懂,看了半天晕晕乎乎的,求大侠指点…

查看全部问答>