基于TMS34020的图形显示软件设计

时间:2022-04-24 09:58:44

基于TMS34020的图形显示软件设计

摘要:该文介绍了基于tms34020图形系统处理器的图形实时显示系统,重点叙述了图形显示系统中的显示软件的设计方法。

关键词:图形显示;软件设计;数据交换

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)26-7413-02

Designing of Graphics Displaying Software Based on TMS34020

JI Wu-gang

(No.715 Research Institute of China Shipbuilding Industry Corporation, Hangzhou 310012, China)

Abstract: This passage introduces graphics display system based on TMS34020 graphics system processor, and mainly explains design method of displaying software of graphics displaying system.

Key words: graphics displaying; software designing; data exchanging

当今,随着信号处理方法的不断改进,信号处理能力和处理速度也大大的提高,相应地,作为终端的显示系统,也必须提高其显示信息量和处理速度。现代声纳显示系统一般都采用双显示器结构,由两块图形板来支持,在主机的管理调度下进行多画面切换显示、协调工作,如图1所示。TI公司的图形处理器(GSP)TMS34020融合了图形处理功能和通用CPU的功能,与浮点协处理器TMS34082配合时还可进行复杂的浮点运算,能够满足显示信息量大、处理速度高的要求,从而较广泛地应用于声呐及武器系统的显示。本文将简要介绍图形板的结构、功能和特点,重点介绍它的软件设计方法。

1 GSP图形板的简介

GSP板主要由图形系统处理器TMS34020、动态存储器DRAM、显示存储器VRAM、主机总线接口、调色片RAMDAC等组成,采用存储器映像方式,通过软件设定,将主机地址D0000H和D8000H分别映像到两块图形板地址FC000000H处。TMS34020是一个具有强大图形功能的32位处理器,它从程序存储器中读取指令和数据,在显示存储器中画图,它控制动态存储器的刷新和显示图形的屏幕刷新,管理着整个图形板,其原理框图如图2所示。

DRAM用于存放程序代码和数据,一部分也可用作系统堆栈和图形暂存区。 VRAM用于存放图形,不可见的区域也可以用来存放数据。RAMDAC完成从显示存储器输出的象素数据和显示器输入信号R、G、B之间的数模转换器,其配色表可以使图形板显示色彩的范围更广,颜色更改更灵活。同时该板还支持位面屏蔽和闪烁、硬件光标等功能。

主机接口实现主机与图形板之间的通信控制和数据传输功能,数据传输通过映像存储器方式交换数据,因为主机系统总线的物理寻址空间较小,而且只能有一部分空间供图形板用。图形板采用存储器映射,即在总线的存储空间占有一块区域作映射窗口,把TMS34020的存储空间按页的方式映射到这一窗口。主机访问图形板存储器地址线是由映射寄存器内容和总线地址组合而成的。通过改变映射寄存器的内容和总线的低位地址可以访问图形板存储空间的任一存储单元。

显示配色表由双口RAM组成,分为256个24位的单元,每单元代表一种彩色成分,这样配色表的选色范围为16.7百万种,而同时可显示的彩色有256种。要往配色表中写彩色值,首先往地址寄存器中写要修改的配色表位置的地址值,然后对配色表RAM口执行三个连续的写周期,在写最后一个周期时,三个字节的彩色信息连在一起形成一个24位字,写到由地址寄存器规定的位置,这时地址寄存器自动增址到下一个位置,可直接再写彩色值。

2 程序开发中的一些方法

2.1 显示软件的装载过程

