访问电脑版页面

导航:老古开发网手机版其他

[转]单片机应用编程技巧(8)

导读:
关键字:

71.      如何编写一个很好测试程序代码以达到较高的功能测试覆盖度?

:应在芯片电路最初的设计及仿真阶段,就要规划好测试的方法,由于现今已经有很power的芯片设计和测试pattern工具,所以很快就能算出Test pattern coverage(测试覆盖率-电路logic0/1toggle rate)是否合要求!至于测试MCU,应该是执行一些内建测试指令使所有电路都曾经toggle过即可,这和指令组合变化无关。

 

72.      如果封装对OTP产生了影响,导致芯片不能正常工作,而MCU的逻辑电路又是测试合格的,如何解决呢?

:封装后,我们分三个步骤测试OTP1、查空,看芯片内部ROM是否为空。2、写入一部分所需Code,验证是否ok3、测试逻辑电路,一旦裸片被刮坏的话,静态电流就会变大。一旦这三个步骤测试OK,那么基本上OTP封装片就是合格的。

 

73.      在此以PIC16F87X为例:MCU处于sleep时,用WDT定时,如何使其在宽温度范围内工作定时相对一致,误差尽量小呢?

:一般MCU处于sleep时,WDT(看门狗)是停止状态,用WDT的主要目的,是在程序运行当中,MCU受到外面杂讯干扰,导致程序运行乱掉或MCU当掉,此时就须WDT(一般WDT时钟来源是选用内部RC振荡)来自救及做复位动作,而当MCU处于sleep时,其MCU是处于省电模式状态,因主振停止所以程序不运行,此时就WDT可以停止动作(此模式WDT时钟来源是选用主晶振系统),如果MCU处于sleep时,又要WDT能继续动作,此时只有一个目的,就是用WDT的时间段来做定时工作(因程序停止运行,无法清除WDT计数器,故WDT计数一定会溢出),而在这个模式下因主振停止(因要省电)WDT时钟来源只能选用内部RC振荡,所以RC振荡的频率会受工作温度及电压变动而产生飘移,所以要省电模式下不建议用WDT来做定时。

 

如果要省电模式下做定时工作,有一个很好建议,可采用HOLTEK MCU双振荡系列,如HT49XXHT47XXHT48XXHT46R6X等系列,其优点在省电模式下,其主振停止而保持第二振荡系统维持振荡,此振荡系统为RTC(Real Time Clock 32768Hz振荡系统),工作电流维持在2~3uA(工作电压3V)之间,又因是用32768晶振,不受工作温度及电压变动的影响,可准确做定时工作。    

 

74.      在开发一个需要长时间可靠运行的电子测量设备,有关单片机(DSP)系统的故障自诊断相关问题(包括主控制器,外围器件,如ADRAMROM等)如何解决?

DSP是专门用在数字信号处理的晶片,与单片机相比DSP器件具有较高的集成度,而且具有更快的CPU,更大容量的记忆体,计算能力强大,运算速度快,能够满足系统的要求内置有串列传输速率发生器和FIFO缓冲器。提供高速,同步串口和标准非同步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。DSP器件采用改进的哈佛结构,具有独立的程式和资料空间,允许同时存取程式和资料。内置高速的硬体乘法器,增强的多级流水线,使DSP器件具有高速的资料运算能力。DSP的计算能力虽然很强,但其事件管理能力较弱,而且直接支援的I/O口很少。为了方便地实现人机交互,采用DSP与单片机协同工作的方式:以单片机为主机,通过通讯介面对DSP实现控制;同时利用单片机较强的外围设备管理能力实现人机介面,显示等功能。主要工作流程是:弹簧的输入输出信号经过滤波电路进行调理后,由A/D转换器转换为数字信号,再进入DSP进行运算,得到的诊断结果通过通讯介面电路送入单片机,单片机将结果显示在液晶显示器上,并经过串口送入到其它应用介面。

 

因为DSP电路完成数据采集及数字滤波,软件的设计主要包括DSP编程和单片机编程。DSP程式的主要任务是初始化, 管理DSP外围电路和完成,在故障自诊断方面,主控制器部份大都是利用内置的演算法完成故障诊断等任务, 单片机程式包括键盘控制程式,液晶驱动显示程式,与DSP及其它机器通信的程式。其它部份的故障自诊断,可参考本板开头说明部份来处理等。

 

75.      在电路上有一个温控开关串联在供电回路,正常情况电阻很小,温度升高后,电阻增加。这时cpu的工作电压大概在31v左右,好象是工作在复位状态,液晶不断闪烁,想在软件中这样判断:如果有连续5次上电复位,且每次间隔不超过100ms,就关闭所有功能。但是这样的话,cpu会一直工作在复位状态,会不会有问题?

