电路笔记(PCB):串扰的原理与减少串扰的几种方法

串扰

  • 串扰(Crosstalk)是指在电路中,一条信号线上的电磁干扰不经意间耦合到另一条相邻的信号线上,从而影响其正常信号传输的现象。串扰会导致相邻信号线上的信号出现畸变或噪声,从而影响信号的完整性和电路的正常工作。

串扰的类型

串扰主要有以下两种类型:

  1. 近端串扰(NEXT, Near-End Crosstalk)

    • 近端串扰是指在信号源端发生的串扰现象,信号通过电磁耦合影响到相邻信号线上的信号,导致噪声出现在信号源端口附近。
  2. 远端串扰(FEXT, Far-End Crosstalk)

    • 远端串扰是指在信号接收端发生的串扰现象,噪声信号会在信号接收端口处出现。
Layer 1 C C C C C C C C C C C C C C C C 导线(橙色部分)和地之间存在电容。两条线之间存在互容,互感。导线存在自感。 近端串扰 NEXT, Near-End Crosstalk 远端串扰 FEXT, Far-End Crosstalk 上升沿信号
  • 串扰会导致以下几种问题
    • 信号失真:串扰会引起信号线上的信号发生畸变,影响信号的完整性。
    • 数据误码:在高速数字通信中,串扰可能导致数据传输过程中的误码,从而影响通信的可靠性。
    • 噪声干扰:串扰会引入额外的噪声,影响系统的信噪比,尤其在高精度模拟信号处理中影响较大。

串扰的基本原理

  • 上升沿信号的在一点上的影响如下:
Layer 1 上升沿信号 传播方向 某一点上电压随时间的变化情况 这一点附近距离上电压分布情况
  • 串扰的产生主要源于电磁耦合,这种耦合可以通过电容耦合(电场)和感应耦合(磁场)两种方式发生,最终的噪声为两种效应的叠加:
  1. 电容耦合(电场耦合)
    • 发生在两条信号线之间的电压差会导致电荷的分布变化,从而在相邻的信号线上感应出电压。这种耦合通常在高频信号中表现得更为明显。
    • 下图为只考虑电容耦合时上升沿信号在导线一点对受扰线的影响效果。
Layer 1 上升沿信号 某一点上电压随时间的变化情况 变换的电信号通过电容,传递到受扰线上,并向两侧传递 传播方向 传播方向 电压随时间的变化情况 电压随时间的变化情况
    • 类似多普勒效应(间下边的动图),上升沿在向前传播时,会形成动态叠加。近端噪声时一个宽度为两倍上升时间,幅度较小的脉冲。
Layer 1 变换的电信号通过电容,传递到受扰线上,并向两侧传递 t1时刻产生的噪声,在tn时的效果 在t1到tn时间,信号前行的距离 tn时刻产生的噪声,在tn时的效果 t2时刻产生的噪声,在tn时的效果 tn时刻的最终效果

在这里插入图片描述

  1. 感应耦合(磁场耦合)
    • 当电流通过一条信号线时,会在其周围产生磁场。这个磁场可以在相邻的信号线上感应出电流,形成感应噪声。同样会在tn时刻有综合的效果,近端仍是宽的正小噪声,远端是窄的大噪声(这里省略作图了)。
Layer 1 上升沿信号 某一点上电压随时间的变化情况 变换的电信号产生磁场,传递到受扰线上 传播方向 传播方向 电压随时间的变化情况 电压随时间的变化情况

总结

串扰是电子电路设计中需要特别关注的问题,尤其在高频、高速信号传输中更为突出。通过合理的布局布线、适当的屏蔽和信号隔离设计,可以有效降低串扰,确保电路的稳定性和信号的完整性。

如何减少串扰

  • 最大可容许串扰大约是信号摆幅的5%。为了减少串扰对电路性能的影响,可以采取以下措施:

1. 增加信号路径之间的间距

  • 原理:增加信号线之间的间距(从W增加到3W)可以显著减少远端串扰(65%左右)。
  • 权衡:这种方法虽然有效,但会降低互连密度,导致电路板面积增大,成本上升。

