基于DSP的仪器仪表开发系统研制


  
   摘 要:给出了一种基于DSP芯片的仪器仪表开发系统的开发流程和物理结构。该系统的结构分为上位机模拟组态系统、上下位机通讯系统和基于DSP开发的硬件平台板及其下位机解析系统等三层。文中针对现有技术的不足,对开发仪器仪表所需的技术方案进行了简化,并把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理和波形图绘制等所需的绝大部分工作统一于一个开发系统之中,而减少了开发人员的工作量,提高了开发人员的工作效率。
  数字信号处理(digital signal processing,DSP)是90年代迅速发展起来的新兴学科。其中,TI公司的MS320系列DSP处理器占据了主导地位。在国内,由于DSP在语音、图像、声纳、雷达、航天、通信以及生物医学工程等领域具有越来越广泛的应用,因此,有关DSP开发系统的研究也逐渐受到重视。尽管DSP的各类产品应用很广,但要使它能够深入、持久地得以发展,必须要有相应优秀的DSP开发系统并提供给用户一个灵活、方便的开发工具,以使用户在开发系统上可以完成对目标机的软件、硬件系统的综合调试。DSP开发系统对于DSP应用来说,是一项基础工作,是否有一个适用且有效的DSP开发系统,往往是关系到DSP应用成败的关键因素之一\[12\]。
   首先,DSP的开发对开发者的软、硬件设计能力和水平都有很高的要求。要充分发挥DSP的优势,最好采用汇编语言进行软件开发,但这样就会使开发周期拉长,开发难度加大,而且DSP的软件可移植性比较差。由于DSP的指令都和其处理器芯片内部结构有关,每一代处理器的结构都有所不同,结构发生变化后,在其之上的软件也要发生变化。如C64的内部硬件结构也就不同于C5X,所以C64的一些指令就不同于C5X,曾经熟悉C5X的技术人员不得不从头开始学起C64的指令,这就给编程人员带来了很大的不便,同时也增加了开发的难度和周期。加上现在DSP芯片更新换代很快,技术人员很难跟上更换的步伐。这就降低了整个系统的灵活性和软件的可移植性。更重要的是,在一个团队中,往往需要每个编程人员都必须熟悉这些指令,从而造成了工作效率的降低。其次,在开发仪器仪表的过程中,对各种仪器仪表开发中所涉及的共性部分,如界面的编制、显示数据的格式处理、汉字库的处理、数据库的结构、低层DSP软件的规范化处理等,都还没有比较通用的开发模式。
   由于以上几种缺陷,对于一家仪器仪表开发公司,在使用DSP的开发过程中,经常的情况就是人守一个仿真器,每人都要对全系列的DSP进行了解和熟悉,并能够独立编程,使人力、物力资源产生浪费。为此,本文设计并研制了一种专门的开发系统,以期减少开发人员数量,提高开发人员的工作效率。
   1 系统的整体方案设计与工作原理
   本系统设计的目的是对现有的开发仪器仪表所需的技术方案进行简化,把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理,波形图绘制,数据库处理等绝大部分工作封装成面向对象的模型,把这些开发过程中必须的元素统一于一个开发系统之中,以减少开发人员数量,或对开发人员进行合理分工,研究一种可提高开发人员工作效率的、基于DSP芯片的开发系统。
   为了实现上述目的,本设计所采用的整体技术方案是以面向对象的方法为指导思想,以密码文件包为核心介质,按开发流程和物理结构,由上位机模拟组态系统、上下位机通讯系统、基于DSP的技术硬件平台板以及在该DSP中运行的下位机解析系统组成的三层结构。其系统结构框图如图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位表示。系统可依据Turbo C位图格式对BMP文件进行文件流操作,然后生成一个同BMP文件同名、dat类型的长度为6+number * (bottom -top+1) 的文件。
   2.2 数据项
   仪器的显示界面的动态变化主要通过数据项的变化来实现。该系统内的一个数据项对象应包括数据名称、数据项页面、数据类型(包括字符型,整型,浮点型,16进制,选择,时间 ,一次拟和波形,二次拟和波形,方波,正旋波)、数据地址、X坐标、Y坐标、数据格式等。
   2.3 菜单项的设计
   仪器仪表的一些主要功能一般都需要通过上位机软件设置菜单项来实现,该系统内的一个菜单项对象包括菜单项名称、菜单项页面、菜单光标类型、X坐标、Y坐标、宽度、长度、菜单属性、子页页号、字符串长度、字符串等。
  
   综上所述,基于以上的三类元素,对于一台全新的仪器来说,可以先为该仪器建立一些基本页面,然后利用组态软件,在该页面上添加各种类型的数据项和菜单项。也就是说,通过开发人员将在仪器中可能出现的全部情况,(如页面,菜单,数据项,数据库,波形,应用汉字库等功能)绘制在页面上。