搜索
bottom↓
回复: 25

AT32F403A,主频调到168M,串口无法工作

[复制链接]

出0入0汤圆

发表于 2023-8-16 03:24:46 | 显示全部楼层 |阅读模式
直接用的STM32F103的程序,去调了主频,并把APB2做了2分频,APB1做了4分频。debug仿真看到各总线主频正确。

晶振用的12M,

当12倍频到144M,USART2还是正常的,

当13倍频到156M,USART2开始有一些异常。

当14倍频到168M,USART2彻底失灵。

之前不调APB2 APB1的分频,也是这个情况。

出0入0汤圆

 楼主| 发表于 2023-8-16 03:49:38 | 显示全部楼层
144M下,I2C写入eeprom异常。

出0入0汤圆

 楼主| 发表于 2023-8-16 03:53:03 | 显示全部楼层
主频降回72M。一切指标都正常。

看来可能是STM32F103的库,不支持它超频。

出0入300汤圆

发表于 2023-8-16 07:42:04 | 显示全部楼层
我在144M下,24C02,24C256能读写正常,要注意eeprom有个5ms的时间。由于我现在加上了备份电池,决定不用eeprom了,太慢了

出0入8汤圆

发表于 2023-8-16 08:20:31 | 显示全部楼层
是不是flash的延迟周期不对?

出20入186汤圆

发表于 2023-8-16 08:44:00 | 显示全部楼层
是不是串口分频系数是16位的,结果分频系数计算超过了16位没有处理?

出0入0汤圆

 楼主| 发表于 2023-8-16 11:35:35 | 显示全部楼层
ibmx311 发表于 2023-8-16 07:42
我在144M下,24C02,24C256能读写正常,要注意eeprom有个5ms的时间。由于我现在加上了备份电池,决定不用ee ...
(引用自4楼)

我确实忘记改systick了。

出0入0汤圆

 楼主| 发表于 2023-8-16 11:41:38 | 显示全部楼层
yuyu87 发表于 2023-8-16 08:44
是不是串口分频系数是16位的,结果分频系数计算超过了16位没有处理?
(引用自6楼)

USART2 串口里面只针对APB1的时钟进行处理。
APB1时钟,我都降到48M了。

而且最先APB1时钟跑的144M,它也能工作,说明没溢出。

出0入0汤圆

 楼主| 发表于 2023-8-16 13:50:45 | 显示全部楼层
ibmx311 发表于 2023-8-16 07:42
我在144M下,24C02,24C256能读写正常,要注意eeprom有个5ms的时间。由于我现在加上了备份电池,决定不用ee ...
(引用自4楼)

I2C写EEPROM , 改了systick后,正常了。

出0入17汤圆

发表于 2023-8-16 14:03:33 来自手机 | 显示全部楼层
写个eeprom为什么还要用systick?写完之后polling不就得了?还省时间,并且能保证不同写速度的eeprom的兼容性

出0入0汤圆

发表于 2023-8-16 14:32:24 | 显示全部楼层
用原厂的库函数没有这些问题,就是你程序改动的地方就比较多

出0入0汤圆

 楼主| 发表于 2023-8-16 16:05:37 | 显示全部楼层
我用的晶振是12M,然后到168M是14倍频。

偶然发现,串口波特率原本应该是460800,然后我写成了500k后,居然能被正确识别。然后我就怀疑是不是时钟并没有到168M

用示波器测量PWM,168M应该是21kHz,实际测量数值是18.8kHz,算出来实际运行的主频是151M左右。

出0入0汤圆

 楼主| 发表于 2023-8-17 00:02:03 | 显示全部楼层
看上去像是被锁在了 12.5倍频,  12*12.5=150MHz

出0入0汤圆

 楼主| 发表于 2023-8-17 01:52:17 | 显示全部楼层
感觉可能是13倍频之后的设置是无效的。

下单买了16M晶振,到时候换上去做11倍频到176M看看能不能工作。

出0入0汤圆

 楼主| 发表于 2023-8-17 01:58:01 | 显示全部楼层
