基于DSP FPGA的图形显示控制系统

时间:2022-03-17来源:佚名

随着现代电子信息技术的发展,人机交互、图形图像数据的输出显示在系统设计中越来越重要,一方面要求各种参数的输入,另一方面要求将数据结构显示出来。文中设计的基于DSP和FPGA的系统结构,实现了人机交互和各种图形图像的输出显示,而且可以达到动态显示的效果。在设计上采用了软件填充的图形设计方法,先由DSP生成全局数据缓冲区,填充要绘制的图形,之后通过DSP的EDMA传递给FPGA,FPGA实现显示屏的接口不断扫描,将数据送到显示屏显示。同时FPGA连接键盘接口,通过扫描法扫描键值,之后通过中断方式送到DSP,使DSP对各种输入进行控制。整个系统的结构图如图1所示。

1 系统功能

为实现显示系统的基本功能,系统要求实现人机交互,通过键盘输入各种键值,选择或输入各种参数,因此设计了6×6的矩阵键盘,可以输入26个英文字母和0~9共10个数字,键盘的接口连在FPGA上,FPGA将扫描到的键值以中断方式送到DSP,DSP根据输入的参数进行处理。

对于显示部分,系统要求提供各种驱动函数,可以实现画点、画线、画方框、画矩形、填充矩形、画椭圆、填充椭圆、画圆、填充圆、显示汉字、数字、英文字符以及图标Logo等功能,在这些基本画图函数的基础上可以实现各种复杂图形的显示。

总的实现方式是在$DSP内部开辟一缓冲数据区,DSP将要输出的图形数据填充至数据缓冲区,需要显示时,DSP启动EDMA,通过总线将缓冲区的数据送至FPGA,在FPGA内开辟一双口RAM,一端接收DSP传输的缓冲区的数据,保存在双口RAM中,另一端将双口RAM中保存的缓冲区数据读出,以不断扫描的方式按照显示屏的时序将数据显示在显示屏上。

2 系统硬件设计 DSP具有高速处理的特点,运算速度快、FPGA并行处理能力强,常用于设计一些接口。DSP和FPGA相互结合的结构,能充分发挥二者的优点,选用各种复杂的系统。

显示控制系统采用的DSP是TI公司的TMS320C6713,它是TI公司推出的一款高性能的数字信号处理器。FPGA采用的是Altera公司Cyclone系列的一款芯片EP3C78017,这是一款高性价比的FPGA芯片。FPGA和DSP通过DSP的外部总线接口EMIF连接。为便于系统的扩张,将FPGA映射在DSP的CE2和CE3的地址空间,对应的存储器映射地址分别为0xA0000000和0xB0000000。

由于要加载字库,系统需要大容量的数据存储器来存储字库数据和数据缓冲区,而DSP的内部RAM只有不到200 kB,因此需要扩展系统的数据存储器。系统外挂了一个SDRAM,它依然通过DSP的EMIF接口和DSP相连接,连接在DSP的CE0空间,对应的存储器映射地址为0x80000000,SDRAM的型号为MT48LC2M32BTG。

显示屏是640×480点阵的EL LCD宽温显示屏,其上下半屏同时扫描的双扫描单色显示屏,由于宽温特性,多用在工业和军事中,型号是EL640.480 AF1 ET。

系统将键盘接口和显示接口连接在FPGA上。系统硬件原理如图2所示。

3 系统软件设计

3.1 键盘接口设计

为实现人机交互必须要有相应的输入接口,系统在FPGA外部连接了6×6的矩阵键盘,以实现各种参数的输入和显示控制。DSP和FPGA要完成各自不同的控制逻辑。

FPGA中用VHDL硬件描述语言设计键值的扫描程序,采用逐行扫描的思想,并开辟一寄存器保存扫描到的键值,DSP读取该寄存器即得到按键键值,该寄存器对应的地址为0xA0001000,对应DSP中CE2的选址空间。当有按键按下时,FPGA扫描得到键值,保存至按键寄存器中,并向DSP发送外部中断Exint4,DSP在中断服务程序中读取地址为0xA0001000寄存器中的内容即可得到键值。

3.2 显示接口设计

由于显示屏是640×480的单色显示屏,要在DSP内开辟一显示的数据缓冲区,大小为38 400 Byte,缓冲区的每一位代表一个像素,代表显示屏上的一个像素点,缓冲区的第一个Byte的最低位点代表显示屏的第一个像素点,依次类推。

