AD中PCB布局与布线的一般原则

本文部分图文摘自周立功的微信公众号——ZLG致远电子

1 布局原则

1、遵照“先大后小,先难后易”的布置原则,即重要的单元电路、核心元器件应当优先布局。

这里写图片描述
先大后小,先难后易
这里写图片描述
上图中1是因为机械结构决定电源与接线柱在这里。

2、布局中应参考原理框图,根据单板的主信号流向规律安排主要元器件。布局应尽量满足以下要求:总的连线尽可能短,关键信号线最短;去耦电容的布局要尽量靠近IC的电源管脚,并使之与电源和地之间形成的回路最短 ;减少信号跑的冤枉路,防止在路上出意外。

例如下图, C8到C11都是在VCC与GND之间的去耦电容,在原理图中并没有办法体现出它们的位置要求。但是PCB中们应当布局在芯片电源的输入引脚附件,例如31与32脚附近应有电容,18与19脚附近也应有电容。
这里写图片描述
错误示例,并排放置
这里写图片描述
正确示例,靠近芯片电源输入脚
这里写图片描述

3、元器件的排列要便于调试和维修,亦即小元件周围不能放置大元件、需调试的元器件周围要有足够的空间,弄得太挤局面往往会变得很尴尬。如下图R7与C7,如果先焊接周围的器件的话,R7与C7就很难焊接了。(这里也说明了焊接的顺序很重要)

这里写图片描述

4、 相同结构电路部分,尽可能采用“对称式”标准布局;按照均匀分布、重心平衡、版面美观的标准优化布局。

这里写图片描述
均匀分布、重心平衡,布局要整齐
这里写图片描述

5、同类型插装元器件在X或Y方向上应朝一个方向放置。同一种类型的有极性分立元件也要力争在X或Y方向上保持一致,便于生产和检验。 (如需要人工确认器件极性,可能要生产成本会上升)

这里写图片描述

6、发热元件要一般应均匀分布,以利于单板和整机的散热,除温度检测元件以外的温度敏感器件应远离发热量大的元器件。除了温度传感器,三极管也属于对热敏感的器件。

这里写图片描述

7、高电压、大电流信号与小电流,低电压的弱信号完全分开;模拟信号与数字信号分开;高频信号与低频信号分开;高频元器件的间隔要充分。元件布局时,应适当考虑使用同一种电源的器件尽量放在一起,以便于将来的电源分隔。

这里写图片描述

PCB布局示例
这里写图片描述

2 布线原则

以上即是关于“怎么摆”即布局的主要注意事项。而关于“怎么连”则相对要更复杂一些,大体来说就是:

• 关键信号线优先:摸拟小信号、高速信号、时钟信号和同步信号等关键信号优先布线 ;
• 密度优先原则:从单板上连接关系最复杂的器件着手布线。从单板上连线 最密集的区域开始布线 。

而布线的自助指南可以简单的总结为:
1、尽量为时钟信号、高频信号、敏感信号等关键信号提供专门的布线层,并保证其最小的回路面积。必要时应采取手工优先布线、屏蔽和加大安全间距等方法,保证信号质量。
2、电源层和地层之间的EMC环境较差,应避免布置对干扰敏感的信号。
3、有阻抗控制要求的网络应尽量按线长线宽要求布线。

3 根据原理图布局的示例

如果布局不合适,板子使用起来可能很不方便,布线难度很大。
布局时配合完成某一个功能的器件尽量挨得近一些,有操作技巧,接下来举例说明。
可以在原理图中先找到运放模块的器件,按住ctrl选中。
这里写图片描述
则PCB中,这些器件也已经被选中
这里写图片描述
然后观察原理图中的连接关系,比如C4接R3,R5,Q1。在PCB中找到这几个器件,放在一起。
观察预拉线的情况,已知每一个器件都有一个公共的网络叫做VB,可以按住ctrl选中网络属性为VB的一个焊盘,则VB高亮,例如
这里写图片描述
调整后编程如下布局
这里写图片描述
观察原理图中,Q1接R6,然后把R6也拖拽过来
这里写图片描述
其它器件以此类推
这里写图片描述
然后布线就可以比较顺利
这里写图片描述

4 低频双面板布线示例

这里写图片描述
器件导入PCB以后,先按要求完成布局。
然后有信号线,不论是串口、485还是CAN,信号线都要尽可能短,少打过孔,有时还要匹配长度,如差分。另外有时钟线,如晶振,也要短,少打过孔。

1 先走信号、时钟线。

2 走电源线,两种电源,VCC与VCC3.3。可以专门为电源线设置一个宽度规则。电源类的线也应当少走过孔,若确实需要,可以多个过孔并联

这里写图片描述
这里写图片描述
这里写图片描述

