网口设计时布局布线要怎么处理?为什么变压器要掏空隔离?为什么网口中心抽头的电容要尽可能短?网口的组成和信号组成是什么?

来自群友的疑难杂症(加杨老师V信:PCB206 可入群):网口设计时布局布线要怎么处理?为什么变压器要掏空隔离?为什么网口中心抽头的电容要尽可能短?网口的组成是什么?

杨老师(PCB206可零距离交流)分析:PCB设计中,掌握信号流和电源树是非常重要的,你要知道信号从哪里来,到哪里去;电源从哪里进从哪里出,给哪些器件用?

所以网口的设计也是一样,我们首先要知道网口的组成。

以太网大家应该都很熟悉:有网口,变压器,PHY芯片,主芯片等构成,当然还有一种找不到变压器的情况,那可能就是集成了。

第一种:

 

第二种:

 

当然还有第三种情况,就不介绍了,有的硬件或者EMC考虑到防护设计,会在网口电路中加入一级或者多级防护电路。这个一般是硬件或者EMC考虑的事,PCB设计者当然懂得也更好。如果增加了防护设计,按信号流向处理即可。

 

关于这个PHY和MAC还是杨医生觉得还是要解释下:

以太网接口可分为协议层和物理层。 协议层是由一个叫MAC(Media Access Layer,媒体访问层)控制器的单一模块实现。 物理层由两部分组成,即PHY(Physical Layer,物理层)和传输器。 例如我们常见的网卡芯片都是把MAC和PHY集成在一个芯片中,但目前很多主板的南桥芯片已包含了以太网MAC控制功能,只是未提供物理层接口,因此,需外接PHY芯片以提供以太网的接入通道。

 

 

接下来就是认识网口传输的信号。

网口我们现在常见的有百兆网口,千兆网口两种,细心的设计者会发现百兆网口是只有两对差分的,一对收,一对发;但是千兆网口往往有四对差分,两对收,两对发。这里的差分信号就是TX,RX。

 

从PHY到主芯片的信号我们也可以大致了解,PHY芯品通过不同的接口(SI/MII/GMII)配合不同的晶振(时钟)进行信号的传输。For example:

 

 

有了这些基础,那PCB上的布局布线就非常之easy了。先上图再分析

 

依照上面大致的布局图我们可以得出以下注意事项(整个布局思路从RJ45连接器到MAC,按顺序说明,大家布局时可参考):

1,首先看RJ45,一般都是定位器件, 靠近板边放置。这个是常规布局,根据结构要求来放置即可。

 

2,RJ45和变压器之间的距离尽可能的短,器件布局的原则是通常按照信号流向放置,切不可绕来绕去;建议长度小于1000mil。

 

3,网口变压器的放置方向位置初次级需要完全隔离开来。

 

4,变压器初级端由电容电阻组成的电路是专用的bob smith电路,需要靠近放置。

bob smith电路作用:通过一个网络变压器+Bob Smith匹配,其作用网络变压器主要有信号传输、阻抗匹配、网络变压器主要有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。而Bob Smith 电路的作用是为了改善端口EMC的差模,共模阻抗匹配的端接处理方式。这种电路能有效的滤除共模干扰,该电路可以降低10dB左右的EMI衰减。

 

5,变压器次级端中心抽头对地的滤波电容要尽量靠近变压器管脚,保证引线最短,分布电感最小;

 

6,PHY芯片模块的方向最好正对着变压器,尽可能靠近的放置,以保持接口芯片固有的A/D隔离,另外路径的最短话可以做到平衡走线,减少干扰信号向板内耦合。

 

7,Phy芯片中的晶振远离接口、PCB边缘和其他的高频设备、走线或磁性元件周围。

 

接着我们来看看布线上的问题:

1,关于网口变压器两端的GND处理,常规是净空,即网口部分所有层挖空,变压器下方挖空。

 

业界还有一种情况:

变压器的两边做割地处理:即RJ45连接座和变压器的次级线圈用单独的隔离地,隔离区域100mil以上,且在这个隔离区域下没有电源和地层存在。

反正核心原理就是:做好隔离,避免耦合!毕竟外来的还是不干净的。

 

2,另外一个最优先处理的信号:差分信号。

其一,以太网的信号线是以差分对(Rx±、Tx±)的形式存在,差分线具有很强共模抑制能力,抗干扰能力强;尽量保持差分对平行、等长、短距,避免过孔、交叉。

 

其二,初级的网口差分信号可适当加粗抗干扰,无需控制阻抗。但次级端需要需对Rx±、Tx±差分对进行阻抗控制,通常阻抗控制在100Ω±10%。

 

其三,做对内等长,由于管脚分布、过孔、以及走线空间等因素存在使得差分线长度不匹配,时序会发生偏移,还会引入共模干扰,降低信号质量。相应的要对差分对不匹配的情况作出补偿,使其线长匹配,长度差通常控制在5mil以内,补偿原则是哪里出现长度差补偿哪里;

 

