OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3078|回复: 1

定时器的分辨率问题 是不是无解了.

[复制链接]

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2014-6-2
在线时间
21 小时
发表于 2020-8-6 15:14:49 | 显示全部楼层 |阅读模式
1金钱
玩单片机十几年 ,一直认为没有单片机解决不了的程序问题,今天遇到一个很简单的问题,让我很失望.貌似是无解的的
假设STM32处理指令的速度是1mIP/S,既每秒处理72000000条指令(真实情况可能比这个快,这个不是重点)
重点是不管是用定时器也好,用死循环也好,用DMA也好,IO输出频率只能是离散值,72000000/i  既 36MHZ 16MHZ 8MHZ....
那么理论上不管用什么办法36MHZ~16MHZ,16MHZ~8MHZ,..之间的频率是无法实现.具体应用的实际项目中,我在做一个步进电机加速度的程序,在200K段 每跳动一下是600HZ左右,不管
软件如何优化,硬件分辨率只有600HZ  步进电机开始失步,但是想不明白有些PLC 脉冲速度可以到200K以上 ,进口的可以到1M ,他们是如何解决这个分辨率问题的呢??
定时器分辨率表::
                       
72000000
36000000
24000000
18000000
14400000
12000000
10285714
9000000
8000000
7200000
6545455
6000000
5538462
5142857
4800000
4500000
4235294
4000000
3789474
3600000
3428571
3272727
3130435
3000000
2880000
2769231
2666667
2571429
2482759
2400000
2322581
2250000
2181818
2117647
2057143
2000000
1945946
1894737
1846154
1800000
1756098
1714286
1674419
1636364
1600000
1565217
1531915
1500000
1469388
1440000
1411765
1384615
1358491
1333333
1309091
1285714
1263158
1241379
1220339
1200000
1180328
1161290
1142857
1125000
1107692
1090909
1074627
1058824
1043478
1028571
1014085
1000000
986301.4


