PCB抄板,芯片解密,SMT加工,样机制作,IC解密
 
 
公司介绍 新闻中心 PCB抄板 PCB生产 芯片解密 样机制作 成功案例 软件下载
 
PCB抄板,PCB改板,SMT加工,IC解密,PCB生产,样机制作
 
主营项目: PCB抄板,PCB改板,PCB生产,IC解密,样机制作
·最新公告                       点击进入 >>
深科特PCB抄板芯片解密PCB生产企业-为您提供最专业的PCB抄板、芯片解密、PCB生产、样机制作服务,以超强的技术实力成为PCB抄板、芯片解密、PCB生产、IC解密行业界的领跑者。
    任何样板,均可100%保证一次性克隆成功!
 
设计能力     
1   最高速信号:3.125G差分信号
2   最高设计层数:38层
3   最大Connections:18564
4   最大PIN数目:26756
5   最小过孔:8MIL(4MIL激光孔)
6   最小线宽:3MIL
7   最小线间距:4MIL
8   最小BGA PIN间距:0.5mm
9   一块PCB板最多BGA数目:30
10   最大的板面积:640mm*580mm
 
PCB抄板      
·
PCB改板
·
PCB抄板反向推理
·
PCB生产/批量生产
·
BOM清单制作
芯片解密
·
IC解密技术力量
·
单片机解密
·
软件破解
·
芯片反向设计
SMT加工
·
SMT贴片加工
·
OEM/ODM加工
·
元器件采购
·
SMT焊接调试
样机制作
·
样机功能调测
·
样机功能修改
·
元器件仿真
·
疑难器件/模块替换
成功案例
· 不锈钢高压灭菌锅之专业电路板抄板仿制
· 磷化氢气体检测仪之深科特pcb抄板及
· 电路板抄板及软硬件仿制开发案例之万用
· 化学发光定氮之pcb抄板及整机仿制案
· 便捷式光泽度仪之深科特抄板仿制及SM
· 热风净手器之pcb抄板及芯片解密成功
· 专业电路板抄板仿制及软硬件开发案例之
· 微功耗测控终端之深科特pcb抄板及批
· 便携式码流分析仪之电路板抄板仿制及逆
· 深科特专业PCB抄板仿制及反向研发之
 当前位置:首页 > 技术支持
日期:2009-5-12 10:27:38 

    在嵌入式系统中,应用涉及μs级的时间计量时,C函数往往无能为力。笔者在移植DES算法到ARM系统的实验过程中,便遇到过要定量评估加密算法耗时多少的问题,发现的确不能用上述常规的C函数解决。经对ARM芯片结构的考察,发现其内置的WatchDog系统是以系统时钟驱动的,定量性能应该很好,区分时间间隔的精细程度也应该足够。于是根据所用ARM芯片的原厂家数据手册中的说明,借用 WatchDog编写了自己的计时函数,使用起来也比较方便。考虑到ARM芯片都带有内置看门狗,笔者觉得这种方法可算是一个不错的“过渡性”解决方案。

1.测量原理
  ARM芯片中的看门狗,其原始功能是监视CPU核心运行的某些超时。这些超时的发生,通常是因为干扰和系统错误等造成的程序运行混乱。一旦发生这类情形,看门狗便请求中断服务或发出复位脉冲重启系统。为了达到这样的目的,其计时原理必须独立于系统中的任何进程。实际上,WatchDog是独立的硬件逻辑,其计时脉冲直接取自系统主时钟,因此它与RTC一样具备实时性和独立性,借用看门狗的计时体系来实现高精度时间测量是合理的。
      先以实验中用到的S3C44B0X为例(该实验所用的ARM开发板型号为NETARM300),具体谈谈看门狗的工作原理。其原理框图如图1所示,图中MCLK即系统主时钟。

  图1 S3C44B0X内嵌看门狗硬件原理框图
  从图中可以看出,系统主时钟MCLK经过可编程预分频、可选固定分频后,进入WTCNT(硬件系统的计时计数器,16位)计数。根据器件手册,计数时间间隔t_watchdog=1/(MCLK/(Prescaler value+1)/Division_factor )。式中,参数Prescaler value的取值为0~28-1;Division_factor有16、32、64、128四种取值。如果复位信号输出允许(即WTCON的位0置1),那么一旦计数器WTCNT的计数超过WTDAT允许的范围,看门狗就会将CPU复位。本实验过程中屏蔽掉了这种复位和中断请求功能,仅让它对脉冲计数。
  控制寄存器WTCON的有关各位定义图中已给出,其他全为保留位,可全置为0。
  至于MCLK具体值的计算,可以查验系统中的晶振参数(频率),读取系统时钟的PLL寄存器(如S3C44B0X的PLLCON)后算得。计算的方法都已在具体ARM芯片手册中给出。