其四,  附近不要有其他高速信号线,做好间距要求,提高抗干扰能力。

 

3,PHY芯片到MAC芯片的信号做组间等长处理,参考时钟,控制范围可在+-50mil。 具体哪些信号需要控等长,请参考之前疑难杂症。点击进入:

这组Bus到底要不要绕等长?

 

4,其他如电容放置fanout,晶振电路设计,灯信号处理等等,按常规要求处理好。

 

其他一些相关问题答疑:

1、中间抽头为什么有些接电源?有些接地?

这个主要是与使用的PHY芯片UTP口驱动类型决定的,这种驱动类型有两种,电压驱动和电流驱动。电压驱动的就要接电源;电流驱动的就直接接个电容到地即可!所以对于不同的芯片,中心抽头的接法,与PHY是有密切关系的,具体还要参看芯片的datasheet和参考设计了。为什么接电源时,又接不同的电压呢?这个也是所使用的PHY芯片资料里规定的UTP端口电平决定的。决定的什么电平,就得接相应的电压了。即如果是2.5v的就上拉到2.5v,如果是3.3v的就上拉到3.3v。

 

2,空间不足,变压器是否可以不接?接了为什么要掏空?

从理论上来说,是可以不需要接变压器,直接接到RJ45上,也许能正常工作的。但是传输距离就很受限制,而且当接到不同电平网口时,也会有影响。而且外部对芯片的干扰也很大。当接了网络变压器后,它主要用于信号电平耦合。其一,可以增强信号,使其传输距离更远;其二,使芯片端与外部隔离,抗干扰能力大大增强,而且对芯片增加了很大的保护作用(如雷击);其三,当接到不同电平(如有的PHY芯片是2.5V,有的PHY芯片是3.3V)的网口时,不会对彼此设备造成影响。至于掏空的原因是为了防止变压器转换的时候影响下面的电源和地。

 

好了,今天的疑难杂症就分析到这里,网口设计的你之前就没有问题,再加上这篇解析,相信可以说到:网口给我设计,我相信我可以再赢一次!

原创:杨老师   

 

