首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
Chirp函数的Nios Ⅱ嵌入式实现
来源:本站整理  作者:佚名  2009-06-16 14:21:46




    NiosⅡ的编程主要是基于嵌入式操作系统μC/OS-Ⅱ,μC/OS-Ⅱ是一个完整的、可移植、固化和剪裁的占先式实时多任务核(Kernel)。从1992年发布至今,μC/OS-Ⅱ已经有了上百个的商业应用案例,在40多种处理器上成功移植。其中Altera提供了对μCO/OS-Ⅱ的完整支持,非常容易使用。
    μC/OS-Ⅱ提供以下系统服务:任务管理(TaskManagement);事件标志(Event Flag);消息传递(Message Passing);内存管理(Memory Management);信号量(Semaphores);时间管理(Time Management)。在应用程序中,用户可以方便地使用这些系统调用实现目标功能。
    在该设计中建立一个主函数和两个任务函数,主函数的功能:调用系统任务初始化函数OSTaskCreateExt()初始化两个任务函数:调用系统开始函数OSStart()启动系统开始工作。
    任务1:实时的改变DDS控制字的输出,并且保持一段时间,在遍历完所有的需要频率以后,延迟调用系统延迟函数OSTimeDlyHMSM(),延迟63 s将该使用权交付给任务2。
    任务2:为了保证该系统以后能有功能扩展,建立一个任务,其仅仅是通过函Jtag_uart接口使用函数printf(),向电脑发送一个任务2已经开始工作的提示信息,如果以后需要扩展功能则只需修改任务2即可。程序的具体流程图如图6所示。

    在任务1中实时改变变量i的值步进为1,通过定义的Chirp函数关于时间和输出频率控制字之间的关系函数function(),计算得到此时的频率控制字f,并且将f的值通过API函数IOWR_ALTERA_AVALON_PIO_DATA()从I/O端口输出以控制DDS,然后延迟2 s使DDS保持该输出频率一段时间,并且通过Jtag_uart端口在Console调试界面向用户提示当前的信号源的输出频率,程序如下:


    图7为QuartusⅡ中生成的嵌入式软核示意图。

4 结 语
    该设计在21controll公司提供的V4.O FPGA/SoPC开发学习套件上面通过仿真验证,该套件的核心芯片为CycloneⅡ系列:EP2C20F484C8,其具有18 752个逻辑单元(LE)和52个M4K RAM块,能够很好地设计存储需要的数据,完全符合设计要求。通过调试程序在NiosⅡIDE编程环境中的Console窗口观察如图8所示。证明该程序能够很好的完成Chirp函数的功能。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:135,363.30000 毫秒