完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我目前在PIC32 MZ2048 ECM设备上工作。我想添加一个特性,允许动态地改变CPU频率,以便节省电力。为此,我试图降低驱动这个芯片上的CPU的PCLK7。使用以下设置:-默认MPLABX项目设置-在未分割FRCThe问题上运行的是修改PB7DIV分隔符会导致设备重置。定义MDCLOCK_SYSKEY_UNLOCK_VAL1 0xAA996655定义MDCLOCK_SYSKEY_UNLOCK_VAL2 0x556699AA定义MDCLOCK_SYSKEY_LOCK_VAL 0x33333333int main(void){SYSKEY=MDCLOCK_SYSKEY_UNLOCK_VAL1;SYSKEY=MDCLOCK_SYSKEY_UNLOCK_VAL2;(!(PB7DIV和;McClinux,PBXDIVIB PBDVDRY);/ /下面的线路导致复位,PC地址返回到0xBFC000。NB:如果在这行之前添加一段时间(1),CPU不会复位,我仍然停留在循环中,所以它看起来不是一个稳定的定时问题……PB7DIV=(Pb7DIV&AMP.MdClinux)PBXDIVIB PBDIVIAL掩码(UIT32×T)127;/ /下面的代码永远不会到达()!SYSKEY=MDCLOCK_SYSKEY_SYSKEY_SYSKEY_LOCK_LOCK_VAL;}以下是配置位://DEVCFG3//USERID=未设置这里有配置位://DEVCFCFCFG3//USERID=未设置#prCFCFCFG配置FMIIEN=OFF//以太网RMII/MII启用/以太网RMII/MII启用(RMII启用)\\\\\\\\\\\\\马赛克g PGL1WAY=OFF//权限组锁定单向配置(允许多重配置)#pragma配置PMDL1WAY=OFF//外围模块禁用配置(允许多重配置)#pragma配置IOL1WAY=OFF//外围引脚选择配置(允许多重配置)#pragma配置FUSBIDIO=ON//USB USB USBID选择(由USB模块控制)//USB USB USB USBID选择(由USB模块控制)//DEVCFG2\\\\\配置USB USB USB USB USB USB USB USB USBID选择(由USB模块控制)//DEVCFCFCFG2G2G2\\\\\\\\\\\\\\\C.输入到系统PLL)#pragma配置FPLLMULT=MUL_66//系统PLL乘法器(PLL乘以66)#pragma配置FPLLODIV=DIV_8//系统PLL输出时钟分频器(8x分频器)#pragma配置UPLLFSEL=FREQ_24MHZ//USB PLL输入频率选择(USB PLL输入是24MHz)#pragma配置UPLLEN=OFF//USB PLL启用(禁用USB PLL)//DEVCFG1#pragma配置FNOSC=FRCDIV//振荡器选择位(快速RC Osc w/Div-by-N(FRCDIV))#pragma配置DMtiNTV=WIN_127_128//DMT计数窗口间隔(窗口/间隔值为127/128计数器值)#pragma配置FSOSCEN=OFF//次级振荡器启用(禁用SOSC)#pragma配置IESO=OFF//内部/外部切换(禁用)#pragma配置POSCMOD=EC//主振荡器配置(外部时钟模式)#pragma配置OSCIOFNC=OFF//CLKO输出信号激活OSCO管脚(禁用)#pragma配置FCKSM=CSECME//时钟切换和监视器选择(启用时钟开关,启用FSCM)pragma配置WDTPS=PS1048576//看门狗定时器后置标定器(1:1048576)pragma配置WDTSPGM=STOP//看门狗定时器在Flash编程期间的停止(在Flash编程期间的WDT停止)\pragma配置WINDIS=正常//看门狗定时器窗口模式(看门狗定时器处于非窗口模式)pragma配置FWDTEN=OFF//看门狗定时器启用(WDT禁用)pragma配置FWDTWINSZ=WINSZ_25//看门狗定时器窗口大小(窗口大小为25%)pragma配置DMTCNT=DMT31//Deadman定时器计数选择(2^31)(214748483648))#pragma配置FDMTEN=OFF//Dead人定时器启用(死人定时器被禁用)(OFF///Dead人定时器被禁用)#pragma配置FDMTMTEN=OFF////Dea4747474848484848484848484848484848))\\#pragma配置FDMTEMFDMTEN FDMTEN=OFF////死人定时器定时器定时器启启启启启启启启用(死人定时器(死人定时器被禁用)////DeaCFCFCFCFCFCFCFCFCFG定时器定时器被禁用)////选择(在PGEC1/PGED1上通信)#pragma config TRCEN=OFF//Trace Enable(启用CPU中的跟踪特性)#pragma config BOOTISA=MIPS32//Boot ISA选择(引导代码和例外代码是MIPS32)#pragma config FECCCON=OFF_UNLOCKED//动态Flash ECC配置(ECC和动态)ic ECC被禁用(ECCCON位可写)#pragma配置FSLEEP=VREGS//闪存睡眠模式(当设备处于睡眠模式时闪存被断电)#pragma配置DBGPER=ALLOW_PG2//调试模式CPU访问权限(允许CPU访问权限组2权限区域)#pragma配置EJTAGBEN=NORMAL//EJTAG引导(正常EJTAG功能)//DEVCP0#pragma配置CP=OFF//代码保护(保护禁用)//SEQ0//DEVADC1//DEVADC2//DEVADC3//DEVADC4//DEVADC5请注意:-对于其他PBCLKx,我没有这个问题,我可以改变它们的频率-对于MPLABX和谐v1.6.2,当从SYS_CLK_Init/*Enable.pheralBus7*/PLIB_OSC_PBClockDivisorSet(OSC_ID_0,6,128);PLIB_OSC_PBOutputClockEnable(OSC_ID_0,6);我检查了错误表,有大量与操作系统相关的错误不过,我只使用内部FRC。但我觉得有点奇怪,与PBCLK7有关:这个时钟有一个启用位。因此,如果我们禁用它,CPU就会失去它的时钟,然后我们就不能再执行代码了。这就像自杀倾向…我不确定我们是否能以这种方式改变CPU频率……有人通过PB7DIV设置来降低CPU吗?非常感谢你的帮助,最好的问候,西蒙
|
|
相关推荐
3个回答
|
|
嗨,你在用和声吗?Harmony包括MHC中的时钟初始化器和配置位初始化器。此外,您应该迁移到PIC32MZ2048EFM144:它与PIC32MZ2048ECM144是pin to pin兼容的,并且大多数bug已经修复;=)一般最好不要直接使用CPU频率but用于使用库API为您完成这项工作。实际上,系统服务库允许您对PB时钟进行读写。Harmony文档显示了以下API:SYS_CLK_.pheralFrequencySetFunction Regards
|
|
|
|
嗨,RISC,谢谢你的帮助。实际上我首先试着编写我自己的程序,因为我的一些同事对Harmony和代码生成器不是很满意……但是当我遇到这个问题时,我用Harmony创建了一个基本项目来检查我的代码是否有效。他唯一改变了的是在时钟树GUI内从1到128的PBLK7预分频器。我没有添加我的任何代码,只编译了生成的代码,但是问题也出现了,我在SYS_CLK_Initialize中循环了初始化PB7DIV的函数,在程序的开头……似乎这个芯片不喜欢在它的PB7DIV寄存器中被挠痒……这个实验让我觉得它更像是一个硬件问题而不是软件问题,但是我不能100%确定,我想知道其他人在使用这个芯片上使用Harmony时是否有问题……所以您迁移到PIC32MZ2048EFM144的想法可能是最好的选择,我会检查一下那个芯片再次谢谢你,西蒙
|
|
|
|
我有一个去改变PBCK7 ONPIC32 MZ2048 EFM064(24MHz Ext的OSC,96MHz的SysCK,PROCEN=0x31)。它在96mhz、48mhz和24mhz之间进行精细切换。DEVCFG3: $1FC0FFC0:0x02000000DEVCFG2: $1FC0FFC4:0xC0022F12DEVCFG1: $1FC0FFC8:0x5F7439DEVCFG0: $1FC0FFCC:0x4000777BI,刚刚称为解锁序列和设置PB7DIV。
|
|
|
|
只有小组成员才能发言,加入小组>>
4825 浏览 9 评论
1831 浏览 8 评论
1749 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
2957 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2061 浏览 5 评论
461浏览 1评论
1111浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
364浏览 0评论
264浏览 0评论
LAN9252使用SQI通信,进行数字复位后读BYTE_TEST异常
1800浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-27 01:00 , Processed in 1.087935 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号