DIY编程器网

标题: 基于串行总线的测量仪器模拟节点设计 [打印本页]

作者: liyf    时间: 2012-1-21 23:46
标题: 基于串行总线的测量仪器模拟节点设计
0 引 言    智能测量仪器作为信息获取工具,是一种集多个门类、多种学科技术于一体的复杂有机体。随着测试技术、计算机技术和大规模集成电路技术的飞速发展,现代智能测量仪器不但对功能、性能、精度和指标的要求越来越高,而且对系统可靠性、可维修性的要求也越来越高。因此,这就要求测量仪器具有完备的内建测试(build intest,BIT)功能以及自我调节和补偿能力,以使测量仪器系统本身具备测试、诊断和故障定位的能力以及适应各种环境、温度和器部件性能变化的能力。    但是,智能测量仪器要具备这些测试、诊断以及调节、补偿能力,必须首先对整个测量仪器工作状态进行监测,然后通过对这些节点的状态进行分析和处理,从而进行进一步的故障定位或调节补偿。这些状态主要包括环境温度以及电路板上各关键电路节点的电压、电流、功率等,由于都是模拟量,故常称这些分布在电路板上的观测节点为模拟节点。可见,对智能测量仪器工作环境以及各关键节点模拟量的检测是智能测量仪器内建测试以及调节补偿的前提和基础,也是智能测量仪器可测性设计的重要一环,需要认真对待。    下面介绍一种基于串行总线的智能测量仪器模拟节点信号监测电路的没计思想和设计方法。1 模拟节点信号监测设计原理    典型的电路板模拟节点监测电路通常由信号检测通道、信号调理电路、多路选择开关、采样/保持电路、A/D转换电路以及处理器接口和控制逻辑等构成,如图1所示。

    信号检测通道主要用来探测电路板上各探测点的温度、电流、电压等模拟量,通常针对不同探测对象而使用不同的传感器、检波器或相关电路将待检测信号转换成一定的电流或电压信号。    信号调理电路是为了保证A/D转换的精度而在模拟输入信号进入A/D转换器之前首先进行的必要处理,以有效滤除不需要信号的影响,改善信号质量,提高信噪比,增强信号的抗下扰能力,保证输入信号符合A/D转换器并处于其最佳转换范同。信号调理所采用的技术通常包括增谧放大、衰减、滤波、整流、检波信号转换等。多路开关是为了简化电路和降低成本而保证多个模拟节点共用同一个A/D转换器而设计,以方便通过软件实现对某一路模拟艟的转换。多路开关常用的有机械触点式和电子式2种,通常需要根据通道数目、输入方式(单端还是差分输入)、电平高低、切换时间及稳定时间、通路问所允许的最大串绕误差以及控制方式等加以综合考虑选择。    当模拟节点输入信号的频率较高时,为减小A/D转换的孔径误差常设计使用采样/保持电路。采样保持器通常根据输入信号范围、输入信号变化率、采样开关切换速度以及采样误差的允许范围等选择。如果输入模拟信号频率较低,A/D转换相对足够快或A/D集成了采样保持器时则可以省略采样保持器的设计。    A/D转换器足模拟输入通道的关键器件,用来将模拟信号转换成数字信号,以便由处理器进行一系列的后续处理。A/D转换器件种类很多,选择时需综合考虑分辨力、转换精度、转换速度和功耗等指标。一般地,A/D转换器位数选取应根据被测电路的模拟输入信号的变化范围和A/D转换器量化误差及量化噪声等综合考虑。
                          
                       
                          
                                2 基于串行总线的模拟节点信号监测设计    现代测量仪器智能化程度和性能指标越来越高,越来越多地使用软件进行性能指标的调节、校准和补偿,同时越来越多地需要实时监测整个仪器的工作状态,以提高系统的町靠性,故对模拟节点数量需求越来越大。此外,现代智能测量仪器正迅速向低功耗、低成本、小体积、高性能、高速率方向发展,电路集成度越来越大,成本越来越低,尺寸越来越小,频率也越来越高。作为测量仪器的辅助支撑电路,如何在满足功能和性能的前提下尽可能减少电路板面积占用、减小对其他电路的电磁干扰等影响,一直是设计者不断追求的目标。可见,基于并行总线的传统模拟节点信号监测设计思想已经不能满足需要。    随着串行总线接口技术的诞生和不断成熟,其简单的接口、较高的数据传输效率、灵活的互联方式以及其可扩展性能力使得在电子领域及测试领域得到迅速推广和应用。与并行接口相比,串行接口减少了引脚数目,降低了接口没计的复杂性,减小了电磁辐射和体积。    串行接口通常提供全双工同步操作,数据以位为单位进行串行输入输出。各元器件生产厂家纷纷推出了基于串行总线的器件,越来越多的处理器也开始集成相应的串行通信接口,并兼容一些流行的串行总线。因此,在精度、速度、分辩力等指标许可的前提下,选择多通道以及具有采样保持器串行ADC以及其他串行器件搭建基于串行总线的测量仪器模拟节点方案无疑是一种理想的选择。基于这种串行总线的模拟节点电路设计如图2所示。

    在智能测量仪器中,模拟节点通常分布于仪器的各个电路板和功能模块,而每块电路板和功能模块又可能包括多个模拟探测节点。    为此,在设计中往往根据模拟节点的数量选择使用一片或多片多通道串行A/D芯片(如AD公司的AD7812等)构成每块电路板或功能模块的模拟输入通道,而不同电路板或功能模块上的串行设备均挂接在同一串行总线上,由处理器通过控制总线及译码逻辑来选择相应的模拟输入通道并控制相应串行设备的工作。此外,在具体的设计中,往往还可以利用串行总线进行一些辅助电路设计:如利用一些串行D/A转换器构成模拟输出通道,以根据需要产生合适的模拟信号,实现对电路板相关电路的校准与补偿;设计挂接一些串行E2PROM存储器,用来存储相关通道的校准与补偿参数,等等。如图3所示。