对于要显示的图像,DSP必须先用相应的图形算法填充该图形缓冲区,之后启动DSP的EDMA将数据通过DSP的总线送至FPGA的双口RAM中,双口RAM的起始地址是0xA0080000,对应LCD显示屏第一行的第1~32个像素点,结束地址是0xA00895FC,对应显示屏第480行第637~640个像素点。DSP是32位数据总线,每个地址可存储32位的像素点。

对于画图函数,最基本的莫过于画点函数,它是其他各种作图函数的基础,也是实现各种复杂图形显示的基础。

画线、画方框、画矩形、填充矩形、画椭圆、填充椭圆、画圆、填充圆的驱动函数只要基于画点函数再配合相应的算法即可实现。

对于汉字的显示,需要加载相应的字库,系统中的字库采用16×16点阵的汉字字库。首先根据汉字的区位码在字库中找到相应的点阵数组,然后将点阵数组输入到相应坐标的显存缓冲区即可。为提高程序的运行速度,系统中没有采用标准C库文件的文件操作方式来读取字库数组,而是将字库文件转换为数组形式保存在SDRAM中,程序只需根据汉字的区位码查表即可得到点阵数组,大幅提高了程序的运行速度。

对于图标和图像的显示,首先也要将图像转换为相应的点阵数组,再按照要显示的坐标区域将点阵数组输入的相应区域即可。

用基本画图函数就可实现各种图形的显示,在此基础也可以实现各种复杂图像的显示,系统验证时曾显示了图像、正弦波、三角波等较为复杂的动态图形的显示,并可以通过键盘控制波形频率的改变,如图3所示。

4 结束语

人机交互和图形图像显示技术,在需要人机交互系统应用中具有重要现实意义,文中讨论了基于DSP FPGA的图形显示控制系统,给出了各部分的设计思想,提供了键盘输入和图形图像显示的功能,可以满足各种复杂的人机交互和图形图像显示,在实际使用中也得到了验证。

    相关阅读

    城市亮化工程如何设计才能具有层次感?

    城市亮化工程 的主要目地是为夜间带来一体化照明,考虑基础的视觉识别规定,自然环境照明的光层级与光线总数的多少相关,假如空间中的自然环境照明比工作照明低许多 ,在工作...
    2022-10-11
    城市亮化工程如何设计才能具有层次感?

    城市道路照明工程主要有哪些?

    在城市建设中,道路照明 是必不可少的基础设施,也是城市夜景的重要组成部分。在某种程度上,它还反映了城市的经济实力,社会进步和现代化的标志。它为夜间在城市中的车辆和行...
    2022-07-12
    城市道路照明工程主要有哪些?

    安全出口指示标志灯为什么是绿色而不是红色?

    对于安全出口指示标志灯相信大家都不陌生,我们在日常生活中在任何公众场所的紧急疏散的安全出口都可以看到这个安全出口指示标志灯,大家有没有想过安全出口的指示标志为什么...
    2022-05-21
    安全出口指示标志灯为什么是绿色而不是红色?

    路灯照明合理的布置方式

    路灯的布置方式主要有单侧布置、双侧交错布置、双侧对称布置、中心对称布置、横向悬索布置五种形式,随着城市道路的不断拓宽,平交路口转弯半径越来越大,根据《城市道路亮化...
    2022-07-15

    泛光照明工程是什么?应用范围有哪些?

    很多人提及 泛光照明工程 会有一些生疏,不理解泛光照明包含哪些,也不知道 泛光照明工程 跟普通照明工程有哪些不一样。 实际上泛光照明工程便是归属于城市景观照明工程或环境...
    2022-10-17
    泛光照明工程是什么?应用范围有哪些?

    消防应急灯的寿命有多长?一般可以使用多长时间?

    对于消防应急灯的使用寿命相信很多人都想了解这个问题,因为消防应急灯安装了就不需要时时刻刻盯着,这需要定时检查就可以了,但是很多人都不知道消防应急灯的寿命有多长,不...
    2022-05-21
    消防应急灯的寿命有多长?一般可以使用多长时间?

    快投派智能无线投屏器,让无线互联更加简单便捷

    没有WiFi的情况下可以进行无线投屏吗? 长期使用投屏功能的人,或多或少都知道自己的手机可以通过【无线投屏】【屏幕镜像】功能,直接连接到智能电视或无线投屏器,下意识地认...
    2022-05-11
    快投派智能无线投屏器,让无线互联更加简单便捷

    广场照明的设计技巧

    广场照明设计 主要包括休闲广场、集会活动广场、商业广场的照明设计。 1)休闲广场。主要是为人们提供休息、社交和举行小型文化娱乐活动的地方,由于人们活动方式不同,有些区...
    2022-07-15

    网站栏目