<think>我们正在分析一个函数`build_fir`,它使用汉明窗设计一个FIR滤波器。特别地,用户询问为什么在这个函数中,降采样因子(`fm->downsample`)被用作滤波器的阶数(长度)。 函数解析: ```c void build_fir(struct fm_state *fm) { double a, b, w, N1; int i, len; len = fm->downsample; // 这里将降采样因子赋值给len,作为滤波器长度 a = 25.0/46.0; // 汉明窗参数:标准汉明窗常数是0.540.46,但这里用25/46≈0.5435, 21/46≈0.4565 b = 21.0/46.0; N1 = (double)(len-1); // 滤波器阶数为len-1,所以有len个抽头(系数) // 生成汉明窗加权的滤波器系数 for(i = 0; i < len; i++) { w = a - b*cos(2*i*M_PI/N1); // 汉明窗函数 fm->fir[i] = (int)(w * 255); // 将窗函数值量化为整数(乘以255可能是为了定点化) } // 计算所有系数的,用于后续归一化(在滤波,每个输出要除以这个) fm->fir_sum = 0; for(i = 0; i < len; i++) { fm->fir_sum += fm->fir[i]; } } ``` 问题:为什么使用降采样因子(downsample)作为滤波器长度(阶数)? 在信号处理中,降采样(Downsampling)是指降低信号采样率的过程。为了避免降采样后的信号出现混叠(Aliasing),通常在降采样前进行抗混叠滤波(Anti-aliasing Filtering)。这个抗混叠滤波器就是一个低通滤波器,其截止频率一般为降采样后采样率的奈奎斯特频率。 降采样因子(用D表示)表示每隔D个点取一个点(即保留1/D的点)。例如,降采样因子为4,则每4个点取1个点。 关键点:抗混叠滤波器的设计需要满足一定的性能要求,其中滤波器的长度(阶数)会影响滤波器的性能(过渡带宽度、阻带衰减等)。然而,在这个特定的函数中,并没有按照传统方式根据过渡带阻带衰减要求来计算滤波器长度,而是直接将降采样因子作为滤波器长度。 原因分析: 1. **实性考虑**:在软件无线电(SDR)等实处理系统中,计算复杂度是一个重要因素。滤波器长度越长,计算量越大。选择降采样因子作为滤波器长度可能是为了在性能复杂度之间取得一个折中。因为降采样因子通常不会很大(例如2、4、8等),这样滤波器长度也就较小,计算量可控。 2. **经验设计**:在某些应用中,降采样因子滤波器长度之间的关系可能是经验性的。例如,在FM解调中,降采样因子滤波器长度的关系可能通过实验确定,以达到足够的抗混叠效果。 3. **简化设计**:这里并没有使用传统的窗函数设计方法(即先确定截止频率阶数,再计算理想滤波器系数并加窗),而是直接生成了一个长度为降采样因子的汉明窗。实际上,这个滤波器是一个移动平均滤波器吗?不,这里只是生成了一个汉明窗本身作为系数,并没有乘以理想低通滤波器的sinc函数。因此,这实际上是一个矩形窗?不对,注意这里生成的是汉明窗的系数,但没有乘以理想滤波器的系数。 但是,我们注意到这个函数生成的滤波器系数仅仅是汉明窗的权重,并没有与理想低通滤波器的脉冲响应(sinc函数)相乘。这是不寻常的。通常,FIR滤波器设计需要两个步骤: a) 计算理想滤波器的脉冲响应(例如低通滤波器用sinc函数)。 b) 加窗(如汉明窗)以抑制旁瓣。 然而,在这个函数中,只生成了一个汉明窗,然后将其作为滤波器系数。这实际上相当于设计了一个具有矩形频率响应的滤波器(即理想低通)吗?不,实际上,如果省略了理想滤波器的脉冲响应,而只使用窗函数作为系数,那么得到的滤波器是一个具有该窗函数频谱形状的滤波器。但通常这不是我们想要的。 但是,我们观察代码中的注释: /* point = sum(sample[i] * fir[i] * fir_len / fir_sum) */ 这个注释表明,滤波器的输出是输入样本与滤波器系数的卷积,然后乘以滤波器长度(fir_len)并除以系数总(fir_sum)。注意,这里没有出现传统的除以阶数或归一化因子,而是用了一个自定义的归一化(乘以长度再除以系数)。 然而,我们注意到,生成的系数是汉明窗的加权值,并且没有乘以任何理想滤波器的响应。因此,这个滤波器实际上是一个移动平均滤波器(因为系数都是正的)?还是说,这里设计的是一个低通滤波器,其脉冲响应就是汉明窗本身?实际上,汉明窗函数本身就是一个低通滤波器(其频谱是低通特性),但是它的截止频率并不是我们通常意义上的截止频率。 那么,为什么使用降采样因子作为长度? 在降采样过程中,抗混叠滤波器的截止频率应该是降采样后采样率的奈奎斯特频率。而滤波器的阶数(长度)会影响过渡带宽度。过渡带宽度与滤波器长度成反比。因此,为了在降采样后不产生混叠,过渡带必须足够陡峭,这就需要较长的滤波器。但是,在这个函数中,滤波器长度等于降采样因子,这个长度通常很小(比如4,8,16),这样设计的滤波器过渡带很宽,抗混叠效果可能不够好。 然而,在FM解调中,信号本身可能已经过带限,并且降采样因子较小,所以用较的滤波器也可以满足要求。另外,这里使用汉明窗,虽然过渡带较宽,但旁瓣衰减较大,可以减少混叠。 总结原因: - 可能是为了简化设计,因为降采样因子较小,直接使用它作为滤波器长度可以满足实性要求。 - 在特定的应用场景(如FM广播接收)中,信号带宽采样率的关系使得这种简化的设计可以接受。 但是,需要注意的是,这种设计方法并不是常规的FIR滤波器设计方法。常规方法会根据所需的过渡带宽度阻带衰减来确定滤波器长度,而不是直接使用降采样因子。 引用参考: [^1] 中提到窗函数设计FIR滤波器,需要将理想滤波器的频率响应与窗函数的频率响应相乘。但在这个函数中,我们并没有看到理想滤波器的频率响应的计算,而只计算了窗函数。因此,这个滤波器实际上是一个窗函数的域形式,其频率响应就是该窗函数的频率响应(平移至零频附近)。这种滤波器具有低通特性,但截止频率是固定的(由窗函数的长度决定)。具体来说,汉明窗的主瓣宽度约为$4\pi/N$(其中N为窗长度),所以当窗长度等于降采样因子,主瓣宽度与降采样因子成反比。 因此,在降采样因子较小(即N较小),主瓣较宽,过渡带较宽,抗混叠效果可能不够好。但在降采样因子较大的情况下,主瓣变窄,过渡带变陡,抗混叠效果会变好。然而,降采样因子大意味着采样率降低得多,此抗混叠滤波器需要更陡峭,所以需要更长的滤波器(而这里长度等于降采样因子,所以降采样因子大,滤波器长度也大,正好满足要求)。 所以,这种设计在降采样因子较大能提供更好的抗混叠性能,而在降采样因子较小性能较差,但计算量小。 因此,将降采样因子作为滤波器长度的原因可能是: 1. 实现简单,计算量小(因为降采样因子通常不大)。 2. 在降采样因子增大,滤波器长度自动增大,从而提供更好的抗混叠性能。 注意:在代码中,滤波器系数被量化为整数(乘以255),然后求用于归一化。在滤波,输出会乘以滤波器长度(fir_len)再除以系数(fir_sum)。这实际上是一种归一化操作,以保证滤波器的直流增益为1。 但这里有一个问题:为什么乘以长度(fir_len)?因为通常归一化是除以系数,而这里还多乘了一个长度。这可能是因为在后续的滤波计算中,没有进行累加的归一化,而是用这个公式来归一化。具体要看滤波实现代码。 结论:这种设计是一种经验性的简化设计,适用于对性能要求不高且实性要求较强的场合,如FM解调。 相关问题: 1. 为什么在FIR滤波器设计中需要加窗? 2. 降采样过程中的抗混叠滤波器设计有哪些关键参数? 3. 汉明窗的主瓣宽度旁瓣衰减与滤波器长度有什么关系? 4. 在实信号处理系统中,如何权衡滤波器性能计算复杂度?</think>### 函数解析:汉明窗 FIR 滤波器设计与降采样因子的关系 #### 1. **函数作用** 此函数使用汉明窗设计一个 FIR 低通滤波器,用于信号降采样前的抗混叠滤波。其核心目的是生成滤波器系数,确保降采样后的信号不出现混叠失真[^1]。 #### 2. **关键模块解析** ```c len = fm->downsample; // 关键点:降采样因子作为滤波器长度 ``` - **降采样因子(`downsample`)**:表示信号采样率降低的倍数(如 4 表示每 4 个点保留 1 个)。 - **为何作为滤波器长度?** 在降采样系统中: - 滤波器长度需匹配降采样因子,确保主瓣宽度 $\Delta \omega \approx \frac{4\pi}{N}$ 覆盖降采样后的奈奎斯特带宽[^1]。 - 当 $N = \text{downsample}$ ,过渡带宽度 $\Delta f \propto \frac{1}{N}$,能有效抑制 $f_s/(2N)$ 以上的频率分量($f_s$ 为原采样率)[^2]。 ```c a = 25.0/46.0; // ≈0.543 (标准汉明窗常数) b = 21.0/46.0; // ≈0.457 for(i=0; i<len; i++) { w = a - b*cos(2*i*M_PI/N1); // 汉明窗函数 $w(n) = 0.543 - 0.457\cos\left(\frac{2\pi n}{N-1}\right)$ fm->fir[i] = (int)(w * 255); // 量化系数 } ``` - **汉明窗优势**: - 旁瓣衰减达 -53 dB,优于矩形窗(-13 dB),减少吉布斯效应[^1]。 - 主瓣宽度 $4\pi/N$,平衡过渡带计算复杂度。 ```c fm->fir_sum = 0; for(i=0; i<len; i++) { fm->fir_sum += fm->fir[i]; // 计算系数用于归一化 } ``` - **归一化目的**: 保持滤波器直流增益为 1,避免幅度失真。滤波输出计算为: $$\text{output} = \frac{1}{\text{fir\_sum}} \sum_{i=0}^{N-1} \text{sample}[i] \times \text{fir}[i]$$ #### 3. **设计原理总结** | 参数 | 作用 | 数学关系 | |---------------|----------------------------------------------------------------------|------------------------------| | 降采样因子 `N` | 决定抗混叠滤波器的截止频率过渡带宽度 | $f_c = \frac{f_s}{2N}$ | | 汉明窗长度 `N` | 控制主瓣宽度,抑制混叠 | $\Delta f \propto \frac{1}{N}$ | | 系数归一化 | 保证直流信号无衰减 | $H(0) = \sum h[n] = 1$ | #### 4. **为何选择降采样因子作为长度?** 1. **实性约束**: 嵌入式系统中,$N = \text{downsample}$ 确保计算量 $O(N)$ 与降采样率线性相关,满足实处理需求。 2. **混叠抑制**: 当 $N$ 等于降采样因子,滤波器自然满足: $$\text{阻带起始频率} \geq \frac{f_s}{2N} = \text{降采样后的奈奎斯特频率}$$ 避免混叠[^3]。 3. **资源优化**: 避免传统方法中需独立计算滤波器阶数的额外开销(如 Parks-McClellan 算法)[^2]。 --- ### 相关问题 1. **窗函数选择的影响** 汉明窗与汉宁窗在 FIR 滤波器设计中的性能差异是什么?如何选择?[^1] 2. **降采样系统的优化** 在资源受限的嵌入式系统中,如何平衡抗混叠滤波器的长度与计算复杂度?[^3] 3. **量化误差分析** 系数量化(如 `(int)(w * 255)`)对滤波器频率响应有何影响?如何优化?[^2] 4. **多级降采样设计** 当降采样因子较大(如 $D>16$),为何推荐使用多级滤波?如何设计各级参数?[^3]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值