3 基于串行总线的模拟节点信号监测设计要点3.1 串行总线连接    目前,世界各主要半导体制造商提交了多种不同的串行协议,比较典型的有以Motorola公司为代表的SPI(se-rial peripheral interface:串行外围设备接口)、以Philips公司为代表的I2C(Inter IC)以及国家半导体公司为代表的MICROWIRE总线(微总线)等。其中,SPI是一种高速4线同步串行外设接口总线,1条用于串行移位时钟SCK,1条用作从使能信号(SS),另外2条数据线分别用于数据的收发(MISO和MOSI),采取主从式通信方式、全双工传输。传输速率由主控设备编程决定,可选择移位率、主从模式以及时钟的极性和相位等;I2C总线是一种用双向2线串行总线,1条串行数据线(SDA)和1条串行时钟线(SCL),采用主从方式的同步通信方式,在通信过程通过地址确定通信对象,每个I2C器件都有一个唯一的地址,每个器件既可发送也可接收,是1种多主总线;MI-CROWIRE总线是一种3线同步串行接口总线,1条时钟线(SK)和2条数据收发线(SO和SI)。
                          
                       
                          
                                    串行总线引脚较少,连接非常简单。口前,很多处理器都直接集成了前述的串行总线接口,可以直接与相应接口的串行设备相连。而在一些高端处理器巾,更是提供了更加灵活的可编程串行接口,如Motorola公州高端DSP处理器大都集成了可编程SSI串行同步通信接口,而TI公司的高端DSP处理器大都集成了可编程McBSP多通道缓冲串行接口,这接口不但具有与标准串行接口相同的基本功能,还可配置成通用输入输出(GPIO)接口,因此可以方便地与SPI、I2C和MICROWIRE等兼容设备直接连接。    以McBSP多通道缓冲串行接口为例:通过配置McB-SP的工作模式,McBSP可兼容SPI、MICROWIRE等协议通信。当McBSP被配置为时钟停止模式时,可兼容SPI和MICROWIRE总线协议,此时发送器和接收器在内部是同步的,故可将McBSP作为SPI主设备或从设备。当设置McBSP为主设备时,可将发送数据帧时钟(FSX)用作SPI从设备使能信号(即SS),而将发送数据位时钟(CLKX)用作SPI协议中串行时钟信号(SCK,MI-CROWIRE没备的SK)。当连接I2C设备时,可将McBSP配置成GPIO模式,将McBSP的CLKX和FSX与I2C总线设备的SCL和SDA相连,利用软件模拟I2C总线协议。McBSP为主没备时,几种通信模式下的典型连接关系如图4所示。



    在智能测量仪器中,通常选择处理器为主设备,而将各串行器件作为从设备,因此大都采取上述连接方式。针对不同的处理器,其连接方式略有不同。而对没有提供相应串行通信接口的处理器,也可以按照串行设备的工作时序来通过GPIO接口编程或利用可编程逻辑器件进行模拟实现。
                          
                       
                          
                                3.2 通道扩展与多片连接    现代智能测量仪器电路板模拟节点数量很多,而且往往还需要利用串行总线构建模拟输出通道和存储系统,这就需要在同一套串行总线上设计挂接多片乃至多种不同型号、不同总线形式的串行器件。如图5所示。



    不同串行设备的工作时序不尽相同,为保证处理器与串行设备之间的通信需要对串行总线通道进行必要的初始化设置。这些设置主要包括设备的主从模式(通常设置处理器为主设备)、移位率、时钟极性和相位等属性对利用GPIO接口编程模拟串行总线的应用,还需要根据串行器件的时序特点编程设置相应的输出/输出管脚和工作时序。    串行ADC通常通过其内置控制寄存器以控制字的方式来实现一系列的控制操作,如采样模式、参考选择、通道选择以及A/D转换等。针对拟选择的模拟节点,通过软件控制相关电路完成信号调理后,对锁存器相应位进行操作来选择相应的串行ADC工作,利用串行总线向串行ADC写入控制字来启动对指定模拟节点信号的转换操作(如果支持软件启动)。    处理器通过串行总线接口读取转换数据,进行必要的运算和处理后获得模拟节点监测信号的真实结果,从而进行相应的操作和处理。    在具体的编程中,串行总线应根据串行ADC的具体总线接口形式和时序特点进行设置,这一点务必注意,以免无法建立通信连接。不同串行ADC的读写时序不尽相同,编程时需要格外注意。此外,通过串行总线进行读写操作时,需要根据读写数据的位数保证足够的时钟个数,以免无法正常读写。    对于挂接在总线的其它设备的控制操作,可根据具体设备的特点,参考类似的方式予以编程实现。4 结束语    基于串行总线的模拟节点设计方案不但实现简单,成本低廉,而且还具有电磁辐射小、体积小、可扩展能力强等优点,可以方便、灵活地根据实际电路的需求进行通道扩展。基于这种设计思想的软硬件方案已经在笔者所从事的系统中已经得到广泛应用,并取得了令人满意的效果。
                          
                       
                          
                               




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2