[技术问答] 关于92F7250机器周期问题

[复制链接]
710|7
 楼主 | 2020-2-9 19:37 | 显示全部楼层 |阅读模式
如题,想用7250驱动单线的幻彩LED灯WS2812B,由于WS2812B对时序要求高,一个bit周期是1.25us,普通单片机是无法达到这个速度,想到7250是24M的,手册上也说是1T的,那么1T就应该是42ns左右,但用芯片测试的结果是120ns,远远大于1T速度,system clock设置24M,电压是5V都没问题,主程循环p27=1;p2.7=0;测到的结果。比较疑惑,哪位兄弟可以解答下。

使用特权

评论回复
| 2020-2-10 13:43 | 显示全部楼层
您好,赛元的单片机是1T的,如果主频选择24M,那么一个指令周期的时间是42ns左右,P27 = 1;这条语句的执行不是一个指令周期可以完成的,因此测试出来的时间并非42ns。

使用特权

评论回复
 楼主 | 2020-2-12 18:20 | 显示全部楼层
赛元MCU1 发表于 2020-2-10 13:43
您好,赛元的单片机是1T的,如果主频选择24M,那么一个指令周期的时间是42ns左右,P27 = 1;这条语句的执行 ...

谢谢你,重新认真查了一下资料,确实是这样,P27=1相当于SETB bit,等于3个时钟周期。

使用特权

评论回复
| 2020-2-21 21:45 | 显示全部楼层
时序很重要。

使用特权

评论回复
| 2020-2-23 15:58 | 显示全部楼层
但用芯片测试的结果是120ns,远远大于1T速度,准确的描述应该是远远小于1T的速度的?正常,因为指令不是单周期指令的。

使用特权

评论回复
| 2020-2-24 10:48 | 显示全部楼层
bobo221 发表于 2020-2-12 18:20
谢谢你,重新认真查了一下资料,确实是这样,P27=1相当于SETB bit,等于3个时钟周期。 ...

嗯,原来如此,难怪我也计算有点不对。多谢前辈分享

使用特权

评论回复
| 2020-2-24 23:05 | 显示全部楼层
bobo221 发表于 2020-2-12 18:20
谢谢你,重新认真查了一下资料,确实是这样,P27=1相当于SETB bit,等于3个时钟周期。 ...

一个置位指令,应该是单周期的吧,我记得51就是单周期的。

使用特权

评论回复
| 2020-2-25 23:42 | 显示全部楼层
P27=1相当于SETB bit,是3个时钟周期。数学好重要啊。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表