查看: 5403|回复: 17

▊▊▊MC9S08AC16 晶振问题▋▋▋

[复制链接]

该用户从未签到

11

主题

54

帖子

0

注册会员

Rank: 2

积分
173
最后登录
1970-1-1
发表于 2011-4-11 15:56:12 | 显示全部楼层 |阅读模式
 请教版主及各位高人:
 
            MC9S08AC16的芯片,
   使用外部32.768K 晶振使用PLL不起振......我已经用PE生成的工程,使用FULL CHIP 运行也是到    while(!ICGS1_LOCK) {  }   这里停了!
 
    已经测试:
外部32.768,采用旁路PLL,可以起振,程序可以运行到MAIN();
采用外部:2-8M 晶振,使用PLL,或者旁路PLL,均可以正常运行到MAIN();
 
现在我要使用:
外部32.768K的。。。使用PLL。。。怎么办? 大家 可以用PE直接生成一个项目,能运行到Main()就可以了。。麻烦各位指导下。。需要怎么设置。。
 
 

Project.rar

149.52 KB, 下载次数: 9, 下载积分: 威望 1

回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-4-11 16:23:13 | 显示全部楼层

    RE:▊▊▊MC9S08AC16 晶振问题▋▋▋

    系统时钟配置错误。你应该选择正确的系统时钟,不要超出范围。而且配置的时候,对应的参数也要选择正确。你把你配置的代码发出来我看看。
    该会员没有填写今日想说内容.

    该用户从未签到

    11

    主题

    54

    帖子

    0

    注册会员

    Rank: 2

    积分
    173
    最后登录
    1970-1-1
     楼主| 发表于 2011-4-11 16:36:48 | 显示全部楼层

    回复:▊▊▊MC9S08AC16 晶振问题▋▋▋

    回复第 2 楼 安 于2011-04-11 08:23:13发表:
    系统时钟配置错误。你应该选择正确的系统时钟,不要超出范围。而且配置的时候,对应的参数也要选择正确。你把你配置的代码发出来我看看。 

    我也想是配置错误!   配置的代码是 用PE 生成的!你也可以自己用PE生成一个看看。
    我生成是这样的:
    void _EntryPoint(void)
    {
      /* ### MC9S08AC16_32 "Cpu" init code ... */
      /*  PE initialization code after reset */
      /* Common initialization of the write once registers */
      /* SOPT: COPE=0,COPT=1,STOPE=1,??=1,??=0,??=0,??=1,??=1 */
      setReg8(SOPT, 0x73);                 
      /* SPMSC1: LVDF=0,LVDACK=0,LVDIE=0,LVDRE=1,LVDSE=1,LVDE=1,??=0,BGBE=0 */
      setReg8(SPMSC1, 0x1C);               
      /* SPMSC2: LVWF=0,LVWACK=0,LVDV=0,LVWV=0,PPDF=0,PPDACK=0,??=0,PPDC=0 */
      setReg8(SPMSC2, 0x00);               
      /* SMCLK: MPE=0,MCSEL=0 */
      clrReg8Bits(SMCLK, 0x17);            
      /*  System clock initialization */
      /* ICGC1: HGO=0,RANGE=0,REFS=1,CLKS1=1,CLKS0=1,OSCSTEN=1,LOCD=0,??=0 */
      setReg8(ICGC1, 0x3C);                
      /* ICGC2: LOLRE=0,MFD2=0,MFD1=0,MFD0=0,LOCRE=0,RFD2=0,RFD1=1,RFD0=0 */
      setReg8(ICGC2, 0x02);   
                  
      if (*(unsigned char*)0xFFBE != 0xFF) { /* Test if the device trim value is stored on the specified address */
        ICGTRM = *(unsigned char*)0xFFBE;  /* Initialize ICGTRM register from a non volatile memory */
      }
      while(!ICGS1_LOCK) {                 /* Wait */
      }
      /*** End of PE initialization code after reset ***/
      __asm   jmp _Startup ;               /* Jump to C startup code */
    }
    我自己测试的时候发现:只要ICGC1_RANGE=0。好像就不行、

    该用户从未签到

    11

    主题

    54

    帖子

    0

    注册会员

    Rank: 2

    积分
    173
    最后登录
    1970-1-1
     楼主| 发表于 2011-4-11 19:43:55 | 显示全部楼层

    RE:▊▊▊MC9S08AC16 晶振问题▋▋▋

    没人知道麽,还是都不愿试下。。自己顶一个吧。
    安,帮我看看吧,搞好久了,原来一直用内部晶振,这次因为要用到RTI,想精确1秒,没办法。。
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-4-11 21:10:12 | 显示全部楼层

    RE:▊▊▊MC9S08AC16 晶振问题▋▋▋

    如果断开仿真器你不能执行,说明你的系统时钟配置是错误的。
    该会员没有填写今日想说内容.
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-4-11 21:15:42 | 显示全部楼层

    RE:▊▊▊MC9S08AC16 晶振问题▋▋▋

    我看命令窗口显示你配置的时钟总线频率超出了范围。所以才不能运行起来。
    该会员没有填写今日想说内容.
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-4-11 21:25:45 | 显示全部楼层

    回复:▊▊▊MC9S08AC16 晶振问题▋▋▋

    你按照我下面的截图配置,命令窗口没有错误的提示。红色框内的参数是在前面输入0,按回车自己计算出来的。这个值才是正确的。要注意其他的配置,因为你选用的是32.768K,所以不能配置FLL。我这没有你这个芯片,所以只能模拟一下程序。是没有问题的。
    1.jpg
    该会员没有填写今日想说内容.

    该用户从未签到

    11

    主题

    54

    帖子

    0

    注册会员

    Rank: 2

    积分
    173
    最后登录
    1970-1-1
     楼主| 发表于 2011-4-11 21:32:43 | 显示全部楼层

    回复:▊▊▊MC9S08AC16 晶振问题▋▋▋

    回复第 6 楼 安 于2011-04-11 13:15:42发表:
    我看命令窗口显示你配置的时钟总线频率超出了范围。所以才不能运行起来。 

    谢谢安~~
       我用PE生成的时候,我附近发的那个总线频率是随便填的,总线频率在20M以内就可以了吧?生成的时候PE也没有报错。
     
    我频率设置只要求5M左右就可以了。我现在用外部32K的,硬件PLL始终不能锁定,我用BDM看也是停在了PLL锁定的位置。跟我用full chip仿真时DEBUG不运行是一样的。正常的可以起振的,我只要DEBUG都会直接跳到main停下的。
      1123123.jpg
    我实际想要的是这样的,总线4.8M.用32.768K来做。
    你是说外部32.768K不可以使用FLL吗?
  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2011-4-11 22:40:41 | 显示全部楼层

    RE:▊▊▊MC9S08AC16 晶振问题▋▋▋

    Frequency-locked loop (FLL) generates 8 MHz to 40 MHz (for bus rates up to 20 MHz)
    — Uses external or internal clock as reference frequency
    手册129也说明。也就是说他只能使用内部时钟和外部时钟。而不能使用crystal振荡电路。
    该会员没有填写今日想说内容.

    该用户从未签到

    16

    主题

    199

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    443
    最后登录
    2019-12-24
    发表于 2011-4-11 22:46:10 | 显示全部楼层

    RE:▊▊▊MC9S08AC16 晶振问题▋▋▋

    你的RF和RS电阻怎样配置的,你说明一下。
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-3 01:00 , Processed in 0.107598 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表