找回密码
 立即注册
查看: 311|回复: 24

【建议贴】能否新增一个1微秒系统滴答计数寄存器?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2026-01-30 18:02:08
已绑定手机

37

主题

176

回帖

2292

积分

荣誉版主

Rbowlystar

积分
2292
发表于 2026-1-16 18:20:06 | 显示全部楼层 |阅读模式
由于单片机性能的不断提升,在程序设计上,也越来越趋向于使用各种各样的任务处理系统。

目前主要使用“不可屏蔽中断的16位自动重装载模式”的定时器做系统滴答计时器,
以车规级芯片STC32G12K128为例,最简易的任务处理系统就是使用定时器0产生1ms的中断,
作运行时间累加,主循环中对运行时间进行处理,并循环定时处理周期性任务。


1毫秒,说长也不长,说短也不短。
对于绝大多数简单的程序设计,1ms时基,足以应对,但相应的也失去了定时器/计数器0。
此外,如果希望以更小的时基标准处理任务,也许难以成就,若中断时间改为1us,程序将无法正常运行,因为几乎所有时间都被1us中断所占用了。


因此,大胆设想并提议,能否在未来的新款芯片中,新增一个类似RTC时钟的计时功能?
在单片机上电后,从0开始以1us时基不断累加,
这个时基计数值不可修改,只读,用户只需要在主循环中不断读取寄存器中的计数值,
与上一次读取的值作差,即可精确获取系统运行时间,并对任务进行处理。


也许还可以规划出一片用户只读空间,用于保存芯片的实际使用时间(XX年XX月XX日或XXXX小时),
可以避免用户购买到翻新芯片,保护用户权益。




故事没有结局,遗忘是唯一的终点...
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:359
  • 最近打卡:2026-03-20 21:53:40

844

主题

1万

回帖

2万

积分

管理员

积分
22719
发表于 2026-1-16 18:54:22 | 显示全部楼层
截图202601161853421598.jpg


截图202601161854189687.jpg

点评

我的意思是,定时器不是最优解,还是会中断CPU运行,是否有尝试过1us的时基标准? 以1us的定时器中断,程序是否还能正常运行? 若主频为100MHz,1us可以有100个时钟周期,不知系统滴答处理需要用掉多少时钟周期,若  详情 回复 发表于 2026-1-17 17:36
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:645
  • 最近打卡:2026-03-23 15:27:18

33

主题

2912

回帖

6555

积分

论坛元老

积分
6555
发表于 2026-1-17 09:49:10 | 显示全部楼层
看完手册目录了吧,,你说的这些东西,,虽然不是完全一致的。类似的都有了。

点评

定时器和RTC的例子,只是为设想提供参考。大概是取两者的部分功能进行结合,生成一个新的东西。  发表于 2026-1-17 17:41
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2026-01-30 18:02:08
已绑定手机

37

主题

176

回帖

2292

积分

荣誉版主

Rbowlystar

积分
2292
发表于 2026-1-17 17:36:07 | 显示全部楼层

我的意思是,定时器不是最优解,还是会中断CPU运行,是否有尝试过1us的时基标准?
以1us的定时器中断,程序是否还能正常运行?
若主频为100MHz,1us可以有100个时钟周期,不知系统滴答处理需要用掉多少时钟周期,若需要消耗5个时钟周期,是否可以理解为,需要消耗5%的CPU性能?
目前24MHz,1ms时基,大概有24000个时钟周期,若需要消耗5个时钟周期,约0.021%可以忽略不计。

能否从硬件层面,设计一个“时基系统”?不会打断CPU运行,用户只能读参数。
当然,这只是对未来的一种设想建议。
故事没有结局,遗忘是唯一的终点...
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:645
  • 最近打卡:2026-03-23 15:27:18

33

主题

2912

回帖

6555

积分

论坛元老

积分
6555
发表于 2026-1-19 08:58:00 | 显示全部楼层
锦*** 发表于 2026-1-17 17:36
我的意思是,定时器不是最优解,还是会中断CPU运行,是否有尝试过1us的时基标准?
以1us的定时器中断,程 ...

定时器也可以不设置中断。

点评

请指点一个不用中断做系统时基的方法  详情 回复 发表于 2026-1-19 09:26
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2026-01-30 18:02:08
已绑定手机

37

主题

176

回帖

2292

积分

荣誉版主

Rbowlystar

积分
2292
发表于 2026-1-19 09:26:24 | 显示全部楼层
_奶*** 发表于 2026-1-19 08:58
定时器也可以不设置中断。

请指点一个不用中断做系统时基的方法
故事没有结局,遗忘是唯一的终点...
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:391
  • 最近打卡:2026-03-23 17:22:47
已绑定手机

6

主题

327

回帖

1681

积分

金牌会员

积分
1681
发表于 2026-1-19 09:58:52 | 显示全部楼层
精确1us的延时不好搞

点评

可以弄一个1MHz的晶振,内部集成不了,就弄两个引脚外接。1MHz的整数倍都可以,10MHz就是0.1us,100MHz就是0.01us,1GHz就是1ns  详情 回复 发表于 2026-1-19 11:01
学习
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:253
  • 最近打卡:2026-03-23 08:44:19
已绑定手机

22

主题

627

回帖

2324

积分

金牌会员

积分
2324
发表于 2026-1-19 10:17:54 | 显示全部楼层
直接上个32位定时器,能一次性直接读取32位值的那种,内核本身是支持这样的操作的

点评

和我的设想几乎一致了。问题是目前定时器不支持读计数值吧,都是靠溢出中断,作处理  详情 回复 发表于 2026-1-19 11:03
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2026-01-30 18:02:08
已绑定手机

37

主题

176

回帖

2292

积分

荣誉版主

Rbowlystar

积分
2292
发表于 2026-1-19 11:01:03 | 显示全部楼层
patch*** 发表于 2026-1-19 09:58
精确1us的延时不好搞

可以弄一个1MHz的晶振,内部集成不了,就弄两个引脚外接。1MHz的整数倍都可以,10MHz就是0.1us,100MHz就是0.01us,1GHz就是1ns
故事没有结局,遗忘是唯一的终点...
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:433
  • 最近打卡:2026-01-30 18:02:08
已绑定手机

37

主题

176

回帖

2292

积分

荣誉版主

Rbowlystar

积分
2292
发表于 2026-1-19 11:03:17 | 显示全部楼层
Ayb_*** 发表于 2026-1-19 10:17
直接上个32位定时器,能一次性直接读取32位值的那种,内核本身是支持这样的操作的 ...

和我的设想几乎一致了。问题是目前定时器不支持读计数值吧,都是靠溢出中断,作处理
故事没有结局,遗忘是唯一的终点...
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-24 08:32 , Processed in 0.114573 second(s), 92 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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