微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 关于单片机的N多问题

关于单片机的N多问题

时间:11-25 来源:互联网 点击:

Set Computer), RISC代表MCU的所有指令都是利用一些简单的指令组成的,简单的指令代表 MCU 的线路可以尽量做到最佳化,而提高执行速率,相对的使得一个指令所需的时间减到最短。HOLTEK的一系列MCU便是采用 RISC 结构来设计。

再说RISC因为指令集的精简,所以许多工作都必须组合简单的指令,而针对较复杂组合的工作便需要由『编译程式』(compiler) 来执行,而 CISC MCU因为硬体所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,compiler 的工作因而减少许多。以一个数值运算程式来说,使用 CISC 指令集的MCU运算对于一个积分运算式可能只需要十个机器指令,而 RISC MCU在执行相同的程式时,却因为CPU 本身不提供浮点数乘法的指令,所以可能需要执行上百个机器指令 (但每一个指令可能只需要 CISC 指令十分之一的时间),而由程式语言转换成机器指令的动作是由程式语言的 Compiler 来执行,所以在 RISC MCU的Compiler 便会较复杂 。因为同样一个高阶语言 A=B*C 的运算,在 RISC MCU转换为机器指令可能有许多种组合,而每一种组合的『时间/空间』组合都不尽相同。所以 RISC 与 CISC 的取舍之间,似乎也是MCU硬体架构与软体(Compiler) 的平衡之争,应该没有绝对优势的一方,只能说因应不同的需求而有不同的产品,例如工作单纯的印表机核心 MCU,便适合使用效能稳定,但单位指令效率较佳的 RISC MCU。

对单片机处理方式而言,目前单片机的系统结构有两种类型:一种是将程式和资料记忆体分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。另一种是采用和PC机的冯。诺依曼(Von Neumann)类似的原理,对程式和资料记忆体不作逻辑上的区分,即普林斯顿(Princeton)结构.

67. 在很多情况下,以单片机为主控制器的测量系统要长时间保持无故障运行,因此其自诊断就成为关键。请介绍一下有关单片机系统的故障自诊断的一些知识?

答:要保证系统可以长时间故障运行,防止干扰是很重要的。最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。

一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。

68. MCU的功能只有在ROM中写入程序代码后才能显现出来。测试MCU时都是向ROM写入程序后并向输入管脚提供相应的测试矢量的情况进行的,然后对于OTP型MCU,只能一次编程,所以每次对封装后成品测试时,测试一个就废掉一个。据我所知,Holtek的MCU多为OTP版本单片机,Holtek是如何解决这个测试问题?

答:如果是IC生产厂商的测试人员,以HOLTEK的经验来说测试分两个步骤。一、对裸片的ROM烧入 Code测试,看IC是否能正常写入程序。如果测试通过,则使用紫外线擦去裸片的ROM Code,进行封装。二、使用外部测试电路来测试封装IC的逻辑电路。

如果是从厂商处拿到封装片后自行测试销售,那么所能做的就只是通过测量I/O口电阻,二极管值等参数,来测量IC的逻辑电路。无法测试ROM code是否能写入正确,除非是IC的原设计者,知道如何对IC预留的Test Rom(如果有预留的话)进行测试。

69. 作为IC生产厂商的测试人员,是在整个Wafer上进行的,还是将Wafer切割成Die后对单个Die进行?

答:裸片烧ROM Code是使用针压机器来烧录,所以必须是整个Wafer一起烧,单个Die无法排列整齐供烧录。

70. “裸片烧ROM Code是使用针压机器来烧录,所以必须是整个Wafer一起烧,单个Die无法排列整齐供烧录。” 这个阶段测试仅用来测试OTP本身,还是写入有针对性的程序代码并在输入管脚施加相应测试矢量来测试整个MCU的功能是否正确?

答:在芯片还未经分割的wafer阶段,在测试时当然要把DC test, Function test……等完成。如果是OTP 型式的芯片还需把烧code工作也一并解决。切割后就处理困难了!Probe Tester其实分两部份,Probe(针压)是机械部份,有位置对准和芯片排测功能。可把芯片上各端口引出至后部的Tester,Tester基本上是个特别配套的计算机装置,经编写不同的测试程序便可测试不同的芯片。

71. 如何编写一个很好测试程序代码以达到

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top