什么是软件调试
软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
(1)测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
(2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
(3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。
(4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程,并且在开发的整个过程中都必须进行调试。
(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。
(6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
(7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。
1, 软件调试的目的—— A发现错误B 改正错误C改善软件功能D验证软...
专业摄影中,除了纪实摄影外,后期处理是摄影的重要组成部分。
一般来讲后期处理需要的精力都会超过前期拍摄(包括路途)数倍。
经典摄影展品更是会做多次后期处理以在每次展出时获得更好的效果。
胶片有暗房技术,数码有数字后期技术。
再说摄影比赛和作品展,一般这类活动都要求画幅比较大,因此胶片占的比例还是很高的。
这部分作品中的一部分是使用传统的暗房技术做后期处理的,还有一部分是电分扫描转成数字格式和数码拍摄一样使用软件做后期处理的。
不管怎样,肯定是要做后期处理的。
有人提到“权威摄影比赛”会将摄影和后期分开。
我质疑该比赛的权威性,很可能连专业比赛都算不上。
就拿黑白胶片来说,拍摄下来以后,一进入冲洗阶段就意味着后期处理。
因为黑白胶片的冲洗方案及其繁杂,冲洗决定了最终出片的影调、宽容度、明/暗部细节等方面,不同的冲洗方案就意味着不同的影像效果。
电阻的特点,作用,分类。
要详细
电阻种类按照工艺可以分为碳膜电阻和金属膜电阻。
电阻器通常分为三大类:固定电阻,可变电阻,特种电阻。
在电子产品中,以固定电阻应用最多。
常用、常见的有RT型碳膜电阻、RJ型金属膜电阻、RX型线绕电阻,近年来还广泛应用的片状电阻。
电阻器型号命名:R代表电阻,T-碳膜,J-金属,X-线绕,是拼音的第一个字母。
在国产老式的电子产品中,常可以看到外表涂覆绿漆的电阻,那就是RT型的。
而红颜色的电阻,是RJ型的。
按照功率可以分为小功率电阻和大功率电阻。
大功率电阻通常是金属电阻,实际上应该是在金属外面加一个金属(铝材料)散热器,所以可以有10W以上的功率;在电子配套市场上专门卖电阻的市场上可以很容易地看到。
金属电阻通常是作为负载,或者作为小设备的室外加热器,如,在CCTV的一些解码器箱和全天候防护罩中可以看到。
电阻在电路中起到限流、分压等作为。
通常1/8W电阻已经完全可以满足使用。
但是,在作为7段LED中,要考虑到LED的压降和供电电压之差,再考虑LED的最大电流,通常是20mA(超高亮度的LED),如果是2*6(2排6个串联),则电流是40mA。
不同厂家选用不同材料的,其压降也有所不同。
所以需要加上电实测一下。
但是,不要让单只LED的电流超出20mA,这时加大电流亮度也不会增加,但是LED的寿命会下降,限流电阻的大小就是压降除以电流。
电阻的功率随之可以算出。
电位器 电位器就是可调电阻。
它的阻值在1~nΩ之间变化。
如N=102=10*10的2次方,也就是1000欧姆,1KΩ 。
同理,502=5KΩ。
电位器又分单圈和多圈电位器。
单圈的电位器通常为灰白色,面上有一个十字可调的旋纽,出厂前放在一个固定的位置上,不在2头; 多圈电位器通常为蓝色,调节的旋纽为一字,一字小改锥可调; 多圈电位器又分成顶调和侧调2种,主要是电路板调试起来方便。
有些是仪器仪表设备,通常是模拟电路,有一些不确定的因素,需要调节才能达到最理想的效果;有些是设备本身就需要输出一个可变的东西,如电压和电流,也需要一个电位器。
排电阻 是sip n的封装,比较常用的就是阻值502和103的9脚的电阻排;象sip9就是8个电阻封装在一起,8个电阻有一端连在一起,就是公共端,在排电阻上用一个 小白点表示。
排电阻通常为黑色,也有黄色;51系统的P0需要一个排电阻上拉,否则,作为输入的时候,不能正常读入数据;作为输出的时候,接7407是可 以的,不需要上拉电阻;但是,接其它的芯片,还是不行。
有兴趣可以看看51的P0的结构;没有兴趣,依葫芦画瓢,照做没错。
光敏电阻 当照在光敏电阻上的光强变化时,电阻值也在变化。
显然这是半导体材料的特性。
使用光敏电阻可以检测光强的变化。
电阻的封装 电阻的封装有表面贴和轴向的封装。
轴向封装有:axial0.4、axial0.6、axial0.8等等;axial在英语中就是轴的意思;表面贴电阻的封装最常用的就是0805;当然还有更大的;但是更大的电阻不是很常用的。
搞硬件和软件是有所不同的,搞硬件的人,一定要精确。
在硬件上的一个小的错误,都会造成这块板的推倒重来;因为产品是不能有飞线的;而这个小小的错误相当于软件上的一条语句,在软件调试阶段悄悄改掉,可以神不知鬼不觉;在PCB上,特别明显,而且谁都知道。
一般来说单片机开发系统应具备哪些功能
单片机应用系统的开发大体可分为三个阶段1)确定任务,完成总体设计 (1)确定设计任务和系统功能指标,编写设计任务书 在单片机应用系统开发的前期阶段,首先必须认真细致地调查研究,深入了解用户各个方面的技术要求,了解国内外相似课题的技术水平,进行系统分析,摸清软件、硬件设计的技术难点等。
然后确定课题所要完成的任务和应具备的功能,以及要达到的技术指标。
综合考虑各种因素提出设计的初步方案,编写设计任务书。
设计任务书不但要明确系统设计任务,还要对系统规模做出规定,如主机机型、分机机型、配备哪些外围设备等,这是硬件设计、成本的依据。
同时还应详尽说明系统的指标参数,操作规范,这是软件设计的基础。
(2)总体设计 拟定总体设计方案一般要通过认真调研、论证,最后定稿,以避免方案上的疏忽造成软件、硬件设计产生较大的返工,延误项目开发进程一总体方案的关键性计算难点,应设专题深入讨论,如传感器的选择。
传感器常常是测试系统中的关键环节,一个设计合理的测控系统,往往会因传感器精度、非线性、温漂等指标限制,造成系统达不到指标要求。
总体设计要选择确定系统硬件的类型和数量,绘出系统硬件的总框图。
其中主机电路是系统硬件的核心,耍依据系统功能的复杂程度、性能指标、精度要求,选定一种性能价格比合适的单片机型号,同时根据需要选定外围扩展芯片、人机接口电路及配置外部设备。
输入/输出通道是系统硬件的重要组成部分,总体设计要根据信号参数、功能指标要求合理选择通道数量、通道的结构、抗干扰措施、驱动能力等,确定输入/输出通道所需的硬件类型和数量。
硬件电路各种类型的选择,一般都要进行综合比较,这些比较和选择必须是在局部试验的基础之上完成的。
总体设计还应完成软件设计任务分析,绘出系统软件的总框图。
设计人员还应反复权衡哪些功能由硬件完成,哪些任务由软件完成,对软件、硬件比例做出合理安排。
总体设计一旦确定,系统的大致规模、软件的基本框架就确定了。
然后就可将系统设计任务按功能模块分解成若干课题,拟定出详细的工作计划,使后面的软件、硬件设计同时并行展开。
2)硬件、软件设计与调试 U209B (1)硬件设计 总体设计之后,就进入正式研制阶段。
为使硬件设计尽可能合理,应注意下列原则。
①尽可能选择典型电路,采用硬件移植技术,力求硬件标准化、模块化。
②尽可能选择功能强的新型芯片取代若干普通芯片,以简化硬件电路,同时随着新型芯片价格不断降低,硬件系统成本也可能育所下降。
③系统扩展与配置应充分满足应用系统的功能要求,并留有余地,以备将来系统维护及更新换代。
④尽可能以软代硬。
软、硬件具有可换性,硬件多了不但会增加成本,而且使系统出现故障的概率增加。
以软代硬的实质是以时间代空间,可见这种代替是以降低系统的实时性为代价的。
同此,考虑以软代硬的原则,应以不影响系统的性能为前提。
⑤可靠性及抗干扰设计。
为确保系统长期可靠运行,硬件设计必须采取相应的可靠性及抗干扰措施,包括芯片、器件选择,去耦滤波,合理布线,通道隔离等。
⑥必须考虑驱动能力。
单片机各I/O端口的负载能力有限,外部扩展应不超过其总负载能力的70%,如果扩展芯片较多,可能造成负载过重,系统工作不可靠。
此时,应考虑设置线路驱动器。
⑦监测电路的设计。
系统运行中出现故障,应能及时报警,这就要求系统具有自诊断功能,必须为系统设计有关监测电路。
⑧结构工艺设计。
结构工艺设计是单片机应用系统设计的重要内容,可以单独列为硬件设计、软件设计之外的第三项设计内容,这里把它放在硬件设计中来研究。
结构工艺设计包括系统设备的造型、壳体结构、外形尺寸、面板布局、模块固定连接方式、印制电路板、配线和插接件等。
要求尽量做到标准化、规范化、模块化。
一般以单片机为核心的产品,其单片机系统都足内装式、嵌入式,与设备本身有机地融为一体,这类产品都要求结构紧凑、美观大方,人机界面友好,便于操作、安装、调试及维修。
为提高硬件设计质量,加快研制速度,通常在设计印制电路板时,考虑开辟一小片机动布线区。
在机动布线区中,可以插入若干片集成电路插座,并有金属化孔,但无布线。
当样机研制中发现硬件电路有明显不足需要增加若干元器件时,可在机动布线区中临时拉线来完成,从而避免大返工。
(2)软件设计 单片机应用系统的设计以软件设计为重点,软件设计的工作量比较大。
首先将软件总框图中的各功能模块具体化,逐级画出详细框图,作为软件设计的依据。
编程可采用汇编语言或各种高级语言。
对于规模不大的软件多采用汇编语言编写,而对于较复杂的软件,且运算任务较重时,可考虑采用高级语言编程。
C51、C96交叉编译软件是近年来较为流行的一种软件开发工具,它采用c语言编写源程序。
软件设计应当尽可能采用结构化设计和模块化编程的方法,这有利于查错、调试和增删程序。
为提高可靠性,应实施软件抗干扰措施,编程必须进行优化,仔细推敲,合理安排,利用各种程序设计技巧,设计出结构清晰,便于调...
汽车制动主缸是起什么作用的?它的原理是什么?电子技术在这方面...
ABS的匹配是一个非常复杂的过程,需要做大量的实车试验。
由于试验存在着很大的危险性,所以在进行实车试验之前一定要先对控制软件做一定程度的验证,如轮速、轮加减速度、滑移率计算的准确性,以及电磁阀、报警灯、电机的正确运转等。
车载的ABS电子控制单元不具备信号发生和数据显示的功能,而开发板弥补了这一缺陷。
总体结构介绍开发板基本上具有六通道ABS电子控制单元的所有模块,包括单片机、电磁阀驱动、电机驱动、电源模块、轮速处理等,另外还有轮速发生模块和显示模块等。
液晶屏下方的电路板(简称电路板1)用来产生方波信号,发送到主控芯片XC164CS的高速输入捕捉口(CAPCOM),加速、减速、制动按钮用来控制方波信号的频率,可模拟车辆的加速、减速和制动过程。
主控芯片经过计算后,又通过串口将计算结果,如轮速、轮加减速度、滑移率等发送给电路板1,再驱动液晶屏显示数据。
同时主控芯片根据不同的计算结果驱动报警灯、电机、继电器和阀等外围设备,以此模拟ABS的工作过程。
开发板的芯片大部分采用Infineon公司生产的专用芯片,它们被国内外的ABS生产商广泛采用。
主要功能模块及使用的芯片如表1所示:功能模块使用芯片备注主芯片MCU1XC164CS主要完成信号处理、计算、控制任务监控芯片MCU2C505CA主要负责监控主芯片工作外部CAN接口TLE6250由主芯片提供控制诊断模块K-lineTLE6259由监控芯片提供控制报警灯、继电器驱动TLE6210--内部CAN通信--连接两个MCU阀驱动TLE6228共有12路驱动电源及复位TLE7469提供双电压表1 功能模块及使用芯片 下面对主控芯片XC164CS和监控芯片C505CA作较为详细的介绍。
主控芯片XC164CSXC164CS是Infineon公司近年推出的16位高档单片机。
该单片机有如下优点:运算速度快:能达到40MHz的CPU频率。
存储器容量大: -2kB双口RAM用于变量,寄存器池和系统堆栈; -附加的2kB高速数据SRAM用于变量和用户堆栈; -2kB高速SRAM用于代码和数据; -128k的flash支持在线编程。
中断源多:接收70种中断,分为16个中断优先级(ILVL),每个中断优先级中分为4个组优先级(GLVL),数字越高,优先级越高。
具有在片调试接口OCDS,OCDS接口标准测试协议(与IEEE1149.1兼容),主要用于芯片内部测试。
现在的多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。
标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
OCDS接口扩充了JTAG接口,其功能见表2。
TMS模式选择OCDS接口大大方便了软件调试工作,这在下面部分将详细描述。
另外该芯片还具备外围IO口多、时钟多、AD转换口多等优点,并且具有两个CAN接口。
TDO测试数据输出CPUCLKCPU时钟TDI测试数据输入TRST测试复位输入TCK测试时钟输入BRKIN硬件中断输入TRAP陷阱条件VCC正电压(5V)GND数字地RESET芯片复位BRKOUT硬件中断输出OCDSOCDS使能表2 OCDS接口功能描述 XC164CS开发方法XC164CS可以通过三种方式跟上位机连接进行在片仿真:串口方式(即bootloader模式)、并口方式(LPT)和USB口方式(即OCDS)。
其中并口方式要求上位机的主频小于800MHz,给应用带来不便。
串口方式,速度较慢。
需要占用一个串口,而且调试过程中经常出现连接丢失的情况,因此也不予采用。
OCDS接口是XC164CS专门提供的调试接口,也是其不同于Infineon其它164系列单片机的主要特征之一,因此在开发板研制过程中采用OCDS的调试方式。
软件采用的编译器是Keil uVision2 (PK166,摘编者注),该编译器调试功能强大,不仅能够进行纯软件仿真,而且上位机能够通过并口或者USB口跟用户板进行连接,实现在片调试。
连接关系如图3所示。
其中的ULINK是一种USB接口到OCDS接口的适配器,它具有如下特性:通过USB口实现上位机和用户板的快速连接; 通过在片调试接口OCDS实现在片调试功能; 通过OCDS实现片上flash的烧写功能。
监控芯片C505CA监控芯片跟主控芯片进行实时通信,从而保证主控的正确运行,监控芯片还行使故障诊断的职能。
C505CA是Infineon公司的一款8位单片机,它基于8051内核,优点在于:有较高的运算速度,能达到20MHz的工作频率; 具有片上CAN接口,方便跟主控芯片通信; 支持在片仿真; 采用贴片封装。
开发板工作过程开发板上电后,液晶屏显示一些说明信息,同时开始模拟ABS在实际车辆中的上电自检:报警灯亮快闪几秒,然后模拟电机和12个电磁阀的LED依次点亮,最后,所有的LED闪一次。
自检之后,液晶屏开始显示XC164CS传送的轮速计算值,轮速脉冲是由电路板1产生的;如果当前轮速较低,则模拟电机和12个电磁阀的LED会循环点亮,表示ABS系统在较低车速下,不会进行防抱制动,只进行常规的在线检查;如果当前轮速较高,则除报警灯外的所有LED会同时闪烁,表明ABS系统在该速度下会起作用。
对于轮速的改变,需要用到开发板上的3个按键,按住UP键不动,则轮速升高,按住DOWN键不动,则轮速降低,按一下...
我学蓝牙,需要什么软件调试和编程
1. 检查电路2. 通电观察3. 静态调试4. 动态调试5. 指标测试1.检查电路任何组装好的电子电路,在通电调试之前,必须认真检查电路连线是否有错误。
对照电路图,按一定的顺序逐级对应检查。
2.通电观察一定要调试好所需要的电源电压数值,并确定电路板电源端无短路现象后,才能给电路接通电源。
电源一经接通,不要急于用仪器观测波形和数据,而是要观察是否有异常现象,如冒烟、异常气味、放电的声光、元器件发烫等。
如果有,不要惊慌失措,而应立即关断电源,待排除故障后方可重新接通电源。
然后,再测量每个集成块的电源引脚电压是否正常,以确信集成电路是否已通电工作。
3.静态调试先不加输入信号,测量各级直流工作电压和电流是否正常。
直流电压的测试非常方便,可直接测量。
而电流的测量就不太方便,通常采用两种方法来测量。
若电路在印制电路板上留有测试用的中断点,可串入电流表直接测量出电流的数值,然后再用焊锡连接好。
若没有测试孔,则可测量直流电压,再根据电阻值大小计算出直流电流。
一般对晶体管和集成电路进行静态工作点调试。
4.动态调试加上输入信号,观测电路输出信号是否符合要求。
也就是调整电路的交流通路元件,如电容、电感等,使电路相关点的交流信号的波形、幅度、频率等参数达到设计要求。
若输入信号为周期性的变化信号,可用示波器观测输出信号。
当采用分块调试时,除输入级采用外加输入信号外,其他各级的输入信号应采用前输出信号。
对于模拟电路,观测输出波形是否符合要求。
对于数字电路,观测输出信号波形、幅值、脉冲宽度、相位及动态逻辑关系是否符合要求。
在数字电路调试中,常常希望让电路状态发生一次性变化,而不是周期性的变化。
因此,输入信号应为单阶跃信号(又称开关信号),用以观察电路状态变化的逻辑关系。
5.指标测试电子电路经静态和动态调试正常之后,便可对课题要求的技术指标进行测量。
测试并记录测试数据,对测试数据进行分析,最后作出测试结论,以确定电路的技术指标是否符合设计要求。
如有不符,则应仔细检查问题所在,一般是对某些元件参数加以调整和改变。
若仍达不到要求,则应对某部分电路进行修改,甚至要对整个电路重新加以修改。