基于NiosII32位处理器的LED大屏幕显示系统设计
各窗口的数据信息,将转换完的数据送往各窗口在screen区域中所对应地址的存取空间,最后将screen中的数据写入地址对应的显存。 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芯片上完成,有效地降低了系统的成本。
- 基于NiosII的便携式超声波流量计设计(02-15)
- 为手持设备的被动式OLED显示器供电(11-25)
- 选择用于无线产品的LED驱动 (11-25)
- 利用EL7516作为高效、高电流的白光LED驱动器 (11-29)
- 背光驱动电路的选择策略和应用介绍(01-09)
- 改善 PWM 电源控制器低负载运行的缓冲放大器和 LED(01-16)