EDN China > 设计实例 > 微处理器与DSP > CPU/GPU > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于NiosII32位处理器的LED大屏幕显示系统设计

21ic?? 2011年09月14日 ?? 收藏0

  3.2 读取CF卡软件设计

  任务1负责将CF卡上的数据读取到SDRAM中,供其他任务使用。在程序中使用了1个指针(3pwmdata),为数据文件在SDRAM中分配空间。在文件系统初始化时,首先调用CF卡初始化函数IDE_initialize()判断CF卡是否存在。若存在,则读取文件系统的基本信息。通过调用函数FS_SearchFile(char3FName,FS_TFile3R,unsignedchardir)来查找需要读取的文件是否存在,若存在,则通过指针(3pwmdata)为数据文件在SDRAM中分配一个缓冲区。读取时,每次读取一个扇区,直到将数据全部读取到SDRAM中。

  部分程序源码如下:

程序

程序

  3.3 软件总体设计

  基于以上数据结构,软件设计的流程如图5所示。系统首先进行初始化操作,然后从Flash中读取显示屏参数,进行参数初始化。接着建立任务TaskControl(),其优先级比各窗口显示任务都要高,主要用于实时管理各窗口显示任务,每个窗口的显示由单个窗口显示任务来控制。

软件设计的流程

  窗口显示任务根据各窗口显示方式的不同,在其对应的part存储区域进行下一帧数据的处理运算,然后调用窗口显示子任务进行显示。在完成一帧数据的显示后,调用一次OSTimeDlyHMSM()使当前任务进入等待状态,下一个优先级最高并进入了就绪态的任务,立刻被赋予了CPU的控制权,由此完成窗口显示任务之间的切换。任务TaskControl()定期查询Reset是否有效,若有效则删除原来建立的任务,重新读取窗口数,建立新任务,启用各个窗口显示任务Task_i。

  任务TaskControl的伪程序段描述如下:

程序

  4 结语

  本设计充分利用了NiosII32位处理器的高性能和μC/OS2II实时操作系统高效的任务调度算法,实现了单屏幕多窗口显示,且显示屏控制变得更加灵活。整个控制系统在1片FPGA芯片上完成,有效地降低了系统的成本。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

NiosII32? 处理器? LED? 显示?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