2. 减小耦合长度

  • 原理:远端串扰噪声与耦合长度成正比,缩短耦合长度可以有效减小远端噪声。例如,当耦合长度很短(如0.1ns对应的线长约0.6英寸),远端噪声幅度可以大幅降低。
  • 应用:在一些紧密耦合区域(如BGA下方),即使耦合密集,但只要耦合长度短,也能控制远端串扰。

3. 在表面层导线的上方加介质材料

  • 原理:当无法减小耦合长度时,可以在表面导线的上方涂覆介质材料(如较厚的阻焊层),以减少远端串扰噪声。
  • 注意事项:增加介电涂层的厚度可能引起近端串扰的增加,并降低传输线的特性阻抗,因此在加涂层时必须综合考虑这些因素。

4. 将敏感线布成带状线

  • 原理:微带线结构通常由导体带、电介质层和接地平面组成。微带线位于PCB的表面层,而带状线则嵌入在PCB的内层。带状线(Stripline)结构是将信号线放置在PCB的内层,并用两层接地层包裹,这样可以最大限度地减少远端噪声。由于信号线被均匀的介质材料包围,耦合效应被显著减弱,因此远端噪声较低。
  • 优点:带状线结构能够提供稳定的电气性能,特别适用于敏感信号线。如果在设计中远端噪声成为问题,采用带状线布线是最安全、最有效的解决方案。
  • 注意事项:虽然带状线结构有效,但实际上介质材料的完全均匀性难以实现。介质材料通常是由核心叠层和预浸材料组成的组合。预浸材料含有较多的树脂,其介电常数通常比核心叠层小,这种不均匀性可能导致远端噪声的微小变化。

5. 防护布线

  • 隔离作用:防护布线通过阻隔干扰信号的传播路径,减少信号之间的电磁耦合,从而降低串扰。
  • 位置与宽度:防护线应尽量靠近受害线,并尽可能宽,以增强隔离效果。同时,防护线的宽度和间距需要符合PCB的设计规则。
  • 电气连接:防护线通常与地平面相连,或者保持在一个固定电位上,以最大化屏蔽效果。如果不接地会形成孤岛,强化串扰影响。相关实验视频链接。
  • 噪声抑制:两端接地时信号在两端震荡。在防护布线上增加多个“接地过孔”,可以为防护布线提供多个接地点或电位参考点。每个过孔都会将防护布线与接地层连接,从而有效地抑制和分散在防护布线上产生的噪声电压。

6. 采用差分信号

  • 差分传输是一种相较于单端传输更为复杂但也更为可靠的信号传输技术。它的关键特点是利用两根信号线来传输相同振幅但相位相反的信号。
  • 差分信号布线可以有效减少电磁干扰,因为差分对中的两条信号线会产生相反的电磁场,互相抵消干扰。

7. 控制走线长度

  • 尽量减少信号线的长度和并行走线的长度,降低串扰的影响。

8. 多层布线

  • 通过多层PCB设计,可以将关键信号线放置在不同层面上,减少信号间的相互耦合。
