英语原文共 27 页,剩余内容已隐藏,支付完成后下载完整资料
1 STM32F030系列的供电电路和复位电路
1.1 供电电路
STM32F030系列不同的产品采用不同的供电电路。它包括一个内部调节器,以便为芯片提供1.8V电源和一个数字逻辑电路。
以下是不同的供电电路:
- VDD从2.4 V到3.6 V:I/O的外部电源和内部1.8 V。通过外部的VDD引脚提供。
- VDDA从VDD到3.6 V: ADC的外部模拟电源,复位模块,HSI,HSI14, LSI和PLL。
VDDA的电压必须始终大于或等于VDD的电压,并且必须优先提供VDDA。
图 1 供电电路
1.1.1 独立模拟转换器电源
为了提高转换精度和扩展电源的灵活性,模拟域有一个独立的电源,可以单独过滤和屏蔽PCB上的噪声。
- ADC电源输入可以在单独的VDDA引脚上使用。
- 在引脚VSSA上提供一个隔离的电源接地连接。
VDDA电源可以等于或高于VDD,这使得VDD在保持低电平的同时仍能为模拟模块提供完整的性能。
当使用单一电源时,VDDA必须从外部连接到VDD。并建议使用外部滤波电路,以确保得到无噪声的VDDA。
当VDDA与VDD不同时,VDDA必须始终高于或等于VDD。为了在上电/掉电时保持VDDA和VDD之间的安全电位差,可以在VDD和VDDA之间使用外部肖特基二极管。有关允许的最大差异,请参阅数据表。
图 2肖特基二极管的连接
1.1.2 电压调节器
电压调节器在复位后总是启用。
它在两种不同模式下工作:
- 主要(MR)用于正常工作模式(运行),
- 低功率(LPR)用于功率需求降低的停止模式。
在待机模式下,调节器处于断电模式。在这种模式下,调节器输出高阻抗,核心电路断电,导致功耗变为零,寄存器和SRAM内容丢失。但是,如果已经配置以下功能,则可以正常使用的:
- 独立监视程序(IWDG):独立监视程序通过写入其密钥寄存器或硬件选项启动。一旦启动,就不能停止,除非重置。
- 实时时钟(RTC):由RTC控制寄存器(RCC_BDCR)中的RTCEN位配置。
- 内部低速振荡器(LSI):由控制/状态寄存器(RCC-CSR)中的LSION位配置。
- 外部32.768 kHz振荡器(LSE):由RTC控制寄存器(RCC_BDCR)中的LSEON位配置。
1.2复位和电源监管
1.2.1 上电复位(POR)/掉电复位(PDR)
该设备有一个集成的上电复位(POR)和掉电复位(PDR)电路,它们始终处于激活状态,并确保在阈值2.4V以上正常工作。
当监测到的电源电压低于指定阈值VPOR/PDR时,则该设备保持在复位模式,无需外部复位电路。
- POR仅监测VDD电源电压。在启动阶段,VDDA必须先接通,并且大于或等于VDD。
- PDR监测VDD和VDDA电源电压。但是,如果应用程序设计确保VDDA高于或等于VDD,则可以禁用VDDA电源管理器(通过编程专用选项位VDDA_ MONITOR)以降低功耗。
有关上电/掉电复位阈值的更多详细信息,请参阅数据表中的电气特性部分。
图 3上电复位/掉电复位波形
1.2.2 系统复位
系统复位是所有寄存器设置为其复位值,时钟控制器CSR寄存器中的复位标志和RTC中的寄存器除外。当下列事件之一发生时,系统则会复位:
1.NRST引脚上变为低电平(外部复位)。
2.系统窗口监视程序事件(WWDG复位)。
3.独立监视程序事件(IWDG复位)。
4.软件复位(SW 复位)。
5.低功耗管理复位。
6.选项字节加载程序复位。
7.电源复位
复位源可以通过检查控制/状态寄存器RCC_CSR中的复位标志来识别。复位服务例程向量固定在内存映射中的地址0x0000_0004。提供给单片机的系统复位信号在NRST引脚上进行输出。脉冲发生器保证每个内部复位源的最小复位脉冲持续时间为20 mu;s。在外部复位的情况下,当NRST引脚为低电平时产生复位。
图 4复位电路简图
1.2.3 软件复位
Cortex-M0应用中断和复位控制寄存器中的SYSRESETREQ位一定要设置,以便强制单片机上的软件复位。有关更多详细信息,请参阅Cortexreg;-M0技术参考手册。
1.2.4 低功耗模式安全复位
为了防止关键应用程序错误地进入低功耗模式,可以使用两个低功耗模式安全复位功能。如果在选项字节中启用,则在下列条件下进行复位:
- 进入待机模式:此类型的复位是通过复位用户选项字节中的nRST_STDBY位来启用。在这种情况下,每当成功执行待机模式输入序列时,单片机将被复位而不是进入待机模式。
- 进入停机模式:此类型的复位是通过复位用户选项字节中的nRST_Stop位来启用。在这种情况下,只要成功执行停止模式输入序列,单片机将被复位而不是进入停机模式。
1.2.5 选项字节加载程序复位
当在闪存寄存器中设置OBL_LAUNCH(位13)时,将执行选项字节加载器复位。这个位启动由软件加载的选项字节。
1.2.6 电源复位
电源复位将除RTC域外的所有寄存器设置为其复位值。当下列事件之一发生时,将执行电源复位。
- 上电/掉电复位(POR/PDR复位)
- 退出待机模式
1.2.7 RTC复位
RTC域复位只影响RTC、LSE和LSI。在下列事件之一发生时,执行RTC复位。
- 软件复位,通过在RTC控制寄存器(RCC_BDCR)中设置BDRST位触发。
- 上电/掉电复位(POR/PDR复位)
2 时钟
可以使用不同的时钟源来驱动系统时钟(SYSCLK):
- HSI 8 MHz RC振荡器时钟(高速内部时钟信号)
- HSE振荡器时钟(高速外部时钟信号)
- PLL时钟
这些单片机还有其他的辅助时钟源:
- 40kHz低速内部RC(LSI RC)用于驱动独立监视程序,以及RTC用于从停机/待机模式自动唤醒。
- 32.768 kHz低速外部晶体(LSE晶体),可选来驱动RTC
- HSI 14MHz RC振荡器(HSI14)专用于模数转换器
每个时钟源在不使用时可以单独打开或关闭,以优化功耗。有关时钟树的说明,请参阅RM0360参考手册。
2.1 高速外部时钟信号(HSE)OSC时钟
高速外部时钟信号可以由下列两个的时钟源产生:
- HSE外部晶体/陶瓷谐振器
- HSE用户外部时钟
谐振器和负载电容器必须尽可能靠近振荡器引脚,以使输出失真和启动稳定时间最小。负载电容值必须根据所选谐振器进行调整。
图 5 HSE/LSE时钟源
外部晶体/陶瓷谐振器(HSE晶体)
4~32MHz的外部振荡器的优点是在主时钟上产生一个非常精确的频率。有关相关硬件配置的详细信息,请参阅数据表的电气特性部分。
时钟控制寄存器(RCC_CR)中的HSERDY标志指示HSE振荡器是否稳定。在启动时,时钟不会被释放,直到硬件设置了这个位。如果在时钟中断寄存器(RCC_CIR)中启用,可以生成一个中断。
利用时钟控制寄存器(RCC_CR)中的HSEON位,可以开关HSE晶体。
外部时钟源(HSE旁路)
在此模式下,必须提供外部时钟源。它的频率可以达到32 MHz。通过在时钟控制寄存器(RCC_CR)中设置HSEBYP和HSEON位来选择此模式。根据频率的不同,占空比约为40-60%的外部时钟信号(矩形波、正弦波或三角波)(请参阅数据表)必须连接OSC输入引脚,而OSC输出引脚可以使用GPIO。见图5。
2.2 LSE时钟
LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它的优点是为实时时钟外设(RTC)提供低功耗、高精度的时钟源,并且可用于时钟/日历或其他计时功能。
LSE晶体由RTC控制寄存器(RCC_BDCR)中的LSEON位打开和关闭。晶体振荡器的驱动强度可以在运行时通过RTC控制寄存器(RCC_BDCR)中的LSEDRV[1:0]位来改变,从而获得最佳的方案,即一方面稳定性强、启动时间短,另一方面功耗低。
通过RTC控制寄存器(RCC_BDCR)中的LSERDY标志判断LSE晶体是否稳定。启动时,LSE晶体输出时钟信号在硬件设置该位之前不会释放。如果在时钟中断寄存器(RCC-CIR)中启用,则可以生成中断。
外部时钟源(LSE旁路)
在此模式下,必须提供外部时钟源。它的频率可达1MHz。通过在RTC控制寄存器(RCC_BDCR)中设置LSEBYP和LSEON位来选择此模式。外部时钟信号(矩形波、正弦波或三角波)必须接入OSC32_IN引脚,而OSC32_OUT引脚可以用作GPIO。参见图5。
2.3 HSI时钟
HSI时钟信号由内部8MHz RC振荡器产生,可以直接作为系统时钟使用,也可以除以2作为PLL输入。HSI RC振荡器的优点是能够提供了一个低成本的时钟源(没有外部组件)。而且,它的启动时间也比HSE晶体振荡器快,但是即使经过校准,其频率也不如外部晶体振荡器或陶瓷谐振器准确。
校准
由于制造工艺的变化,RC振荡器的频率在不同芯片下工作是不同的,因此,可以将HSI时钟信号发送到MCO多路复用器,然后时钟可以被输入到定时器14,从而允许用户校准振荡器。
2.4 LSI时钟
LSI RC作为一个低功耗时钟源,可以在独立监视程序(IWDG)和RTC的停机和待机模式下保持运行。时钟频率约为40kHz(介于30kHz和60kHz之间)。有关更多详细信息,请参阅数据表的电气特性部分。
2.5 ADC时钟
ADC时钟可以是专用的14MHz RC振荡器(HSI14),也可以是PCLK除以2或4。当ADC时钟源于PCLK时,它与PCLK处于相反的相位。14MHz的RC振荡器可以通过软件进行配置,通过ADC接口打开/关闭(“自动关闭模式”)或始终启用。
2.6时钟安全系统(CSS)
时钟安全系统可以通过软件激活。在这种情况下,时钟检测器在HSE振荡器启动延迟后启用,在振荡器停止时禁用。
-
如果在HSE振荡器时钟上检测到故障,则该振荡器将自动禁用。
- 时钟故障事件被发送到TIM1高级控制定时器和TIM15、TIM16和TIM17通用定时器的中断输入。
- 生成一个中断,通知软件有关故障(时钟安全系统中断CSSI),允许MCU执行恢复操作。
- CSSI与Cortexreg;-M0 NMI(非屏蔽中断)异常向量相连接。
- 如果直接或间接使用HSE振荡器作为系统时钟(间接意味着它用作PLL输入时钟,PLL时钟用作系统时钟),检测到的故障将导致系统时钟切换到HSI振荡器并禁用外部HSE振荡器。如果HSE振荡器时钟(分或不分)是故障发生时用作系统时钟的PLL的时钟条目,则PLL也被禁用。
有关详细信息,请参阅STMicroelectronics网站www.st.com上的RM0360参考手册。
3 启动配置
在STM32F030中,可以通过BOOT0 引脚和nBOOT1选项位选择三种不同的启动模式,如表1所示。
表 1启动模式
复位后,BOOT0 引脚和nBOOT1位的值锁定在SYSCLK的第4个上升沿上。用户必须设置nBOOT1和BOOT0以选择所需的启动模式。
从待机模式退出时,BOOT0引脚和nBOOT1位也会重新采样。因此,它们必须在待机模式下保持所需的引导模式配置。启动延迟过后,CPU从地址0x0000 0000获取堆栈顶部的值,然后从启动内存0x0000 0004开始执行代码。
根据所选的启动模式(主闪存、系统内存或SR
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[238148],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。