低速状态下
27788.5
27777.78
27767.07
27756.36
27745.66
27734.98
27724.3
27713.63
27702.96
27692.31
27681.66
27671.02
27660.39
27649.77
27639.16
27628.55
27617.95
27607.36
27596.78
27586.21
27575.64
27565.08
27554.54
27543.99
27533.46
27522.94
27512.42
27501.91
27491.41
27480.92
27470.43
27459.95
27449.49
27439.02
27428.57
27418.13
27407.69
27397.26
27386.84
27376.43
27366.02
27355.62
27345.23
27334.85
27324.48
27314.11
27303.75
27293.4
27283.06
27272.73
27262.4
27252.08
27241.77
27231.47
27221.17
27210.88
27200.6
27190.33
27180.07
27169.81
27159.56
27149.32
27139.09
27128.86
27118.64
27108.43
27098.23
27088.04
27077.85
27067.67
27057.5
27047.33
27037.18
27027.03
27016.89
27006.75
26996.63
26986.51
26976.4
26966.29
26956.2
26946.11
26936.03
26925.95
26915.89
26905.83
26895.78
26885.74
26875.7
26865.67
26855.65
26845.64
26835.63
26825.63
26815.64
26805.66
26795.68
26785.71
26775.75
26765.8
26755.85
26745.91
26735.98
26726.06
26716.14
26706.23
26696.33
26686.43
26676.55
26666.67
26656.79
26646.93
26637.07
26627.22
26617.38
26607.54
26597.71
26587.89
26578.07
26568.27
26558.47
26548.67
26538.89
26529.11
26519.34
26509.57
26499.82
26490.07
26480.32
26470.59
26460.86
26451.14
26441.42
26431.72
26422.02
26412.33
26402.64
26392.96
26383.29
26373.63
26363.97
26354.32
26344.68
26335.04
26325.41
26315.79
26306.17
26296.57
26286.97
26277.37
26267.79
26258.21
26248.63
26239.07
26229.51
26219.96
26210.41
26200.87
26191.34
26181.82
26172.3
26162.79
26153.29
26143.79
26134.3
26124.82
26115.34
26105.87
26096.41
26086.96
26077.51
26068.07
26058.63
26049.2
26039.78
26030.37
26020.96
26011.56
26002.17
25992.78
25983.4
25974.03
25964.66
25955.3
25945.95
25936.6
25927.26
25917.93
25908.6
25899.28
25889.97
25880.66
25871.36
25862.07
25852.78
25843.5
25834.23
25824.96
25815.7
25806.45
25797.21
25787.97
25778.73
25769.51
25760.29
25751.07
25741.87
25732.67
25723.47
25714.29
25705.11
25695.93
25686.76
25677.6
25668.45
25659.3
25650.16
25641.03
25631.9
25622.78
25613.66
25604.55
25595.45
25586.35
25577.26
25568.18
25559.11
25550.04
25540.97
25531.91
25522.86
25513.82
25504.78
25495.75
25486.73
25477.71
25468.69
25459.69
25450.69
25441.7
25432.71
25423.73
25414.75
25405.79
25396.83
25387.87
25378.92
25369.98
25361.04
25352.11
25343.19
25334.27
25325.36
25316.46
25307.56
25298.66
25289.78
25280.9
25272.03
25263.16
25254.3
25245.44
25236.59
25227.75
25218.91
25210.08
25201.26
25192.44
25183.63
25174.83
25166.03
25157.23
25148.45
25139.66
25130.89
25122.12
25113.36
25104.6
25095.85
25087.11
25078.37
25069.64
25060.91
25052.19
25043.48
25034.77
25026.07
25017.37
25008.68
25000
24991.32
24982.65
24973.99
24965.33
24956.67
24948.02
24939.38
24930.75
24922.12
24913.49
24904.88
24896.27
24887.66
24879.06
24870.47
24861.88
24853.3
24844.72
24836.15
24827.59
24819.03
24810.48
24801.93
24793.39
24784.85
24776.32
24767.8
24759.28
24750.77
24742.27
24733.77
24725.27
24716.79
24708.3
24699.83
24691.36
24682.89
24674.43
24665.98
24657.53
24649.09
24640.66
24632.23
24623.8
24615.38
24606.97
24598.57
24590.16
24581.77
24573.38
24564.99
24556.62
24548.24
24539.88
24531.52
24523.16
24514.81
24506.47
24498.13
24489.8
24481.47
24473.15
24464.83
24456.52
24448.22
24439.92
24431.63
24423.34
24415.06
24406.78
24398.51
24390.24
24381.98
24373.73
24365.48
24357.24
24349
24340.77
24332.54
24324.32
24316.11
24307.9
24299.7
24291.5
24283.31
24275.12
24266.94
24258.76
24250.59
24242.42
24234.26
24226.11
24217.96
24209.82
24201.68
24193.55
24185.42
24177.3
24169.18
24161.07
24152.97
24144.87
24136.78
24128.69
24120.6
24112.53
24104.45
24096.39
24088.32
24080.27
24072.22
24064.17
24056.13
24048.1
24040.07
24032.04
24024.02
24016.01
24008
24000
23992
23984.01
23976.02
23968.04
23960.07
23952.1
23944.13
23936.17
23928.22
23920.27
23912.32
23904.38
23896.45
23888.52
23880.6
23872.68
23864.77
23856.86
23848.96
23841.06
23833.17
23825.28
23817.4
23809.52
23801.65
23793.79
23785.93
23778.07
23770.22
23762.38
23754.54
23746.7
23738.87
23731.05
23723.23
23715.42
23707.61
23699.8
23692
23684.21
23676.42
23668.64
23660.86
23653.09
23645.32
23637.56
23629.8
23622.05
23614.3
23606.56
23598.82
23591.09
23583.36
23575.64
23567.92
23560.21
23552.5
23544.8
23537.1
23529.41
23521.72
23514.04
23506.37
23498.69
23491.03
23483.37
23475.71
23468.06
23460.41
23452.77
23445.13
23437.5
23429.87
23422.25
23414.63
23407.02
23399.42
23391.81
23384.22
23376.62
23369.04
23361.45
23353.88
23346.3
23338.74
23331.17
23323.62
23316.06
23308.51
23300.97
23293.43
23285.9
23278.37
23270.85
23263.33
23255.81
23248.3
23240.8
23233.3
23225.81
23218.32
23210.83
23203.35
23195.88
23188.41
23180.94
23173.48
23166.02
23158.57
23151.13
23143.68
23136.25
23128.81
23121.39
23113.96
23106.55
23099.13
23091.73
23084.32
23076.92
23069.53
23062.14
23054.76
23047.38
23040
23032.63
23025.26
23017.9
23010.55
23003.19
22995.85
22988.51
22981.17
22973.84
22966.51
22959.18
22951.86
22944.55
22937.24
22929.94
22922.64
22915.34
22908.05
22900.76
22893.48
22886.2
22878.93
22871.66
22864.4
22857.14
22849.89
22842.64
22835.39
22828.15
22820.92
22813.69
22806.46
22799.24
22792.02
22784.81
22777.6
22770.4
22763.2
22756.01
22748.82
22741.63
22734.45
22727.27
22720.1
22712.93
22705.77
22698.61
22691.46
22684.31
22677.17
22670.03
22662.89
22655.76
22648.63
22641.51
22634.39
22627.28
22620.17
22613.07
22605.97
22598.87
22591.78
22584.69
22577.61
22570.53
22563.46
22556.39
22549.33
22542.27
22535.21
22528.16
22521.11
22514.07
22507.03
22500
22492.97
22485.95
22478.93
22471.91
22464.9
22457.89
22450.89
22443.89
22436.9
22429.91
22422.92
22415.94
22408.96
22401.99
22395.02
22388.06
22381.1
22374.15
22367.19
22360.25
22353.31
22346.37
22339.44
22332.51
22325.58
22318.66
22311.74
22304.83
22297.93
22291.02
22284.12
22277.23
22270.34
22263.45
22256.57
22249.69
22242.82
22235.95
22229.08
22222.22
22215.37
22208.51
22201.67
22194.82
22187.98
22181.15
22174.31
22167.49
22160.66
22153.85
22147.03
22140.22
22133.42
22126.61
22119.82
22113.02
22106.23
22099.45
22092.67
22085.89
22079.12
22072.35
22065.58
22058.82
22052.07
22045.32
22038.57
22031.82
22025.08
22018.35
22011.62
22004.89
21998.17
21991.45
21984.73
21978.02
21971.32
21964.61
21957.91
21951.22
21944.53
21937.84
21931.16
21924.48
21917.81
21911.14
21904.47
21897.81
21891.15
21884.5
21877.85
21871.2
21864.56
21857.92
21851.29
21844.66
21838.03
21831.41
21824.8
21818.18
21811.57
21804.97
21798.37
21791.77
21785.17
21778.58
21772
21765.42
21758.84
21752.27
21745.7
21739.13
21732.57
21726.01
21719.46
21712.91
21706.36
21699.82
21693.28
21686.75
21680.22
21673.69
21667.17
21660.65
21654.14
21647.62
21641.12
21634.62
21628.12
21621.62
21615.13
21608.64
21602.16
21595.68
21589.21
21582.73
21576.27
21569.8
21563.34
21556.89
21550.43
21543.99
21537.54
21531.1
21524.66
21518.23
21511.8
21505.38
21498.95
21492.54
21486.12
21479.71
21473.31
21466.91
21460.51
21454.11
21447.72
21441.33
21434.95
21428.57
21422.2
21415.82
21409.46
21403.09
21396.73
21390.37
21384.02
21377.67
21371.33
21364.99
21358.65
21352.31
21345.98
21339.66
21333.33
21327.01
21320.7
21314.39
21308.08
21301.78
21295.47
21289.18
21282.89
21276.6
21270.31
21264.03
21257.75
21251.48
21245.21
21238.94
21232.67
21226.42
21220.16
21213.91
21207.66
21201.41
21195.17
21188.93
21182.7
21176.47
21170.24
21164.02
21157.8
21151.59
21145.37
21139.17
21132.96
21126.76
21120.56
21114.37
21108.18
21101.99
21095.81
21089.63
21083.46
21077.28
21071.12
21064.95
21058.79
21052.63
21046.48
21040.33
21034.18
21028.04
21021.9
21015.76
21009.63
21003.5
20997.38
20991.25
20985.14
20979.02
20972.91
20966.8
20960.7
20954.6
20948.5
20942.41
20936.32
20930.23
20924.15
20918.07
20912
20905.92
20899.85
20893.79
20887.73
20881.67
20875.62
20869.57
20863.52
20857.47
20851.43
20845.4
20839.36
20833.33
20827.31
20821.28
20815.26
20809.25
20803.24
20797.23
20791.22
20785.22
20779.22
20773.23
20767.23
20761.25
20755.26
20749.28
20743.3
20737.33
20731.36
20725.39
20719.42
20713.46
20707.51
20701.55
20695.6
20689.66
20683.71
20677.77
20671.83
20665.9
20659.97
20654.04
20648.12
20642.2
20636.29
20630.37
20624.46
20618.56
20612.65
20606.75
20600.86
20594.97
20589.08
20583.19
20577.31
20571.43
20565.55
20559.68


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8665
金钱
8665
注册时间
2020-5-11
在线时间
4131 小时
发表于 2020-8-6 16:25:16 | 显示全部楼层
本帖最后由 LcwSwust 于 2020-8-6 16:32 编辑

两种分频之间的频率是可以实现的,比如调节PLL的倍频数:2、3、4、5、6.....,这方法可能也不是很精细。
有一种做法是抖动,比如16MHz与8MHz短时间内交替出现,在较长的时间来看得到的平均频率就是两种频率之间的频率,就看系统受不受得了了;优点是步进较为精细,曾见过一个单片机实现的DDS就是这种做法。
举个有抖动的程序例子:
char a=0;
char step=3;//频率与 step/256 成正比
while(1)
{
a+=step;
P0.0=a & 0x80;
delay();
}

对了,楼主的说法也有问题啊,IO就算是从固定频率分频,但是分频的值并非只有2的N次方,有很多值啊,2、3、4、5...
专治疑难杂症
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 09:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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