基于DSP的仪器仪表开发系统研制
扫描二维码
随时随地手机看文章
引言
数字信号处理(digitalsignalprocessing,DSP)是90年代迅速发展起来的新兴学科。其中,TI公司的MS320系列DSP处理器占据了主导地位。在国内,由于DSP在语音、图像、声纳、雷达、航天、通信以及生物医学工程等领域具有越来越广泛的应用,因此,有关DSP开发系统的研究也逐渐受到重视。尽管DSP的各类产品应用很广,但要使它能够深入、持久地得以发展,必须要有相应优秀的DSP开发系统并提供给用户一个灵活、方便的开发工具,以使用户在开发系统上可以完成对目标机的软件、硬件系统的综合调试。DSP开发系统对于DSP应用来说,是一项基础工作,是否有一个适用且有效的DSP开发系统,往往是关系到DSP应用成败的关键因素之一。
首先,DSP的开发对开发者的软、硬件设计能力和水平都有很高的要求。要充分发挥DSP的优势,最好采用汇编语言进行软件开发,但这样就会使开发周期拉长,开发难度加大,而且DSP的软件可移植性比较差。由于DSP的指令都和其处理器芯片内部结构有关,每一代处理器的结构都有所不同,结构发生变化后,在其之上的软件也要发生变化。如C64的内部硬件结构也就不同于C5X,所以C64的一些指令就不同于C5X,曾经熟悉C5X的技术人员不得不从头开始学起C64的指令,这就给编程人员带来了很大的不便,同时也增加了开发的难度和周期。加上现在DSP芯片更新换代很快,技术人员很难跟上更换的步伐。这就降低了整个系统的灵活性和软件的可移植性。更重要的是,在一个团队中,往往需要每个编程人员都必须熟悉这些指令,从而造成了工作效率的降低。其次,在开发仪器仪表的过程中,对各种仪器仪表开发中所涉及的共性部分,如界面的编制、显示数据的格式处理、汉字库的处理、数据库的结构、低层DSP软件的规范化处理等,都还没有比较通用的开发模式。
由于以上几种缺陷,对于一家仪器仪表开发公司,在使用DSP的开发过程中,经常的情况就是人守一个仿真器,每人都要对全系列的DSP进行了解和熟悉,并能够独立编程,使人力、物力资源产生浪费。为此,本文设计并研制了一种专门的开发系统,以期减少开发人员数量,提高开发人员的工作效率。
1 系统的整体方案设计与工作原理
本系统设计的目的是对现有的开发仪器仪表所需的技术方案进行简化,把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理,波形图绘制,数据库处理等绝大部分工作封装成面向对象的模型,把这些开发过程中必须的元素统一于一个开发系统之中,以减少开发人员数量,或对开发人员进行合理分工,研究一种可提高开发人员工作效率的、基于DSP芯片的开发系统。
为了实现上述目的,本设计所采用的整体技术方案是以面向对象的方法为指导思想,以密码文件包为核心介质,按开发流程和物理结构,由上位机模拟组态系统、上下位机通讯系统、基于DSP的技术硬件平台板以及在该DSP中运行的下位机解析系统组成的三层结构。其系统结构框图如图1所示。
1.1 上位机模拟组态系统
本系统采用开发人员先在个人PC上进行开发,然后通过本系统再在仪器中显示可能出现的全部情况,如:页面,菜单,数据项,数据库,波形,应用汉字库等,再通过系统对这些“元素”进行编译,打包成密码包及对应的字库文件。并对所开发的所有项目的密码包进行修改、重排、日常管理,这相当于是一套小型的密码生成器,以及仪器界面管理信息系统。最为重要的是,本组态系统不需要开发人员编制任何一条程序语句,仅需使用鼠标绘制图形即可。
1.2 上下位机通讯系统
这是用于上下位机之间通过串口通讯的系统,该系统是一套上下位机沟通的桥梁,主要通过个人PC的串口和下位机电路板的同步串口进行通讯,目的是把第一层所编译好的密码包及对应的字库文件传送给下位机所对应的不同的存储区间。
1.3 基于DSP开发的下位机解析系统
该部分的主要工作有两层,一是基于DSP开发的硬件平台;二是可在DSP中进行的下位机解析系统。其中基于DSP开发技术的硬件平台板是下位机解析系统所依赖的硬件系统,主要包括DSP高速运算处理器、密码包存储所用的FLASH卡、以及部分仪器采样所需要的模拟及数字电路。
下位机解析系统相当于一个小型的操作系统,它可以根据第一层所定义的密码格式,对密码包破解以后显示在液晶屏上,然后在下位机解析系统的局部地方更改程序,以实现各种仪器的不同功能。
2 上位机模拟组态系统设计
这一部分可采用微软公司的VB6高级语言编制,然后在开发人员用于开发的个人PC上使用。
上位机组态系统中应定义用于封装的几种元素对象。
2.1 页面的组成
页面是上位机组态系统的核心。一个仪器的业务处理是由若干个乃至几十个页面按照一定的逻辑关系自由组合而成的。组成页面这个数据群的集体信息包括页名称、上一页、下一页、父页、宽度、高度、数据基址、基址增量等。
其次是背景页。对于页面这个元素来说,最重要的就是背景页,也就是仪器显示在人机界面上的底图。相对于以前的处理方法,所采用的技术方案可以是使用中文Windows系统自带的画图软件,也可以是Photoshop等商业软件画出的仪器各个界面底图,然后把底图保存成BMP格式的单色位图文件,也就是对应的单色人机界面。
BMP文件与设备无关。BMP文件分为文件首部和文件体两部分。文件首部描述文件和图像的有关参数和彩色表,主体是图像的位图数据,BMP文件体部分记录图像的位图数据。方式是从图像的左下角开始依次扫描每根扫描线,对于单色,每个象素用1位表示。系统可依据TurboC位图格式对BMP文件进行文件流操作,然后生成一个同BMP文件同名、dat类型的长度为6+number*(bottom—top+1)的文件。
2.2 数据项
仪器的显示界面的动态变化主要通过数据项的变化来实现。该系统内的一个数据项对象应包括数据名称、数据项页面、数据类型(包括字符型,整型,浮点型,16进制,选择,时间,一次拟和波形,二次拟和波形,方波,正旋波)、数据地址、X坐标、Y坐标、数据格式等。
2.3 菜单项的设计
仪器仪表的一些主要功能一般都需要通过上位机软件设置菜单项来实现,该系统内的一个菜单项对象包括菜单项名称、菜单项页面、菜单光标类型、X坐标、Y坐标、宽度、长度、菜单属性、子页页号、字符串长度、字符串等。
综上所述,基于以上的三类元素,对于一台全新的仪器来说,可以先为该仪器建立一些基本页面,然后利用组态软件,在该页面上添加各种类型的数据项和菜单项。也就是说,通过开发人员将在仪器中可能出现的全部情况,(如页面,菜单,数据项,数据库,波形,应用汉字库等功能)绘制在页面上。
通过这些特制组态软件所具备的编译功能,可将这些“元素”编译打包成密码文件包(COMPILEoDAT),密码包是一个二进制文件,该密码文件包的组成顺序如下:
页面1(本页底图文件+本页数据项(1一n)+本页菜单项(1一n)﹢...﹢页面n(本页底图文件+本页数据项(1-n)+本页菜单项(1一n))
3 上下位机通讯系统
该部分采用普通用于上下位机之间通过串口通讯的系统即可。硬件上可通过个人PC的串口和下位机电路板的同步串口进行通讯,以把第一层所编译好的密码包及对应的字库文件传送给下位机所对应的不同存储区间L其串口波特率为9600b/s,校验码为无校验,8位数据位,1位停止位。
4 基于DSP开发的下位机解析系统设计
下位机解析系统所依赖的硬件系统主要包括DSP高速运算处理器(核心CPU)、密码包存储所用的FLASH卡(两片,8个区)、用于人机交互的微型键盘以及部分仪器釆样所需要的模拟及数字电路。
下位机解析系统存储于DSP中的FALSH里,采用标准C编写,包括FLASH控制子程序、键盘管理子程序、时钟控制子程序、同步通讯子程序、液晶显示子程序、密码包解析子程序、打印控制子程序等。
4.1 对二进制数据包的解析和处理
从上位机接收到的密码文件包一般放在位于DSP外部的FLASH卡中。DSP软件启动以后,首先按照密码格式寻找第一页底图,并把底图显示在人机界面上;然后根据密码文件包中该页面菜单项的X坐标、Y坐标、宽度、长度等属性,绘制该页的菜单项;之后再根据密码文件包中该页面的菜单项的X坐标,Y坐标绘制该页上的数据项。
4.2 数据地址管理
系统可将密码包存储所用的FLASH卡(两片,8个区)的存储空间分为0〜7共8段:每段的0000-3000h都作为备用数据段。其中,0段(3OO2h-ffffh段)的数据可读可写,但掉电不保存,可存放系统的实时数据;1段(3000h-7fffh)段的数据亦可读可写,但掉电后可保存,用于存放系统需要保存的数据;(8002h-ffffh)段的数据用于保存地址空间,就是数据库的存放位置,但设计时必须用命令整段平移2〜7段。此段用于放置密码文件包。
4.3 动态界面的切换和数据显示
动态界面切换时,先将光标移到某一菜单,并点击微型键盘上的“确定”,DSP程序得到中断响应后,会自动在密码文件包中寻找这一菜单的基本信息,并根据“菜单属性”,“子页页号”,“字符串长度”,“字符串”这四个关键字来判断下一步动作,或者显示新的子页界面,也可以显示一个上位机预先定义好的弹出窗体界面。
数据显示时,在DSP绘制完新的页面、所属的菜单项和数据项之后,DSP程序将马上准备刷新页面。系统会首先自动在密码文件包中寻找这一数据项的基本信息,根据数据类型、数据地址、格式以及在密码包中所蕴涵的对应信息,把数据正确的显示在人机界面上。
4.4 同步串口与底层硬件的数据交换与控制
这一层次由两大模块组成,一个模块负责人机界面显示,釆用通用模块处理的DSP;另一个模块是仪器采样所需要的模拟及数字电路。不同的仪器对应的电路算法不同,但是,两者之间均采用同步串口连接,开发人员仅需要根据不同的开发需求定制采集电路和控制电路即可。
5 结论
该套基于DSP的开发系统针对现有技术的不足,对现有的开发仪器仪表所需的技术方案进行了简化。它把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理模块、波形图绘制等所需的绝大部分工作统一于一个开发系统之中, 故能减少开发人员的工作量,提高开发人员的工作效率。