<think>首先,用户的问题是:“我想解决ADC采集过程中出现的问题 请问STM32 ADC采集过程中如何避免通道问题”。这是一个关于STM32 ADC采集的问题。 我需要根据系统级指令来构建我的回答: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 - 回答结构清晰,帮助用户逐步解决问题。 - 参考提供的引用内容。 提供的引用: - [^1]: 关于STM32 ADC原理驱动,包括DMA传输和校准流程。 - [^2]: 的定义,以及微分非线性(DNL)误差。 - [^3]: 一个具体案例,STM32H743VIT6的DMA+ADC1多通道采集问题,IN3影响IN4。 - [^4]: 解决多通道采集互相干方法:延长采样周期、降低ADC时钟、通道隔离。 用户的问题直接基于这些引用,所以我应该整合这些信息来回答。 回答结构: 1. **理解问题**:先解释什么是,以及为什么在STM32 ADC中会出现。 2. **原因分析**:基于引用,分析的原因。 3. **解决方案**:逐步提供避免方法,参考引用中的建议。 4. **实践建议**:给出具体的STM32配置建议。 5. **生成相关问题**:在末尾添加相关问题。 确保回答清晰、逐步解决问题。 关键点从引用中提取: - 是由于ADC内部电路设计或外部因素导致通道间信号耦合。 - 解决方法包括: - 延长采样时间(引用[^4])。 - 降低ADC时钟(引用[^4])。 - 使用通道隔离技术(引用[^4])。 - 确保DMA配置正确(引用[^1])。 - 考虑校准流程(引用[^1])。 在回答中自然地引用这些来源。 使用中文回答。 生成相关问题:在回答末尾添加3-5个相关问题,类似示例。 现在,构建回答大纲: 1. **引言**:确认问题并简述。 2. **原因**:解释STM32 ADC的常见原因。 3. **解决方案**: - 方法1: 调整采样时间。 - 方法2: 降低ADC时钟。 - 方法3: 实施通道隔离。 - 其他建议:如使用DMA优化、校准ADC。 4. **总结**:简要总结关键点。 5. **相关问题**:列出相关问题。 在文本中,自然地添加引用标识,例如在提到具体方法时加[^4]。 由于问题涉及数学,可能不需要复杂公式,但如果有机会,使用行内数学表达式。例如,在解释采样时间时,可以提到电压变化公式。 例如,引用[^4]提到采样电容充电:电压差值不应超过0.5LSB。所以,我可以使用行内数学:$ \Delta V < 0.5 \text{LSB} $。 独立公式:如果有必要,但这里可能不需要复杂的公式。 最后,生成相关问题,如: - 如何计算ADC采样时间? - STM32 ADC校准的具体步骤是什么? - 多通道ADC采集的DMA配置示例? 等。</think>### STM32 ADC采集通道问题的解决指南 在STM32微控制器的ADC(模数转换器)采集过程中,通道是一个常见问题,表现为一个通道的信号异常影响其他通道的测量结果(例如,IN3通道的电压值影响IN4通道[^3])。这种通常源于ADC内部电路设计、采样电容充电不足或外部噪声耦合,导致信号耦合(以dB为单位表示[^2])。如果不解决,会降低测量精度,影响工业检测等应用[^1]。下面我将逐步解释原因并提供可操作的解决方案,帮助您避免问题。回答基于STM32系列芯片(如STM32H743)的常见配置,参考了ADC驱动原理和实际案例。 #### 1. **理解的原因** - **内部电路因素**:STM32 ADC的多通道共享采样保持电路,上一轮采集的电压残留会加载到下一轮采集上,造成通道间[^3]。这是由于采样电容充电不充分导致的,电压差值$ \Delta V $ 必须满足 $ \Delta V < 0.5 \text{LSB} $(LSB表示最低有效位),否则无法准确反映信号[^4]。 - **外部因素**:包括PCB布局不当(如模拟信号线并行走线)、电源噪声或接地问题,这些会引入额外耦合[^2]。 - **性能指标**:通常以微分非线性(DNL)误差衡量,高DNL值表示通道隔离差[^2]。在STM32中,这常出现在DMA多通道采集模式下,因为高速传输可能放大残留电压[^1]。 #### 2. **避免的解决方案** 针对上述原因,我推荐以下方法,从软件配置到硬件优化逐步实施。这些方法基于STM32标准库或HAL库,适用于CubeMX配置。 ##### 步骤1: **延长采样时间(软件优化)** - **原理**:增加采样时间(Sample Time)允许采样电容充分充电到目标电压,减少残留电压对下一通道的影响。公式上,采样时间$ T_{\text{sample}} $ 应满足: $$ T_{\text{sample}} > \frac{C \times \Delta V}{I_{\text{source}}} $$ 其中$ C $是采样电容,$ I_{\text{source}} $是源电流[^4]。STM32允许通过寄存器设置采样周期(单位为ADC时钟周期)。 - **操作指南**: - 在CubeMX中,将ADC的“Sampling Time”参数增加(例如,从15周期提高到480周期)。 - 代码示例(HAL库): ```c ADC_ChannelConfTypeDef sConfig = {0}; sConfig.Channel = ADC_CHANNEL_3; // 通道3 sConfig.Rank = ADC_REGULAR_RANK_1; sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; // 延长采样时间 HAL_ADC_ConfigChannel(&hadc1, &sConfig); ``` - **效果**:实验显示,延长采样时间可减少达70%以上[^4]。但注意,这会降低采样率,适用于低速应用。 ##### 步骤2: **降低ADC时钟频率(软件优化)** - **原理**:降低ADC时钟(ADCCLK)变相增加采样时间,确保电容充电充分。ADCCLK由APB2时钟分频得到,公式为$ f_{\text{ADCCLK}} = f_{\text{PCLK2}} / \text{Divider} $。推荐设置分频器使$ f_{\text{ADCCLK}} < 14 \text{MHz} $(对于STM32F4系列)[^4]。 - **操作指南**: - 在CubeMX中,设置ADC的“Clock Prescaler”为较高分频(如DIV8)。 - 代码示例: ```c hadc1.Instance = ADC1; hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV8; // 降低时钟频率 HAL_ADC_Init(&hadc1); ``` - **效果**:结合延长采样时间,可显著改善通道隔离,尤其在高阻抗信号源时[^4]。 ##### 步骤3: **实施通道隔离(硬件软件结合)** - **原理**:通过在通道间添加“隔离时间”或使用外部电路减少信号耦合。这包括: - **软件隔离**:在ADC序列中插入延迟通道(dummy channel),或使用非连续模式(Discontinuous Mode)[^4]。 - **硬件隔离**:在PCB布局中,确保模拟输入线间保持距离,或添加RC滤波器(如10kΩ电阻和100nF电容)[^3]。 - **操作指南**: - 软件配置:启用ADC的非连续模式,并设置每个通道后插入延迟。 ```c hadc1.Init.DiscontinuousConvMode = ENABLE; // 启用非连续模式 hadc1.Init.NbrOfDiscConversion = 1; // 每个通道后停顿 HAL_ADC_Init(&hadc1); ``` - 硬件建议:在信号输入前添加低通滤波器,截止频率$ f_c = \frac{1}{2\pi RC} $ 应低于信号带宽[^2]。 - **效果**:案例显示,此方法可消除IN3对IN4的干[^3]。 ##### 步骤4: **优化DMA传输校准(系统级优化)** - **原理**:DMA传输机制能减少CPU干预,但错误配置会导致数据覆盖或残留。同时,ADC校准可补偿内部偏移,降低DNL误差[^1]。校准流程包括偏移和线性度校正。 - **操作指南**: - DMA配置:确保DMA缓冲区大小匹配通道数,并使用循环模式。 ```c HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, BUFFER_SIZE); // BUFFER_SIZE = 通道数 × 采样数 ``` - 校准执行:在ADC初始化后调用校准函数。 ```c HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); // 单端校准 ``` - **效果**:结合DMA和校准,可提升多通道采集精度,适用于工业检测场景[^1]。 #### 3. **综合实践建议** - **优先级顺序**:首先尝试延长采样时间和降低时钟(软件简单调整),如果无效,再添加通道隔离或硬件优化。 - **测试方法**:使用固定电压源测试各通道,测量值(单位dB),目标是将控制在-60dB以下[^2]。 - **注意事项**: - 对于高速应用,平衡采样率精度:降低时钟会影响吞吐量,建议最大采样率不超过$ \frac{f_{\text{ADCCLK}}}{T_{\text{sample}}} $。 - 参考STM32参考手册(如RM0090)中的ADC章节,获取具体寄存器细节。 - 如果问题持续,检查PCB设计:确保模拟地和数字地分离,并使用屏蔽线[^3]。 通过以上步骤,您能有效减少或消除STM32 ADC采集中的问题。核心是确保采样电容充分充电和减少通道间耦合[^4]。实际应用中,这些方法已帮助开发者实现稳定多通道采集[^1]。 #### 相关问题 1. 如何计算STM32 ADC的采样时间以满足$ \Delta V < 0.5 \text{LSB} $的要求? 2. STM32 ADC校准的具体步骤有哪些,如何验证校准效果? 3. 在多通道ADC采集时,DMA传输机制如何配置以避免数据丢失? 4. 外部RC滤波器设计如何优化以减少ADC通道? 5. STM32H7系列ADCF4系列在处理上有何差异?
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值