STM32上应用uCOSII学习笔记(2)
本文全文下载
2009.10.8
14611.pdf STM32F103xx用户手册学习
STM32F103xx系列芯片能够做到Pin to Pin,软件和特性完全兼容。这一特点使我们可以先选择高容量器件作设计开发,量产时再进行Cost down。而且,STM32F103xx与现有的STM32F101xx和STM32F102xx系列也能做到完全兼容。(让你不得不选它来做开发!)
FSMC(Flexible static memory controller)
FSMC有四个片选输出,支持如下的存储器外设:PC卡/CF卡,SRAM,PSRAM,NOR和NAND。
功能简介:
有三个中断输出到NVIC
有写FIFO
程序代码可以从除了NAND Flash和PC卡外设的其它存储器执行
外设的目标主时钟fclk是HCLK/2,当HCLK是72MHz是,fclk是36MHz。
Clocks和启动
在系统启动的时候来选择系统时钟。在CPU时钟处于复位状态时,内部的RC
8MHz振荡时钟作为CPU的缺省时钟。系统可以选择外部的4-16MHz时钟,当发现外部时钟无效时,自动转换为内部RC振荡时钟(还可以产生一个软件的中断)。
Boot modes 启动模式
可以有三种Boot选择:
从用户Flash (User
Flash) Boot;
从系统存储器(system
memory) Boot;
从嵌入的SRAM
(embedded SRAM) Boot;
Boot loader 程序放在系统存储器中,它用来从USART1重新下载Flash
memory。
Power Supply scheme
VDD=2.0~3.6V:为I/O电源和内部Regulator的电源(转换为Core电源)。
VDDA=2.4~3.6V: 为模拟部分的电源,包括ADC,Reset和RC及PLL。
Vbat=1.8~3.6V:后备电池电源输入,为RTC,外部32K晶体及后备寄存器的电源。
器件嵌入了可编程电源检测(PVD),如果VDD/VDDA电源高于或低于Vpvd的阈值,会产生中断信号。
内部的电压整流器LDO有三种工作模式:主工作模式(MR),低功耗模式(LPR)和掉电模式(Power down)。
MR是普通的工作模式;
LPR用于Stop modes下;
掉电模式用于Standby
mode:此时LDO的输出是高阻状态;内核处于掉电模式,零功耗(但是寄存器和SRAM的内容会丢失)。
系统的低功耗模式
Sleep mode
在Sleep mode下,只有CPU是停止的。所有的外设都可以继续工作而且当有中断事件发生时可以唤醒CPU。
Stop mode
在Stop mode下,可以达到在保持SRAM和寄存器内容不丢失的情况下最低的功耗。此模式下,在1.8V电源域的所有时钟都停止了,PLL HSI RC和HSE都处于Disable状态。内部的LDO也可以处于普通或低功耗模式。器件可以由外部的任意EXIT源从Stop mode唤醒。这些EXIT源包括:16个外部中断线,PVD输出,RTC报警中断或USB
唤醒。
Standby mode
Standby模式就是为了达到最低的系统功耗。内部的LDO已经关闭,所以整个1.8V域都没有电源。PLL,HSI RC和HSE晶体振荡电路都已经关闭。进入Standby模式后,SRAM和寄存器的内容都会丢失,除了处于Backup域和Standby电路的寄存器。
外部Reset(NRST Pin),IWDG Reset和WKUP Pin的上升沿或RTC alarm都会使器件退出Standby模式。
RTC和backup寄存器
RTC和backup寄存器可以通过一个开关来选择是有VDD供电还是Vbat供电。Backup寄存器是由42个16bit的寄存器组成,用来84字节的存储用户应用数据。他们不会被系统或电源复位,器件从Standby模式唤醒后这些内容也不会别复位。
其它部分的接口都比较普通,用到再仔细研究。
2009.10.10
关于FSMC_NIORD,
FSMC_NREG, FSMC_NIOWR,FSMC_NIOS16的功能
这些信号都是PC
Card/CF Card的I/O和Attribute Memory读写控制线。具体功能和控制时序和信号说明如下:
FSMC_NREG是PC Card Attribute Memory 访问控制信号。
控制时序如下:
PC Card规范中对Attribute Memory的描述:
PC Card规范中对REG#信号的描述:
FSMC_NIORD, FSMC_NIOWR是PC Card的I/O空间读写控制信号:
控制时序如下:
规范中对这两个信号的描述:
FSMC_NIOS16信号是PC
Card的16bit/8bit 访问模式选择信号。STM32F10xxx的FSMC设计有问题,只能支持访问16bit模式。FSMC_NIOS16要被拉低。
FSMC_CD信号是PC Card的Card Detect 卡插入检测信号。
本文全文下载
用户1316125 2010-4-12 08:19
用户1584993 2009-10-12 14:09