使用微控制器(MCU)或数位信号处理器(DSP)来设计混合信号的内嵌式系统时,工程师向来习惯使用示波器加逻辑分析仪来测试和除错...
使用微控制器(MCU)或数位信号处理器(DSP)来设计混合信号的内嵌式系统时,工程师向来习惯使用示波器加逻辑分析仪来测试和除错。但称为MSO混合信号示波器的量测工具在侦测和找出内嵌式设计的问题时,可以提供相当多的优点。
为了说明MSO具有的独特优点,本文将针对使用微控制器之混合信号的内嵌式设计,介绍一种典型的启动(Turn On)与除错测试方法。我们会使用MSO来验证脉冲式Chirp类型输出信号的品质,该信号是由一个MCU及相配合的週边硬体,依据各种类型、数位与序列I/O(I2C)等输入条件所产生的。
不过,在探讨这个内嵌式设计与说明如何启动并利用MSO进行除错之前,先来定义所谓的MSO。
快速波形更新速率
MSO是一种混合式的测试仪器,结合了数位储存示波器(DSO)所有的量测能力与逻辑分析仪的部分量测能力,成为单一部协同运作的仪器。有了MSO,便可以在同一个显示幕上,观察多个时间同步的类型和数位波形,如图1所示。
MSO通常没有全功能的逻辑分析仪具备的先进数位量测能力与为数众多的数位采集频道,但MSO较为简单的特性,却可以避免如同全功能的逻辑分析仪在操作上可能会产生的複杂使用模式。事实上,MSO的主要优点就是它的使用模式,您可以使用MSO就像是使用一般的示波器一样,而且由于MSO是高度整合的仪器,因此相较于组合鬆散的双机式混合信号量测解决方桉,确实容易使用得多。
一部设计精良的MSO应该非常简易好用,可提供快速的波形更新速率,而且操作起来就像示波器一样,而不像逻辑分析仪。
图2是一个内嵌式Chirp产品的方块图,这是位于美国加州Chico的Solutions Cubed公司针对内嵌式的工业应用所开发出来的系统。此混合信号的内嵌式产品的核心是一个内部以16位元指令集运作的Microchip PIC18F452-I/PT微控制器,由于此MCU内建了汇流排结构,并且包含一个内嵌式的类型/数位转换器(ADC),因此这个混合信号的设计及其相关的外部电路相当适合利用MSO来进行启动与除错测试。
除此之外,虽然瞭解这个特殊设计的运作方式与您的设计应用之间没有太大的关连,但我们还是要简单介绍一下这个系统的运作方式,以便了解MSO是如何应用在这种类型的混合信号量测作业上。
这个设计的最终目标是要依据各种类型、数位和序列I/O输入条件,产生具有不同长度、形状和振幅的类型Chirp输出信号。
Chirp是一种RF的脉冲式类型信号,其中包含特定的周期数,常见于航太/国防及汽车的应用中。MCU会同时监测下列三种类型和数位输入信号,以决定所要产生之Chirp输出信号的类型特性。
.使用MCU其中一个可用的并列数位I/O埠来监测使用者控制面板的操作状态,以决定所要产生之Chirp输出信号的形状。
.透过MCU其中一个可用的ADC输入来监测类型式加速度感应器的输出位准,以决定所要产生之Chirp输出信号的振幅。
.利用MCU上专用的I2C序列I/O埠来监测序列I2C通讯连结的状态,以决定输出Chirp信号时所要产生的脉冲数。I2C通讯输入信号是透过此内嵌式设计中的另一个智慧型子系统组件来产生的。
MCU会依据这三种类型、数位和序列输入信号的状态,产生一连串并列的输出信号给外部的8位元DAC使用,让DAC产生一个具有不同振幅、形状和长度的类型Chirp信号。接着,再将DAC未经滤波、呈阶梯状的输出信号汇入一个类型的低通滤波器中,以便将输出信号平滑化和降低杂讯,此类滤波器也会造成输出信号的相位出现一个预知的偏移量。最后,MCU会透过另一个可用的数位I/O埠,产生一个并列的数位输出信号,以驱动LCD显示面板,提供系统状态的资讯。
内嵌式Chirp进行启动与除错测试
设计此系统中的MCU时,第一步需先设定MCU的I/O以提供所需的类型和数位I/O埠数。MicroChip的这个微控制器可以让您选择使用少一点的类型I/O埠数,而得到多一点的数位I/O埠数,反之亦然。
在设计MCU的程式以监测不同的输入信号并产生最后指定的输出信号之前,我们决定先开发测试程式,一次启动此内嵌式设计的一个区块,然后验证其运作是否正常以及信号的完整性,之后再考虑交叉使用的複杂度。
我们启动及侦错的第一个区块是外部的输出DAC和类型滤波器,为了验证此电路及内部的韧体能否正常运作,我们一开始设定MCU产生一个连续/反覆的正弦波,且无论输入控制/状态信号的条件为何,此正弦波的振幅都是固定的。
图3是MSO采集到MCU的数位I/O埠连续输出之数位信号的萤幕画面(下方的轨迹),该I/O埠会驱动外部DAC的数位输入端。此外,我们也可以看到时间同步的阶梯状转换器输出(上方的轨迹),以及经过类型滤波的输出信号(中间的轨迹)。由于这个信号是一个相当低位准的输出信号,只使用8位元DAC(最多256个位阶)的16个位阶而已,因此我们可以轻易地在示波器的显示幕上,观察到此转换器未经滤波呈阶梯状的输出特性。
我们设定当DAC的输出达到最高的输出位准(萤幕中心)时,进行触发采集。使用传统示波器的触发模式在这一点进行触发是不可能的,因为示波器触发需要透过信号缘的转态来启动,不可能使用示波器在信号的平顶处进行触发。
为了在输出信号的这个相位进行触发,我们依据DAC的数位输入信号(MCU I/O埠的输出),设定一组简单的单一级码型触发条件,其代表的数值与外部转换器的最高输出类型位准是一致的。
为了确切地在波形上的这一点进行触发,我们输入一个并列的二进位码型HHHL LHHL做为触发的条件。由于此MSO採用的是限定(Qualified)的码型触发模式,因此一定会在指定的码型开始出现的地方进行触发,而不会在不稳定转态的情况下触发,这是因为这种示波器需要逻辑位准维持至少2ns的稳定时间,且要在出现稳定的码型时才能进行触发。请注意,有些混合信号的量测解决方桉只要存在指定的码型触发条件就会进行触发,这表示可能会在码型的中间,或是在转换的状态下进行触发。若没有限定的码型触发条件,结果将会变成不稳定的触发。
精确触发DAC输出位准
图4是MSO的一个触发设定条件,可以精确地在DAC 50%的输出位准进行触发,之所以能够如此是因为除了类型触发条件之外,还能再加入并列的数位输入信号,做为码型触发条件的缘故。需要谨记的是,并非所有的MSO混合信号量测解决方桉都可以结合类型和数位条件来进行混合信号的触发。然而,由于两组类型的输出在50%的上升位准和50%的下降位准时,都可能达到相同的位准,因此除了8位元输入码型的触发条件之外,还要再加入类型频道2必须为低位准的条件,示波器才能利用类型和数位码型触发的组合,在想要的相位进行触发。请注意,当类型信号高于类型触发位准时,会被视为高位准,反之,当它们低于触发位准时,会被视为低位准。此外,图4中还可以看到自动化的参数量测结果,包括经过滤波的输出信号相对于DAC阶梯状输出的振幅、频率及相位偏移。
在启动并验证外部DAC和类型滤波电路能否正常运作之后,此设计启动程序的下一步是要依据序列I2C输入信号,产生一定数量的非反覆正弦波脉冲(Chirp)。图5是使用标准示波器的信号源触发模式,将不同长度的Chirp信号重叠显示(无限持续时间)的结果,使用传统示波器的信号源触发模式无法以特定长度的Chirp做为限定条件来进行触发。
运用MSO混合信号示波器的I2C触发能力,我们可以依据特定的序列输入条件,指示MCU产生特定长度(脉冲数)的Chirp输出,进行同步的采集,如图6所示。
由图6左可以看出,MSO混合信号示波器可以在I2C中出现特定的序列位址和资料内容时,触发采集到3个週期的Chirp,而图6右则显示出示波器可以触发采集到1个週期的Chirp。数位频道D14和D15(最上面两条蓝色的数位轨迹)分别定义为I2C时脉和资料输入触发信号,实际上,我们可以设定16个数位频道或2到4个类型示波器频道的任一个,连续对这两个序列输入信号进行触发。在监测序列输入和类型输出信号之际,我们也设定D0到D7来监测DAC输入(MCU输出)信号(底下8条数位轨迹),如图6所示。
虽然图中没有显示,但我们可以另外依据会决定输出信号振幅之类型式加速度感应器所输出的类型信号,设定示波器的另一个类型频道来同步探量、采集、以及触发MSO。此外,我们也可以利用MSO未使用的数位频道,监测或进一步以数位控制面板的输入信号或LCD输出驱动信号做为限定条件来进行触发。
以上介绍了如何运用MSO混合信号示波器,以更有效率且更有效的方式,启动及侦测採用微控制器(MCU)或数位信号处理器(DSP)之内嵌式混合信号设计的问题。未来您需要启动及侦测内嵌式混合信号设计的问题时,不妨考虑使用MSO来取代现有的DSO或逻辑分析仪的量测解决方桉。