查看: 2942|回复: 9

[求助] kl16的串口波特率误差达到20%,什么原因?

[复制链接]

该用户从未签到

4

主题

11

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
发表于 2014-11-4 18:34:40 | 显示全部楼层 |阅读模式
uint32 t=5000;
SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;
      UART0_C2 &= ~(UART_C2_TE_MASK|UART_C2_RE_MASK );
       UART0_C1 = 0;
      t/=16;
       UART0_BDH=(t&(0x1f<<8))>>8;
       UART0_BDL=t&0xff;
       UART0_C2 |= (UART_C2_TE_MASK  | UART_C2_RE_MASK );

芯片实测CLK_OUT引脚是bus输出,24.08M
然后串口0按照如上配置
然后循环输出:0xA5,然后用示波器测试,低电平最小持续时间为122us,按道理应该是48000000/5000=9600,1/9600=104us才对?!!
究竟是我的程序问题还是飞思卡尔芯片UART模块硬件精度太差?

我知道答案 目前已有9人回答
回复

使用道具 举报

该用户从未签到

4

主题

11

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
 楼主| 发表于 2014-11-4 19:00:07 | 显示全部楼层
时钟源是MCGFLLCLK
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-5 10:17:33 | 显示全部楼层
    本帖最后由 FSL_TICS_Robin 于 2014-11-5 17:45 编辑
    thegu 发表于 2014-11-4 19:00
    时钟源是MCGFLLCLK

    楼主你好
    请问你的FLL时钟源使用的是内部RC还是外部晶振?
    如果是外部晶振能否告知频率?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-6 11:47:58 | 显示全部楼层
    楼主你好
    由于你暂时没有提供更多的信息,所以先以[url=https://www.freescale.co
    m/zh-Hans/webapp/sps/site/homepage.jsp?code=BEAN_STORE_MAIN]Processor Expert软件[/url]为例给你介绍一下uart波特率的时钟分频。
    如果你以前使用过PE软件,那么应该熟悉下图界面。从下图界面就能很清晰地看出uart的波特率是从哪个时钟源经过如何倍频、分频最终获得了你所需的波特率。
    UART Baud rate KL16.jpg

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2014-11-7 09:14:49 | 显示全部楼层
    采用的内部32768HZ倍频的,考虑到分频后会造成误差,所以倍频后没有分频,直接用的48M的,PE没装,直接操作的寄存器
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-7 09:24:33 | 显示全部楼层
    thegu 发表于 2014-11-7 09:14
    采用的内部32768HZ倍频的,考虑到分频后会造成误差,所以倍频后没有分频,直接用的48M的,PE没装,直接操作 ...

    楼主你好
    下次回帖建议点击我回复的那个楼层,这样系统才会提醒我你已经回复我了,我才能及时跟进这个问题。

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-7 10:02:03 | 显示全部楼层
    thegu 发表于 2014-11-7 09:14
    采用的内部32768HZ倍频的,考虑到分频后会造成误差,所以倍频后没有分频,直接用的48M的,PE没装,直接操作 ...

    楼主你好
    按照你说的使用内部32.768KHz生成了47.972MHz的MCGFLLCLK时钟,经一系列分频之后能获得9602的波特率。
    UART Baud rate KL16 32.768.jpg

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-7 10:12:54 | 显示全部楼层
    thegu 发表于 2014-11-7 09:14
    采用的内部32768HZ倍频的,考虑到分频后会造成误差,所以倍频后没有分频,直接用的48M的,PE没装,直接操作 ...

    请问你现在UART0_BDH的SBR以及UART0_BDL的SBR等于多少?
    我这边用那个PE生成的程序:
    UART0_BDH的SBR=0x04
    UART0_BDL的SBR=0xe1

    示波器实测波特率在9615KHZ左右


    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-7 10:23:09 | 显示全部楼层
    FSL_TICS_Robin 发表于 2014-11-7 10:12
    请问你现在UART0_BDH的SBR以及UART0_BDL的SBR等于多少?
    我这边用那个PE生成的程序:
    UART0_BDH的SBR=0x04 ...

    我在FRDM-KL26Z开发板上的实测波形,串口发送0xaa:
    KL26 uart0 IRC 9600.jpg

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    11

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2015-1-28 08:56:50 | 显示全部楼层
    FSL_TICS_Robin 发表于 2014-11-7 10:23
    我在FRDM-KL26Z开发板上的实测波形,串口发送0xaa:

    你好,感谢答复,是寄存器设置错了,实际波特率误差在许可范围内。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 17:09 , Processed in 0.106129 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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