NEC应用笔记:优化EMC的PCB设计策略

需积分: 9 4 下载量 154 浏览量 更新于2024-07-18 收藏 1.93MB PDF 举报
"NEC应用笔记U16935CA1V1AN00主要关注如何通过良好的PCB设计来改善电磁兼容性(EMC),以确保微控制器的稳定和可靠运行。这份文档由日电电子有限公司于2007年8月发布,主要面向使用NEC微控制器的工程师,提供了关于CMOS设备设计的关键注意事项和最佳实践。" 在PCB设计中,针对CMOS设备,有以下几个关键知识点: 1. CMOS输入引脚管理: - **输入电压波形**:输入引脚上的电压波形必须避免失真,因为这可能导致错误。应确保输入电压始终在规定的VIL(MAX)和VIH(MIN)之间,以防止噪声导致的错误操作。 - **未使用的输入引脚**:未使用的输入引脚不应处于开路状态,否则可能因噪声产生内部电平,引发误操作。通常,需要通过上拉或下拉电阻将这些引脚固定在VDD或GND。 2. 静电放电(ESD)防护: - **ESD敏感性**:MOS设备容易受到强电场的影响,可能导致氧化栅极损伤。因此,防静电措施至关重要,包括使用抗静电材料,确保工作环境湿润,工具和工作台的良好接地,以及操作人员佩戴防静电手带。 3. 设备初始化: - **上电状态**:MOS设备在电源刚接通时处于不确定状态,特别是带有复位功能的设备,需要在接收到复位信号后才能进行初始化。因此,上电后的复位操作是必要的,以确保输出引脚、I/O设置和寄存器内容的正确初始化。 4. 电源管理: - **电源开关顺序**:在多电源系统中,正确的电源开启和关闭顺序至关重要。通常应先打开内部电源,然后是外部电源;关闭时则相反。错误的顺序可能导致内部组件过电压,引起异常电流和设备损坏。 这些指导原则对于任何涉及CMOS设备和PCB设计的工程实践都极其重要,能够帮助减少电磁干扰,提高系统稳定性,并降低故障率。在设计过程中严格遵循这些原则,可以显著提升产品的EMC性能,增强系统的可靠性。

优化这段代码#include <REGX52.H> #include "lcd1602.h" #include "send_IR.h" #include "notsend_IR.h" #include "keybored.h" #include "Delay.h" sbit IR_EN = P2^0; void Send_NEC_0() { NotSend_IR(19); Send_IR(19); } void Send_NEC_1() { NotSend_IR(60); Send_IR(19); } void send(unsigned char s1,unsigned char s2) { unsigned char temp,i; Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); Send_NEC_1(); Send_NEC_0(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_0(); Send_NEC_1(); Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); temp = s1 & 0x001; for(i = 0;i<12;i++) { if(temp) { Send_NEC_1(); } else { Send_NEC_0(); } temp = temp>>1; } Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); temp = s2 & 0x001; for(i = 0;i<12;i++) { if(temp) { Send_NEC_1(); } else { Send_NEC_0(); } temp = temp>>1; } //????? Send_NEC_1(); Send_NEC_1(); Send_NEC_1(); Send_NEC_1(); } void Send1(unsigned char s1,unsigned char s2) { Send_IR(167); NotSend_IR(167); Send_IR(167); send(s1,s2); Send_IR(167); NotSend_IR(167); Send_IR(167); send(s1,s2); Send_IR(167); NotSend_IR(167); Send_IR(167); Send_NEC_1(); Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); Send_NEC_1(); Send_NEC_0(); Send_NEC_0(); Send_NEC_1(); Send_NEC_1(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); Send_NEC_1(); Send_NEC_0(); }

2023-05-30 上传