:也就是说,电压会在31V左右波动,而CPU的最低工作电压是在31V,所以会造成CPU一直复位。如果是这种情况,可能会造成CPU复位不正常。正常的上电复位是指电源电压从0V上升到VDD;掉电复位是指电源电压从VDD跌落到0V,后又恢复到VDD的过程;所以不管怎样,复位过程必须是电压从0V上升到VDD的过程。如果象所说的那样,电压从31V以上掉到31V以下,而又没有完全掉到0V,然后又上升,这样很容易造成CPU复位不完全而无法正常工作。

 

一般的解决方法是采用低电压复位电路,可以采用三极管复位电路,或采用低电压复位IC,如HOLTEKHT70xx系列就是很好的低电压复位IC,可以到以下网址查阅到相关的资料:http://www.holtek.com.cn/products/power_4.htm 

 

76.      比如用40050,在程序语句上如何利用SUBB实现呢?

MCS-51单片机的指令系统中的减法指令只有一组带借位的减法指令(SUBB),而没有不带借位的减法指令。若要进行不带借位的减法操作,则需要在减法之前先用指令对进位C清零,具体指令:CLR C ,然后再相减。在进行多字节减法时首先应进行低字节的不带进位的减法,具体做法是先 CLR C,再用SUBB,而以后的高字节相减则都需要使用带进位的减法,直接使用SUBB指令即可。

 

77.      单片机系统为了省电,经常要进入掉电(POWER DOWN)状态,此时单片机的I/O口的PIN应设置为何种状态能获得最低功耗?

:单片机I/O口可用作输入和输出状态。以HOLTEK一款最简单的I/O单片机HT48R05A-1为例,当作为输入时可设置成带上拉电阻的斯密特输入;作为输出时是CMOS输出。如果程序进入省电状态(HALT)时,首先,各个有用的I/O仍需输出一定值,以保证外部电路工作正常,同时请小心不要让外部电路保持长耗电状态(如长时间导通继电器);对于暂时不用的I/O口,为了节约功耗我们建议将I/O置为输出状态,并且输出为低。

 

78.      怎么样才能快速学会使用51系列和cygnal系列单片机?

:建议购买一套ARM的开发学习板和仿真器(可以在网上查到适合自己的),结合教材在实践中学习ARM的基本开发方法。首先可以通过简单的程序编写熟悉ARM的指令集、体系结构、运行模式等基本原理,如果有一定的单片机知识基础,相信很快就能对此熟练掌握。接下来,因为32ARM的应用大多会使用操作系统,所以此时可根据个人的计算机知识程度选择一个适合自己学习的嵌入式实时操作系统,多上机实作掌握嵌入式系统设计的基本方法,学习操作系统的应用程序的编程,并进一步掌握包含软硬件的基于ARM的系统应用开发。这一步需要具有高级语言的编程及操作系统知识,可能对非计算机专业的人员会有较大的难度,不过事在人为,相信只要有决心,难关总是可以被攻破的。另外,网上也有很多关于ARM开发的论坛,可以常上去下载相关的学习资料,请教高手,相互交流,相信会有所帮助。

 

79.      同样的功能实现,采用RISCCISC内核的MCU,代码量哪个更大,即哪种需要更大的RAM以及ROM

:微处理随着微指令的复杂度可分为RISCCISC这两类。下面先针对这两项做说明:

 

一、复杂指令集电脑CISC(Complex Instruction Set Computer)

 

CISC是一种为了便于编程和提高记忆体访问效率的晶片设计体系。早期的电脑使用组合语言编程,由于记忆体速度慢且价格昂贵,使得CISC体系得到了用武之地。在20世纪90年代中期之前,大多数的微处理器都采用CISC体系──包括Intel80x86Motorola68K系列等。

 

1CISC体系的指令特征

 

使用微代码。指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。

 

庞大的指令集:可以减少编程所需要的代码行数,减轻程式师的负担。高阶语言对应的指令集:包括双运算元格式、寄存器到寄存器、寄存器到记忆体以及记忆体到寄存器的指令。

 

2CISC体系的优缺点

 

优点:能够有效缩短新指令的微代码设计时间,允许设计师实现CISC体系机器的向上相容。新的系统可以使用一个包含早期系统的指令超集合,也就可以使用较早电脑上使用的相同软体。另外微程式指令的格式与高阶语言相匹配,因而编译器并不一定要重新编写。

 

缺点:指令集以及晶片的设计比上一代产品更复杂,不同的指令,需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。

 