2.测量算法实现和实验结果
  按照所需参数设置的看门狗定时器控制寄存器WTCON的值(如前所述),在待测代码段执行之前开启看门狗定时器;等其执行完毕则关闭看门狗定时器,读取WTCNT的值即可算得运行时间。作为一个具体示例,笔者实验中所实现的算法如下:
  (1) 计时算法
  void my_CountStart() {
  rWTCON=((MCLK/1000000-1)<<8)|(2<<3);   //1 MHz/64,Watchdog,nRESET,中断禁止
  rWTDAT=0xffff;
  rWTCNT=0xffff;
  rWTCON=((MCLK/1000000-1)<<8)|(2<<3)|(1<<5);   //计时开始
  }
  int my_CountStop() {
  int i="0";
  rWTCON=((MCLK/1000000-1)<<8)|(2<<3);   //计时结束
  i=0xffff-rWTCNT;//每16 μs计数一次
  return i*16;
  }
  (2) 应用
  int Main() {
  my_CountStart();
  Des_Go(buf, buf, sizeof(str), key, sizeof(key), ENCRYPT, Is3DES);
  encrypt_time=my_CountStop();
  }
  需要指出: 在改变WTCON的值之前应将原有值保存,待测量完成后再复原WTCON。之所以强调这一点,是因为系统别处很可能在使用看门狗功能。
  实验当中,对长度为1 89字节的字符串采用3次DES加密。密钥长度为15位,测得的加密时间为28 832 μs,解密时间为28 896 μs。缩短字符串长度,测得的加密时间基本呈线性变化: 字符串长度为107字节而其他地方不变时,加密耗时16 928 μs,解密耗时16 948 μs;字符串长度为41字节而其他地方不变时,加密耗时7 424 μs,解密耗时7 424 μs。对于相同长度的字符串,密钥长度的改变对加密/解密时间的影响不是很大。
  值得一提的是,刚开始实验时,被加密字符串分别取为190字节和75字节,测得耗时分别是34 032 μs和16 928 μs,显然与倍增的关系相差很远。分析程序后发现,原来问题出在加密算法中间的打印语句“Uart_Printf("\ncounting begin...!!!")”上。原来以为它耗时很少,故没有将它从加密算法中移走;移走后再试,耗时大减,分别为29 600 μs和12 496 μs,与字符数倍增、时间倍增的预期基本相符。上面的实验,还使笔者得知该打印语句占用了4 432 μs。稍微修改条件,继续实验: 当上述打印语句的字节数扩充为原来的4倍时,测得该
  语句耗时17 728 μs。可见,耗时与打印内容的字节数基本上成正比;另外,这种打印语句与加密/解密算法本身相比,并不是想当然地只占用一点点时间。(上述数据与PC机串口通信波特率的设置无明显关系。实际测试结果为: 波特率由115 200 bps下降到57 600 bps,没有可以察觉到的差别。)
3.测量方法讨论
  ARM内置看门狗用作时间度量的适用范围,大体以μs数量级为界。比如,从S3C44B0X的器件特性说明中可知,MCLK在看门狗计时器里的分频比至少是1/16。典型情况下,MCLK=60 MHz,则看门狗能够分辨的最短时间单元t=1/(60 MHz/16)=0.27 μs。统计误差约为t/2,即0.1μs数量级。就μs级的时间测量精度而言,相对误差有可能达到1%~10%;不过,这对很多速度估算的场合来说还是可以接受的。如果被测时间在10 μs以上,那就没有任何问题,可以认为是相当精确的了。
  这种思路还可用来实现精确延时,因为它的定时不依赖于指令执行时间(指令执行要受到系统调度等的影响,因而有很多不确定因素),而取决于对主时钟的硬件分频计数。

关键字: PCB抄板 PCB生产 IC解密 样机制作 芯片解密 pcb板 SMT加工
 
·上一篇文章: 0201技术解决方案探讨
 
·下一篇文章: MPEG-4解码系统设计
Copyright 2002-2010 版权所有 深科特集团-深圳市银禾金达科技有限公司
深科特集团——PCB抄板 PCB生产 芯片解密 BOM清单制作 原理图反推 样机调试加工 成品量产
业务部 电话:0755-83766239 83766142 82920849(负责PCB抄板,PCB生产,方案设计,IC解密,成品生产等业务)
空气净化机 远大空气净化机 陈克明面条 巴马科养水 家用净水壶
pcb抄板
pcb抄板
pcb抄板