精华内容
下载资源
问答
  • 了解采集模拟信号的基础知识,包含带宽、幅值误差、上升时间、采样率、奈奎斯特定理、混叠与分辨率等。 本教程是仪器基础教程系列的一部分。
  • 单片机的ADC接口属于模数转换接口,将外部的模拟量信号转化为数字信号,单片机属于数字器件,需将模拟信号转化为数字信号才能够为单片机处理。目前市场的很多单片机都自带ADC转换接口,若无ADC转换接口,可以使用ADC...
  • A/D转换接口电路是数据采集系统前向通道中的一个环节,它的作用是将模拟信号转换成可供计算机处理的数字信号,是一般控制系统中不可缺少的环节之一。人们有时需要对A/D转换的数据设定一个阈值作为判断和处理的依据,...
  • 引 言 A/D转换接口电路是数据采集系统前向通道中的一个环节,它的作用是将模拟信号转换成可供计算机处理的数字信号,是一般控制系统中不可缺少的环节之一。人们有时需要对A/D转换的数据设定一个阈值作为判断和处理...
  • 了解采集模拟信号的基础知识,包含带宽、幅值误差、上升时间、采样率、奈奎斯特定理、混叠与分辨率等。 本教程是仪器基础教程系列的一部分。 1. 什么是数字化仪?  科学家和工程师常用数字化仪采集真实世界中的...

    了解采集模拟信号的基础知识,包含带宽、幅值误差、上升时间、采样率、奈奎斯特定理、混叠与分辨率等。 本教程是仪器基础教程系列的一部分。

    1. 什么是数字化仪? 
    科学家和工程师常用数字化仪采集真实世界中的模拟数据,并将其转换为数字信号用于分析。 数字化仪是指任何用于将模拟信号转换为数字信号的设备。 手机是最常见的一种数字化仪,可将声音(模拟信号)转换为数字信号并将其发送至另一部手机。 但在测试测量应用中,数字化仪通常指示波器或数字万用表(DMM)。 本文主要介绍示波器,但大部分内容也适用于其他数字化仪。

    无论哪种类型,数字化仪对于系统精确地重构波形都至关重要。 要确保为应用选择正确的示波器,需考虑示波器带宽、采样率以及分辨率。

    2. 带宽
    示波器前端包含两个部分:模拟输入路径和模数转换器(ADC)。 模拟输入路径衰减、放大、过滤和/或耦合信号对其进行优化,为ADC数字化做准备。 ADC对调理的信号进行采样,并将模拟输入信号转换为表示模拟输入波形的数字值。 输入路径的频率响应会引起幅值和相位信息的固有损耗。

    图1. 带宽描述的是输入信号可经过示波器前端的频率范围,示波器前端由两部分构成:模拟输入路径和ADC。

     

    图1. 带宽描述的是输入信号可经过示波器前端的频率范围,示波器前端由两部分构成:模拟输入路径和ADC。

    带宽描述的是模拟前端获取外部世界信号到ADC并最小化振幅衰减的能力-从探针的针尖或测试夹具到ADC的输入端。 换句话说,带宽描述的是示波器可精确测量的频率范围。

    带宽定义为正弦波输入信号的振幅衰减至原振幅的70.7%时的频率,也称为-3 dB点。 图2和3显示了100 MHz示波器的常规输入响应。

    图2. 带宽是输入信号的振幅衰减至原振幅的70.7%时的频率。

     

    图2. 带宽是输入信号的振幅衰减至原振幅的70.7%时的频率。

     

    图3. 该图表示100 MHz时输入信号达到-3dB点。

     

    图3. 该图表示100 MHz时输入信号达到-3dB点。

    带宽等于信号幅值下降到低于通带频率-3 dB时的上下限频率差。 听起来十分复杂,拆分开来之后实际上相对简单。

    首先计算-3 dB的值。

    公式1. 计算-3 dB点

     

    公式1. 计算-3 dB点

    Vin,pp表示输入信号的峰峰电压, Vout,pp表示输出信号的峰峰电压。 例如,如输入1 V正弦波,则输出电压的计算方式为:

     

    由于输入信号为正弦波,因此输出信号达到该电压值有两个频率;这些频率被称为转折频率 f1 和f2。 这两个频率有多种名称,如转折频率、截止频率、交越频率、半功率点频率、3 dB频率以及折点频率等。 实际上,所有这些术语指的都是同一个值。 信号的中心频率f0是f1 和f2的几何平均数。

    公式2. 计算中心频率

     

    公式2. 计算中心频率

    带宽(BW)可通过两个转折频率相减进行计算。

    公式3. 计算带宽

     

    公式3. 计算带宽

     

    图4. 带宽、转折频率、中心频率和3 dB点的相互关系。

     

    图4. 带宽、转折频率、中心频率和3 dB点的相互关系。

    计算幅值误差
    另一个有用的公式是计算幅值误差。

    公式4. 计算幅值误差

     

    公式4. 计算幅值误差

    幅值误差通过百分比表示,R表示示波器带宽和输入信号频率(fin)的比率。

    以上述公式为例,100 MHz示波器1 V时的正弦波输入信号为100 MHs,BW = 100 MHz且fin = 100 MHz。 那么R = 1。则公式计算结果如下所示:

     

    幅值误差为29.3%。 1 V信号的输出电压为:

     

    建议示波器的带宽为被测信号感兴趣最高频率分量的3~5倍,这样就可以在振幅误差最小的情况下捕获信号。 例如,对于100 MHz的1 V正弦波,应该使用300 MHz~500 MHz带宽的示波器。 这些带宽上100 MHz信号的振幅误差为:

     

    计算上升时间
    示波器必须有合适的带宽才能精确地测量信号,同时也要有足够的上升时间才能精确捕捉快速转换的细节。 这主要适用于测量如脉冲和步进等数字信号。 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。 有些示波器可能是20%上升至80%,请务必查看用户手册获取具体信息。

    图5. 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。

     

    图5. 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。

    上升时间(Tr)可通过下列公式计算:

    公式5. 计算上升时间

     

    5. 计算上升时间

    常量k取决于示波器。 大部分带宽不到1 GHz的示波器k值为0.35,而带宽大于1 GHz的示波器k值一般在0.4~0.45之间。

    测量的理论上升时间Trm可以通过示波器的上升时间Tro和输入信号的实际上升时间Trs来计算得到。

    公式6. 计算测量的理论上升时间

     

    公式6. 计算测量的理论上升时间

    建议示波器的上升时间为所测信号上升时间的1/3至1/5,从而以最小上升时间误差捕捉信号。

    3. 采样率
    采样率与带宽没有直接联系。 采样率是指ADC将模拟输入波形转换为数字数据的频率。 示波器是在经过模拟输入路径的衰减、增益和/或滤波后对信号进行采样的,并将所得到的波形转换为数字形式。 通过快照的方式进行,类似于影片的帧。 示波器采样速度越快,波形的分辨率和细节就越清晰。

    奈奎斯特采样定理
    奈奎斯特采样定理解释了采样率和所测信号频率之间的关系。 阐述了采样率fs必须大于被测信号感兴趣最高频率分量的两倍。 该频率通常被称为奈奎斯特频率fN。

    公式7. 采样率应大于奈奎斯特频率的两倍。

     

    公式7. 采样率应大于奈奎斯特频率的两倍。

    为更好理解其原因,让我们来看看不同速率测量的正弦波。 情况A,频率f的正弦波以同一频率采样。 这些采样标记在原始信号的左侧,在右侧构建时,信号错误地显示为恒定直流电压。 情况B,采样率是信号频率的两倍。 现在信号显示为三角波。 这种情况下,f等于奈奎斯特频率,这也是特定采样频率下为了避免混叠而允许的最高频率分量。 情况C,采样率是4f/3。此时奈奎斯特频率为:

     

    由于f大于奈奎斯特频率 ),该采样率再现错误频率和形状的混叠波形。

    图6. 采样率过低会造成波形重构不准确。

     

    图6. 采样率过低会造成波形重构不准确。

    因此,为了无失真地恢复原波形信号,采样率fs必须大于被测信号感兴趣最高频率分量的两倍。 通常希望采样率大于信号频率约五倍。

    混叠
    如需按一定速率采样以避免混叠,那么混叠到底是什么? 如果信号的采样率低于两倍奈奎斯特频率,采样数据中就会出现虚假的低频成分。 这种现象便称为混叠。 下图显示了800 kHz正弦波1 MS/s时的采样。虚线表示该采样率时记录的混叠信号。 800 kHz频率与通带混叠,错误地显示为200 kHz正弦波。

    图7. 混叠发生在采样率过低的时候,产生不精确的波形显示。

     

    图7. 混叠发生在采样率过低的时候,产生不精确的波形显示。

    通过计算混叠频率fa可确定输入信号超过奈奎斯特频率时的显示图。 混叠频率是指最接近采样率整数倍的频率和输入信号的频率之间的差的绝对值。

    公式8. 计算混叠频率

     

    公式8. 计算混叠频率

    例如,假设信号采样率为100 Hz,输入信号包含下列频率:25 Hz、70 Hz、160 Hz和510 Hz。 低于50 Hz奈奎斯特频率可正确采样;超过50 Hz的频率显示为混叠。

    图8. 测量不同频率值,有些为混叠频率,有些为波形的实际频率。

     

    图8. 测量不同频率值,有些为混叠频率,有些为波形的实际频率。

    混叠频率计算如下:

     

    除增加采样率之外,使用抗混叠滤波器也可阻止发生混叠。 抗混叠滤波器为低通滤波器,可使输入信号中任何大于奈奎斯特频率的频率分量衰减,同时必须在ADC前使用以限制输入信号的带宽来满足采样标准。 模拟输入通道的硬件可包含同时采用模拟和数字滤波器来防止混叠。

    4. 分辨率
    选择应用的示波器时需考虑的另一个因素是分辨率。 分辨率的位是指示波器可用来表示信号的幅值单元的数量。 理解分辨率概念的一种方式就是与码尺相比较。 将一个米尺分成毫米,分辨率是多少? 码尺上的最小计数单元就是分辨率:1/1,000。

    ADC分辨率与最大信号可被分成的单元数量相关。 幅值分辨率由ADC具有的离散输出电平数量决定。 二进制码表示每个区间;这样,电平数计算如下:

    公式9. 计算ADC的离散输出电平

     

    公式9. 计算ADC的离散输出电平

    例如,一个3位示波器有23或8个电平。 而一个16位示波器就有216或65,536个电平。 最小可检测的电压变化或码宽可计算如下:

    公式10. 计算码宽

     

    公式10. 计算码宽

    码宽也称最低有效位(LSB)。 如设备输入范围是0~10 V,那么3位示波器的码宽为10/8 = 1.25 V,而16位示波器的码宽为10/65,536 = 305 μV。 由此可见显示的信号差别会非常大。

    图9. 16位和3位分辨率的波形区别

     

    图9. 16位和3位分辨率的波形区别

    所需的分辨率高低取决于应用;分辨率越高,示波器的成本也越高。 需要记住的是,高分辨率的示波器并不一定表示精度高, 但仪器可达到的精度会受到分辨率的限制。 分辨率会限制测量的精度;分辨率(位数数量)越高,测量就越精确。

    有些示波器使用一种称为抖动的方法帮助平滑信号,从而得到高分辨率的效果。 抖动涉及故意在输入信号中加入噪声。 它有助于抵消幅值分辨率中的细微差异。 关键是要添加随机噪声的方式,使信号在连续电平之间来回反弹。 当然,这个过程也增加了信号的噪声。 但是,一旦采集信号后,信号可以通过对该噪声进行数字平均来变平滑。

    图10. 抖动有助于平滑信号。

     

    图10. 抖动有助于平滑信号。

    5. 总结

    • 带宽描述了示波器可精确测量的频率范围。 带宽定义为正弦波输入信号的振幅衰减至原振幅的70.7%时的频率,也称为-3 dB点。
    • 带宽是指两个转折频率之差。
    • 幅值误差是带宽和输入信号频率比率的百分比,用于确定系统中的噪声。
    • 建议示波器的带宽为被测信号感兴趣最高频率分量的3~5倍,这样就可以在振幅误差最小的情况下捕获信号。
    • 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。
    • 建议示波器的上升时间为所测信号上升时间的1/3至1/5,从而以最小上升时间误差捕捉信号。
    • 采样率是指ADC将模拟输入波形转换为数字数据的频率。
    • 采样率应该比信号感兴趣最高频率至少大两倍,但大多数情况下应该约大五倍。
    • 混叠是指采样数据中出现错误频率分量。
    • 分辨率的位是指示波器可用来表示信号的幅值单元的数量。
    • 仪器的分辨率与精度成正比。
    展开全文
  • 了解采集模拟信号的基础知识,包含带宽、幅值误差、上升时间、采样率、奈奎斯特定理、混叠与分辨率等。 本教程是仪器基础教程系列的一部分。 1. 什么是数字化仪? 科学家和工程师常用数字化仪采集真实世界中的模拟...

    了解采集模拟信号的基础知识,包含带宽、幅值误差、上升时间、采样率、奈奎斯特定理、混叠与分辨率等。 本教程是仪器基础教程系列的一部分。

    1. 什么是数字化仪?
    科学家和工程师常用数字化仪采集真实世界中的模拟数据,并将其转换为数字信号用于分析。 数字化仪是指任何用于将模拟信号转换为数字信号的设备。 手机是最常见的一种数字化仪,可将声音(模拟信号)转换为数字信号并将其发送至另一部手机。 但在测试测量应用中,数字化仪通常指示波器或数字万用表(DMM)。 本文主要介绍示波器,但大部分内容也适用于其他数字化仪。

    无论哪种类型,数字化仪对于系统精确地重构波形都至关重要。 要确保为应用选择正确的示波器,需考虑示波器带宽、采样率以及分辨率。

    采集模拟信号:带宽、奈奎斯特定理和混叠

    2. 带宽
    示波器前端包含两个部分:模拟输入路径和模数转换器(ADC)。 模拟输入路径衰减、放大、过滤和/或耦合信号对其进行优化,为ADC数字化做准备。 ADC对调理的信号进行采样,并将模拟输入信号转换为表示模拟输入波形的数字值。 输入路径的频率响应会引起幅值和相位信息的固有损耗。

    图1. 带宽描述的是输入信号可经过示波器前端的频率范围,示波器前端由两部分构成:模拟输入路径和ADC。

     

    图1. 带宽描述的是输入信号可经过示波器前端的频率范围,示波器前端由两部分构成:模拟输入路径和ADC。

    带宽描述的是模拟前端获取外部世界信号到ADC并最小化振幅衰减的能力-从探针的针尖或测试夹具到ADC的输入端。 换句话说,带宽描述的是示波器可精确测量的频率范围。

    带宽定义为正弦波输入信号的振幅衰减至原振幅的70.7%时的频率,也称为-3 dB点。 图2和3显示了100 MHz示波器的常规输入响应。

    图2. 带宽是输入信号的振幅衰减至原振幅的70.7%时的频率。

     

    图2. 带宽是输入信号的振幅衰减至原振幅的70.7%时的频率。

     

    图3. 该图表示100 MHz时输入信号达到-3dB点。

     

    图3. 该图表示100 MHz时输入信号达到-3dB点。

    带宽等于信号幅值下降到低于通带频率-3 dB时的上下限频率差。 听起来十分复杂,拆分开来之后实际上相对简单。

    首先计算-3 dB的值。

    公式1. 计算-3 dB点

    公式1. 计算-3 dB点

    Vin,pp表示输入信号的峰峰电压, Vout,pp表示输出信号的峰峰电压。 例如,如输入1 V正弦波,则输出电压的计算方式为:

    采集模拟信号:带宽、奈奎斯特定理和混叠

    由于输入信号为正弦波,因此输出信号达到该电压值有两个频率;这些频率被称为转折频率 f1 和f2。 这两个频率有多种名称,如转折频率、截止频率、交越频率、半功率点频率、3 dB频率以及折点频率等。 实际上,所有这些术语指的都是同一个值。 信号的中心频率f0是f1 和f2的几何平均数。

    公式2. 计算中心频率

    公式2. 计算中心频率

    带宽(BW)可通过两个转折频率相减进行计算。

    公式3. 计算带宽

    公式3. 计算带宽

     

    图4. 带宽、转折频率、中心频率和3 dB点的相互关系。

     

    图4. 带宽、转折频率、中心频率和3 dB点的相互关系。

    计算幅值误差
    另一个有用的公式是计算幅值误差。

    公式4. 计算幅值误差

    公式4. 计算幅值误差

    幅值误差通过百分比表示,R表示示波器带宽和输入信号频率(fin)的比率。

    以上述公式为例,100 MHz示波器1 V时的正弦波输入信号为100 MHs,BW = 100 MHz且fin = 100 MHz。 那么R = 1。则公式计算结果如下所示:

    采集模拟信号:带宽、奈奎斯特定理和混叠

    幅值误差为29.3%。 1 V信号的输出电压为:

    采集模拟信号:带宽、奈奎斯特定理和混叠

    建议示波器的带宽为被测信号感兴趣最高频率分量的3~5倍,这样就可以在振幅误差最小的情况下捕获信号。 例如,对于100 MHz的1 V正弦波,应该使用300 MHz~500 MHz带宽的示波器。 这些带宽上100 MHz信号的振幅误差为:

    采集模拟信号:带宽、奈奎斯特定理和混叠

    计算上升时间
    示波器必须有合适的带宽才能精确地测量信号,同时也要有足够的上升时间才能精确捕捉快速转换的细节。 这主要适用于测量如脉冲和步进等数字信号。 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。 有些示波器可能是20%上升至80%,请务必查看用户手册获取具体信息。

    图5. 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。

     

    图5. 输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。

    上升时间(Tr)可通过下列公式计算:

    公式5. 计算上升时间

    5. 计算上升时间

    常量k取决于示波器。 大部分带宽不到1 GHz的示波器k值为0.35,而带宽大于1 GHz的示波器k值一般在0.4~0.45之间。

    测量的理论上升时间Trm可以通过示波器的上升时间Tro和输入信号的实际上升时间Trs来计算得到。

    公式6. 计算测量的理论上升时间

    建议示波器的上升时间为所测信号上升时间的1/3至1/5,从而以最小上升时间误差捕捉信号。

    3. 采样率
    采样率与带宽没有直接联系。 采样率是指ADC将模拟输入波形转换为数字数据的频率。 示波器是在经过模拟输入路径的衰减、增益和/或滤波后对信号进行采样的,并将所得到的波形转换为数字形式。 通过快照的方式进行,类似于影片的帧。 示波器采样速度越快,波形的分辨率和细节就越清晰。

    奈奎斯特采样定理
    奈奎斯特采样定理解释了采样率和所测信号频率之间的关系。 阐述了采样率fs必须大于被测信号感兴趣最高频率分量的两倍。 该频率通常被称为奈奎斯特频率fN。

    公式7. 采样率应大于奈奎斯特频率的两倍。

    为更好理解其原因,让我们来看看不同速率测量的正弦波。 情况A,频率f的正弦波以同一频率采样。 这些采样标记在原始信号的左侧,在右侧构建时,信号错误地显示为恒定直流电压。 情况B,采样率是信号频率的两倍。 现在信号显示为三角波。 这种情况下,f等于奈奎斯特频率,这也是特定采样频率下为了避免混叠而允许的最高频率分量。 情况C,采样率是4f/3。此时奈奎斯特频率为:

    由于f大于奈奎斯特频率

    采集模拟信号:带宽、奈奎斯特定理和混叠

    该采样率再现错误频率和形状的混叠波形。

    图6. 采样率过低会造成波形重构不准确。

     

    图6. 采样率过低会造成波形重构不准确。

    因此,为了无失真地恢复原波形信号,采样率fs必须大于被测信号感兴趣最高频率分量的两倍。 通常希望采样率大于信号频率约五倍。

     

     

    混叠
    如需按一定速率采样以避免混叠,那么混叠到底是什么? 如果信号的采样率低于两倍奈奎斯特频率,采样数据中就会出现虚假的低频成分。 这种现象便称为混叠。 下图显示了800 kHz正弦波1 MS/s时的采样。虚线表示该采样率时记录的混叠信号。 800 kHz频率与通带混叠,错误地显示为200 kHz正弦波。

    图7. 混叠发生在采样率过低的时候,产生不精确的波形显示。

     

    图7. 混叠发生在采样率过低的时候,产生不精确的波形显示。

    通过计算混叠频率fa可确定输入信号超过奈奎斯特频率时的显示图。 混叠频率是指最接近采样率整数倍的频率和输入信号的频率之间的差的绝对值。

    公式8. 计算混叠频率

    例如,假设信号采样率为100 Hz,输入信号包含下列频率:25 Hz、70 Hz、160 Hz和510 Hz。 低于50 Hz奈奎斯特频率可正确采样;超过50 Hz的频率显示为混叠。

    图8. 测量不同频率值,有些为混叠频率,有些为波形的实际频率。

     

    图8. 测量不同频率值,有些为混叠频率,有些为波形的实际频率。

    混叠频率计算如下:

    除增加采样率之外,使用抗混叠滤波器也可阻止发生混叠。 抗混叠滤波器为低通滤波器,可使输入信号中任何大于奈奎斯特频率的频率分量衰减,同时必须在ADC前使用以限制输入信号的带宽来满足采样标准。 模拟输入通道的硬件可包含同时采用模拟和数字滤波器来防止混叠。

    4. 分辨率
    选择应用的示波器时需考虑的另一个因素是分辨率。 分辨率的位是指示波器可用来表示信号的幅值单元的数量。 理解分辨率概念的一种方式就是与码尺相比较。 将一个米尺分成毫米,分辨率是多少? 码尺上的最小计数单元就是分辨率:1/1,000。

    ADC分辨率与最大信号可被分成的单元数量相关。 幅值分辨率由ADC具有的离散输出电平数量决定。 二进制码表示每个区间;这样,电平数计算如下:

    公式9. 计算ADC的离散输出电平

    例如,一个3位示波器有23或8个电平。 而一个16位示波器就有216或65,536个电平。 最小可检测的电压变化或码宽可计算如下:

    公式10. 计算码宽

    码宽也称最低有效位(LSB)。 如设备输入范围是0~10 V,那么3位示波器的码宽为10/8 = 1.25 V,而16位示波器的码宽为10/65,536 = 305 μV。 由此可见显示的信号差别会非常大。

    图9. 16位和3位分辨率的波形区别

     

    图9. 16位和3位分辨率的波形区别

    所需的分辨率高低取决于应用;分辨率越高,示波器的成本也越高。 需要记住的是,高分辨率的示波器并不一定表示精度高, 但仪器可达到的精度会受到分辨率的限制。 分辨率会限制测量的精度;分辨率(位数数量)越高,测量就越精确。

    有些示波器使用一种称为抖动的方法帮助平滑信号,从而得到高分辨率的效果。 抖动涉及故意在输入信号中加入噪声。 它有助于抵消幅值分辨率中的细微差异。 关键是要添加随机噪声的方式,使信号在连续电平之间来回反弹。 当然,这个过程也增加了信号的噪声。 但是,一旦采集信号后,信号可以通过对该噪声进行数字平均来变平滑。

    图10. 抖动有助于平滑信号。

     

    图10. 抖动有助于平滑信号。

    5. 总结

    带宽描述了示波器可精确测量的频率范围。 带宽定义为正弦波输入信号的振幅衰减至原振幅的70.7%时的频率,也称为-3 dB点。

    带宽是指两个转折频率之差。

    幅值误差是带宽和输入信号频率比率的百分比,用于确定系统中的噪声。

    建议示波器的带宽为被测信号感兴趣最高频率分量的3~5倍,这样就可以在振幅误差最小的情况下捕获信号。

    输入信号的上升时间是指信号从最大信号振幅的10%上升至90%所需的时间。

    建议示波器的上升时间为所测信号上升时间的1/3至1/5,从而以最小上升时间误差捕捉信号。

    采样率是指ADC将模拟输入波形转换为数字数据的频率。

    采样率应该比信号感兴趣最高频率至少大两倍,但大多数情况下应该约大五倍。

    混叠是指采样数据中出现错误频率分量。

    分辨率的位是指示波器可用来表示信号的幅值单元的数量。

    仪器的分辨率与精度成正比。

    6. 其他仪器相关资源

    多功能仪器-将多种台式仪器集成到单个功能固定的设备中。
    了解将混合信号示波器、函数发生器、数字万用表、可编程的直流电源以及数字I/O器集成到单个设备中并连接PC或ipad以进行高效的电路设计调试和验证。

    了解专为测试而开发的示波器
    示波器在各种应用中发挥了重要作用,是自动化测试系统必不可少的仪器。 以下情况可建议采用模块化解决方案:应用需要测量、分析或处理数据;需要快速吞吐量或者需要最低能耗的小型结构。

    展开全文
  • TLC549是 TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现 A/D转换,其转换速度小于 17us,最大转换速率为 40000HZ,4MHZ典型内部系统时钟,电源为 3V至 6V。...
  • STM32F103控制ADS1115采集模拟信号

    万次阅读 多人点赞 2016-06-20 22:27:16
    11、ADS1115切换采集通道 s16 Get_ADS1115_Reture(u8 channel) { ADS1115_Reture=0; switch(channel) { case 0: //ads1115_config(TongDao0); //Delay_Ms(5); //ADS1115_Reture...

    程序已经通过

    0、定义通道

    #define TongDao0 0xc2e3       
    #define TongDao1 0xd2e3
    #define TongDao2 0xe2e3
    #define TongDao3 0xf2e3


    1、STM32F103的IIC端口初始化

    void ads1115_io_init(void)
    {
    GPIO_InitTypeDef GPIO_InitStruct;

    // RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

    GPIO_InitStruct.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;
    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_OD;

    GPIO_Init(GPIOB,&GPIO_InitStruct);

    }
    2、IIC起始位
    void I2C_Start(void)
    {
    //SCL_LOW;
    SDAOUT();
    //SDA_LOW;
    SDA_HIGH;
    SCL_HIGH;

    ads1115_Delay();

    SDA_LOW;
    ads1115_Delay();

    SCL_LOW;



    }
    3、IIC停止位
    void I2C_Stop(void)
    {
    /*SCL_LOW;
    SDAOUT();
    SDA_HIGH;
    SCL_HIGH;



    ads1115_Delay();
    SDA_LOW;
    ads1115_Delay();

    //SCL_LOW;*/

    SCL_LOW;

    SDAOUT();
    SDA_LOW;



    SCL_HIGH;



    ads1115_Delay();
    SDA_HIGH;
    ads1115_Delay();
    //ads1115_Delay();
    //ads1115_Delay();

    }
    4、IIC校验位
    void I2C_ACK()
    {
    SCL_LOW;
    SDAOUT();
    SDA_LOW;

    //ads1115_Delay();

    //systick_us(2);
    ads1115_Delay();
    SCL_HIGH;
    //systick_us(2);
    ads1115_Delay();
    SCL_LOW;
    }
    5、IIC等待校验位
    u8 I2C_Wait_ACK()
    {
    u8 count=0;
    SDAIN();

    SCL_HIGH;//ÊÍ·Å×ÜÏß 
    //systick_us(1);
    ads1115_Delay();
    SDA_HIGH; //À­¸ßSDA 
    // systick_us(1);
    ads1115_Delay();

    while(SDA) //¶ÁÈ¡SDA״̬£¬0ΪӦ´ð
    {
    count++;
    if(count>50)
    {
    return 1;
    }
    }
    SCL_LOW;
    // ACK++;    //¼Ç¼оƬ¸øµÄÓ¦¸Ã´ÎÊý£¬µ÷ÊÔÓÃ
    return 0;
    }


    6、IIC写数据
    void I2C_WriteByte(u8 cmd)
    {
    u8 i;
    SDAOUT();
    SCL_LOW;         //scl=0,ÔÊÐíÊý¾Ý±ä»¯
    // SysTick_us(5);
    for(i=0;i<8;i++)
    {
    if(cmd&0x80)SDA_HIGH;
    else SDA_LOW;
    cmd<<=1;
    //systick_us(2);
    ads1115_Delay();

    SCL_HIGH;    //SCL=1,Êý¾Ý±£³Ö
    //systick_us(2);
    ads1115_Delay();

    SCL_LOW;
    //systick_us(1);
    //ads1115_Delay();
    }
    }
    7、IIC读数据
    u8 I2C_ReadByte()
    {
    u8 i,ans=0;
    SDAIN();
    SDA_HIGH;
    for(i=0;i<8;i++)
    {
    SCL_LOW;    //ÔÊÐíÊý¾Ý±ä»¯
    //systick_us(2);
    ads1115_Delay();

    SCL_HIGH;   //±£³ÖÊý¾Ý²»±ä
    //systick_us(1);
    ads1115_Delay();

    ans<<=1;     //
    if(SDA)ans++;
    //systick_us(1);
    //ads1115_Delay();
    }
    SCL_LOW;
    I2C_ACK();

    ads1115_Delay();

    return ans;
    }
    8、ADS1115配置参数
    void ads1115_config(u16 config)
    {
    I2C_Start();

    I2C_WriteByte(0x90);  //дÐźÅ
    I2C_Wait_ACK();

    I2C_WriteByte(0x01);  //Ö¸ÏòÅäÖüĴæÆ÷
    I2C_Wait_ACK();

    I2C_WriteByte(config>>8);
    I2C_Wait_ACK();


    I2C_WriteByte(config);
    I2C_Wait_ACK();

    I2C_Stop();
    }


    9、ADS1115
    s16 ads1115_readreg(u8 reg)
    {
    s16 value_h=0;
    //s16 x=0;
    s16 ConversionResult=0;
    u8 value_l=0;
    //int count = 0;

    I2C_Start();

    I2C_WriteByte(0x90);  //дÐźÅ
    ads1115_Delay();
    I2C_Wait_ACK();

    I2C_WriteByte(reg);  //Ö¸ÏòÅäÖüĴæÆ÷
    ads1115_Delay();
    ads1115_Delay();
    I2C_Wait_ACK();
    ads1115_Delay();
    I2C_Stop();//
    ads1115_Delay();
    I2C_Start();

    I2C_WriteByte(0x91);  //¶ÁÐźÅ
    ads1115_Delay();
    I2C_Wait_ACK();
    ads1115_Delay();

    value_h=I2C_ReadByte();


    value_l=I2C_ReadByte();



    //I2C_Wait_ACK();
    I2C_Stop();//

    ConversionResult=value_h*256+value_l;
    return ConversionResult;

    }

    10、ADS1115获取数据
    s16 ads1115_getvalue()
    {
    s16 value=0;
    value=ads1115_readreg(CONVER_REG);  //CONVER_REG==0;
    //delay_uss(100);/
    return value;
    }



    11、ADS1115切换采集通道

    s16 Get_ADS1115_Reture(u8 channel)
    {
    ADS1115_Reture=0;

    switch(channel)
    {
    case 0:
    //ads1115_config(TongDao0);
    //Delay_Ms(5);
    //ADS1115_Reture=ads1115_getvalue();
    //Delay_Ms(5);
    break;
    case 1:
      ads1115_config(TongDao1);//TongDao1
    Delay_Ms(7);
    //delay_uss(10000);
    ADS1115_Reture=ads1115_getvalue();
    //Delay_Ms(3);
    break;
    case 2:
     ads1115_config(TongDao2);//TongDao2
     Delay_Ms(7);
    //delay_uss(10000);
    ADS1115_Reture=ads1115_getvalue();
    //Delay_Ms(3);
    break;
    case 3:
     ads1115_config(TongDao3);//TongDao3
    Delay_Ms(7);
    //delay_uss(10000);
    ADS1115_Reture=ads1115_getvalue();
    //Delay_Ms(3);//ÑÓʱһ¶¨Òª¼Ó
    ads1115counter ++;
    break;
    default:
    break;


    }
    //ADS1115_Reture=0x8000;
    //channel=0;
    return ADS1115_Reture;
    }

    12、数据量转换为模拟量

    V1=volt*(8.192/65536.0);



       






    展开全文
  • STM32F103控制AD7606采集模拟信号

    万次阅读 2016-06-20 22:09:47
    //采用正负10电压模拟输入,参考电压2.5V 7、主函数main中初始化AD7606    AD7606_Port_Init(); Adc_Init();  AD7606_Reset();  AD_SPI_CS_HIGH();  AD_CONVT_HIGH();  AD7606_...
    1、配置STM32F103的SPI口
    
    void AD7606_Port_Init(void)
    {
    GPIO_InitTypeDef  GPIO_InitStructure;
    SPI_InitTypeDef   SPI_InitStructure;
    RCC_APB2PeriphClockCmd(AD_SPI_CS_GPIO_CLK | AD_SPI_MISO_GPIO_CLK | AD_SPI_SCK_GPIO_CLK, ENABLE);

    RCC_APB1PeriphClockCmd(AD_SPI_CLK, ENABLE); 

    /SPI_CLK
    GPIO_InitStructure.GPIO_Pin = AD_SPI_SCK_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(AD_SPI_SCK_GPIO_PORT, &GPIO_InitStructure);

    /SPI_MISO
    GPIO_InitStructure.GPIO_Pin = AD_SPI_MISO_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  
    GPIO_Init(AD_SPI_MISO_GPIO_PORT, &GPIO_InitStructure);

      /SPI_CS
    GPIO_InitStructure.GPIO_Pin = AD_SPI_CS_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(AD_SPI_CS_GPIO_PORT, &GPIO_InitStructure);

    /SPI_³õʼ»¯
    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
    SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
    SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
    SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
    SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
    SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
    SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_32;
    SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
    SPI_InitStructure.SPI_CRCPolynomial = 7;
    SPI_Init(AD_SPI, &SPI_InitStructure);
    SPI_Cmd(AD_SPI, ENABLE); 




    /AD7606_RESET
    RCC_APB2PeriphClockCmd(AD_RESET_GPIO_CLK | AD_CONVT_GPIO_CLK , ENABLE);
    GPIO_InitStructure.GPIO_Pin = AD_RESET_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(AD_RESET_GPIO_PORT, &GPIO_InitStructure);

    /AD7606_CONVT
    GPIO_InitStructure.GPIO_Pin = AD_CONVT_PIN;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(AD_CONVT_GPIO_PORT, &GPIO_InitStructure);


    }

    2、AD7606复位信号
    void AD7606_Reset(void)
    {
    AD_RESET_LOW();
    AD_RESET_HIGH();
    AD_RESET_HIGH();
    AD_RESET_HIGH();
    AD_RESET_HIGH();
    AD_RESET_LOW();
    }

    3、AD7606开始转换信号
    void AD7606_StartConvt(void)
    {
    AD_CONVT_LOW();
    AD_CONVT_LOW();
    AD_CONVT_LOW();
    AD_CONVT_HIGH();
    }

    4、STM32F103读取AD7606数据
    short AD7606_ReadBytes(void)
    {
      short AD7606_Data = 0;
    while (SPI_I2S_GetFlagStatus(AD_SPI, SPI_I2S_FLAG_TXE) == RESET)
      {
      }
    SPI_I2S_SendData(AD_SPI, 0xFFFF);
    while (SPI_I2S_GetFlagStatus(AD_SPI, SPI_I2S_FLAG_RXNE) == RESET)
      {
      }
    AD7606_Data = SPI_I2S_ReceiveData(AD_SPI);
    return AD7606_Data;


    }

    5、STM32F103读取AD7606前CS拉低,拉高,重新开始转换
    void samp_return(void)
    {
    int j=0;
    AD_SPI_CS_LOW();
    for(j=0;j<6;j++)
    {
    AD7606_Return[j]=AD7606_ReadBytes();
    }
    AD_SPI_CS_HIGH();
    //ads7606_Delay(100);
    AD7606_StartConvt();
    ads7606_Delay(200);


    }

    6、数据量转化为模拟量公式

        电压=samp_sum_jiaoshudu_return[0]*10.0/32768/(2.5/2.5);//采用正负10电压模拟输入,参考电压2.5V

    7、主函数main中初始化AD7606

                    AD7606_Port_Init();
    Adc_Init();
          AD7606_Reset();
       AD_SPI_CS_HIGH();
       AD_CONVT_HIGH();

              AD7606_StartConvt();



    展开全文
  • 模拟信号数据采集

    2015-08-18 17:05:42
    利用NI数据采集卡,完成模拟信号的数据采集和显示
  • 什么是模拟信号

    千次阅读 2016-12-02 09:41:48
    模拟信号介绍 信号采集 模拟信号和数字信号的区别模拟信号(介绍) 模拟信号(英语:analog signal)是指在时间和数值上均具有连续性,即对应于任意时间值t均有确定的函数值u或i,并且u或i的幅值是连续取值的信号。与...
  • 行业分类-电信-模拟信号采集装置.rar
  • 上位机通过RS-485采集远程模拟信号,比较详细
  • 0 引言目前,在PCM/FM遥测体系中模拟信号采集普遍采用8位量化,全部模拟信号均归一化到O~5 V范围内,随着需要采集模拟信号的类型多样化,势必增加信号调理电路的多样性,不利于系统的简化和模块化。在量化位数...
  • 在计算机检测系统中,由模拟信号到数字信号的转换,是由数据采集系统来完成的。数据采集系统(Data Acquisition System,简称DAS)它是外部被测模拟信号进入测量系统的前置通道,有时也称预处理系统,是对输入的模拟...
  • 基于DSP和FPGA的多通路模拟信号采集方案的研究
  • 模拟信号adc,再数字滤波,再dac输出到示波器观察
  • 模拟信号高速数据采集回放设备

    千次阅读 2019-07-08 10:28:43
    设计方案 概述 数据采集记录器集成了高速模数转换器,高速数模转换...录取:实现对1路模拟信号进行采集存储,最高采样率可达到1GSPS,支持内/外采样时钟输入。 回放(选配):将本地存储数字波形通过DAC芯片转换成...
  • 而且我的学习板上的AD模块使用PCF8591驱动的,我不知道要利用PCF8591来采集模拟信号![图片说明](https://img-ask.csdn.net/upload/201604/27/1461725000_880078.png) ![图片说明]...
  • 本文主要介绍一种基于MPC5634的多路模拟信号采集方法,通过增强型直接内存访问(DMA)方式,自动在RAM和增强型队列式模数转换器eQADC模块之间转移数据,能高效和准确地完成对模拟信号采集
  • 行业分类-电信-一种模拟信号实时采集预处理电路.rar
  • 基于FPGA的高速模拟信号采集卡设计.pdf
  • 八路模拟信号隔离采集AD转换器 说明书pdf,八路模拟信号隔离采集AD转换器 说明书
  • 目前,在PCM/FM遥测体系中模拟信号采集普遍采用8位量化,全部模拟信号均归一化到O~5V范围内,随着需要采集模拟信号的类型多样化,势必增加信号调理电路的多样性,不利于系统的简化和模块化。在量化位数一定的系统中,...
  • 本设计是在虚拟仪器的标准化、系列化、模块化的硬件和软件平台上,利用数字信号处理技术、传感器技术、虚拟仪器技术等专业基础理论及专业基础知识,建立一个具有信号采集信号处理与分析数据采集回放系统,...
  • 分别从11路采样模拟信号,实现11路数据采集。为了做出发挥部分的特色,这里采用按键扫描方式,选择显示的通道以及数据,用键盘操控数据采集系统。显示部分采用LCD1602,实时根据按键的扫描情况更新采集的数据,并且...
  • 基于FPGA实现多路模拟信号自适应采集系统.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,996
精华内容 10,798
关键字:

怎么采集模拟信号