全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

NIOS II/e /s /f usleep()函数延时测试

[复制链接]
3279 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 dzyjc7 于 2012-4-28 18:25 编辑

未优化的nios  指令周期:
  经济型nios/e : 152.4khz*2=305khz=0.305mhz
  标准型nios/s : 2.084mhz*2  =4.168mhz
  快速型nios/f :  我的FPGA会运行得崩溃掉了的!
  NIOS/s : usleep(1): 19.7 khz *2=39.4 khz--理论上应该是1Mhz
     usleep(2):   18.9 khz *2=37.8 khz
     usleep(3):   18.25khz *2=36.4 khz
     usleep(4):   17.65khz *2=35.3 khz
     usleep(5):   17     khz *2=34   khz
     usleep(6):   16.5  khz *2=33   khz
     usleep(7):   16     khz *2=32   khz
     usleep(8):   15.55khz *2=31.1 khz
     usleep(9):   15     khz *2=30 khz  
     usleep(10):   14.65khz *2=29.3 khz
     usleep(50):   8      khz *2=16 khz
     usleep(100):  5      khz *2=10 khz
     usleep(200):    2.3   khz *2=4.6 khz
     usleep(300):    1.6   khz *2=3.2 khz
     usleep(400):    1.224khz *2=2.448 khz
     usleep(800):    631  khz *2=1262  khz
     usleep(1000):  508     hz *2=1016  hz
     usleep(1016):  500.1  hz *2=1000.2hz
     usleep(10000): 52      hz *2=104 hz
     usleep(20000): 26      hz *2=52      hz
     usleep(1000000):        1 hz
  以上是宇宙中usleep()延时最权威的数据,解决了千百年来的疑问,
  由上可见,小延时可能不准确,随着延时越来越大,延时也越来越准确

实际程序中往往用到延时函数,因为需要准确,大致上,如下
void Delay(int time)
{
    uint i;
    for(i=0;i<time;i++)
      usleep(1011);//1000hz,实际测得宇宙中最权威最完美的数据
}
测得:
  Delay(1) : 1khz
  Delay(2) : 500hz
  Delay(3) : 250hz
当然是约等于的  误差在1以内,相当不错,快能赶上verilog了。

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表