3 地线,可以根据情况决定。如大面积敷铜,可以考虑不走地线。如需要走地线,线宽应满足以下关系

地线>电源线>信号线

4 其它线,布线之前要观察尽可能在某个区域内,水平线与竖直线在不同的层。

这里写图片描述
水平线与竖直线走在不同的层
这里写图片描述
可适当调整器件的方向来方便走线。
目的地相近的线要整齐。可以采用交互式多根线连接工具
这里写图片描述
如果线不可避免地要交叉,可以考虑绕大圈(当然要考虑线的属性)
如图飞线交叉了。可以绕圈。
这里写图片描述
这里写图片描述

<think>好的,用户的问题是关于在Ubuntu加入AD域后,如何配置系统只允许特定用户(比如bob和elon)登录,同时禁止其他所有用户登录。我需要仔细思考解决方案,并确保步骤正确且符合最佳实践。 首先,Ubuntu加入AD域通常使用realmd和sssd。加入域后,默认情况下,域用户可能都能登录。要限制登录用户,需要配置SSSD和PAM(Pluggable Authentication Modules)。 步骤一:修改SSSD配置文件。SSSD的配置文件是/etc/sssd/sssd.conf。在[domain/your.domain.com]部分,可以添加参数来控制哪些用户可以访问。使用simple_allow_groups或simple_allow_users来指定允许的组或用户。例如,如果允许用户bob和elon,可以设置simple_allow_users = bob, elon。但需要注意,simple_allow_users可能需要SSSD版本支持,或者可能需要结合其他配置。 步骤二:配置PAM。Ubuntu的登录管理通过PAM处理。需要编辑/etc/pam.d/common-auth文件,添加一条规则,只允许特定用户。可以使用pam_succeed_if模块,例如添加auth required pam_succeed_if.so user notin bob:elon deny。但这里可能需要注意语法是否正确,用户是否存在,以及是否会影响本地用户。 另外,可能需要配置/etc/security/access.conf文件。在这个文件中添加“- : ALL EXCEPT bob elon : ALL”来拒绝所有非bob和elon的用户登录。这需要确保系统使用pam_access模块,并且在PAM配置中启用了该模块。 步骤三:更新SSSD和重启服务。修改配置后,需要重启SSSD服务,并确保配置文件的权限正确(通常为600)。 需要注意的几个问题:本地用户是否会被影响?如果允许本地用户登录,可能需要调整配置,避免将他们排除在外。另外,AD组的处理,如果用户属于特定组,是否可以通过组来限制。例如,使用simple_allow_groups来指定AD组,然后将bob和elon加入该组。 可能的错误点:配置语法错误,例如在access.conf中格式不正确;SSSD配置参数拼写错误;未正确重启服务导致配置未生效。 验证方法:可以通过su命令或者ssh尝试使用被禁止的用户登录,检查是否被拒绝。查看日志文件/var/log/auth.log来排查问题。 此外,可能还需要考虑sudo权限,但用户的问题主要关注登录限制,所以暂时不需要处理sudo。 总结下来,关键步骤是修改SSSD的过滤条件,配置PAM的访问控制,以及正确应用这些配置。需要逐步检查每一步,确保没有遗漏,并且测试验证。</think>### 分步解答 #### 1. 配置SSSD用户过滤 编辑SSSD配置文件`/etc/sssd/sssd.conf`,在`[domain/your.domain.com]`段落添加以下参数,仅允许用户`bob`和`elon`登录: ``` access_provider = simple simple_allow_users = bob, elon ``` 保存后执行: ```bash sudo chmod 600 /etc/sssd/sssd.conf sudo systemctl restart sssd ``` 此配置通过SSSD内置的访问控制模块直接过滤允许的用户[^2]。 #### 2. 配置PAM访问规则 修改`/etc/security/access.conf`,在文件末尾添加规则: ``` - : ALL EXCEPT bob elon : ALL ``` 该规则表示:**拒绝所有用户**(包括本地和域用户),**除了`bob`和`elon`**[^3]。 #### 3. 确保PAM加载访问控制 检查`/etc/pam.d/common-auth`文件是否包含以下配置(默认已存在): ``` account required pam_access.so ``` 若无则手动添加,并重启服务: ```bash sudo systemctl restart sssd ``` #### 验证配置 尝试用非授权AD用户SSH登录: ```bash ssh prohibited_user@ubuntu_host ``` 预期结果:`Access denied`错误提示。 #### 补充说明 - **本地用户保护**:若需保留本地用户登录权限,将规则改为: ``` - : ALL EXCEPT root bob elon : ALL ``` - **AD组控制**:若需按组控制,SSSD可改用`simple_allow_groups = allowed_ad_group`,但需先确保AD组信息已同步[^4]。 ```bash # 查看已同步的AD用户信息 getent passwd bob@domain ```
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值