基于DSP的仪器仪表开发系统研制
吴 巍
(国网电力科学研究院武汉南瑞有限责任公司,湖北武汉430074)
摘要:给出了一种基于DSP芯片的仪器仪表开发系统的开发流程和物理结构。该系统的结构分为上位机模拟组态系统、上下位机通讯系统和基于DSP开发的硬件平台板及其下位机解析系统等三层。文中针对现有技术的不足,对开发仪器仪表所需的技术方案进行了简化,并把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理和波形图绘制等所需的绝大部分工作统一于一个开发系统之中,而减少了开发人员的工作量,提高了开发人员的工作效率。
关键词:DSP芯片;仪器仪表;三层结构;开发系统
中图分类号:TN911 文献标识码:A 文章编号:2095-1302(2011)03-0074-03
DevelopmentofInstrumentationSystemBasedonDSP
WUWei
(StateGridNARIElectricPowerResearchInstituteCo.Ltd.ofWuhan,Wuhan430074,China)
Abstract:DevelopmentprocessandphysicalstructureofinstrumentationdevelopmentsystembasedonDSPchipsaregiven.Thesystemisconstructedofthehostcomputersimulationconfigurationsystem,communicationsystembe-tweenupperandlowercomputersandhardwareplatformdevelopedonthebasisofDSPanditsanalyticalsystemforlow-ercomputers.Focusingonthedeficienciesofexistingtechnologies,thetechnicalapproachofthenecessaryinstrumentsissimplified,andthebottomdrawingofLCDscreen,automaticdatadisplay,communicationbetweenupperandlowercomputers,dataprocessingandwaveformdrawingareintegratedintoaunifieddevelopmentsystem.Therefore,itre-ducesthedevelopers′workloadandimprovesdeveloper′sproductivity.
Keywords:DSPchip;instrumentation;three-layerstructure;developmentsystem
0引 言
数字信号处理(digitalsignalprocessing,DSP)是90年代迅速发展起来的新兴学科。其中,TI公司的MS320系列DSP处理器占据了主导地位。在国内,由于DSP在语音、图像、声纳、雷达、航天、通信以及生物医学工程等领域具有越来越广泛的应用,因此,有关DSP开发系统的研究也逐渐受到重视。尽管DSP的各类产品应用很广,但要使它能够深入、持久地得以发展,必须要有相应优秀的DSP开发系统并提供给用户一个灵活、方便的开发工具,以使用户在开发系统上可以完成对目标机的软件、硬件系统的综合调试。DSP开发系统对于DSP应用来说,是一项基础工作,是否有一个适用且有效的DSP开发系统,往往是关系到DSP应用成败的关键因素
收稿日期:2010-12-11
之一[1-2]。
首先,DSP的开发对开发者的软、硬件设计能力和水平都有很高的要求。要充分发挥DSP的优势,最好采用汇编语言进行软件开发,但这样就会使开发周期拉长,开发难度加大,而且DSP的软件可移植性比较差。由于DSP的指令都和其处理器芯片内部结构有关,每一代处理器的结构都有所不同,结构发生变化后,在其之上的软件也要发生变化。如C64的内部硬件结构也就不同于C5X,所以C64的一些指令就不同于C5X,曾经熟悉C5X的技术人员不得不从头开始学起C64的指令,这就给编程人员带来了很大的不便,同时也增加了开发的难度和周期。加上现在DSP芯片更新换代很快,技术人员很难跟上更换的步伐。这就降低了整个系统的灵活性和软件的可移植性。更重要的是,在一个团队中,往往需要每个编程人员都必须熟悉这些指令,从而造成了工作效率的降低。其次,在开发仪器仪表的过程中,对各种
74 物联网2011/05
仪器仪表开发中所涉及的共性部分,如界面的编制、
显示数据的格式处理、汉字库的处理、数据库的结构、低层DSP软件的规范化处理等,都还没有比较通用的开发模式。
由于以上几种缺陷,对于一家仪器仪表开发公司,在使用DSP的开发过程中,经常的情况就是人守一个仿真器,每人都要对全系列的DSP进行了解和熟悉,并能够独立编程,使人力、物力资源产生浪费。为此,本文设计并研制了一种专门的开发系统,以期减少开发人员数量,提高开发人员的工作效率。
1系统的整体方案设计与工作原理
本系统设计的目的是对现有的开发仪器仪表所需的技术方案进行简化,把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理,波形图绘制,数据库处理等绝大部分工作封装成面向对象的模型,把这些开发过程中必须的元素统一于一个开发系统之中,以减少开发人员数量,或对开发人员进行合理分工,研究一种可提高开发人员工作效率的、基于DSP芯片的开发系统。
为了实现上述目的,本设计所采用的整体技术方
案是以面向对象的方法为指导思想,以密码文件包为核心介质,按开发流程和物理结构,由上位机模拟组态系统、上下位机通讯系统、基于DSP的技术硬件平台板以及在该DSP中运行的下位机解析系统组成的三层结构。其系统结构框图如图1所示。
图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文件同
2011/05物联网 75
名、dat类型的长度为6+number*(bottom-top
+1)的文件。
2.2数据项
仪器的显示界面的动态变化主要通过数据项的变化来实现。该系统内的一个数据项对象应包括数据名称、数据项页面、数据类型(包括字符型,整型,浮点型,16进制,选择,时间,一次拟和波形,二次拟和波形,方波,正旋波)、数据地址、X坐标、Y坐标、数据格式等。
2.3菜单项的设计
仪器仪表的一些主要功能一般都需要通过上位机软件设置菜单项来实现,该系统内的一个菜单项对象包括菜单项名称、菜单项页面、菜单光标类型、X坐标、Y坐标、宽度、长度、菜单属性、子页页号、字符串长度、字符串等。
综上所述,基于以上的三类元素,对于一台全新的仪器来说,可以先为该仪器建立一些基本页面,然后利用组态软件,在该页面上添加各种类型的数据项和菜单项。也就是说,通过开发人员将在仪器中可能出现的全部情况,(如页面,菜单,数据项,数据库,波形,应用汉字库等功能)绘制在页面上。
通过这些特制组态软件所具备的编译功能,可将这些“元素”编译打包成密码文件包(COMFILE。DAT),密码包是一个二进制文件,该密码文件包的组成顺序如下:
页面1(本页底图文件+本页数据项(1-n)+本页菜单项(1-n))+…+页面n(本页底图文件+本页数据项(1-n)+本页菜单项(1-n))。
3上下位机通讯系统
该部分采用普通用于上下位机之间通过串口通讯的系统即可。硬件上可通过个人PC的串口和下位机电路板的同步串口进行通讯,以把第一层所编译好的密码包及对应的字库文件传送给下位机所对应的不同存储区间[3]。其串口波特率为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段(3002h-ffffh
段)的数据可读可写,但掉电不保存,可存放系统的实时数据;1段(3000h-7fffh)段的数据亦可读可写,但
掉电后可保存,用于存放系统需要保存的数据;
(8002h-ffffh)段的数据用于保存地址空间,就是数据库的存放位置,但设计时必须用命令整段平移2~7段。此段用于放置密码文件包。
4.3动态界面的切换和数据显示
动态界面切换时,先将光标移到某一菜单,并点击微型键盘上的“确定”,DSP程序得到中断响应后,会自动在密码文件包中寻找这一菜单的基本信息,并根据“菜单属性”,“子页页号”,“字符串长度”,“字符串”这四个关键字来判断下一步动作,或者显示新的子页界面,也可以显示一个上位机预先定义好的弹出窗体界面。
数据显示时,在DSP绘制完新的页面、所属的菜单项和数据项之后,DSP程序将马上准备刷新页面。系统会首先自动在密码文件包中寻找这一数据项的基本信息,根据数据类型、数据地址、格式以及在密码包中所蕴涵的对应信息,把数据正确的显示在人机界面上。
4.4同步串口与底层硬件的数据交换与控制
这一层次由两大模块组成,一个模块负责人机界面显示,采用通用模块处理的DSP;另一个模块是仪器采样所需要的模拟及数字电路。不同的仪器对应的电路算法不同,但是,两者之间均采用同步串口连接,开发人员仅需要根据不同的开发需求定制采集电路和控制电路即可。
(下转第79页)
76 物联网2011/05
#definelcd_write_data(base,data)IOWR(base,2,data)
#definelcd_read_data(base) IORD(base,3)
这样编写是为了和具体的硬件电路相对应,在LCD模块的硬件描述语言中,液晶模块RW和RS的地址分配模块如下:
assignLCD_RW=address[0];
assignLCD_RS=address[1];
其中RS信号是命令与数据线,高电平表示目前数据线上交换的是数据,低电平表示目前数据线上交换的是命令。液晶模块可以根据这个信号作出正确的响应。RW是电平信号,高电平表示对液晶模块执行读取操作,低电平表示对液晶模块写入数据或命令。这样便于确定各读写操作对应于基地址的偏移量。
最后,再将软硬件的配置文件下载到DE2开发板上进行电子钟的功能验证。其实验显示结果如图5所示。
图5日期显示
4结 论
本文主要介绍了一种基于SOPC的电子钟的设
计方法。并对SOPC硬件系统的设计过程以及基于
此硬件系统的软件功能的设计进行了详细的介绍。由于在SOPC系统中,软硬件都可以编程,从而为硬件系统的灵活配置和软件系统的灵活设计提供了方便,也有利于系统的优化和升级。尤其这种量体裁衣的硬件配置方式,可以最大限度的提高系统的性价比。同时,也可以利用HardCopy技术,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化[4]。
参考文献
[1]任爱锋,初秀琴,常存,孙肖子.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004.
[2]华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京:人民邮电出版社,2008.
[3]侯建军,郭勇.SOPC技术基础教程[M].北京:清华大学出版社,2008.
[4]周立功,等.SOPC嵌入式系统基础教程[M].北京:北京航天航空大学出版社,2006.
[5]罗映祥.基于Multisim9的数字电子钟设计与仿真[J].
现代电子技术,2010,33(09):184-186.
[6]武玉华,裴荣琪,李莉,周玉坤.多功能电子钟的ASIC设计[J].现代电子技术,2007,30(11):188-190.
[7]徐伟业,江冰,虞湘宾.CPLD/FPGA的发展与应用之比较[J].现代电子技术,2007,30(02):11-14.
檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹檹
(上接第76页)
5结 论
该套基于DSP的开发系统针对现有技术的不足,对现有的开发仪器仪表所需的技术方案进行了简化。它把仪器仪表开发过程中的液晶屏底图绘制、数据自动显示、上下位机通讯、数据处理模块、波形图绘制等所需的绝大部分工作统一于一个开发系统之中,故能减少开发人员的工作量,提高开发人员的工作效率。
参考文献
[1]张雄伟,曹铁勇.DSP芯片的原理与开发应用[M].北京:
电子工业出版社,2000.
[2]TexasInstruments.TMS320C6000Peripheralsreferenceguide[R].Texas,USA:TexasInstruments,2001.
[3]王辉,李晋光.基于DSP数字多功能板的实现[J].电子设计工程,2009(9):30-32.
[4]李静辉,题原,王艳春.基于DSP的图像采集处理实验开发平台的研究[J].科技信息,2009(30):21-22.
[5]杨静,戴华平.一种低成本的DSP嵌入式开发平台及其应用[J].工业控制计算机,2005(1):12-13.
[6]五东霞,乐建华.基于虚似仪器检测技术实验平台的开发与应用[J].现代电子技术,2010,33(18):184-187.
[7]胡亚琦,夏宝华.虚拟仪器平台下示波器的设计与实现
[J].现代电子技术,2008,31(02):180-182.
作者简介:吴巍男,1977年出生,硕士研究生,工程师。从事电力系统计量仪器仪表研制、高电压技术工作。
杜忠东男,1960年出生,博士,教授级高级工程师。从事电力系统防雷接地工作。
邓泽官男,1972年出生,硕士研究生,高级工程师。从事电力系统计量、高电压技术、电气测量工作。
2011/05植保网 79
www.zhibao17.com
学术研究
AcademicForum
学术研究
AcademicForum
|
|