完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
AT91SAM9260的Power Management Controller(PMC)寄存器
本文章参考ATMEL官方的《AT91SAM9260数据手册》 1.寄存器映射: [tr]地址名字寄存器可进行操作复位后的值[/tr]
2.寄存器的详细介绍 2.1 PMC_SCER (系统时钟启用寄存器) UHP[6]:USB主机端口时钟使能 0:无效。 1:启用USB主机端口的12和48 MHz时钟。 •UDP[7]:USB设备端口时钟使能 0:无效。 1:启用USB设备端口的48 MHz时钟。 •PCKx:可编程时钟x输出启用 0:无效。 1:启用相应的可编程时钟输出。 其中:PCK1:[9] PCK0:[8] 2.2 PMC_SCDR(系统时钟禁用寄存器) •PCK[0]:处理器时钟禁用 0:无效。 1:禁用处理器时钟。这用于在空闲模式下进入处理器。 •UHP[6]:USB主机端口时钟禁用 0:无效。 1:禁用USB主机端口的12和48 MHz时钟。 •UDP[7]:USB设备端口时钟禁用 0:无效。 1:禁用USB设备端口的48 MHz时钟。 •PCKx:可编程时钟x输出禁用 0:无效。 1:禁用相应的可编程时钟输出。 其中:PCK1:[9] PCK0:[8] 2.3 PMC_SCSR(系统时钟状态寄存器) •PCK[0]:处理器时钟状态 0:处理器时钟已禁用。 1:处理器时钟已启用。 •UHP[6]:USB主机端口时钟状态 0:USB主机端口的12和48 MHz时钟(UHPCK)已禁用。 1:USB主机端口的12和48 MHz时钟(UHPCK)已启用。 •UDP[7]:USB设备端口时钟状态 0:USB设备端口的48 MHz时钟(UDPCK)已禁用。 1:USB设备端口的48 MHz时钟(UDPCK)已启用。 •PCKx:可编程时钟x输出状态 0:相应的可编程时钟输出被禁用。 1:启用相应的可编程时钟输出。 其中:PCK1:[9] PCK0:[8]。 2.4 PMC_PCER(外设时钟使能寄存器) •PIDx:外设x时钟启用 0:无效。 1:启用相应的外围时钟。 2.5 PMC_PCDR(外设时钟禁用寄存器) •PIDx:外设x时钟禁用 0:无效。 1:启用相应的外围时钟。 2.6 PMC_PCSR(外设时钟状态寄存器) •PIDx:外设x时钟状态 0:相应的外围时钟已禁用。 1:相应的外围时钟已启用。 2.7 CKGR_MOR(时钟发生器主振荡器寄存器) •MOSCEN[0]:主振荡器使能 (XIN和XOUT之间必须连接一个晶体) 0:主振荡器被禁用。 1:主振荡器已启用。此时必须将OSCBYPASS设置为0。 当设置MOSCEN时,一旦达到主振荡器启动时间,就会设置MOSCS标志。 • OSCBYPASS[1]:振荡器旁路 0:无影响。 1:主振荡器被旁路。MOSCEN必须设置为0。XIN上必须连接外部时钟。 当设置OSCPAYPASS时,PMC_SR中的MOSCS标志将自动设置。 清除MOSCEN和OSCCBYPASS位允许重置MOSCS标志。 •OSCOUNT[8-15]:主振荡器启动时间 指定主振荡器启动时间的慢时钟周期数乘以8。 2.8 CKGR_MCFR(时钟发生器主时钟频率寄存器) •MAINF[0-15]:主时钟频率 给出16个慢时钟周期内的主时钟周期数。 •MAINRDY[16]:主时钟就绪 0:MAINF值无效或主振荡器被禁用。 1:主振荡器先前已启用,且MAINTF值可用。 2.9 CKGR_PLLAR(时钟发生器_锁相环A寄存器) 在使用PMC之前,应检查PLL A输入频率和倍增系数的可能限制。 警告:编程CKGR_PLLAR时,位29必须始终设置为1。 • DIVA[0-7]:分频器 A 0:分频器输出为0 。 1:不使用分频器。 2–255:分频器输出为主时钟除以该数值。 •PLLACOUNT[8-13]:PLL A计数器 指定写入CKGR_PLLAR后,在PMC_SR中设置LOCKA位之前的慢时钟周期数。 •OUTA[14-15]:PLL时钟频率范围 为优化时钟性能,必须按照第39.6.7节“PLL特性”的规定对该字段进行编程。如下图。 •MULA[16-26]:PLL A乘法器 0:PLL A停用。 1-2047:PLL A时钟频率是PLL A输入频率乘以(MULA+1)。 2.10 CKGR_PLLBR(时钟发生器_锁相环B寄存器) 在使用PMC之前,应检查PLL B输入频率和倍增系数的可能限制。 • DIVB[0-7]:分频器 B 0:分频器输出为0 。 1:不使用分频器。 2–255:分频器输出为主时钟除以该数值。 •PLLBCOUNT[8-13]:PLL B计数器 指定写入CKGR_PLLAR后,在PMC_SR中设置LOCKA位之前的慢时钟周期数。 •OUTB[14-15]:PLL时钟频率范围 为优化时钟性能,必须按照第39.6.7节“PLL特性”的规定对该字段进行编程。如下图。 •MULB[16-26]:PLL B乘法器 0:PLL B停用。 1-2047:PLL B时钟频率是PLL A输入频率乘以(MULB+1)。 •USBDIV[28-29]:用于USB时钟的分频器 0 0:分频器输出为PLL B时钟输出。 0 1:分频器输出是PLL B时钟输出除以2。 1 0:分频器输出是PLL B时钟输出除以4。 1 1:保留。 2.11 PMC_MCKR(主时钟寄存器) •CSS[0-1]:主时钟选择 0 0:慢时钟。 0 1:主时钟。 1 0: PLL A时钟。 1 1: PLL B时钟。 •PRES[2-4]:处理器时钟预分频器 0 0 0:选定时钟 。 0 0 1:选定时钟除以2 。 0 1 0:选定时钟除以4 。 0 1 1:选定时钟除以8 。 1 0 0:选定时钟除以16 。 1 0 1:选定时钟除以32 。 1 0 0:选定时钟除以64 。 1 1 1:保留。 •MDIV[8-9]:主时钟分频 0 0:主时钟是处理器时钟。 0 1:主时钟是处理器时钟除以2。 1 0:主时钟是处理器时钟除以4。 1 1:保留。 2.12 PMC_PCKx(可编程时钟寄存器) •CSS[0-1]:主时钟选择 0 0:慢时钟。 0 1:主时钟。 1 0: PLL A时钟。 1 1: PLL B时钟。 •PRES[2-4]:处理器时钟预分频器 0 0 0:选定时钟 。 0 0 1:选定时钟除以2 。 0 1 0:选定时钟除以4 。 0 1 1:选定时钟除以8 。 1 0 0:选定时钟除以16 。 1 0 1:选定时钟除以32 。 1 0 0:选定时钟除以64 。 1 1 1:保留。 2.13 PMC_IER(中断使能寄存器) •MOSCS[0]:主振荡器状态中断启用 0:无效。 1:启用中断。 •LOCKA[1]:PLL A锁定中断启用 0:无效。 1:启用中断。 •LOCKB[2]:PLL B锁定中断启用 0:无效。 1:启用中断。 •MCKRDY[3]:主时钟就绪中断启用 0:无效。 1:启用中断。 •PCKRDY0[8]:可编程时钟就绪0中断启用 0:无效。 1:启用中断。 •PCKRDY1[9]:可编程时钟就绪1中断启用 0:无效。 1:启用中断。 2.14 PMC_IDR(中断禁用寄存器) •MOSCS[0]:主振荡器状态中断禁用 0:无效。 1:禁用中断。 •LOCKA[1]:PLL A锁定中断禁用 0:无效。 1:禁用中断。 •LOCKB[2]:PLL B锁定中断禁用 0:无效。 1:禁用中断。 •MCKRDY[3]:主时钟就绪中断禁用 0:无效。 1:禁用中断。 •PCKRDY0[8]:可编程时钟就绪0中断禁用 0:无效。 1:禁用中断。 •PCKRDY1[9]:可编程时钟就绪1中断禁用 0:无效。 1:禁用中断。 2.15 PMC_SR(状态寄存器) •MOSCS[0]:MOSCS标志状态 0:主振荡器不稳定。 1:主振荡器稳定。 •LOCKA[1]:PLL A锁定状态 0:PLL A未锁定 1:PLL A锁定。 •LOCKB[2]:PLL B锁定状态 0:PLL B未锁定。 1:PLL B已锁定。 •MCKRDY[3]:主时钟状态 0:主时钟未就绪。 1:主时钟已就绪。 •OSC_SEL[7]:慢时钟振荡器选择 0:内部慢时钟RC振荡器。 1:外部慢时钟32 kHz振荡器。 •PCKRDY0[8]:可编程时钟0就绪状态 0:可编程时钟0未就绪。 1:可编程时钟0已就绪。 •PCKRDY1[9]:可编程时钟1就绪状态 0:可编程时钟1未就绪。 1:可编程时钟1已就绪。 2.16 PMC_IMR(中断屏蔽寄存器) •MOSCS[0]:主振荡器状态中断屏蔽 0:中断已启用。 1:中断被禁用。 •LOCKA[1]:PLL A锁定中断屏蔽 0:中断已启用。 1:中断被禁用。 •LOCKB[2]:PLL B锁定中断屏蔽 0:中断已启用。 1:中断被禁用。 •MCKRDY[3]:主时钟就绪中断屏蔽 0:中断已启用。 1:中断被禁用。 •PCKRDY0[8]:可编程时钟就绪0中断屏蔽 0:中断已启用。 1:中断被禁用。 •PCKRDY1[9]:可编程时钟就绪1中断屏蔽 0:中断已启用。 1:中断被禁用。 2.17 PMC_PLLICPR (PLL Charge Pump Current Register) •ICPPLLA[0]:必须设置为1。 •ICPPLLB[16]:必须设置为1。 |
||||
|
||||
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2951 浏览 16 评论
3455 浏览 1 评论
8984 浏览 16 评论
4045 浏览 18 评论
1097浏览 3评论
567浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
564浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2299浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1855浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 19:21 , Processed in 0.970885 second(s), Total 46, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号