PAGE1
PAGE1
SAMD系列的硬件设计指南
1.引言
在设计基于MicrochipSAMD系列单片机的硬件系统时,了解其基本特性、引脚配置、电源管理、时钟管理、外设接口和布局设计等方面的知识是非常重要的。本节将详细介绍这些内容,帮助您更好地进行硬件设计。
2.基本特性
2.1概述
SAMD系列单片机是Microchip公司推出的一系列基于ARMCortex-M0+内核的低功耗微控制器。这些单片机具有高性能、低功耗和丰富的外设接口,适用于各种嵌入式应用。
2.2内核特性
ARMCortex-M0+内核:32位处理器,最高主频可达48MHz。
存储器:Flash存储器最高可达256KB,SRAM存储器最高可达32KB。
低功耗模式:多种低功耗模式,包括待机模式、深度睡眠模式等。
工作电压:支持1.65V至3.6V的宽范围工作电压。
2.3引脚配置
SAMD系列单片机的引脚配置非常灵活,支持多种引脚复用功能。例如,一个引脚可以同时作为GPIO、UART、SPI、I2C等外设的接口。具体引脚配置需要参考数据手册中的引脚功能表。
3.电源管理
3.1电源引脚
SAMD系列单片机的电源引脚主要包括VDD、VSS、VBAT和AVDD等。其中:
VDD:主要电源输入,通常连接3.3V电源。
VSS:地线,必须与VDD引脚配对使用。
VBAT:备用电源输入,用于在主电源断开时保持RTC等低功耗模块的运行。
AVDD:模拟电源输入,用于供电模拟外设,例如ADC和DAC。
3.2电源滤波
为了确保单片机的稳定运行,电源滤波是非常重要的。建议在VDD和VSS引脚之间添加100nF和10uF的陶瓷电容,这些电容应尽可能靠近芯片放置。
**电源滤波电路示例**
```schematic
VDD+100nFGND
|
+10uFGND
|
+SAMD系列单片机
|
VSS+
3.3电源监控
SAMD系列单片机内置了电源监控功能,可以检测电源电压并在电压过低时触发复位。电源监控功能可以通过配置相应的寄存器来启用。
//启用电源监控
voidenable_power_monitor(void){
//配置电源管理控制寄存器
PMUX-PMUXSEL=PMUX_PMUXSEL_PMON_MASK;//选择电源监控
PMON-PMONC=PMON_PMONC_PMONEN_MASK;//启用电源监控
PMON-PMONL=0x1F;//设置低电压阈值
}
4.时钟管理
4.1时钟源
SAMD系列单片机支持多种时钟源,包括内部RC振荡器、外部晶体振荡器和外部时钟输入。内部RC振荡器提供8MHz的时钟,外部晶体振荡器通常提供32.768kHz或16MHz的时钟。
4.2时钟配置
时钟配置通过SCB(SystemControlBlock)和OSC(OscillatorControl)寄存器进行。以下是一个配置外部16MHz晶体振荡器作为系统时钟的例子。
//配置外部16MHz晶体振荡器
voidconfigure_external_oscillator(void){
//使能外部振荡器
OSC8M-CTRLA=OSC8M_CTRLA_ENABLE_MASK;
while(OSC8M-STATUSOSC8M_STATUS_SYNCBUSY_MASK);//等待同步
//选择外部振荡器作为系统时钟源
SCB-CFG=SCB_CFG_SCSSEL(1);//选择外部振荡器
while(SCB-STATUSSCB_STATUS_SYNCBUSY_MASK);//等待同步
}
4.3时钟分频
时钟分频可以通过配置GCLK(GenericClockController)寄存器来实现。以下是一个将系统时钟分频为4MHz的例子。
//配置通用时钟控制器
voidconfigure_gclk(void){
//使能GCLK模块
GCLK-CTRLA=GCLK_CTRLA_CLKEN_MASK;
while(GCLK-CTRLAGCLK_CTRLA_SYNCBUSY_MASK);//等待同步
//配置GCLK分频
GCLK-GENDIV=GCLK_GENDIV_ID(0)|GCLK_GENDIV_DIV(8);//选择G