TMS34020的源程序经编译、连接后,生成可执行的目标文件*.OUT,存于主机硬盘上。这种格式的文件由不同的段组成,段是文件可重分配的最小单元。文件在缺省的情况下分为三个段:代码段、数据段、未初始化的变量段。除此之外,也可以在连接时自己创建和命名不同的段。主机打开目标文件,读出执行文件所包含的段的数量。首先取出代码段的起始地址,计算代码段的长度和偏移量将文件的指针指向代码段,主机通过地址映射将代码段传内容输到图形板内存。其它的段也按此方式被加载到图形板上。然后启动34020运行该程序。程序执行时先完成硬件的初始化,然后进入主循环,通过不断的检测发现消息并做出相应的处理和显示。在加载多块图形板的过程中,需要测试该图形板是否存在或故障的情况,当测试函数返回错误时,应停止该板加载,以防影响系统。

2.2 显示软件的设计方法

依据软件需求和通讯接口规约进行软件设计,并采用自顶向下的程序设计方法,可用C语言、汇编语言和专用汇编语言混合编程。

现在图形软件一般都采用便于修改和扩充的模块化结构。它不但便于程序的修改、增删和将来可能的扩充,而且使程序结构条理清晰,各个模块相对独立,又有联系。图形显示模块软件在主程序(任务管理程序)调度下运行,构成图形显示模块软件的主要模块有:1) 任务管理程序;2)初始化模块;3)主机接口模块;4)各显示模块;5)状态控制命令以及公共函数模块,其软件结构与工作流程如图3所示。

此外,在程序设计中尽量使用执行时间较短的指令,节省程序执行时间,满足程序的实时性要求,同时因为程序错误的出现次数几乎与程序长度成正比,所以尽量减少程序的长度以提高可靠性。

2.3 主机和图形板之间的数据交换

主机和图形板之间的数据交换采用共享存储器映像的方式,主机通过系统总线把数据写到图形板的映像RAM区,向TMS34020申请中断,显示软件中断服务程序读取数据,将数据移至各程序模块的数据队列中。数据交换采用循环队列的形式,以避免丢失和堵塞。判定队列满的条件为尾指针(rear)从后面追上头指针(front)。队列有三个基本的操作,用类语言描述如下:

队列空(EmptyQ): if ((((rear+1) % maxsize))!=front)

returntrue

else returnfalse

数据插入(EnQ): ifEmptyQ{temp=(rear+1) % maxsize};

将数据写入第temp个元素;

rear=temp}

数据取出(DeQ): ifnot EmptyQ{temp=(front+1) % maxsize};

将数据从第temp个元素取出;

front=temp}

在中断服务程序的开发中,如果中断服务程序只是接收数据,而其他所有的数据处理和作图都在主程序中完成,对于一些需立即响应的数据,在图形板进行较为复杂的处理时,往往会滞后,影响操作反应的实时性。因此将一些实时性要求较高或者发送频率高,处理起来耗时较短的数据,例如光标、菜单命令安排在中断服务程序内处理。采用中断方式确保了实时的要求,而队列又保证了不因个别中断的丢失而造成数据丢失。

2.4 多画面的切换

一方面由于图形显示的信息量较大,为使这些信息能够清晰地显示,显示内容需分成多个画面,同时在工作中,我们采用两板加载相同的程序,主机向每块图形板传送全部数据的方法实现冗余备份,同时,主机向各图形板发送页面命令,显示程序根据不同的画面命令转换显示画面。

显示程序采用前后台处理的方法。接收到的信息在当前画面上显示时,对信息进行相应的处理后,直接刷新画面。当信息不在当前画面上显示时,在后台对这些信息作相应的处理并保存,切换画面时可调用这些历史信息,保证了信息的连续。

3 结束语

以嵌入式的TMS34020图形处理芯片为核心的图形板具有较强的信息处理显示能力,在显示软件的开发过程中,充分利用图形板的硬件资源,极大地提高整个系统的显示能力,满足实时显示要求。

参考文献:

[1] RFC707.A High-Level Framework for Network-Based Resource Sharing[S].1976.

[2] RFC1050.RPC:Remote Procedure Call Protocol Specification[S].1988.

上一篇:数据挖掘在入侵检测中的应用探析 下一篇:如何将天线ADS版图转换成Protel的PCB图