ibmx311 发表于 2023-8-16 07:42
我在144M下,24C02,24C256能读写正常,要注意eeprom有个5ms的时间。由于我现在加上了备份电池,决定不用ee ...
(引用自4楼)

你也是用的12M晶振吗?

是不是下一个倍频就不工作了?

出0入300汤圆

发表于 2023-8-17 02:36:32 来自手机 | 显示全部楼层
sy8501 发表于 2023-8-17 01:58
你也是用的12M晶振吗?

是不是下一个倍频就不工作了?

(引用自15楼)

我用的是外部振好的16兆

出0入0汤圆

 楼主| 发表于 2023-8-17 05:19:29 | 显示全部楼层
ibmx311 发表于 2023-8-17 02:36
我用的是外部振好的16兆
(引用自16楼)

后天16M晶振到了,我试试给它11倍频,看看能不能正常工作,还会不会锁死在150M

出10入0汤圆

发表于 2023-8-17 07:40:13 来自手机 | 显示全部楼层
记得不能只改倍频,高了还要加延时。雅特力有个自己的时钟配置工具,生成代码可以对比下。

出0入0汤圆

发表于 2023-8-17 21:34:50 | 显示全部楼层
/**
  * @brief  system clock config program
  * @note   the system clock is configured as follow:
  *         - system clock        = hick / 12 * pll_mult
  *         - system clock source = pll (hick)
  *         - sclk                = 240000000
  *         - ahbdiv              = 1
  *         - ahbclk              = 240000000
  *         - apb1div             = 2
  *         - apb1clk             = 120000000
  *         - apb2div             = 2
  *         - apb2clk             = 120000000
  *         - pll_mult            = 60
  *         - pll_range           = GT72MHZ (greater than 72 mhz)
  * @param  none
  * @retval none
我用片内时钟弄到240M,485也正常工作啊

出0入0汤圆

 楼主| 发表于 2023-8-17 23:55:45 | 显示全部楼层
ysu_er 发表于 2023-8-17 21:34
/**
  * @brief  system clock config program
  * @note   the system clock is configured as follow:
(引用自19楼)

AT自己的库是可以的。

F103库,锁死12.5倍频了。

出0入0汤圆

 楼主| 发表于 2023-8-18 13:24:01 | 显示全部楼层
16M晶振已上,没卵用,依旧锁死在150MHz 上不去。

出0入0汤圆

 楼主| 发表于 2023-8-18 13:46:30 | 显示全部楼层
又试了一下,24M 2分频后 再倍频,没用。
还是150MHz上不去了

出0入0汤圆

发表于 2023-8-18 16:46:01 | 显示全部楼层
sy8501 发表于 2023-8-17 23:55
AT自己的库是可以的。

F103库,锁死12.5倍频了。
(引用自20楼)

AT 自己的

出0入300汤圆

发表于 2023-8-19 09:37:54 来自手机 | 显示全部楼层
你在144上干活不行吗,我一直都在144上干活,啥都没有动用103的库

出0入300汤圆

发表于 2023-8-19 09:45:17 来自手机 | 显示全部楼层
其实单片机的速度除非决定性的提高,差一点没多少意义。我做一个电压表,总想提高积分系统的时钟,103做计数器只能几百k,如果六位半就算是1兆,刷新一次1000000的读数也要1秒,后来折腾编译极慢的h7,也没好到哪里去。最后在前端插入硬件计数器,现在103也能干了

出0入0汤圆

 楼主| 发表于 2023-8-19 11:12:41 | 显示全部楼层
ibmx311 发表于 2023-8-19 09:37
你在144上干活不行吗,我一直都在144上干活,啥都没有动用103的库
(引用自24楼)

为了兼容STM32F405做的另一个板的PWM分辨率和频率。

所以需要把主频拉到跟F405一致。

现在已经放弃了。STM32F405那边PWM频率21k,分辨率4000,这边用144M后,PWM频率将为18k,分辨率也4000,凑合兼容了。

主要前几天我能听到18k的噪声,想提高一下。这两天可能熬夜多了,又听不到了。

回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 06:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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