调试工具(精选四篇)
调试工具(精选四篇)
调试工具 篇1
关键词:MST785芯片,车载主机,调试工具,WINCE6.0嵌入式系统,操作调试开关
前言
汽车工业己成为我国国民经济发展的支柱产业之一,汽车技术的发展和人车信息的融合交流使得汽车电子成为了一个独立的产业。同时随着汽车的普及和道路建设,城市间经济和生活交流更加频繁,大量的休闲,旅游,参观,探险等活动使我们并不局限在自己熟知小块区域中,因此推动了车载导航系统的发展。目前车载导航产品已经正式走入车主的世界,成为了汽车上的基本装备[1]。车载导航系统是智能交通系统ITS的一个分支,其把全球定位技术、地理信息技术、多媒体技术、通信技术及嵌入式计算机技术综合到一起的高科技系统,为车主打造特有的车载智能娱乐系统和提高驾驶优越感[2]。
WINCE系统凭借其稳定性[3]在汽车电子行业一直独占鳌头,尤其是WINCE6.0嵌入式系统特别适用于车载导航产品,而MST785芯片也广泛应用于车载主机[4]。在车载主机的研发、测试甚至售后服务阶段都有可能出现一些未知的问题。有些严重的客诉问题如果不能及时快速解决必将给公司声誉造成不良影响。然而很多导航产品的调试开关和操作模式都是隐藏于后台防止用户误操作。当有不良问题反馈的时候,更改操作模式和抓取打印log需要拆机连线等非常费时费力,尤其在显示异常的车载主机上完全无法操作。因此高效方便的调试工具不仅能够辅助非技术人员及时抓取异常log,也能辅助技术人员打开调试开关和更改操作模式。及时解决产品问题,节约研发和售后成本,方便排查问题,从而提高研发和售后解决问题的效率。
1、工作逻辑设计
由于WINCE6.0操作系统的稳定性和可靠性以及和桌面Windows一致性的开发特性,时它成为越来越多嵌入式产品开发的首选[5]。本新型调试工具基于WINCE6.0嵌入式系统的平台,适用于基于MST785芯片的车载导航产品,其工作逻辑图如图1。通过将本调试工具和配置文件一起放入SD卡制作成工具卡,通过SD卡驱动模块,使得调试工作可自动运行。通过内置配置文件计数,实现规律性操作导航产品的调试开关和操作模式。另外嵌入式系统的自身特点,越来越多的产品采用简洁方便的触摸屏作为人机界面。触摸屏[6]在车载导航产品广泛使用,当导航产品出现触摸异常,甚至显示异常的情况下,本调试工具也能完成打开调试开关来选择调试模式。抓取异常log后,可迅速定位导航产品的问题所在。
2、工作原理
嵌入式系统(Embedded System)是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。嵌入式系统最典型的特点是与人们的日常生活紧密先关,目前嵌入式系统已经广泛应用到工业、国防等多个领域。本调试工具基于WINCE6.0嵌入式操作系统,通过SD卡驱动以实现调试工具的自动运行。由于WINCE系统独有的注册表驱动功能,可任意加载特定的动态连接库,这就为本调试工具提供了强大的理论支持。SD卡作为导航产品的重要部分同时SD卡可任意拔插且携带方便,而WINCE系统的SD卡驱动包含三个部分:HOST硬件底层部分、BUS中间逻辑命令层和CLIENT上层,而本工具采用到了WINCE的OEM层驱动和OAL功能,当有SD插入时自动驱动其内部软件工具调用,从而实现了在车载导航产品上“插卡自动运行”。同时MST785芯片广泛应用于车载电子行业,其特有的OTG模式分别为:电脑同步模式SERIAL、U盘模式HOST和移动存储器模式STORAGE。正常车载导航产品的OTG模式默认为HOST,方便用户使用U盘播放功能。另外由于嵌入式系统的自身特点,越来越多的产品采用简洁方便的触摸屏作为人机界面,因而失去了鼠标键盘等外设[4],而本工具能够在触摸异常、显示异常甚至是黑屏的情况下,直接由WINCE系统的SD卡驱动调试工具运行。
任何一款产品在研发、生产、测试和售后的过程中,都会出现各种各样的问题,对于车载导航产品也不例外。在智能化迅速发展的当今社会,智能手机、IPAD、平板电脑、导航产品对等任何具有显示功能的产品来讲,出现触摸异常、显示异常、甚至完全显示黑屏的问题,都是非常致命并且技术人员也很难定位问题所在。本调试工具运行于WINCE6.0嵌入式驱动系统平台,支持在显示异常和触摸异常的产品上使用,尤其适用于显示异常的产品。其工作原理设计图如下图2所示,在调试工具的配置文件中包含有自动计数功能,当导航产品的显示/触摸正常的情况下,技术人员可根据需要操作调试开关和OTG操作模式;即使在导航产品的显示异常,或者触摸异常,甚至是完全黑屏的情况下,也能根据累计计数的奇偶特性实现规律性操作导航产品的调试开关和操作模式。当OTG操作模式设置为SERIAL的时候,技术人员可以通过连接线实现笔记本电脑与导航产品同步,从而在电脑上操作导航产品,迅速定位问题所在。不论什么情况下,只要调试工具检测到调试开关打开,调试工具就能自动记录打印log并保存在SD卡中,技术人员也可通过打印log定位问题所在,然而即使现场不能解决问题,也可将SD卡记录的log信息转发给专业技术人员。所以本调试工具操作简单方便,不仅能帮助非技术人员抓取异常log提供给技术人员分析问题,同时也方便技术人员解决严重问题,如显示黑屏等。从而节约了产品的研发成本和售后成本,提高研发和售后的效率,给客户留下良好的印象从而为公司赢得良好的口碑。(下转第32页)
3、实验应用
由于Wince嵌入式系统独特的注册表加载方式和强大的模块化功能,从而保证了其系统稳定性,当某一模块出现问题时也不会导致整个系统崩溃,这就为本调试工具的适用范围做了一个间接保证。如下图3所示的调试工具操作界面。SD卡驱动正常运作前提下,首先将配置文件和调试工具放到SD卡,并通过系统的SD驱动使本调试工具自动运行。在显示正常的情况下,可通过人为点击或触摸来操作OTG模式和选择调试开关,并决定是否保留打印log以及支持选择打印log的保存地址。
图3所示的Print_Log也是默认打开,并且Log_S ave_Path也可设置路径。即使在触摸异常或者显示异常等不支持人为选择的情况下,该调试工具也能够根据内置配置文件的累计计数来实现规律性操作导航产品的调试开关和操作模式,并默认打印log到当前路径,方便实用,稳定性高。
4、结论
本调试工具基于稳定的系统平台,并具有方便简洁的操作界面,同时在工作原理设计中支持触摸异常和显示异常等特殊情况,实际应用表明本测试工具操作简便、节约成本、提高导航产品研发和售后的效率,达到了设计要求。
参考文献
[1]王大新,张立本,赵军.车载GPS导航产业发展现状与趋势[J].卫星应用,2005,12:18-24.
[2]吴建洪.车载导航系统的研究与实现[D].长沙:湖南大学,2007,1.95.
[3]张二静.基于WinCE6.0的车载GPS导航仪的设计与实现[D].西安:西安电子科技大学,2011,1-65.
[4]曾昭德,洪晓斌.车载主机与智能手机互动系统设计[J].自动化与信息工程,2013,05:40-43.
[5]刘星.基于W'mce的触摸屏的研究与应用[D].大连:大连海事大学.2010,1-65.
调试工具 篇2
安装方式如下:
我的系统是Ubuntu 12.04 LTS
1.从 code.google.com/p/xgcom/ 下载xgcom源代码。最新版本为 xgcom-0.04.2.tgz。
解压到/usr/local/src下 tar xvzf xgcom-0.04.2.tgz /usr/local/src
2.编译xgcom前需要安装几个所需的库make, automake,libglib2.0-dev,libvte-dev,libgtk2.0-dev。有些系统可能已经自带一些。
sudo apt-get install automake
sudo apt-get install libglib2.0-dev
sudo apt-get install libvte-dev
sudo apt-get install libgtk2.0-dev
3.准备就绪,开始编译xgcom
进入解压好的源代码目录,cd /usr/local/src/xgcom-0.04.2-src
参照README进行配置、编译
./autogen.sh
make
sudo make install
然后 xgcom运行
调试工具 篇3
摘要:在光电伺服控制软件调试过程中为了开发一种连续、实时、直观的调试工具,需要将DSP环境中的数据实时传输到PC环境,利用PC丰富的图形环境进行数据显示和图形绘制。如何实现DSP环境与PC环境之间的实时数据交换成为该调试工具开发中的一个关键问题。针对该问题,利用T1公司实时数据交换(RTDX)技术,实现了MATLAB和CCS集成开发环境之间的实时数据交换。
关键词:光电伺服控制;调试工具;RTDX;MATLAB
中图分类号:TP273 文献标识码:A 文章编号:1673-5048(2014)02-0012-04
0、引言
目前,在光电伺服控制软件调试过程中,为了实现程序中各种寄存器、控制参数等变量的观察,需要在目标程序中设置断点,中断目标程序运行。然而对实时性要求较高的光电伺服控制程序,这种插入断点的调试方法不能实时反映所关心数据的变化,同时还有可能造成数据错误,影响控制算法设计和错误分析,给程序调试带来不便。同样,在其调试阶段,需要在线修改程序中的控制参数,实现外部数据实时导人目标程序,而用传统调试手段难以实现。针对以上问题,需要设计一个连续、实时、直观的调试工具来进行光电伺服软件调试,用以提高调试效率和缩短开发周期。本文针对该调试工具设计过程中PC环境与DSP环境数据实时交换的关键问题,通过应用实例说明了采用RTDX技术实现MATLAB和CCS的编程环境之间数据交换的方法。
1、实时数据交换技术RTDX
TI公司的Real Time Data Exchange(RTDX)技术利用DSP的内部仿真逻辑和JTAG接口实现主机与目标机之间的数据交换。它几乎不占用DSP的系统资源,数据传送可以在目标程序后台运行,对目标程序影响很小。它可以在不中断目标程序运行的前提下向主机实时发送目标DSP上各个寄存器或内存变量的值。而Pc主机也可通过TI公司提供的RTDX相关API函数获取这些数据,并可对这些数据进行实时分析和可视化显示。RTDX数据交换原理如图1所示。
目标DSP为了向主机发送数据必须设定一个输出通道,通过用户接口可将数据送到输出通道以使这些数据立即保存到RTDX目标机的缓存(由RTDX目标函数库定义)中,然后再将这些数据通过JTAG接口发送到主机。目标机要从主机中获得数据,首先必须设定输入通道接收主机发出的命令,从而实现数据传输的同步。同时可利用输出通道完成目标程序向RTDX主机函数库发送数据,向RTDX主机函数库发送数据请求及在目标机上提供数据缓存等功能。
2、RTDX应用过程
使用RTDX进行DSP环境和PC环境之间的数据交换时,需要在DSP目标程序和PC主机程序中分别实现。它们之间的数据传输格式和传输频率要结合应用需求来定义。
2.1 DSP目标程序RTDX实现
在DSP目标程序中使用RTDX进行数据传输,只需在原有的DSP目标程序中加入关于RTDX通道初始化、数据缓存区定义和数据收发的代码即可。以下是RTDX在DSP程序中的实现过程。
(1)RTDX初始化
首先使用以下宏完成RTDX输入、输出通道的创建:
RTDX_CreatelnputChannel(d_jchan);
RTDX_CreateOutputChannel(a_ochan)。其中:d_ichan为输入通道名:a_ochan为输出通道名。后面有关RTDX通道的操作函数都要使用它们来指定通道。完成通道创建以后使用以下宏来使能输入、输出通道:
RTDX_enableInput(&d_ichan);
RTDX_enableOutput(&a_ochan)。
(2)创建接收和发送数据缓存区
进行数据发送之前需要定义好接收和发送缓冲区,缓冲区的大小可根据实际应用情况定义,但不可超过RTDX通道最大容量值。定义Readdata[counterl]为接收缓冲区,counterl为缓冲区容量大小,定义Seaddata[counter2]为发送缓冲区。
(3)向RTDX通道读写数据
函数RTDX_readNB(&d_ichan,(void*)&Readdata,sizeof(short))可实现RTDX输入通道数据非阻塞读取。使用RTDX_write(&a_ochan,&Seaddata,500*sizeof(short))可以向RTDX通道发送数据,这里向通道中写入了500个short类型数据,发送数据个数不应超过RTDX通道容量大小,否则会发送失败。
在实际应用过程中RTDX只提供了一个数据的传输通道,而如何有效地使用这个通道还需要DSP目标程序和PC主机程序定义好数据的传输协议来实现。
2.2 MATLAB主机程序实现
PC主机程序是在MATLAB/GUI编程环境实现的。主要实现定时获取DSP目标程序通过RTDX通道发送上来的数据:实时显示接收到的数据信息;通过人机交互界面向DSP目标程序发送数据。设计流程如图2所示。
主机程序首先通过MATLAB Link for CodeComposer Studio的相关API函数与CCS集成开发环境建立双向和实时数据链接,成功建立链接后可以通过MATLAB/GUI程序控制执行CCS的命令来进行批处理调试和显示,然后再进行DSP类型及数量的探测。待探测到目标DSP类型和数量后,程序将进行RTDX通道缓冲区配置、通道初始化等操作。完成这些操作后MATLAB/GUI程序控制CCS运行目标程序,同时启动数据接收和发送定时器,此时DSP和PC可进行数据的实时交换。以下为MATLAB环境下RTDX的实现过程。
(1)RTDX初始化过程
首先使用configure(cc.rtdx,8192,4)对通道进行配置,配置参数需要根据DSP目标程序通道创建的个数来确定,这里配置缓冲区大小为8192字节,同时配置了4个通道,其中cc.rtdx为MATLAB和CCS建立连接成功后返回的句柄,后面有关RT-DX通道的操作函数都需要把它作为参数来使用。完成配置后,可使用open(cc.rtdx,a_ochan,r)来打开RTDX读通道,使用open(cc.rtdx,d_ichan,w)来打开写通道,其中a_ochan,d_jchan为DSP目标程序中创建通道时定义的通道名。最后使用以下函数完成RTDX输入、输出通道的使能:
enable(cc.rtdx,d_ichan);
enable(cc.rtdx,a_ochan)。
(2)接收定时器服务函数
TimeUpdateChannelATl( )
在定时服务程序中主要完成实时接收RTDX通道中的数据,并把接收到的数据存人数据缓存区,然后根据数据传输协议解析数据并对数据进行处理或图形绘制。
(3)发送定时器服务函数
TimeUpdateChannelDTl( )
发送定时器服务函数主要实现数据的发送和协议的封包。当PC主机程序需要向DSP发送连续数据时,例如,正弦、方波和锯齿波等类型的激励信号时,需要将上述激励信号离散化处理后再进行发送,发送控制命令时,只需发送按照传输协议封包好的数据即可。
3、RTDX应用实例
以某型光电稳定平台的光电伺服控制软件调试为背景,结合上文RTDX在DSP目标程序和MATLAB/GUI的实现过程,对光电伺服控制软件和MATLAB/GUI程序进行修改,对DSP目标程序增加RTDX初始化、配置、收发等相关代码,对MATLAB/GUI修改有关数据处理和图形显示代码,并根据实际应用需求,实现平台中各种参数的显示、状态控制等功能。
某型光电稳定平台调试系统构成如图3所示。软件构成:MATLAB2011b、CCS3.3;硬件构成:两轴光电稳定平台、驱动控制硬件电路、调试PC主机、仿真器和直流稳压电源等。RTDX应用实现如下:
步骤一,在光电伺服控制软件中加入RTDX初始化相关函数并定义接收、发送缓冲区数组,数组大小按照RTDX最大容量500定义,同时还需实现平台数据的传输协议,其中上传数据包括陀螺、编码器、测速机、跟踪器数据类型及格式的定义。在伺服控制周期里采集到500个数据后进行数据上传,因此数据上传周期为500 ms;Pc机下传数据包括控制指令和正弦、方波、阶跃信号的离散化数据,数据下传周期由MATLAB/GUI发送定时器设定,根据伺服控制的响应特性,设定下传周期为10 ms,每个周期发送500个数据。
步骤二,在MATLAB/GUI程序中设计人机交互界面,如图4所示。需对MATLAB/GUI程序中的接收定时服务函数和发送定时服务函数进行修改,设置接收定时器定时周期为5 ms,并且要小于光电伺服控制程序数据上传周期,以防止数据丢失。按照传输协议,对接收定时服务函数增加数据传输协议解析函数,波形绘制函数等。对发送定时服务函数需增加激励信号波形离散化函数和传输协议封包函数。
步骤三,利用MATLAB/GUI程序观察光电稳定平台各个传感器的数据值,并可发送指令实现对光电稳定平台各种功能的控制,实现对光电伺服控制软件在线监控与调试,如图4所示。
在MATLAB/GUI界面上单击电机上电控制按钮,运动轴选择为俯仰轴,运动模式选择稳定模式,激励信号选择为正弦,幅值为60(°)/s,频率为4 Hz,点击陀螺数据显示按钮,此时可在主机程序界面上观察激励信号(虚线)和响应信号(实线)的曲线。可以选择不同类型的激励信号和运动模式来实现对光电稳定平台位置、速度和跟踪闭环状态性能的测试。在电机不上电的情况下还可以单独观察某个传感器的数据,判断它是否正常工作。
4、结论
智能变电站回路调试工具研究及设计 篇4
随着智能化和数字化技术的迅猛发展,以先进可靠、低碳环保为宗旨的智能设备日渐完善,这为变电站的智能化提供了基础。通过全站的信息数字化和共享标准化[1],能够实现对变电站各项基本功能的自动控制。
智能变电站采用的是电子式互感器,传统的试验设备和方法针对的是常规互感器,已不满足试验要求。总的来说,现有的设备和测试方法主要存在以下问题:
(1)设备体积大、重量大,试验接线复杂、繁琐,需要拆解一次侧设备,试验时间长;
(2)电压等级高,安全风险大,作业范围广,无法完整地校验整个二次回路及所有相关设备;
(3)网络复杂,存在误拔插其他间隔网线或光纤的可能,易造成光纤接头或网线水晶头损坏。
因此,是否能设计出这样一种产品,既能与传统测试设备相配合使用,提高设备利用率,又能在确保工作安全的情况下,全面地校验相关设备与回路?本文正是以此为出发点,进行相关的研究与设计。
1 智能站网络结构及数据传输方式
智能变电站的网络结构从上到下依次可分为站控层、间隔层和过程层三层[2]。过程层网络可分为传输采样数据的SV网和传输开关量、相关指令和告警信息的GOOSE网。本文所设计的产品主要用于对SV网中采样数据的模拟和试验。
电子式互感器在采集到电网一次数据如电流、电压后,通过采集单元将模拟信号转化为数字信号;再以光纤为媒介,将电流、电压等数据以数字信号传输到合并单元;合并单元对传输过来的数据进行合并和同步处理,并将处理后的数字信号上送至SV网,供其他相关设备使用,以实现数据的共享。传输流程如图1所示。
2 调试工具研究及电路设计
由于电子式互感器的输出为弱电压信号,在现场调试过程中,可通过模拟电子式互感器的输出来实现对二次设备和回路的调试。但现有的试验设备在输出小电压时,容易出现采样偏移,无法保障输出精度。因此,需设计一种转换回路,使得在充分利用原设备的情况下能保证采样输出的精度。本文以某110 k V变电站110 k V侧电子式互感器为例,研究和设计出了两套不同原理的工作方案,并对其性能进行了比较。
2.1 基于电压变换的电路设计
方案一:基于变压器电压变换的调压原理。通过三组三相四线制的电压变换来实现,每组采用3个变比为57.735 V/1.5 V的单相变压器,设计出如图2所示的工作电路来实现回路调试的相关功能。
2.2 基于回路分压的电路设计
方案二:基于电容与电阻的分压式调控原理。通过设计如图3所示的三组三相四线制的分压回路,来实现对输入电压的分配,使得输出电压满足电压变换要求,即能线性地实现从额定电压57.735 V变换到1.5 V的功能。
3 设备与回路的检验及对比
3.1 二次回路及设备检验
本文所设计的两套方案均用于模拟电子式互感器的输出信号。通过试验模拟装置设定电力系统发生故障时的参数情况,来对二次回路和设备的逻辑功能进行校验。
根据图4的回路测试工作调试流程可以看出,本文所设计的专用转换工具通过与传统模拟测试仪相连接,将试验仪所输出的故障参数转换为相对应的弱电信息传输至电子式互感器采集装置,再通过模数转换将信息传输给合并单元;合并单元再将信息合并处理后通过光纤网络发送至过程层交换机,最后将信息送达相关装置。
3.2 两种方法优劣对比
两种设计方案由于设计原理不同,在应用范围上存在差异。采用变压器降压原理的设计回路,其优点在于能将较大的电源功率传输至低压侧,因此能带相应负载,但其输出精度较回路控制的方案低;而采用回路控制方案,其输出精度可调性较强,能确保输出有较高的精度,但其只能用于提供信号输出,不适合在需带负载的工作环境中使用。
通过表1中的采样结果对比可知,方案二的电流、电压采样平均误差分别为1.72%和0.45%,均小于方案一的4.25%和1.40%,在三相采样精度上有明显优势。此外,由于电子式互感器采集装置自带电源,外界只是向该装置提供一个弱电压信号,因此不需要带负载,所以方案二不能带负载的劣势并不影响其输出精度。此外,由于不需要携带负载,采用方案二的另一个优点在于能以较小的输出功率实现弱电压的输出,回路中电流较小,对元器件损伤较小,也降低了产品制造成本。
4 结语
本文采用的测试方法,可与传统试验仪相结合,实现对智能站内二次设备及回路的校验,弥补了现有方法的不足。在实现完整地校验二次设备及回路的同时,避免了使用一次设备和高电压进行测试,保障了试验环境的安全。此外,通过对比文中所提出两种设计方案的优缺点和现场实际应用条件,选取出了精度较高、功率及损耗较小的方案。
参考文献
[1]冯军.智能变电站原理及测试技术[M].北京:中国电力出版社,2011.