一个基本的问题,nop到底用多少时间!

[复制链接]
3773|5
 楼主| chengli 发表于 2008-12-10 10:03 | 显示全部楼层 |阅读模式
ps, AC, hz, ic, IO
我看<<Psoc原理与应用设计>>,p74,nop指令周期是4,这个周期是指机器时钟周期还是什么/ 

我的程序生成后没有修改,那么,是24MHz,也就是t=1/24MHz=0.0416us,那么1个nop就是4*t=0.166us ,对吧? 

可是问题是,我刚刚测了一下,用示波器量着不是这样

方法:

首先,
    写一个IO口高,下来低的程序,go,用示波器量,高是5us,低是约10us,(因为低之后有个jmp);
然后在高之后加nop测试高多了多少us

测试结果:

20个 nop    25us
30个 nop    40us
50个 nop    55us
那么,平均下来

1个  nop      1.33us

和计算(0.166us)严重不符合,差距有10倍,那么,首先不是IC的问题,如果误差这么大,这个IC就不会量产,其次,会是什么问题那?

另外,,在ps2d_1.asm(psoc designer生成的)中,,系统生成了一个

;-----------------------------------------------
; Macro definitions
;-----------------------------------------------
;-----------------------------------------------
; Precise Delay
;-----------------------------------------------
    MACRO DELAY

应该是很准确的,可是在ps2d_1.asm中有
DELAY    10, 12                         ; Wait 10 uSec

经过测试,竟然是100us!!!!正好是10倍,和刚才测量一样,

请问,到底是怎么回事?
PSoC_Rock 发表于 2008-12-10 17:23 | 显示全部楼层

请问CPU_Clock是多少?

 楼主| chengli 发表于 2008-12-11 19:26 | 显示全部楼层

序生成后没有修改,那么,是24MHz

BENCSJ 发表于 2008-12-11 20:34 | 显示全部楼层

时钟

你检查哈,你的CPU_CLOCK是不是系统时钟的8分频,即3M的,系统时钟是24M,
PSoC_Rock 发表于 2008-12-17 17:23 | 显示全部楼层

CPU_Clock和sysclk 是不同的.

指令是按CPU_Clock来执行的一个nop是使用4个CPU_Clock周期,如果是3M CPU_Clock 那就是:
4/3M=1.33uS
和你等到的值是一样的!
fffzxm 发表于 2009-2-27 16:36 | 显示全部楼层

例子


.SECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: tickDelay
;
;  DESCRIPTION: Delay n us @ 24MHz CPU clock
;     
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;     none.
;
;  RETURNS:
;     none.
;
;  SIDE EFFECTS:
;     A and X 
;
;        8(mov A & mov X),13(lcall),8(ret) about 1.2uS
 tickDelay:
_tickDelay:

    sub  A,4        ;4    2
    swap A,X        ;5    1
                    ;----9    
_L001:
    sbb  A,0        ;4    2
    jc   _END        ;5    2
                    ;----9    
    dec  X            ;4    1
    nop                ;4    1
    ljmp  _L001        ;7    3
_END:
    ret                ;8    1
.ENDSECTION

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

本版积分规则

35

主题

66

帖子

1

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