二、精简指令集电脑RISC(Reduce Instruction Set Computer)

 

RISC是为了提高处理器运行的速度而设计的晶片体系。它的关键技术在于流水线操作(Pipelining):在一个时钟周期里完成多条指令。而超流水线以及超标量技术已普遍在晶片设计中使用。RISC体系多用于非x86阵营高性能微处理器CPU,像HOLTEK MCU系列等。

 

1RISC体系的指令特征

 

精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。

同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。

单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。

2RISC体系的优缺点

 

优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC24倍。由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术, 开发更快的下一代处理器。

 

缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1 Cache(一级缓存)。

 

综合上面所述,若要再进一步比较CISCRISC之差异,我们可以由以下几点来分析:

 

1、指令的形成

CISC因指令复杂,故采微指令码控制单元的设计,而RISC的指令90%是由硬体直接完成,只有10%的指令是由软体以组合的方式完成,因此指令执行时间上RISC较短,但RISC所须ROM空间相对的比较大,至于RAM使用大小应该与程序的应用比较有关系。

 

2、定址模式

CISC的需要较多的定址模式,而RISC只有少数的定址模式,因此CPU在计算记忆体有效位址时,CISC占用的汇流排周期较多。

 

3、指令的执行

CISC指令的格式长短不一,执行时的周期次数也不统一,而RISC结构刚好相反,故适合采用管线处理架构的设计,进而可以达到平均一周期完成一指令的方向努力。显然的,在设计上RISCCISC简单,同时因为CISC的执行步骤过多,闲置的单元电路等待时间增长,不利于平行处理的设计,所以就效能而言RISCCISC还是站了上风,但RISC因指令精简化后造成应用程式码变大,需要较大的程式记忆体空间,且存在指令种类较多等等的缺点。

 

80.  如何设计出具有照像、存储、输出、视频同步。本线路可接监视器,用为监视之用;在不拍照时,图像是时实的,在拍照的时候,在监视器的图像会停在那,显示所照的相片。照下来的照片可存储起来,要查看的时候可以调用。如何才能做到?   

:针对数位相机一些技术层面说明:

 

数位相机使用JPEGMPEG-4影像压缩标准 ,其负责中枢的专用控制晶片组逐渐走向单晶片化,一般单晶片内含资料压缩与记忆体控制 。若从整个系统的控制方式来看,影响数位相机质量的参数包含:镜头,曝光装置,观景窗,瞻前萤幕、影像储存,Gamma修正 ,彩色平衡与修正,储存装置与编辑软体等,主要分为两大控制部份:其一是负责I/O介面,JPEG影像处理,资料压缩与储存,其二是负责处理所有自动光学处理功能如自动光圈(Auto Iris,简称AI)、自动聚焦(Auto Focus,简称AF),自动曝光(Auto Exposure,简称AE)与白平衡(White Balance)控制,过去这两大部份的控制系使用两颗微控制器(MCU)分别处理,目前已渐由单颗MPUDSP另加一颗微控制器组成所取代。

 

经由光电转换元件CCD(CMOS Sensor)将撷取到的物体所反射光的亮度、色彩与分布处理以后转换成数位信号,再将拍得图像存至数位相机的记忆体里。信号传递方式是类比RGB。信号自CCD转换成数位RGB。,整个过程中经信号放大、Gamma修正与白平衡修正才得以达成;数位RGB。资料再转换成亮度资料(Y)与两色差(CrCb)。当影像资料进行压缩,压缩比若为1/4时图像资料所占的记忆容量就跟着降至1/4,例如记忆容量6Mbit的图像资料减至15MbitYCrCb资料经再次取样重排后一个图框的数位资料记忆容量整个会降至3Mbit,其中Y15Mbit CrCb两个合占15Mbit,整个转换过程不会影响垂直与水平的解析度,称为线的再次取样回复使用。

 

再论CCD(Charged Coupled Device)中文译为「电子耦合元件」,它就像传统相机的底片一样,是感应光线的装置,可以将它想像成一颗颗微小的感应粒子,铺满在光学镜头后方,当光线与影像从镜头透过、投射到CCD表面时,CCD就会产生电流,将感应到的内容转换成数位资料储存起来。CCD画素数目越多、单一画素尺寸越大,收集到的影像就会越清晰。因此,尽管CCD数目并不是决定影像品质的唯一重点,我们仍然可以把它当成相机等级的重要判准之一。

 

播放处理系经由记忆体读出所撷取之数位信号资料,透过解压缩电路及内插法处理转成PCTV需要之信号。曝光控制,则由CCD(或CMOS)驱动电路里的Timing Generator来负责。


来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!