9V电池供电设备自动关机电路,来评论区找电路Bug!
之前发过一个产品级别的一键开关机电路,通过软硬件结合实现一键开关机:灰常实用的一键开关机电路,各位大佬进来mark一下?(点击阅读)前几天,新来的一个同事说,我们的万用表几分钟后就自己关闭了,这个电路怎么实现的?既然有疑问,那么我们就安排!分析自动延时关机电路很实用,特别是在电池供电的场合,实际使用中,我们肯定会经常忘记关闭,如果经常这样可能电池就要经常更换了,或者有一些电源按键突出比较多,携带的时候经常误触到。所以我们伟大的工程师们加入了自动关机电路,让设备进行自我了结,很好的保护自己。下面方案只为给大家分析原理,不一定是产品级别的,大家有更好的方案可以私信我沟通交流!方案一这是一种比较简单的电路,适用于开机键是不自锁轻触开关的场合,注意这里是9V的电池供电,如果是锂电池,可能不太行。轻触开关按下之后,电池给C1电容供电,MOS管导通,设备通电;按键弹起之后,由于电容容量较大,47uF电容给4M电阻放电,具体不写公式了,实测大概5分钟左右设备断电。这种电路简单,能达到目的,缺点就是关机过程电压下降缓慢,不够干脆,电池电压如果降低的话,延时时间也会有较大变化,想关也关不了,不过又不是不能用,一些老电工可能会自己搭这个电路,简单实用!方案二直接上电路:这个电路稍微完善一点,适用于自锁开关,下面我们简单分析一下:当自锁开关关闭时,12,45导通,电池直接给电容C2充电,电容电压为9V;当自锁开关按下后,23,56导通,一路,电容C2通过开关将电压加在电阻R6上与比较器U1的同向端,另一路,电池通过开关将电压加在R4,R5上,比较器的反向端电压为1.5V,因为电阻R6的阻比较大,所以C2的放电速度也比较慢,比较器的同向端电压大于反向端,比较器输出高电平,Q2,Q3导通,电池持续向设备供电,一段时间之后,C2上的电压不断下降,当低于1.5V的时候,比较器输出低电平,Q3截至,Q2也截至,断开给设备的供电。时间可以通过调整C2与R6的值来改变。本电路,无法使设备可以持续工作,也就是设备有单次的最长使用时间,超过时间只能重新按一下开关,如果想要既可以超时断电,设备每次使用也可以重新刷新关闭倒计时,可以采用文章开头的一键开关机电路,软硬件结合进行控制,设备每次用了一下之后,就重新刷新关闭倒计时,超时控制相应管子关闭即可!就跟我们的手机熄屏的原理一样,就可以达到理想的效果了。上述电路,有什么Bug,或者各自有什么可以改进的点,大家评论区留言讨论!#嘉立创PCB#
芯片之家
0 6 嘉立创PCB
看漫画学电子,非常精彩!有些概念以前模糊现在真的懂了
1、按键消抖,在机械按键断开与闭合时,按键的触电是有一点弹性的,按下去的时候不会马上就很稳定的导通,断开也不会马上彻底断开,它是有一个过程的,中间是有抖动的,所以当我们检测到按键状态发生变化时,不应该马上响应,而是等待一小段时间再去重复检测一次,确保状态真的变化了,再进行处理,这个时间一般10-20ms就可以了,下图真实的展示了按下去时候输出的波形 之前分享的一个不错的按键架构:完全由C编写,高度可移植,超级牛逼的按键驱动机制!(点击阅读)2、齐纳二极管,又称稳压二极管,齐纳二极管允许电流正向流动,在这种情况下,齐纳二极管的行为就像普通二极管一样。每个齐纳二极管都有反向击穿电压,对于不同的齐纳二极管,反向击穿电压的值也不同。当施加小于击穿电压的反向电压时,齐纳二极管像普通二极管一样阻止电流,但是当反向电压大于击穿电压时,齐纳二极管开始反向传导。当齐纳二极管反向导通时,两端的电压降几乎等于反向击穿电压。3、ADC,将模拟量转换为数字量的过程称为模数( A / D )转换,是指将连续变化的模拟信号转换为离散的数字信号的器件。现实世界中的各种信号,例如温度、压力、声音或者图像等都是模拟的,无法直接存储,需要转换成更容易储存、处理和发射的数字形式。模/数转换器可以实现这个功能,在各种不同的产品中都可以找到它的身影,只要采样精度足够高,就能无限接近并还原原始的模拟型号。4、数字&模拟传感器,有一些传感器输出的信号是数字的,通过指定的协议读取写入数据,还有一些是模拟的,输出是一个连续变化的电压信号,给到外围电路或者芯片读取检测。5、浪涌电流,电流其实跟水流蛮像的,浪涌电流是电源或电气设备在接通时消耗的瞬时高输入电流,在开闸的瞬间冲击非常大,大家想象一下水流就明白了,实际上电流的速度超级无敌快,如果没有限制,那么大电流除了会在电源线上产生电压骤降之外,还会损坏设备,并导致由同一电源供电的其他设备发生故障,我们平时设计的电源部分,有些场景也是需要做缓启动的,避免启动瞬间很大的电流冲击。6、电感VS电容,两个肌肉猛男PK?电容通电之后全身满满的电荷,电感通电之后全身满满的磁场,谁更厉害?7、温度传感器,NTC是负温度系数的热敏电阻,电阻随温度的上升而减少,PTC是正温度系数的热敏电阻,电阻随温度的上升而增加,不过这里有一点不对的地方,PTC超过一定的温度(居里温度)后,电阻值才随着温度的升高呈阶跃性的增高。NTC一般串接在主电源回路中,电子电路在开机瞬间会产生很大的浪涌电流,开机瞬间电流较大,NTC原件阻值增大,抑制浪涌电流后,阻值逐渐下降到最小,不会对电路产生影响,从而保护电路免受冲击。PTC通常用于具有自恢复功能的保险丝或者加热器的应用。8、加密与解密,原始数据通过一定的协议编码进行加密,发给第三方,加密后的数据与之前的不同,第三方拿到之后不可直接使用,之后传给接收者,通过约定的协议进行加密,恢复原始数据。9、电源转换,DCAC一般用于逆变器,直流电压转换为交流电压,ACDC一般用于适配器,将交流电转换为直流电。10、保险丝,我能顶得住1A的电流,2A的电流,我就断了!#嘉立创PCB#
芯片之家
2 7 嘉立创PCB
带你软硬结合,感受下ADC DMA采集多路电压电流的最佳姿势
在我们的电子设计中,经常需要对外部的模拟量进行采集,如一些传感器的输出量,电位器的旋转量等等,特别是电压电流的采集可以说是家常便饭,这些都离不开MCU最常用的外设,ADC,它可以将模拟量转换为数字量,量化后给MCU进行处理,稍微复杂一点的产品,往往需要多路模拟量采集,今天晓宇姐姐结合实际案例,跟大家一起分享一个我经常用的方案之一,通过定时器自动触发多路ADC进行电压电流的采集,并通过DMA传送数据到内存,在需要的时候,去内存读取数据并进行处理即可,小伙伴们,搞起来吧!本次我们采集3路AD信号,一路电压,一路电流,还有一个电位器,方便观察数据。硬件电路分析图1:AD多路采集1、首先来看电压采集跟电位器(模拟传感器信号)的采集,24V的电源电压需要分压,这两个电压都足够高,所以直接送到MCU的AD引脚即可,这里记得要并一个100nF的电容,作用是存储电荷的,ADC在快速充放电的时候,这个电容可以起到补给的作用,另外也有滤波的作用,所以这个一定要加。2、电流的采集,这里用了一个经典的差分放大电路,放大原理就不细说了,大概就是经过运放的虚短,虚断等特性,这里方便计算,一般取R4+R5=R8+R9,R6=R10,最终的传递函数位Vout=(CURR_I - GND)* R6/(R4+R5),这里的放大倍数为10倍。一般情况下,在将运算放大器的输入端连接到放大器,使用“反相”或“非反相”输入端放大单个输入信号,而另一个输入端接地,也是可以的,只是只能放大一个电平,这里用差分电路展示,上图的反向输入可以接其它电压,有时候我们需要放大的电压两端电势没有一个接地的,比如我们在母线电压输入端串联一个小电阻,分别将电阻两边的电压送到差分放大器,就可以实现母线电流的采集了。软件分析这里以STM32F051来举例说明,STM32F051包含一个分辨率为12位的ADC模块,所以采样精度能达到Vref/4096,同时具有19个ADC通道,其中16个外部采样通道和3个内部信号源。我们一般需要配置引脚,分辨率,数据对齐,触发方式,采样方式,扫描方式等等,这里有一个规则通道跟注入通道之分,注入就是可以插队的意思,有一些时序精度要求很高的场合会用,一般场合用规则通道即可。关于通道组,这里有一个点需要注意的是,一个通道组转换完才会进入中断,并不是单个通道,又因为MCU内部只有一个ADC_DR,所以有部分同学在开始配置多通道后发现采集的数据都不对,其实我们这样记就行了,如果是只采样一个通道,分单次转换模式跟连续转换模式(重复启动ADC),如果是规则多通道的采集,我们必须要使用扫描模式,而且,这里一定要开启DMA功能,DMA会在每个通道转换完之后,自动的把结果传到内存中。图2:DMA简易示图关于DMA,大家应该都有过了解了,DMA控制器依赖于处理器内核,但DMA不影响总线传输,因为DMA控制器总是在系统总线空闲的时候使用总线。该总线实现处理器和DMA控制器之间最优化设计,使两者之间的冲突降到最低,因此传输性能得到提高。如上图所示,我们配置完DMA之后,每次数据采集完毕,DMA会自动的帮MCU把数据运送到我们指定的内存空间,这个搬运不依赖于CPU时钟,所以也算是实现了并行操作,相比在主程序中开启采集,我们的MCU可以有更多的时间去计算运行别的东西。关于触发,我们可以选择手动触发一次ADC采集,也可以通过定时器的中断去触发,这里强调一点,如果只是利用定时器的更新事件去触发ADC,我们也没必要开启更新中断,定时器会源源不断的产生更新事件。如果选择开启,可以在中断中执行一些操作,例如通过某些参数变化情况去改变AD采集的间隔时间。我们采集3个通道的值,分别是通道4(VOL_AD)、通道11(CURR_O)、通道14(POT_AD)下面上代码:1、ADC IO 配置,配置为模拟输入GPIO_InitTypeDef GPIO_InitStructure; DMA_InitTypeDef DMA_InitStructure; ADC_InitTypeDef ADC_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; /*-------ADC GPIO配置---------*/ GPIO_InitStructure.GPIO_Pin = CURR_O | POT_AD; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; //模拟输入 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = VOL_AD; GPIO_Init(GPIOA, &GPIO_InitStructure); 2、DMA配置,配置3个通道,所以内存中定义一个结构体存储DMA搬运过来的值adc_sample_t adc_data; DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);  //DMA时钟开启 /*-------DMA配置AD采集---------*/ DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC1->DR;//外设基地,DMA搬运数据的地址  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&adc_data;//内存基地址,DMA搬运数据放到内存的地址 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//外设到内存,源是外设 DMA_InitStructure.DMA_BufferSize = 3;//3个通道 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址不变,不自增 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;//不同通道的数据,内存要自增 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;//外设数据16位 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;//内存数据16位 DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//DMA循环模式 DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;//DMA优先级为中 DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;//内存到内存失能    DMA_Init(DMA1_Channel1,&DMA_InitStructure); /*--------------DMA中断配置-----------------*/ NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);    DMA_ClearFlag(DMA1_FLAG_TC1);//清除传送完成中断标志 DMA_ITConfig(DMA1_Channel1,DMA_IT_TC,DISABLE);//中断先不打开 DMA_Cmd(DMA1_Channel1,ENABLE); 3、ADC配置,配置各项参数/*-------ADC配置,用于采样电流,电压,电位器---------*/ ADC_JitterCmd(ADC1,ADC_JitterOff_PCLKDiv4,ENABLE);//移除时钟为PCLKDiv4时在触发到启动转换延迟中产生的抖动 RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div4);//ADC时钟为PLCK的4分频。也就是12MHz ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;//ADC的位数。这里选择12位 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//连续转换模式禁能 ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_Falling;//触发沿为下降沿触发 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC4;//ADC的触发源为定时器1的第四通道 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//数据对齐为右对齐 ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;//通道的扫描方向,由小到大扫描 ADC_Init(ADC1, &ADC_InitStructure); /*-------ADC通道及采样时间配置---------*/ ADC_ChannelConfig(ADC1,Vbus_VOLTAGE_CHANNEL, ADC_SampleTime_7_5Cycles); ADC_ChannelConfig(ADC1,Bridge_CURRENT_CHANNEL, ADC_SampleTime_7_5Cycles); ADC_ChannelConfig(ADC1,ELE_GUN_CHANNEL, ADC_SampleTime_7_5Cycles); /*-------使用ADC前需要先校准---------*/ ADC_GetCalibrationFactor(ADC1); ADC_Cmd(ADC1, ENABLE); /*-------------等待ADC准备好--------------*/ while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADRDY)); /*-------------使能ADC的DMA传输功能--------------*/ ADC_DMACmd(ADC1,ENABLE); /*-------------ADC的DMA模式配置--------------*/ ADC_DMARequestModeConfig(ADC1,ADC_DMAMode_Circular); ADC_StartOfConversion(ADC1);//开始转换 4、定时器配置,这里只开启通道4的下降沿触发ADC执行一次采集,想要更改采集的时间间隔更改通道4的占空比TIM1->CCR4即可。/*------------------结构体变量---------------------*/ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; NVIC_InitTypeDef NVIC_InitStructure; /*------------定时器时钟开启---------------------*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); /*-------PWM GPIO配置---------*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA, &GPIO_InitStructure); /*---------PWM复用引脚---------*/ GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_2); /*-------PWM时基配置---------*/ TIM_TimeBaseStructure.TIM_Prescaler= 0; TIM_TimeBaseStructure.TIM_CounterMode= TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period= 3199;//频率为15K,TIM1_Period = (SystemCoreClock / Frequnecy) - 1 TIM_TimeBaseStructure.TIM_ClockDivision= 0; TIM_TimeBaseStructure.TIM_RepetitionCounter= 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); /*-------PWM配置---------*/ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//PWM模式一 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//输出使能,可以在通道4引脚看到占空比波形     TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;//互补通道输出禁能 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//有效电平为高 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;//互补通道有效电平为高  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;//空闲时输出高       TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;//互补通道空闲时输出高 /*---------初始化触发AD采样的时间---------*/     TIM_OCInitStructure.TIM_Pulse = 100; //占空比 TIM_OC4Init(TIM1, &TIM_OCInitStructure); /*------------通道4触发中断使能---------------*/     TIM_ITConfig(TIM1,TIM_IT_CC4,ENABLE); NVIC_InitStructure.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPriority = 2; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /*--------初始化先关闭定时器------------*/     TIM_Cmd(TIM1,DISABLE); /*--------使能PWM输出------------*/ TIM_CtrlPWMOutputs(TIM1,ENABLE);  5、DMA中断,AD采集完一组数据,进入DMA中断void DMA1_Channel1_IRQHandler(void) { uint32_t adc_value; adc_value= adc_data.vol; Flag.voltage = adc_value;//电压值 adc_value= adc_data.curr_o;     Flag.current = adc_value;//电流值 adc_value= adc_data.pot;     Flag.pot = adc_value;//电位器值 DMA_ClearFlag(DMA1_FLAG_TC1); } 6、定时器中断,可以不加,这里展示一下void TIM1_CC_IRQHandler(void) { if(TIM_GetITStatus(TIM1, TIM_IT_CC4) != RESET) {         TIM_ClearITPendingBit(TIM1, TIM_IT_CC4);         TIM1->CCR4 = 500; //这里可以更改ADC的采集间隔     }    } 7、头文件#ifndef__ADC_H#define __ADC_H #include "stm32f0xx.h" /*-----------ADC宏定义---------------*/ #defineADC_POARTCGPIOC#define CURR_O GPIO_Pin_1 #define POT_AD GPIO_Pin_4 #defineADC_POARTAGPIOA#define VOL_AD GPIO_Pin_4 #define CURR_O_CHANNEL ADC_Channel_11 #define POT_CHANNEL    ADC_Channel_14 #define VOL_CHANNEL ADC_Channel_4 /*---------结构体定义-----------*/ typedef struct {     uint16_t vol;  uint16_t curr_o; uint16_t pot; }adc_sample_t; extern adc_sample_t adc_data; void ADC_DMA_Init(void); #endif /* __ADC_H */ 8、主程序中,全部初始化并且开启后,只需要从内存中读取三个值就可以了,想要更改采样的间隔时间就更改定时器1中通道4的占空比值。/* * main.c * * Created on: 20171229 * @Author:  *      @version V1.0.0  * ,%%%%%%%%, * ,%%/\%%%%/\%% * ,%%%\c''''J/%%% * %. %%%%/ o o \%%% * `%%. %%%% |%%% * `%% `%%%%(__Y__)%%' * // ;%%%%`\-/%%%' * (( / `%%%%%%%' * \\ .' | * \\ / \ | | * \\/ ) | | * \ /_ | |__ * (____________))))))) ¹¥³Çʨ * */ float voltage, current; int main(void) {        //一系列初始化后     //.....      //DMA中断使能 DMA_ITConfig(DMA1_Channel1,DMA_IT_TC,ENABLE);     //定时器1使能     TIM_Cmd(TIM1,ENABLE);     printf("HELLO ADC\r\n"); while (1) {         voltage = Flag.voltage / 112.84f;  // (Flag.voltage*3.3*51.7)/(4096*4.7)         current = Flag.current / 4965;  //Flag.motor_current*((3.3/4096)/10)/0.4         pot = Flag.pot / 1241; //Flag.pot*3.3/4096                  //数据处理         //... } } 到这里,我们在配置好之后,基本上就不用管了,需要的时候就读取内存中数据的值就可以了,一切基本都是自动完成的,我们的主程序可以干更重要的事情。关于数据,这里只是展示一下,计算出的都是单次采集一组的值,大家可以根据自己的实际场景进行一些算法处理,如平均值采样法、递推平均值采样法等等,这里由于篇幅问题这里就不一一展开说了,关于ADC其实还有很多学问,下次再跟大家分享!关于电子软硬件的学习,希望大家Enjoy!码字不易,喜欢点赞转发,您的支持就是我继续创作的最佳动力!#嘉立创PCB#
芯片之家
9 12 嘉立创PCB
祝刷到的小伙伴们前程似锦,马到成功!
#嘉立创PCB# #DIY设计# #嘉立创盲埋孔来了#
芯片之家
0 2 嘉立创PCB
假冒Macbook充电器拆解:外表令人信服但内部却非常危险
假冒 Macbook 充电器里面有什么?一位读者寄给我一个他怀疑是假冒的充电器。从外观上看,这款充电器几乎是苹果充电器的绝配,但拆开充电器,内部却大不相同。它的设计要简单得多,缺乏正品充电器的质量特征,并且存在重大安全缺陷。假冒 MagSafe 45W 充电器内部。我过去见过的假冒 Apple 充电器通常有外部缺陷,会直接泄露,外观就能看出来。但这款充电器可能会蒙混过关,这个充电器上的外部文字是正确的,与正品充电器具有相同的“由 Apple 在加利福尼亚设计”的文字。与许多赝品不同,它有一个金属接地针(虽然它没有内部连接),假货经常排除。在接地引脚的右侧,序列号标签有点歪,暗示有问题。它的表壳上有浮雕的 Apple 标志。充电器并不轻巧。网上拆解假充电器的文字多了,有点怀疑制造商是否从这些文章中学到了东西。一个小缺陷是序列号贴纸(在接地引脚的右侧)有点歪,没有很好地粘住。假冒 MagSafe 45W 充电器与正品充电器具有相同的“由 Apple 在加利福尼亚设计”的文字下图显示了充电器声称拥有的安全认证。同样,它看起来很真实,没有错别字或难看的字体。假冒电源具有与真电源相同的所有安全指示。让网友购买者产生怀疑的一个缺陷是外壳的质量似乎不符合 Apple 的标准。轻拍时感觉不太像他的旧充电器,并且接头看起来有点不对称,如下图所示。(不良商家看到了,假货又能做更加真实了,里面放点铁块啥的增重)假冒 Magsafe 电源的接缝有点不对称。当我插入充电器并测量 Magsafe 连接器的输出时出现了问题。测量出了 14.75 伏的输出电压,当我将引脚短路时出现了火花。由于充电器的额定电压为 14.85 伏,这看起来很正常,但与真正充电器的行为却有所不同。Magsafe 充电器最初会产生 3 到 6 伏的低电流输出,因此短路输出不应产生火花。只有当充电器内部的微控制器检测到充电器连接到笔记本电脑时,充电器才会切换到全输出功率,这是真正充电器的安全功能,可降低引脚之间短路的风险。另一方面,假冒充电器省略了微控制器电路,只是一直输出全电压。如果您将连接器插入弯曲或金属碎片粘在磁铁上,这会增加烧毁笔记本电脑的风险。充电器内部用锤子打开充电器就能看到内部电路了。真正的 Apple 充电器里面是非常复杂的电路,而这款充电器的板子密度相当低,就是一个简单的反激式开关电源。取下外壳和散热器的假冒 MagSafe 充电器该电路是一个相当标准的反激电源。要了解它是如何工作的,请查看下图,从右侧的交流输入逆时针方向。电源通过保险丝后,由桥式整流器转换为直流电。大滤波电容器平滑直流。接下来,开关晶体管将 DC 斩波为脉冲,然后馈入回扫变压器。变压器的低压输出由输出二极管转换回直流电,经过输出滤波电容器后输出平滑直流。假冒的 Magsafe 电源使用标准的反激式开关电源电路反馈TL431A电压参考,送入通过光隔离器控制IC的反馈信号。虽然这个电路看起来很复杂,但它对于一个简单的充电器来说是非常标准的。另一方面,正如我在拆解中所描述的那样,真正的 Macbook 充电器的电路要复杂得多。充电器由电路板底部的微型 6 引脚 IC 控制。它以适当的速率(约 60 kHz)打开和关闭 MOSFET,以产生所需的输出电压。控制 IC 丝印为“63G01 415”,一位聪明的网友将芯片识别为OB2263。(这里申明一下,昂宝的电源芯片还是很不错的,性价比很高,只是用在这里不合适)假冒 MagSafe 45W 电源内微型控制 IC 的特写。这个充电器有什么问题充电器最重要的特性之一是具有潜在危险的交流输入和低压输出之间的安全隔离。高电压和低电压之间应有至少 4mm 的安全间隙(以简化 UL 的爬电距离和间隙规则)。在下面的电路板上,高压输入部分在底部,低压输出部分在顶部。在板子的右半边,两节隔着一个很大的空隙,这里是可以的。在左侧,应该有一个间隙(由光隔离器桥接)。但不幸的是,走线和组件会穿过这个区域,使得间隙小到 1 毫米以下,这里就非常危险了。任何湿气或松散的焊料都可以弥合这个间隙,向输出端输出高电压。假冒的 MagSafe 充电器在低压侧(顶部)和高压侧(底部)之间的距离很小比较困惑的一点是为什么假冒充电器从来没有设法有足够的安全间隙,它们使用简单、低复杂度的电路,因此电路板布局应该很简单才是。除了在最小的立方体手机充电器中,它们并没有为每一毫米的空间而战。第二个安全缺陷是为输入侧 MOSFET 和输出侧二极管提供冷却的散热器。散热器基本上是在电路两侧,只有很小的间隙将其与电路的其它部分分开。除了在高低压之间具有较大的爬电距离和间隙,真正的充电器还大量使用绝缘胶带进行隔离。除了保险丝和易熔电阻周围的热缩管外,假冒充电器缺乏额外的绝缘。我没有拆卸变压器,但预计它也缺乏必要的绝缘。假冒充电器有一个金属接地针(不像我见过的其他假货有塑料针)。但是,引脚仅用于外观,并没有连接任何东西。下图比较了假冒 45W 充电器(左)与正品 Apple 60W 充电器(右)的底部。如您所见,假冒产品的电路板很简单,只有几个零件,而正品充电器则塞满了零件。这两块板处于设计复杂性完全不同的世界。附加部件可在真实充电器中提供更好的电能质量和更高的安全性,这就是正品充电器明显贵得多的部分原因。正品充电器塞满了零件,而假冒充电器只有几个零件。电源质量我用示波器测量了假冒充电器的输出功率,如下所示,输出并不平滑,在开关MOS管导通和关断时会出现成对的大尖峰。充电器以大约 60 kHz 的频率运行。充电器内部的更多过滤可减少这些电压尖峰,但成本更高。产生大的电压尖峰下面的示波器轨迹放大了其中一个尖峰。您可以看到尖峰的峰峰值为 2.7 伏,这是输入笔记本电脑的大量噪音。假冒充电器的输出具有较大的 2.7V 噪声尖峰。 结论这款假冒 Magsafe 充电器从外观上看都令人信服,比大多数产品更注重细节。直到打开它,才完全确定它是假冒的。但在内部,假冒充电器和真充电器之间的区别很明显。假冒产品具有更简单的电路,可提供质量较差的电源。它还忽略了安规要求,将您和您的计算机与危险的冲击相隔不到一毫米。虽然假冒充电器便宜得多,但它们对您和您的计算机也很危险。仿冒品不是充电器,而是稳压电源。只有铅酸电池可以恒压充电(设置正确),充是可以充,但没有任何保护是非常危险的。此外,这种仿冒品并不是“更便宜”,它是错误的物种。除非条件相同,否则价格比较是无关紧要的。这样的电源很可能损坏你的电脑,甚至会导致火灾。#嘉立创PCB#
芯片之家
3 15 嘉立创PCB
太鸡冻了!用这种工艺画PCB,效率至少提升2倍,关键是还免费
大家第一块PCB是在哪里打的?相信90%以上的人都是在嘉立创打的吧,从学生时期,嘉立创就以超高的性价比为广大电子工程师提供了优质的PCB服务,简单,便捷,快速,高性价,真的感谢立创!如果大家对它的印象还停留在做单面板、双面板、四层板的话,那从今天起可能得改变一下,因为嘉立创已经正式进军高多层板,生产能力达到了32层,其下单系统也已经上线到了20层。从他们最近的一系列动作,可以看出嘉立创对高多层板市场势在必得,释放出了“核弹级”大招——对6-20层PCB板盘中孔工艺进行免费。盘中孔工艺有多大价值?先前为什么在市场上没有普及呢?今天,我们不妨一起来聊一聊。盘中孔工艺,到底有多大价值?盘中孔,顾名思义就是将过孔打在焊盘上。对于高多层板的LAYOUT设计师来说,能带来多大的方便呢,我们先来举个例子。不知道大家在画PCB的时候会不会遇到这样的情况:芯片的引脚太密,某个引脚想要走线出去但是完全被包围了,尤其是在BGA封装的芯片中。例如下图中的U1_B7引脚就没有办法在走线出去,四周都被包围了。这个时候,一般会有两种选择。方案一:牵一发而动全身。 把之前的走线都删了,然后重新规划新的走线方式,尽可能的让这个线路能布 通。就像下图这样:当然这只是一个简单的演示,现实情况要比这复杂很多,而且此时有可能会导致U1_B6引脚走线困难。所以说这种方法的缺点很明显,非常浪费时间,而且重新走线不一定能保证可以走通。方案二:简单粗暴,直接在焊盘上打孔从其它层走线。 这种方式的优势非常明显,除了简单之外,走线也会变得非常简洁。虽然这种方式的优点很多,但大部分情况下设计者还是会采用第一种操作方法,主要的原因是在焊盘上打孔有可能会影响SMT焊接质量,也会影响焊盘的机械强度。嘉立创推出的盘中孔工艺,采用树脂塞孔然后盖帽电镀,不仅可以将过孔打在任意焊盘和BGA上,而且不会影响后续SMT。怎么做到呢?就是先用树脂把过孔填充起来,烤干树脂磨平,然后在树脂表面镀上铜,这样外观上完全看不出有过孔的痕迹,自然也就不会影响到焊接了。我们来看几组图片:实际的剖面图:实际效果对比图:这种工艺给LAYOUT工程师带来的第一感受是“丝滑”,终于可以在焊盘和BGA上任意打孔了;第二是效率,盘中孔工艺可以极大地缩短了布线时间,原来可能需要7天的,现在只需要2天。多出来的几天,又可以画两张板子了。即便过孔没有打在焊盘上,盘中孔工艺的性能及效果也远远好过“过孔盖油”和“过孔塞油”。既没有过孔盖油孔口发黄的问题,也没有过孔塞油因容易冒油而引起的SMT焊接性能不良的问题。效果可以看一下对比图:这么好用的工艺,为什么先前没有普及呢?这也许是很多人的疑问。既然盘中孔工艺这么好用,为什么先前没有普及,甚至很多人也没怎么听说呢?这跟它的价格和生产难度有关。很多人不知道,盘中孔工艺虽然性能好,但是对于生产来说挑战很大,流程复杂,要用专用塞孔机和树脂油墨。价格也高, 先前每平方米市场价基本在200-220元,很多工程师宁愿多花半个月布线,也不愿意花钱选择这个工艺。这也是现在很多年轻工程师不了解盘中孔工艺的原因,不过对于比较资深的工程师来说,应该非常了解了。而嘉立创如今对6-20层PCB板的盘中孔工艺采取免费, 有点“天上撒馅饼”的意思,把盘中孔这个“贵族工艺”拉下神坛,强行“平民化”,就像当初他们把“高价PCB打样”拉下神坛一样。“平民化的盘中孔工艺”能像“平民化的PCB打样”一样,为工程师带来巨大的价值、甚至为行业带来巨大的改变吗?我们拭目以待!#嘉立创PCB#
芯片之家
5 17 嘉立创PCB
某音0.98元买了一个离线语音声控小夜灯,内部电路方案成本疯狂到极致......
离线语音小夜灯离线语音技术应用于小家电,照明等产品上,大概从2017年开始,最近三年指数式增多,前几天某音刷到一个USB的离线语音小夜灯,标价6.99米,咋这么便宜,老宇哥想都没想点进去就想买,但是,惊喜往往在最后,付款的时候,有什么优惠券啥的,最后下来只要0.98米,马上安排。点进去,看到语音小夜灯已经卖了24.4W件,果然价格便宜,就是卖的好,某个小产品被中山佛山这帮人看上,特别是灯,如果没有特别的差异化,最好就不要做了,因为他们哪怕是不赚钱,都能出。。。我们一步步拆解下,看看里面到底藏的什么“黑科技”......首先这个小夜灯是USB直插的,还带万向弯曲的软管灯杆,三色灯光可调,亮度也可以多档调整,即插即用。里面就是一个电路板加一个匀光灯罩。盲猜应该是单面板+语音芯片+三极管调光+两组CW灯珠,我们打开看看:大部分猜的对的,本来PCB与外壳之间要锁三颗螺丝的,这里也就省了,锁一颗略微固定即可。黑色唯一的那块就是一个离线语音识别芯片了,丝印为BP0A104,这应该只是一个序列号,芯片左边那个是一个很便宜的模拟麦克风,还有必要的几个阻容,8个白光灯珠,8个暖光灯珠,按照我的设想,这种便宜方案调光部分应该是这样,冷暖灯珠各通过一路PWM,通过三极管对灯珠进行控制,灯珠就选用5V的灯珠,方案精简。然后我找了一下三极管或者MOS,在哪里,没找到!我还是太年轻了,人家根本就不需要!要啥三极管,几分钱也是成本,直接将灯珠共阳,负极直连语音芯片的PWM引脚即可,就是下面这样:芯片的灌电流一般比拉电流大,5V下面直接串了两个并联电阻(图中标错,两个并联电阻为4.7R)进行限流,通过PWM限制整体功率在芯片承受范围之内,也不需要多好的光,能亮即可,所以,怎么说呢,又不是不能用,毕竟这么便宜,对吧。手头刚好没示波器跟万用表,也就没办法测具体的值,不过基本上大家也都知道,还看到一点,芯片是SOP16封装的,有一些IO口是没用的,工程师的在设计的时候,直接把不用的IO的焊盘去掉,并涂黑,大家可以看下,这五个SMT点也都是费用啊,只要量大,年底老板又可以换车了。麦克风电路:下面是原芯片的DEMO方案,有增加两个三极管,方案商自己去掉后基本就是我们拿到实物的这个方案。实际体验老宇哥实际体验了一下,2米左右打开灯光关闭灯光调光等识别成功在80%左右,速度也比较快,应该是识别到三个字就开始识别并执行了,由于没有唤醒词,偶尔还算有一些误触发,这个也能理解了,3米左右,说话的分贝也要相对大一点点才行。成本估算语音芯片:1元(量大的情况可以做到)单面板PCB:0.3元16个灯珠:0.8元外围电路:0.3元(麦+阻容)外壳含USB软管:1元贴片组装:0.5元快递:1元合计:4.9元这些价格只是预估,实际还可能更便宜,有量极兔快递好像可以做到这么低,按照6.99元的价格,卖一个也能赚2块,这里24W销量按照一半是刷的,也有20多万盈利了。#嘉立创PCB#
芯片之家
7 15 嘉立创PCB
电机驱动板发烫严重怎么办?一份大厂PCB布局指南参考
电机驱动 IC 传递大量电流的同时也耗散了大量电能。通常,能量会耗散到印刷电路板(PCB)的铺铜区域。为保证PCB充分冷却,需要依靠特殊的PCB设计技术。在本文的上篇中,将为您提供一些电机驱动IC 的PCB 设计一般性建议。使用大面积铺铜!铜是一种极好的导热体。由于 PCB 的基板材料(FR-4 玻璃环氧树脂)是一种不良导热体。因此,从热管理的角度来看,PCB的铺铜区域越多则导热越理想。如2盎司(68微米厚)的厚铜板相比较薄的铜板导热效果更好。 然而,厚铜不但价格昂贵,而且也很难实现精细的几何形状。所以通常会选用1盎司(34微米厚)的铜板。外层板则经常使用1/2盎司的镀铜,厚度可达1盎司。多层板中的内层板常采用实心铜板以便更好地散热。但是,由于其平面层通常位于电路板堆叠的中心位置,因此热量可能会被锁在电路板内部。那么,可以在 PCB 的外层板上添加铺铜区域,使用过孔连接到内层板,将热量传递出来。由于双层 PCB 中存在走线和元器件,散热也会更加困难。 所以电机驱动IC应该使用尽可能多的实心铜板和利于散热的过孔。将铜浇铸在外层板的两边,使用过孔将它们连接起来,这样做可以将热量分散到被走线和元器件隔开的不同区域。走线一定要宽—越宽越好!因为流经电机驱动 IC 的电流很大(有时超过 10A),所以应仔细考虑接入芯片的 PCB 走线宽度。走线越宽电阻越小。必须调整好走线的宽度,才能保证走线中的电阻不会产生过多的能量耗散而导致走线温度升高。可是太细的走线就像电熔丝一样很容易被烧断。设计师通常会采用 IPC-2221 标准来计算合适的走线粗细。该规范有个图表,显示了不同电流水平的铜横截面积和其允许的温升,可以根据给定的铜层厚度下换算出走线宽度。比如,1盎司厚度的铜层中负载10A电流需要刚好7mm宽的走线来实现10°C的温升,那么对于1A的电流来说,仅需0.3mm的走线即可。如果根据这种方法推算的话,似乎无法通过微型IC焊盘运行10A电流。所以,需要重点了解的是 IPC-2221标准中,用于恒定宽度的长PCB走线宽度建议。如果走线是连接到较大的走线或铺铜区,那么采用PCB走线的一小段传递更大的电流则没有不良影响。这是因为短而窄的PCB走线电阻很小,而且其产生的热量都被吸入到更宽的铺铜区域内。从图1的示例中可以看出:即使此器件中的散热焊盘只有0.4mm宽,也能承载高达3A的持续电流,因为走线被加宽到了尽可能接近器件的实际宽度。图 1:加宽PCB走线由于较窄走线所产生的热量会传导至较宽的铺铜区域,所以窄走线的温升可以忽略不计。嵌在PCB内层板中的走线散热效果不如外层走线,因为绝缘体的导热效果不佳。正因为如此,内层走线的宽度应为外层走线的两倍。表1 大致给出了电机驱动应用中长走线(大于2cm)的推荐宽度。表 1: PCB走线宽度如果空间允许,越宽的走线或灌铜可以最大限度地降低温升并能减小电压落差。热过孔-越多越好!过孔是一种小的镀孔,通常用于将信号走线从一层传递到另一层。 顾名思义,热过孔是将热量从一层传递到另一层。适当地使用热过孔可以有效帮助PCB散热,但也需要考虑实际生产中的诸多问题。过孔具有热阻,这就意味着每当热量流经时,过孔两端会有一定温差,其测量单位为摄氏度/每瓦特。所以,为最大限度地降低热阻,提高过孔的散热效率,过孔应设计大一点,且孔内的覆铜面积越大越好(见图2)。图 2:过孔横截面虽然可以在PCB的开放区域使用大的过孔,但是,过孔常常被放在散热焊盘的内部,因为这样可以直接从IC封装散热。在这种情况下,不可能使用大过孔,因为电镀孔过大会导致“渗锡”,其中用于连接IC至PCB的焊料会往下流入通孔,导致焊点不良。有几种方法可以减少“渗锡”。一种是使用非常小的过孔,以减少渗入孔内的焊料。然而,过孔越小热阻越高,因此想要达到相同的散热性能,需要更多的小过孔才行。另一种技术是“覆盖”电路板背面的过孔。这需要去除背板上阻焊层的开口,使得阻焊材料覆盖过孔。阻焊层会盖住小的过孔使焊锡无法渗入PCB。 但这又会带来另一问题:助焊剂滞留。如果使用阻焊层盖住过孔,那么助焊剂会滞留在过孔内部。有些助焊剂配方具有腐蚀性,长时间不去除的话会影响芯片的可靠性。所幸大多数现代免清洗助焊剂工艺都是无腐蚀性的,不会引起问题。这里需注意,散热孔本身不具备散热功能,必须把它们直接连接至铺铜区域(见图3)。图 3:热过孔建议PCB设计师与PCB组装厂的SMT制程工程师协商出最佳的过孔尺寸和构造,尤其当过孔位于散热焊盘内部时。焊接散热焊盘TSSOP 和 QFN 封装中,芯片底部会焊有大片散热焊盘。这里的焊盘直接连到晶元的背面,为器件散热。必须将焊盘很好地焊接到PCB上才能耗散功率。IC规格书不一定会指定焊盘焊膏的开口。通常,SMT制程工程师对放多少焊料,过孔模具使用什么样的形状都有自己的一套规则。如果使用和焊盘大小一样的开口,则需要使用更多的焊料。当焊料熔化时,其张力会使器件表面鼓起。另外,还会引起焊料空洞(焊锡内部凹洞或间隙)。当焊料回流过程中助焊剂的挥发性物质蒸发或沸腾时,会发生焊料空洞。这会导致接合处的焊料析出。为了解决这些问题,对于面积大于约2mm2的焊盘,焊膏通常沉积在几个小的正方形或圆形区域中(见图4)。将焊料分布在多个较小的区域里可以使助焊剂的挥发性物质更容易挥发出来,以免造成焊料析出。图 4:QFN 焊具再次建议PCB设计师与SMT制程工程师共同协商出正确的散热焊盘模具开口。也可以参考网上的一些论文。元件贴装电机驱动IC的元件贴装指南与其他电源IC相同。旁路电容应尽可能靠近器件电源引脚放置,且旁边需放置大容量电容。许多电机驱动IC会使用自举电容或充电泵电容,这些也应放在IC附近。请参考图5中的元件贴装示例。图5显示了MP6600步进电机驱动的双层板PCB布局。大部分信号走线直接布置在顶层。电源走线从大容量电容绕到旁路,并在底层使用多个过孔,在更换层的位置使用多个过孔。图5: MP6600 元件贴装在本文的 下篇 中,我们将探讨详细的电机驱动IC封装方法和PCB布局。下篇 在本文上篇 文章中就使用电机驱动器 IC 设计PCB板提供了一些一般性建议,要求对 PCB 进行精心的布局以实现适当性能。在本文下篇中,将针对使用典型封装的电机驱动器,提供一些具体的 PCB 布局建议。引线封装布局标准的引线封装(如 SOIC 和 SOT-23 封装)通常用于低功率电机驱动器中(图 6)。图 6: SOT 23 和 SOIC 封装为了充分提高引线封装的功耗能力,MPS公司采用 “倒装芯片引线框架” 结构(图 7)。在不使用接合线的情况下,使用铜凸点和焊料将芯片粘接至金属引线,从而可通过引线将热量从芯片传导至 PCB。图 7: 倒装芯片引线框架通过将较大的铜区域连接至承载较大电流的引线,可优化热性能。在电机驱动器 IC 上,通常电源、接地和输出引脚均连接至铜区域。图 8: 倒装芯片 SOIC PCB 布局图 8 所示为“倒装芯片引线框架”SOIC 封装的典型 PCB 布局。引脚 2 为器件电源引脚。请注意,铜区域置于顶层器件的附近,同时几个热通孔将该区域连接至 PCB 背面的铜层。引脚 4 为接地引脚,并连接至表层的接地覆铜区。引脚 3(器件输出)也被路由至较大的铜区域。QFN 和 TSSOP 封装TSSOP 封装为长方形,并使用两排引脚。电机驱动器 IC 的 TSSOP 封装通常在封装底部带有一个较大的外露板,用于排除器件中的热量(图9)。图 9: TSSOP 封装QFN 封装为无引线封装,在器件外缘周围带有板,器件底部中央还带有一个更大的板(图 10)。这个更大的板用于吸收芯片中的热量。.图 10: QFN 封装为排除这些封装中的热量,外露板必须进行良好的焊接。外露板通常为接地电位,因此可以接入 PCB 接地层。在图 11 的 TSSOP 封装的示例中,采用了一个 18 通孔阵列,钻孔直径为 0.38 mm。该通孔阵列的计算热阻约为 7.7°C/W。图 11: TSSOP PCB 布局通常,这些热通孔使用 0.4 mm 及更小的钻孔直径,以防止出现渗锡。如果 SMT 工艺要求使用更小的孔径,则应增加孔数,以尽可能保持较低的整体热阻。除了位于板区域的通孔,IC 主体外部区域也设有热通孔。在 TSSOP 封装中,铜区域可延伸至封装末端之外,这为器件中的热量穿过顶部的铜层提供了另一种途径。QFN 器件封装边缘四周的板避免在顶部使用铜层吸收热量。必须使用热通孔将热量驱散至内层或 PCB 的底层。图 12 中的 PCB 布局所示为一个小型的 QFN (4 × 4 mm) 器件。在外露板区域中,只容纳了九个热通孔。(见图 12) 因此,该 PCB 的热性能不及图 11 中所示的 TSSOP 封装。图 12: QFN (4mmx4mm) 布局倒装芯片 QFN 封装倒装芯片 QFN (FCQFN) 封装与常规的 QFN 封装类似,但其芯片采取倒装的方式直接连接至器件底部的板上,而不是使用接合线连接至封装板上。这些板可以置于芯片上的发热功率器件的反面,因此它们通常以长条状而不是小板状布置(见图13)。图 13: FCQFN 封装这些封装在芯片的表面采用了多排铜凸点粘接至引线框架(图 14)。图 14: FCQFN 结构小通孔可置于板区域内,类似于常规 QFN 封装。在带有电源和接地层的多层板上,通孔可直接将这些板连接至各层。在其他情况下,铜区域必须直接连接至板,以便将 IC 中的热量吸入较大的铜区域中。图15: FCQFN PCB 布局图15 显示了所示为 MPS 公司的功率级 IC MP6540 。该器件具有较长的电源和接地板,以及三个输出口。请注意,该封装只有 5mmx5mm。器件左侧的铜区域为功率输入口。这个较大的铜区域直接连接至器件的两个电源板。三个输出板连接至器件右侧的铜区域。注意铜区域在退出板之后尽可能地扩展。这样可以充分将热量从板传递到环境空气中。同时,注意器件右侧两个板中的数排小通孔。这些板均进行了接地,且 PCB 背面放置了一个实心接地层。这些通孔的直径为 0.46 mm,钻孔直径为 0.25 mm。通孔足够小,适合置于板区域内。综上所述,为了使用 电机驱动器 IC实施成功的 PCB 设计,必须对 PCB 进行精心的布局。因此,本文提供了一些实用性的建议,以期望可以帮助 PCB 设计人员实现PCB板良好的电气和热性能。作者:Pete Millett, Technical Marketing Engineer, Monolithic Power Systems,来源:MPS#嘉立创PCB#
芯片之家
1 9 嘉立创PCB
实际硬件设计中非常经典巧妙的20个电路合集,带分析,收藏起来慢慢看!(二)
前几天老宇哥发了经典电路分析系列文章第一集合集,头条上有2000多人收藏,今天我们再一起探讨分享5个电路,有重复也有新的电路,记得点文章开头的话题标签订阅收藏哦!实际硬件设计中非常经典巧妙的20个电路合集,带分析,收藏起来慢慢看!(一)1、双向电平转换(MOS管)电路板上的不同模块之间的通信,在很多情况下主控,传感器,其他外设等,电压是不一样的,3.3V,5V,12V,各种电平都有,所以对电压进行转换是家常便饭,简单的一般有两种方法:1、高压到低压,用电阻分压;低压到高压,用三极管,这种只能是单向通讯,比如用在串口上,成本也最便宜。2、用MOS管进行电平转换,电路也简单,可以实现双向通讯,用于I2C等开漏总线上是肯定没问题的,但是大家思考一下,此电路能用于串口、SPI或者其它推挽输出形式的电平转换吗?关于速率,如果太快信号也会失真,一般100K以内问题都不大,超出了就要实际观察下波形失真情况了,看下能否接受,另外注意低端电压一定要低于等于高端电压。1、当SDA1输出高电平时:MOS管Q1的Vgs = 0,MOS管关闭,SDA2被电阻R3上拉到5V。2、当SDA1输出低电平时:MOS管Q1的Vgs = 3.3V,大于导通电压,MOS管导通,SDA2通过MOS管被拉到低电平。3、当SDA2输出高电平时:MOS管Q1的Vgs不变,MOS维持关闭状态,SDA1被电阻R2上拉到3.3V。4、当SDA2输出低电平时:MOS管不导通,但是它有体二极管!MOS管里的体二极管把SDA1拉低到低电平,此时Vgs约等于3.3V,MOS管导通,进一步拉低了SDA1的电压。详细电路原理分析:(点击阅读)经典MOS管电平转换电路,硬件工程师居家旅行、看门护院的必备良药!2、RS485方向自动控制我们都知道RS485是半双工通信,所以在传输的时候需要有使能信号,标明是发送还是接收信号,很多时候就简单的用一个IO口控制就好了,但是有一些低成本紧凑型的MCU上,一个IO口也是很珍贵的,因此,如果能实现硬件自动控制方向,像串口那样两条线通信了,也不需要程序控制,可以释放一个IO。原理分析:通信之前,TXD为高电平,当通信一开始,TXD立马变为低电平的时候,因为有二极管的存在,电容器快速通过二极管放电,所以非门输入端这里也会“马上”变低电平。通信过程中,TXD在高电平与低电平之间切换,但是非门输入端电压通过电容与电阻缓慢充电,DE/RE 保持高电平的状态,直到充电电压达到非门的阈值电压,从而可以做到自动方向控制。接收信号的时候,TXD为高电平,非门输入为高,DE/RE 保持低电平,从而可以自动接收信号。保持该高电平的时间,由电阻与电容决定,跟通信速率也有一定的影响,常规使用都是没问题的,具体可以根据自己的电路以及速率进行适当的调整。如果遇到一些特殊的情况,或者IO口充足的情况,还是用一个IO进行控制,这里只是给大家一个思路。3、ESP32自动下载电路下面是一个ESP32系列或者ESP8266等电路的一个自动下载电路在ESP32等模块需要烧写程序的时候,需要通过将EN引脚更改为低电平并将IO0引脚设置为低电平来切换到烧写模式。老宇哥有时候也会采用先将IO接到一个按键上,按住按键拉低IO0的同时重新上电的方式进入烧写模式,都是一个道理。使用按键,重新插拔等方式还是太麻烦了,下面这个电路可以用逻辑IC试下能自动下载,使用带DTR和RTS引脚的USB转UART芯片即可。芯片会自动帮我们发出进入烧写模式的信号,非常方便。真值表:简单总结:当DTR和RTS同时为0或者同时为1时,三极管Q1和Q2均为截止状态,此时EN和IO0的状态由其他电路决定(内部/外部上拉电阻)。我们分析一下具体的电路:(点击阅读)经典深度分析!ESP8266/ESP32自动下载电路究竟是如何巧妙实现的4、简易Type-C拉取5V/3A电流电路今天介绍一种在Type-C 5V电压下获取3A电流的简易办法,如果是Type-A接口的USB,则不符合。我们都知道,USB里面的D+ D-用来传输数据,其实Type-C接口里面还有一组CC引脚,先科普一些概念。DFP,下行端口,可以理解为Host,数据下行以及对外提供电源,典型代表就是电源适配器。UFP,上行端口,可以理解为Device,可以向上提供数据,典型代表就是U盘,移动硬盘啥的。DRP,双向端口,既可以做DFP,也可以做UFP,典型的就是笔记本电脑,手机等设备。DFP与UFP在未连接之前,Vbus是没输出的,连接后,两者的CC引脚连接,DFP上的CC引脚会检测到UFP上的下拉电阻,之后,根据具体的电压等信号做对应的电压功率输出。下表展示了不同USB标准对应的电流,可以看到纯Type-C下最大能提供5V/3A的驱动能力,PD模式下,还能输出更高的功率。通过上面你可以看出,有1.5A 跟 3A两种电流模式,那DFP是怎么知道改输出哪一种功率模式呢?答案就在CC引脚,DFP 通过CC引脚上的电压得知UFP需要的供电需求,UFP上加下拉电阻,DFP上CC引脚有上拉电阻,通过电阻分压得到一个电压来控制输出不同的功率。看下图就明白了:关于CC引脚上多大电阻对应多少电流,这里官方也有要求:方法有两种,一种是DFP会在CC引脚上产生330uA的电流,比如我们电阻用5.1K的,那CC引脚上的电压就是1.683V;或者DFP上的上拉电阻是10K,分压下来CC引脚上的电压也是5/(10K + 5.1k )* 5.1k = 1.688V,都可以认为是5V/3A的需求。USB Type-C很多内容,PD协议的就更复杂了,就不展开说了,这是给大家提供一个设计电路的思路。5、二极管钳位(I/O的过压/浪涌保护等)如果我们的电路环境接收外部输入信号容易受到噪声影响,那我们必须采取过压和浪涌保护措施,其中一个方式就是二极管钳位保护。像上图,从INPUT输入的电压被钳位在-Vf与VCC+Vf之间,右边输出信号IC-IN并不会有过大的电压,Vf越小,加在输入端的电压就越低,所以可以使用Vf较小的二极管,比如肖特基二极管。当INPUT的电压超过 VCC+Vf 的时候,二极管D4导通,IC-IN电压被钳在VCC+Vf,多余的电压由电阻R21承担。当INPUT的负压小于 -Vf 的时候,二极管D5导通,IC-IN电压被钳在-Vf,多余的电压由电阻R21承担。这里有一个输入电阻,电压超过设定值时,通过此电阻经过二极管到VCC,GND方向同理,起电流限制作用,因此电阻要大一点才比较好。电阻小了可能随着电流增大无法吸收电流,但是太大的话,此电阻与二极管的结电容就会组成一个低通滤波器,所以大家要根据自己的使用场景,综合VCC,信号频率等实际调整。钳位二极管选择肖特基二极管或者小信号二极管,正向压降低,结电容小。以上电路如有bug,请评论区指正!关于电路的学习,希望大家Enjoy !#嘉立创PCB#
芯片之家
2 13 嘉立创PCB
实际硬件设计中非常经典巧妙的20个电路合集,带分析,收藏起来慢慢看!(一)
之前做了一个经典电路分析系列的文章,反响都比较好,大家可以点文章开头的话题标签查阅收藏,今天我们再一起探讨分享20个电路,有重复也有新的电路,大家可以收藏起来!1、防反接保护(二极管)在实际电子设计中,防反接保护电路非常重要,不要觉得自己肯定不会接错,实际上无论多么小心,还是会犯错误......最简单的就是利用二极管了,利用二极管的单向导电性,反接的时候电路不通,但这里有个无法接受的点,就是二极管具有正向压降,输出端电压会有相应的下降,比如我们输入电压是5V,内部的电路还要用到5V,这样就有难度了,如果对电压不敏感的,比如后级电路都要通过DCDC降压,可以用肖特基二极管,压降会小一点。还有一种是使用整流桥,即使极性接反也还能工作,缺点就是有两个二极管的压降。2、防反接保护(PMOS)上面介绍了利用二极管防反接的办法,但是压降是痛点,那么有没有什么办法可以去掉这个压降呢,PMOS来了!我们知道,PMOS在完全导通后,导通电阻是很小的,常规的几百毫欧,有一些几十毫欧, 我们这里在GS之间加了一个齐纳二极管防止输入电压超过MOS的Vgs,Vgs额定值为20V,我们这里一般用10V的就能满足了,具体根据MOS的实际特性进行齐纳二极管的选择。原理分析:当输入端加正向电压之后,比如+5V,D端电压为5V,由于MOS管体二极管的存在,S端的电压为4.3V,S端电压减G端电压大于开启电压,PMOS导通后,寄生二极管短路,不再起作用; 电压反接后,G端电压大于S端电压,不导通,实现了防反接的功能。详细的分析可以参考这篇文章:USB外接电源与锂电池自动切换电路设计,你GET到精髓了吗?电路倒是简洁,但这个电路有个问题,电路会倒流。假设右侧的负载是一个电池,电压为Vb,当直流输入突然断开时,Q1的Vgs满足MOS的导通条件,PMOS就会导通,电流从右侧往左侧倒流,就可能引发一些未知的故障。虽然二极管没有反向电流(严格意义上有漏电流),但是这个有反向电流,如果负载有大容量电容或者是电池, 输入端关闭时,电流会从右往左从负载端流出。当然,简单的电路场合用这个电路也没问题。3、直流浪涌电流抑制开关此电路可以解决负载中有大容量电容,电源端出现巨大浪涌电流的问题,启动时缓慢升高电压以抑制上电时的浪涌电流。电压升高的时间由图中的C1与R6决定,值增大,缓启动的时间变长,当然,也可以按照第二点的方法,在GS间加入齐纳二极管。详细分析,请参考下面文章。精准电流走向分析,带软开启功能的MOS管电源开关电路!如果不需要开关,可以去掉三极管部分即可,只做缓启动功能。4、背靠背防倒灌像第二点中的防反接保护电路中说了,会有出现倒流的风险,特别是负载端是电池或者有大容量电容时,或者是电脑的USB给一些调试的同时外部还有电源,则会流向Vin测, 进而可能引发一系列的故障,那我们有没有办法防止倒灌呢?我们看上面这个电路,比上面的电路多了一个MOS,两个MOS背靠背连接起来,当Control端ON/OFF为高电平时,三极管Q9线导通,Q3跟Q4的栅极都被拉低到0V,Q3通过体二极管,符合条件先导通,接着Q4,S端电压大于G端电压,也符合导通条件,导通,负载端得到Vin电压。当Control端为低电平时,三极管Q9断开,Q3与Q4不导通,完全关断,并且Q3与Q4的体二极管是反向串联的,所以不论哪个方向,都是不通的,达到防倒灌的效果。这个电路的缺点就是还需要一个IO来控制,略显麻烦。5、双三极管镜像电路防倒灌(理想二极管)电路仿真结果:看着像镜像,其实又不是,这个电路是怎么工作的?左侧Q6三极管,Vb = Vin - 0.65,右侧Q7三极管是否导通,由Vb与Vout决定,Vb > Vout - 0.65,Q7关闭。上述关系演变成,Vin - 0.65 > Vout - 0.65,则晶体管 Q7 关闭;如果 Vin > Vout,晶体管 Q7 截止;当Vin输入一定电压,Q6饱和导通,Q7截止;MOS管栅极通过电阻接地,导通;如果Vin被突然关闭,Vb不再受制于输入电压,此时,Vb = Vout -0.65,Q7导通,MOS管G端电压拉高,MOS管关闭,达到防止回流的效果。Vin > Vout,MOS打开,Vout≈Vin,理想二极管;Vin [removed]
芯片之家
3 15 嘉立创PCB
LED恒流电路批量在即,贴片电容几率性炸开,大佬会诊破案
朋友做了个LED恒流电路板,发现电容会炸开。给客户交货的时间临近,马上就要批量生产,很是着急,于是群里求助大家。这是出问题电路板的原理图:会炸开的电容是C1,为MLCC电容,即贴片多层陶瓷电容:我们会在下一篇文章详细分析这个电路的原理,这里先放出仿真图:电路本身似乎没什么问题,下面还原各位大佬会诊的过程,非常精彩。因涉及隐私,聊天截图已做脱敏处理。到这里已经提供了很多信息,读者朋友不妨自己做个判断,看自己能否破案?下面群里继续讨论,答案马上揭晓。群里发出的图片如下,PCB正中间打横放置并烧毁的是电容C1:该实物图一出,结合之前的讨论,答案已经很明显了。龙哥提到的规格书写得清清楚楚,以下两张图片出自村田MLCC电容规则书。第2张图如下,其他还有一些说明,就不截取了,建议大家好好看规格书。本文遇到的问题绝对不是个案,参与会诊的大佬也都遇到过。遗憾的是,这种问题后续也仍会不断发生,如何尽量避免,相信本文可以给大家一个警醒。#嘉立创PCB#
芯片之家
10 30 嘉立创PCB
一文将PCB Mark点说的明明白白
一、基准点(mark点)是什么意思?mark点也叫基准点,也叫光学定位点,是贴片机使用时的定位点。由于PCB在大批量生产中为装配过程中的所有步骤提供了共同的可测量点,因此装配中使用的每个设备都可以准确定位电路图案以实现精度,通过mark点程序员就可以在加载程序后自动设置机器。mark 点mark 点二、mark点在PCB板上的作用当我们要打板的时候,我们就会将 Gerber 文件发给制造商。如果要需要将组件与PCB组装在一起,我们还需要提供物料清单(BOM文件)以及坐标文件(PNP文件)。这些文件会用自动贴片机来获取这些信息,然后需要在PCB上找到一个或者多个电路板的实际物理点。如果我们在电路板上使用mark 点就可以让机器更好的放置组件,准确度更高,而且不依赖机器公差或者人工的误差。mark 点三、mark点识别原理PCB 上的mark 点是表面贴装技术(SMT) 和自动光学检测(AOI) 等自动化机械使用的参考标准。该标记由一个远离任何其他可见地标的单独铜垫组成,没有基准标记,机器要么放置组件不正确,要么完全拒绝运行。然而,通过读取放置在 PCB 上的各种基准标记位置,自动化设备可以确定放置或扫描组件的确切位置。不过大多数机器在技术上不会读取放置在 PCB 上的内容,相反,它识别mark 点焊盘的反射。四、不同类型的mark点1、单板mark点全局mark 点作用是单板上定位所有电路特征的位置,用于区别电路图形和PCB基准,是基于三个网络系统的定位,其中参考点位于左下端 0.0,另外两个在在X和Y轴的正方向。全局mark点2、局部mark点局部mark点主要用来定位引脚多、引脚间距小(引脚距中心不大于0.65mm)的各元器件,辅助定位。局部mark点3、工艺边mark点作用在拼接板上,辅助定位所有电路功能,辅助定位。工艺边mark点五、mark点定位的一般原则和步骤1、mark点形状选择基准标记的位置后,就可以决定它们的显示方式了。虽然一些制造设备被编程为可以识别各种形状,如菱形、正方形或沙漏形,但并不是所有的机器都可以处理。还是建议使用比较普遍的圆形mark点。为什么通常都使用圆形mark点?●圆形物体更容易被机器定位。●对于 HAL 完成,圆形基准上的凸形仍将是圆形,而在方形基准上,例如,它可能不再是正方形。●机器更容易找到圆形的中心。●圆形的表面积最小。●均匀蚀刻圆形形状。●可以使用多个基准点,而不是效率较低的奇形怪状基准点,后者在理论上可能包含旋转信息,但难以处理。●这是一个与传统电路板可能具有的功能最不同的功能,传统电路板主要是矩形。●圆形安装孔可以兼作便宜的基准。机器视觉需要准确地找到基准点,然后估计其确切的中心,圆形是最优的。mark点形状2、mark点 尺寸基准标记可以有多种尺寸,主要取决于装配的机器。3.2mm 阻焊层开口直径和 1.6mm 裸铜直径或 2mm 阻焊层开口直径和 1mm 裸铜直径的尺寸基本上可以适用于所有的机器。同一印刷电路板上的基准标记尺寸不应超过 25 µm,建议间隙区域的最小尺寸为中心标记半径的两倍。参考点周围应该有一个空白区域,该区域没有任何其他电路元件或标记。空白区域的最小尺寸应为参考点半径的两倍。PCB 基准尺寸通常为 1 到 3 毫米,主要取决于制造商使用的组装机器。一些制造商建议在电路板的角处添加 3 个基准点,因为这会提供 2 个角度对齐测量值,并允许贴片机推断出正确的方向。一些制造商会说明具体尺寸,这也取决于制造商使用的装配设备。一般来说,阻焊层开口的直径应该是基准裸铜直径的两倍,此外,同一块电路板(全局和局部)上的 PCB 基准尺寸应该一致,变化不应超过 ~25 微米。如果要组装 2 层板,则顶层和底层基准点应位于彼此之上。顶层和底层 PCB 基准尺寸应相同,包括阻焊层开口。两种常见的 PCB mark点尺寸和阻焊层开口建议局部基准往往小至 1 毫米,阻焊层开口为 2 毫米,上图中显示的 D-3D 规则,是因为有些制造商比较喜欢这种较大的阻焊层开口。局部 PCB 基准尺寸通常不超过 1 毫米,以便进行走线布线并为其他组件留出空间。对于 0201 电阻或芯片大小的 BGA 等小型元件,组装机将足够精确,因此不需要本地基准,并且机器将准确知道您元件需要放置的位置。3、mark点 边缘距离避免将基准点靠在 PCB 的边缘,贴装机械通常使用夹具在组装期间将 PCB 锁定到位。如果夹具覆盖了基准点,则问题很严重。可以将基准标记置于距边缘至少 3 毫米的中心位置(建议 5 毫米,可以消除这些风险)mark点 边缘距离4、mark点 组成mark点 组成由 3 部分组成:●顶部或底部铜层上的实心铜环●阻焊层中的圆圈是我们需要对准的目标●侧面的选项文本标签mark点 组成5、mark 点 位置布局需要在PCBA的四个角或对角线上,形成多点面定位,定位准确,距离越远越好。1)pcb mark点mark点 的布局位置由贴片机的PCB传输方式决定。当使用导轨传送PCB时,Mark不能放置在靠近夹持面或定位孔的位置,具体尺寸因贴片机而异。一般要求如下图 所示。区域标记无法定位●定位针过程中,mark点无法定位。●对边过程中,mark点 不能定位在夹边到边4mm 范围内。PCB mark点 位置应沿对角线放置,并且它们之间的距离应尽可能大。●对于长度小于200mm 的 PCB,至少应放置2 个标记,如下图。对于长度超过200mm的PCB,需要如图b 在PCB上放置4个mark点,沿着PCB长边的中心线或靠近中心线放置1或2个mark点 。PCB mark点 标记应沿着每个小板的对角线放置,如下图 所示。PCB mark点 位置布局2)局部 mark点局部mark点 位置应满足以下要求:对于超过 100 个引脚的 QFP 元件,应沿对角线放置 2 个 mark点 ,如图 a 所示。对于引脚数超过 160 的 QFP 元件,应在四个角放置 4 个标记,如图 b 所示。局部mark 点mark点6、mark点 切口间隙mark点周围的适当间隙至关重要。在焊盘周围放置一个开放区域(无铜、阻焊层、丝网印刷等)。有了这个空间,相机就可以在没有视觉干扰的情况下拾取标记。开放空间的直径应至少是焊盘尺寸的两倍。因此,对于 2mm 的焊盘,你需要在其周围至少留出 4mm 的间隙区域。间隙区域的形状不太重要;圆形和方形区域是两种流行的设计。mark点 切口间隙7、mark点 材料mark点 焊盘需要用电路板其余部分使用的金属完成。(记住,焊盘是用来反射光的。)因此,不要用阻焊层、丝网印刷或任何其他材料覆盖焊盘。8、mark点 数量三个基准点的数量是消除模板相对于 PCB 意外错位的最佳数字。1)1 个mark点只有一个基准标记可用,扫描软件无法确定 PCB 的正确旋转。一台机器实际上无法运行只有一个基准标记的 PCB。2)2个 mark点有两个可用的基准标记,机器可以正常运行。然而,这里有两个风险在起作用。●双标记设置提供了很好但通常不是很好的位置跟踪。如果使用的是细间距组件,可能就不会那么准确●相反的基准点可能会导致操作员错误。如果将 PCB 倒置插入,机器可能仍会看到基准点并继续其愉快的工作。这种失误最好的情况是浪费时间,最坏的情况是导致灾难性的组件堆积或永久性 PCB 和设备损坏。3)3 个mark点三个是正确运行 PCB 的最佳基准标记数,包括第三个基准标记可以为三角测量增加一个额外的点,从而提高整体精度。它还消除了错误旋转的板通过相机的任何可能性。4)4 个mark点虽然看起来添加四个点只能进一步提高准确性,但很少有更多的东西可以通过这一点获得。这里的主要缺点是第四个基准标记会重新引入处理倒置面板的危险。走这条路线时要格外小心。mark 点9、mark 点铜饰面mark 点焊盘需要是平稳的以反映均匀的图像,铜标记镀有你选择的任何金属饰面。电镀和浸渍等工艺在均匀性方面是可靠的,而热风焊料的变化往往更大一些。mark 点铜饰面如果饰面的厚度有任何变化,则无法正确反映。虽然并非无法克服,但它确实迫使生产操作员花费额外的时间来恢复标记。根据问题的严重程度,就需要编辑软件程序以进行补偿,或完全重新焊接基准点。简而言之,修复需要花费大量时间。10、mark 点 对比度当 mark点标记与印制板基板材料之间存在高对比度时,可实现最佳性能。对于所有标记点,内部背景必须相同。六、mark点怎么制作?器件孔接口器件和连接器多为插件式元件。插件的通孔直径比管脚直径大8~20mil,焊接时渗锡性好。需要注意的是线路板出厂时的孔径存在误差。近似误差为±0.05mm。每0.05mm为一钻。直径超过3.20mm,每0.1mm为一钻。因此,在设计器件孔径时,应将单位换算为毫米,孔径应设计为0.05的整数倍。制造商根据用户提供的钻孔数据设定钻孔工具的尺寸。钻具尺寸通常比用户要求的成型孔大0.1-0.15mm。越少越好。mark 点制作七、MARK点设计不良实例 #嘉立创PCB#
芯片之家
9 24 嘉立创PCB
拆开这款一氧化碳报警器,我发现了这个巧妙的电路......
在寒冷的冬天或密闭的厨房,一氧化碳悄悄弥漫,小明可能毫无察觉,直到中毒甚至被它悄悄夺命。而这个小小的盒子——一氧化碳报警器,可能就是小明和危险之间最后的防线。今天,我们拆开一款市面上常见的一氧化碳(CO)探测器,看看它是徒有其表,还是隐藏着真正的“保命科技”。外观这是一款塑料外壳的桌面/壁挂式家用CO探测器,正面是三位数码管显示,四个状态指示灯,自检按键,后侧为电池舱和蜂鸣孔。正面写着新国标,铭牌上我们可以看到一些信息,执行标准为GB 15322.2-2019,查了一下该标准由国家市场监督管理总局和中国国家标准化管理委员会于2019年10月14日发布,并于2020年11月1日正式实施,属于强制性国家标准。电压为DC3V,探测气体为一氧化碳。背面电池仓为两节5号电池。内部模块整体电路看着相对简单,大概分析后画了一个框图。看着真的很简单。电源部分,供电都已经是3V了,而且随着电池的使用,电压会降低,所以需要一个很低压降且低功耗的LDO,LDO前面直接加了一个肖特基二极管做防反接。LDO型号为8321A,品牌为明达微,通过数据手册我们了解到,这是一颗最高40V的LDO,输出2.1V,静态电流为1.5uA,最大输出300mA。Dropout Voltage基本在4mV@IOUT=1mA,电路整体的电流还是比较小的,所以即便电池掉电个零点几伏最小的压差也能满足。这里有个点,数据手册上,输入输出上只需要并联一颗1uF的陶瓷电容就可以,但是,工程师不知道是不是没仔细看,直接按照经验输入输出都是一颗470uF的电解电容,用肯定能用,但这样是不是真的好,大家评论一下。MCU型号为CIU32L051K8U6TR,封装为QFN32,查了一下这是华大电子的一颗低功耗MCU。资源也很不错,48MHz的Cortex-M0+ 32位MCU,64KB FLASH+16K RAM,有灵活的功耗管理模式,Stop模式+RTC下1.25uA的电流。定时器,DMA,RTC,ADC,UART,I2C,SPI,低功耗比较器,参考电压源也是应有尽有,这里看到MCU还内置LCD驱动,最大支持8COM x 32SEG,重点是对LCD电荷泵的支持,电路设计非常精简,驱动LCD屏都不需要1621之类的专用驱动芯片了。供电电压为1.8V-5.5V,范围还是比较广的,特别是低压,适合电池供电的产品。VBAT备份电源自动切换,VBAT模式+RTC+备份寄存器低至 0.95uA,降低备份电源的电池容量需求,节约电池成本。这颗国产MCU,低功耗+内置LCD驱动,非常适合需要低功耗的LCD屏显示的应用场景,比如一些智能燃气表,温控器什么的,一颗芯片就能搞定。翻了翻官网,这芯片针对某些领域还确实可以。特别说明一点,大家可能会把华大电子与华大(小华)混在一起,这是两家完全独立的公司,了解了下华大电子专业做安全芯片,在智能卡芯片,安全SE芯片上有着很大的市场。MCU上有一个小电池,配合32.768K的晶振与MCU内部RTC组成时钟系统,这是因为在检测到CO报警的时候,需要记录报警时的时间戳,所以必须要有一个本地时间。接下来是蜂鸣器部分,这种报警器,必须要有很大分贝的报警声了,大家会怎么设计?提高蜂鸣器的供电电压?这里是3V供电的,也没有看到独立的DCDCS升压电路,实际听着还是很响的,那究竟是怎么做到的。蜂鸣片电路,大概是这样子的:这里核心原理是用了一个三脚升压电感,原理是利用电感的互感特性,将初级电能转化为磁能,磁能感应到次级时,次级将磁能再次转化为电能,初级是一个小感量,次级设计成大感量,当初级流过一个交变的电流时,就能达到一个升压的效果,就能发出我们需要的声音了,电路设计成本低,非常巧妙。注意,在电感饱和之前,脉冲持续时间有一个最大值。超过这个时间,电感会失去电感,变得像短路一样。因此,必须找到可以使用此电路的最小频率(假设使用 50% DT 的方波)。最后还有一个CO传感器,就是下面这个圆柱形的金属色传感器,型号是ME2-CO-Ф14×14,这是一种燃料电池型传感器,一氧化碳和氧气在工作电极和对电极上发生相应的氧化还原反应并释放电荷形成电流,产生的电流大小与一氧化碳浓度成正比并遵循法拉第定律,通过测定电流的大小即可判定一氧化碳浓度的高低。运放为8041,品牌不详,单路1.4-5.5V,电路大概是下面这样子:针对电路,有几点说明一下,原理大家就都清楚了:ME2 为两电极电化学传感器,W端输出电流 ls,氧化性气体 |s>0,还原性气体 Is[removed]
芯片之家
4 15 嘉立创PCB
小米空调遥控器拆解:一颗MCU如何搞定全部功能?
这两天看到家里的小米空调遥控器,好奇以小米的风格会怎么设计整个方案,于是,就把它拆开了。 拆开后发现,没有独立的LCD段码屏驱动,没有LDO,没有红外发射驱动电路,发现里面的核心芯片是一颗名为 ADKT51P48 的MCU,外加几颗阻容,就这么简洁。 网上找资料,发现这是一颗安广电子的专用红外遥控芯片,别看它小小一颗,却能把整个遥控器的工作全包了: 内置 LCD 驱动(4×30 段(1/4 duty,1/3bias)),直接带动段码屏显示温度、模式、风速。 集成红外发射驱动,1个I/O灌电流达500mA不用外挂三极管就能推红外管。 带遥控载波发生器,生成红外信号太方便 还集成了低功耗电路,待机电流极低,非常适合两节AAA电池的遥控器应用。 可以说,这类芯片就是“为红外遥控器而生”,专用、低成本、稳定。 拆解其它角度,整体方案非常简洁了,LCD导电胶条,最大支持4×30 段(1/4 duty,1/3bias)或者 5×29 段(1/5 duty,1/3bias)。 背面就一个插件红外发光二极管跟电池弹片。 按键用锅仔片,成本低。 全家福,按钮用硅胶按钮,手感好,塑料件3个模具。 #嘉立创PCB#
芯片之家
2 4 嘉立创PCB
PCB到底为什么需要阻抗匹配?不匹配就等于白画!
在高速电路设计里,我们经常听到一个词——阻抗匹配。尤其是在高多层PCB设计中,阻抗控制几乎是绕不开的话题。那么,为什么PCB高多层板需要做阻抗匹配呢?今天我们就来聊聊这个工程师们都关心的“隐形杀手”。🚀 为什么要做阻抗匹配?在低速信号电路里,导线更像是一根“导电的铜线”,电流从这头流到那头,不需要太多考虑。但当信号速度越来越快(频率高、边沿陡),PCB走线就不再是“铜线”,而是变成了传输线。在传输线上,信号以电磁波的形式传播,此时走线就有了一个固定的特性阻抗。如果信号源、走线、负载之间阻抗不一致,就会产生信号反射,导致波形畸变、时序错误,甚至系统完全无法正常工作。比如,一条高频走线采用 1oz 厚的铜线布线,线宽为 0.5mm,则会在走线上改变电感、电容和电阻。这给高频信号线带来了困难,因为电容和电感会改变信号的频率,并且走线的终点和起点会产生完全不同的结果,信号会大大衰减。我们再看下面这个图:假设信号内阻Rs为48欧姆,传输线内阻为40欧姆,信号A的振幅为1.2V,那到传输线后面B点的振幅就是545mV;如果信号A的驱动能力强一点,内阻降低为34欧姆,那B点的振幅就是649mV。如果传输线后面有一个大阻抗的线路,信号在C点就会被反射。大家看出来了吧,内阻Rs跟传输线的阻抗,都会对终端的信号产生影响,会导致驱动信号能力不够或者过冲,然后同一组中各种信号到到达终点的时间就会不一样,时序变差,导致信号紊乱或者速度变慢。简单来说:阻抗匹配好 → 信号传输平稳,眼图漂亮,系统可靠;阻抗不匹配 → 反射、串扰、过冲、欠冲一堆问题等着你。所以,为了确保精心设计信号走线,并且信号质量不会随着走线而下降,不同的地方,我们需要仔细控制不同的阻抗。📐 阻抗匹配在高多层PCB的意义高多层板的一个重要作用就是为高速信号提供合理的走线环境。常见的做法是:在信号层下方紧贴一层完整地平面或电源平面;通过控制走线宽度、介质厚度、介电常数,形成稳定的特性阻抗;让信号沿着确定的路径传播,减少 EMI 和串扰。所以,在高多层设计中,阻抗匹配不仅是信号完整性(SI)的保障,也是整个板子能否一次性点亮的关键。🔧 工程中常见的阻抗匹配方式端接电阻匹配:最常见的方法,比如在DDR、LVDS、USB差分线上放终端电阻。差分阻抗控制:差分线宽度、间距设计,保证100Ω或90Ω差分阻抗。层叠设计:根据设计要求(如50Ω单端阻抗),在叠层中控制介质厚度和线宽。常见接口的PCB阻抗要求:信号类型/接口 阻抗要求 常见说明 单端信号(如时钟线、控制线)50 Ω标准最常见的单端阻抗,几乎所有高速单端信号都要求 50Ω。USB 2.0 (D+/D-)差分 90 ΩUSB 2.0 全速/高速都要求差分 90Ω;通常无需严格端接电阻。USB 3.x (SuperSpeed)差分 90 Ω对阻抗一致性和走线长度更严格,过孔影响更大。HDMI差分 100 ΩTMDS 差分对,阻抗需严格控制,否则容易出图像干扰。LVDS差分 100 Ω常见于显示接口(LCD、摄像头),低电压差分信号。PCIe差分 85 Ω各代(Gen1~Gen5)均要求差分 85Ω,走线对称性非常关键。SATA差分 100 Ω高速存储接口,差分阻抗需精准。DDR1/2/3/4/5 数据线单端 50 Ω数据线 DQ、时钟 CK、命令/地址线均需单端 50Ω。DDR1/2/3/4/5 差分时钟差分 100 ΩDDR CK/CK# 差分对。Ethernet (100M/1000M/10G)差分 100 Ω常见 RJ45 千兆网口均是差分 100Ω。MIPI DSI/CSI差分 100 Ω移动端高速接口,对走线长度匹配要求严格。Thunderbolt/Type-C 高速线差分 85 Ω / 90 Ω与 PCIe/USB3 类似,通常 85Ω。一句话:阻抗匹配不是靠“画好线”就能解决的,而是叠层+走线+仿真综合优化的结果。⚡案例分享某开发板采用 DDR3 SDRAM,工作速率 800Mbps。主控芯片与内存芯片之间通过走线连接,包含时钟线、命令/地址线、数据线等。第一次设计时,工程师只是按常规布线,没有严格控制阻抗:数据线(DQ)实际阻抗在 40Ω~60Ω之间波动;差分时钟线阻抗接近 120Ω(设计偏宽)。结果:上电后系统偶尔能跑,但大多数时候死机,示波器抓波形,时钟信号有明显反射和过冲,数据眼图也严重闭合。工程师对 PCB 进行了 阻抗匹配优化:层叠调整:将信号层下方的参考平面介质厚度缩小,保持数据线阻抗在 50Ω ±10%。差分对优化:重新计算线宽与线间距,将 DDR CK/CK# 差分阻抗控制在 100Ω ±10%。终端电阻:在主控输出端加上 33Ω 串联电阻,抑制过冲。修改 PCB 并重新打样后,DDR3 系统一次点亮成功,波形测试正常,眼图清晰,系统稳定运行在 800Mbps;反射问题完全消失。🌟 阻抗匹配工具阻抗匹配不仅是设计环节要考虑,生产工艺也很关键,要实现精确的阻抗控制,离不开高品质的PCB制造。我们打样PCB一般都在嘉立创做,他们也有很多好用的PCB工具,比如阻抗计算:这里有很多常用的层压结构,我们选好自己的层压结构之后,常用的阻抗对应的线宽就都显示出来了。老宇哥最近开源的100W PD HUB项目,里面的USB信号走线就需要做阻抗匹配,差分90Ω,选用JLC04162H-3313层压结构,免费的阻抗管控。总之,非常方便。帮工程师在下单时就避免这些“翻车事故”。这样做出来的板子,不仅良率高,信号完整性也有保障。特别是现在,针对6-32层高品质多层板免费升级沉金厚度为2u",简直不要太爽。实物效果很漂亮再加上免费的盘中孔工艺,焊盘上直接打孔,盘中孔工艺的PCB,无论是美感还是性能,均秒杀过孔盖油及塞油。而且采用盘中孔设计,还能大大节省设计时间,提升产品品质。没体验的同学真心建议去体验一把!✨ 总结PCB高多层板需要做阻抗匹配,是因为在高速信号传输中,走线已经变成传输线,阻抗不匹配就会导致严重的信号质量问题。而通过合理的层叠设计与严格的阻抗控制,可以大幅提升系统的可靠性。所以,下次再有人问你“阻抗匹配到底是不是噱头”,你就可以很自信地说:不是!它是高多层PCB的灵魂。👨‍💻 老铁们,你在做高速板设计时,有遇到过哪些“因为阻抗不匹配而掉坑”的经历吗?欢迎留言分享!#嘉立创PCB#
芯片之家
1 5 嘉立创PCB
隐藏在电子元器件下的内部之美(二)石英晶振,电位器,钽电容,二极管,整流桥,芯片
上一期我们介绍了10个电子元器件的横截面美图。 这次我们再介绍下32.768Hz石英晶振,绕线电位器,微调电位器,插件瓷片电容,钽电容,轴向电感,玻璃封装二极管,整流桥,74系列芯片的横截面美图,希望大家喜欢! 图片来自书籍 OPEN CIRCUITS。 #嘉立创PCB#
芯片之家
0 5 嘉立创PCB
隐藏在电子元器件下的内部之美(一),电阻、电容、电感、二极管、三极管、晶振
在电子世界里,电阻、电容、晶体管这些名字,听上去冷冰冰,似乎只是功能性的符号。但当我们用摄影机和切割工具剖开它们,内部却藏着令人惊叹的结构与美感。 《Open Circuits》就是这样一本神奇的书,它通过横截面摄影,揭示了电子元器件内部的精妙世界。今天,我们精选其中 10个最具代表性的元器件,带大家一窥电子器件的“内在之美”。 精选 10 个元器件内部剖面 1、电阻(Resistor) 内部碳膜绕制在陶瓷基体上,黑色电阻膜细致包裹,银色端帽通过金属化工艺与引脚相连,结构紧凑。 ​ 去除保护涂层后,螺旋槽清晰可见 2、铝电解电容(Aluminum Electrolytic Capacitor) 卷绕的铝箔与浸渍电解液的纸层叠绕成卷,像一本紧紧卷起的书卷,层层叠叠。 3、陶瓷电容(Ceramic Capacitor) MLCC多层陶瓷介质与金属电极交替堆叠,截面犹如千层饼,展示出高密度存储能量的奥秘。 4、表贴电感(surface-mount Inductor) 铜线圈紧密绕制在铁氧体磁芯上,剖开后线圈规则整齐,如同微缩版的艺术雕塑。 5、变压器(Transformer) 多股漆包线缠绕在铁芯上,层层绝缘隔离,剖面显示能量在不同绕组间传递的路径。 6、二极管(Diode) 二极管本身是一块微小的硅“芯片”,也称为“管芯”。原本是超纯硅的硅片经过改性,形成了不同的区域:一个区域由电子承载电流,另一个区域为空穴,即电子缺失的区域。这两个区域之间的连接点,即器件的有源区,只能单向传导电流。 两根粗大的镀锡铜线用焊料粘合到硅芯片上,然后用黑色环氧塑料封装。 7、LED 发光二极管(LED) 发光二极管(LED)始终魅力十足,看似简单,实则充满了精妙的设计细节。LED 中的半导体芯片并非硅,而是一种定制的半导体,在激活时会发出所需的颜色。例如,AlGaAs(砷化铝镓)通常用于制造像这样的红色 LED。 半透明的环氧树脂透镜下,是极小的发光芯片与金线连接,微小却能点亮世界。 8、晶体管(Transistor) 晶体管是20世纪的关键发明之一,它是一种半导体器件,允许一个电信号控制另一个电信号。晶体管通常用于放大信号或作为逻辑开关。金属引脚与硅芯片通过焊点相连,细小的键合线如同血脉,支撑着放大与开关功能。 TO-18封装 除了硅芯片外,还可以透过黑色环氧封装看到连接到芯片顶部的两条金键合线中的一条。 TO-92封装 9、晶振(Crystal Oscillator) 许多数字设备的“滴答心跳”都来自像这样的振荡器模块。在它的内部,我们发现一个薄如纸的锯切石英晶体圆盘,悬挂在弹簧上。 当电压施加到电极上时,它会刺激石英运动,将其变成一个微型的、由电力驱动的钟摆,振动产生稳定频率。 10、3.5 mm 耳机插头(Audio Jack) 多层金属触点环绕在圆柱体上,截面剖开呈现出同心圆般的精致结构。3.5 毫米插孔内部有两个微型开关,用于在将耳机插入设备时断开所有内置扬声器。某些计算机使用这些开关来检测插头何时插入插孔,并调出软件配置菜单。 总结 《Open Circuits》不仅仅是一本摄影书,它更像是一场视觉与工程的盛宴。它让我们重新认识到,电子元器件不只是冷冰冰的功能部件,而是人类智慧凝结的精密工艺品。 在这些横截面照片中,我们看到了对称的美、层次的美、秩序的美。它们本应隐藏在塑封和金属外壳之中,却因摄影而展现,成为艺术与科技的完美结合。 #嘉立创PCB#
芯片之家
2 4 嘉立创PCB
当100W PD HUB插入充电器与电脑,电源分配的全过程,工程师看完直呼过瘾!
前段时间我们开源了100W快充+USB3.0(3A+1C)高速传输 PD HUB,今天我们重点介绍下工作原理。主控芯片是CH634X这颗芯片,采用青稞RISC-V处理器,单芯片集成4口USB3.2 Gen1(5Gbps) HUB和Type-C PD功能,原生支持Type-C正反插以及100W快充。 这就很给力了,一颗芯片搞定。我们先从CH634X开始分析,先看工作模式, CH634X有3种C口工作模式,可通过PDHUB#、SMBDAT和EXCH# 引脚进行配置选择。可以看到,模式0跟模式1都是通用的HUB模式,就是单纯的一个HUB功能,模式2可以配置为PD-HUB模式,上行口为单面 Type-C 接口,支持Type-C/PD 快充功能,下行口为1个Type-C 接口 + 3个A 型接口,我们的开源项目就是这种模式。原理图这里我们先看一个芯片,CH211C,这是一个内置了高压开关和升压模块的Type-C/PD高压接口芯片。芯片内置了4通道高压开关, 用于MCU的PD信号对接高压Type-C接口,并内置了升压电路,支持外部N型MOSFET功率管控制,CH634X通过I2C控制CH211C。那为什么需要这个芯片,高压开关是什么,TYPE-C口的CC线直接接CH634X 不就行了吗?CC信号线主要用来协商电压电流(PD协议通信)、侦测插拔,理论上 CC 线最大电压不会超过 5V,CC线电压是独立于 VBUS 电压的,但在某些异常/热插拔瞬间,有可能由于寄生耦合、ESD、电源反灌等,导致 CC 瞬时电压超过 5V,特别是 Type-C 接口短接插反、VBUS 瞬间上升、或者被错误连接时,可能出现异常电压。还有就是,C口长期使用后,有一些会导致触点摊开,相邻触点的间距缩小,CC口又紧挨着VBUS口,进一步增加了短路的风险。所以,USB PD HUB中高压端和低压端的CC线绝不能直接相连,必须使用高压信号开关进行隔离和控制,避免MCU的CC引脚直接承受意外的高压。简言之,CH211C的第一个作用就是CC线的高压开关,里面有两对PD信号高压开关。如下图,P6口为纯供电的Type-C口,P6的两个CC口与CH211C的高压CC引脚连接,二选一,CH211C的低压CC口与CH634X连接,这样,通过CH211C,外部高压CC口与主控CH634X的低压CC口就硬件上连接起来了。PD 协议由 CH634X 实现,原生支持 USB PD2.0/3.0 协议,那当充电器插入供电口P6的时候,信号间到底传输了什么信息?我们先看下PD的连接过程。1、连接检测(Connection Detection)Type-C插入检测:当USB-C线缆被插入时,源端(Source,如充电器)和宿端(Sink,如手机)通过检测CC引脚上的电压或下拉电阻来确认连接。- Source(DFP)的CC引脚通过一个上拉电阻(Rp)接到电源。- Sink(UFP)的CC引脚通过一个下拉电阻(Rd)接到地。方向确认:线缆插入后,Source会检测到CC引脚上的电压被Sink的Rd拉低,从而判断“有设备接入”。同时,因为线缆内部只有一根CC线连通,Source也能通过检测哪一根CC线被Rd拉低来判断线缆的方向(正插还是反插)。默认供电:在建立PD通信之前,Type-C规范中要求Source会先提供vSafe5V的5V电压并且其可用的供电电流有0.5A,1.5A,3A三种,由其上拉电流声明,具体可见下图。2. 协议连接(Protocol Connection)物理连接建立后,双方开始尝试建立数字通信协议BMC编码与通信:USB PD使用一种名为BMC (Biphase Mark Coding)的编码方案在CC线上传输数据。这种编码对硬件要求较低,适合单线通信。Source_Capabilities:充电器先广播它支持的电压/电流组合(PDO,如 5V 3A、9V 3A、20V 5A 等)。Sink_Request:PD HUB连接充电器之后先Request 5V电压,在没有接PC设备前,不能请求高电压。只有当PC设备请求高于5V的高电压时,PD HUB才会进行转发请求更高电压,比如 20V 5A,发送请求。随后向Source发送一条Request消息,指明它选择了哪个PDO。若承载电流在3A以上者,则电缆线内部必须配置E-Marker IC,透过VCONN对E-Marker IC供应电源,使E-Marker IC能提供缆线本身的各项资讯,在使用含有E-Marker IC的缆线时,输出电流最大可达5A,即100W (20V,5A) 如下图。电源供应端(Source)输出电压由5V改为9V BMC波形配置E-Marker IC3、电源协商Accept:充电器回应“接受请求”。Source收到Sink的Request消息后,会进行评估,如果认为请求是安全和可接受的,它会回复一Accept消息。收到消息后,充电器切换到请求的电压档位。PS_RDY:充电器切换好电压后,发送“电源就绪”。HUB 通过 CH211C 完成 VBUS 的切换与隔离,保证高压安全导通。在检测到充电器刚和PC都连接的时候,MOS就已经导通了,这时候给出的是vSafe5V。协商到更高的电压后,再把高压引入PC。此时,外部充电器一路给PC充电,另一路给主控以及下行 USB接口供电,稳定运行。在快充时,随着电池电量上升,宿端可能会请求降低充电功率(例如从20V切换到9V),以保护电池寿命。这里有两种插拔顺序。一、HUB 先插充电器 → 再插电脑充电器插入HUB,充电器作为 Source,HUB 作为 Sink 会发生 PD通信,但只“选中5V PDO”,HUB 已经拿到并缓存了充电器的全部 PDO 能力表(电压/电流)。当再插上行口到 PC 时,HUB 作为 Source 跟 PC 协商,若需要更高功率,HUB 立即用已知 PDO 对充电器发起二次Request,充电器Accept/PS_RDY后 VBUS 才升到 9/15/20 V。二、HUB 先插电脑 → 再插充电器HUB插入电脑后还没插充电器的时候,VBUS = 5V(来自 PC),HUB 由这 5V 上电并完成枚举(USB 数据链路建立)。HUB 与 PC 之间进行Type-C连接检测,尝试进行PD通信,这时PC 当 Source,HUB 作为 Sink 只需 5V 即可工作。充电侧未连接,HUB 内部电源管理处于PC 的 5V 作为主供电的状态。HUB 是可以缓存 PC 的 PDO 信息的,只是通常不会用。插入充电器后,充电器与 HUB 会进行Source_Capabilities → Request(5V) 的初次 PD 握手,因此 HUB 会收到并缓存充电器的 PDO 列表。HUB 在检测到充电器且充电器能力高于 PC 时综合分析后优先使用充电器为系统供电并向 PC 提供电力。此时如果拔掉充电器,会发生什么?这里就涉及到USB PD 的供电角色切换功能了(DRP + 反向供电),我们梳理一下:1、正常状态(充电器插着)供电路径:PD充电器 → HUB (CH211C开启MOS导通高压) → 上行口C口 → PC 角色:充电器:Source(供电方)HUB:Sink(取电),并把电一路 PR_SWAP(power role swap)给PCPC:Sink(被充电)2、拔掉充电器的瞬间这里CH634X有一个优势,就是FR_SWAP,即快速角色交换,可以在支持的主机上面,拔掉充电器的时候而不掉电,也就是USB设备不掉。流程简单来说就是在HUB检测到充电器移除时,会立刻在主机端的CC上发出FR SWAP Signal,支持此功能的主机会完成此流程。之后电源角色互换。在此过程中,HUB的电源需要由自身的储能电容供电。3、PC 继续作为 Host(默认常见)PC 的上行口本身能提供 5V@900mA/1.5A (USB 3.0/3.1 BC1.2供电)。当外部 PD 断开后,PC 就通过上行口 VBUS 给 HUB 本身和下游接口供电。HUB 的下游口还可以继续工作,但功率受限(只能是 PC 提供的 5V,不再有高压快充)。这种情况下,PC 上行口开始向下供电了。这里拔掉充电器后,会关闭充电器一测MOS,使此端口电压保持在vSafe0V,这时HUB和下行口设备的电源由PC提供,下行口供电能力这时取决的PC的供电能力。总结一下:在这个 PD HUB 里,CH634X 是 PD 协商的大脑,处理 CC 上的协议栈;CH211C 是高压守门员,保护CH634X远离高压,同时控制NMOS导通和关断。这样整个 HUB 就能既保证数据传输稳定,又能根据需求从 PD 充电器拉取不同电压电流,在外部供电拔掉的时候,还能切换供电方向,从PC 上行口进行取电,非常完美!篇幅有点长了,今天这节就只是讲PD这部分吧,过两天把HUB USB部分再讲解一下。看到这里的都是老粉了,大家点个赞,转发,评论支持下,不然没动力更新了...#嘉立创PCB#
芯片之家
1 8 嘉立创PCB
开源!DIY Wi-Fi USB-C PD功率计记录仪,PCB、原理图、3D外壳、软件
随着 USB-C PD 变得越来越普遍,拥有一个可以让工程师准确了解其功能的工具非常有用。这个DIY USB-C PD 工具有监控电压和电流的能力,无论是在设备内置的小屏幕上还是使用 Wi-Fi。此设计有两种版本:带屏幕版本,OLED 版本基于 STM32,小屏幕可显示流经设备的电压、电流和功率。Wi-Fi PD 记录器版本,使用 ESP-01 来托管一个小型网站,该网站会显示相同的数值,但还具有一个附加功能,可以随时间记录数据并导出包含所有收集数据的 CSV 文件,这在表征项目随时间推移的功耗时非常有用。两个版本均采用经典的 INA219 和 50 mΩ 分流电阻,允许在 1 mA 范围内读取电流。外壳采用 3D 打印,其相关文件以及所有电子元件和软件代码均可在GitHub 页面上找到。(https://github.com/lhm0/pd_logger/tree/main)工作原理USB-C 连接器:输入侧为公头,输出侧为母头。CC 和 VCONN 线路通过来处理 PD 电压协商。分流电阻(50 mΩ)可实现精确的电流测量。INA219 传感器通过 I²C 测量电压和电流。降压转换器从 5–20 V 输入产生 3.3 V。MCU:带 OLED 显示屏的 STM32(功率计)、带 Wi-Fi 的 ESP-01(PD 记录器)。使用方法功率计:插入充电器和设备之间→读取显示屏上的数值。PD 记录器:连接到局域网 Wi-Fi,然后打开http://pd-logger.local→查看实时值。更新间隔:5秒记录容量:数小时数据下载为 CSV 文件电压/电流/功率随时间变化的交互式图表#嘉立创PCB#
芯片之家
3 15 嘉立创PCB
可轻松放入口袋的PD台式电源,原理图,Gerber,3D,马上进行复刻!
PocketPD是一款 USB Type-C 供电的台式电源,可轻松放入口袋。无电感电源采用 USB-C PD 3.0/3.1 接口,并利用其 PPS 功能供电。电路板上没有降压或升压转换器,因为这些组件已经集成在 USB-C 充电器中。我们将探索如何实现恒压 (CV) 和恒流 (CC) 模式,这两种模式是所有标准台式电源都具备的。搭配现代 USB Type-C 充电器或移动电源使用,它是一款功能齐全的电源,可提供宽电压范围,并内置安全保护。它配备 OLED 显示屏、电流传感器和香蕉插孔输出,可连接所有标准设备。它还可用作 Power Delivery 3.0 配置文件测试仪。这款独特的电源利用了 USB Power Delivery 3.0 及更高版本中的可编程电源 (PPS) 模式。PPS 让我们可以直接从充电器请求电压和电流,并实现更紧凑、更轻巧的设计。无论是现场工作的专业人士、电气工程初学者,还是需要精确功率控制的 DIY 爱好者,PocketPD 都是工具包中一个多功能的补充。PocketPD 的工作电压范围为 3.3V 至 21V,最高可达 5A,兼容各种电源,包括壁式充电器、移动电源和车载充电器。无论身在何处,都能轻松充电,不受任何限制。精细调节功率控制使用兼容电源,可以以 20mV 的增量在 3.3V 至 21V 之间调节电压。电流限制支持从 1A 开始,步长为 50mA。所选的电源配置文件、电压和电流限制将保存在微控制器闪存中,并在下次重启时检索。PocketPD 的固件是结合使用自定义库和其他开发者的开源库开发的。该固件是开源的,并遵循 MIT 许可证。电子元件使用 KiCad 9.x 开发,并将于稍后遵循 CC4.0-BY-SA 许可证提供。可以在 GitHub 上查看其原理图和固件,3D 打印外壳也可供定制。目前的目标是在开发和功能测试完成后将软件开源。其他应用程序的后续开发可以重复使用部分代码。示例应用包括定制磷酸铁锂 (LiFePO4) 或锂聚合物 (LiPo) 充电器、回流焊炉或加热板。https://github.com/CentyLab/PocketPD#嘉立创PCB#
芯片之家
1 12 嘉立创PCB
开源超低成本的USB-C板载接口方案!大家评论下插拔多少次会坏?
想制作史上最薄的 USB-C PCB 吗?这些封装图现在开源了!直接将你的PCB板用作USB-C连接器!,一次性降低物料清单成本,并节省电路板空间。这是母口/端口连接器,需要搭配 USB-C 数据线使用。U盘和数据线使用的是公头/插头连接器。要使这种封装方式有效,您的PCB厚度必须为0.6或0.8毫米。这种封装设计兼顾了规范要求和可制造性设计 (DFM) 两方面的优势。例如,狗骨形切口确保了插头尖端的精确尺寸,并提供了必要的支撑。插槽宽度的设计充分考虑了 PCB 边缘布线的公差,丝印层则为插头内尖端的细小接地引脚提供了一层保护。在丝印区域两侧添加一层薄金属,使丝印区域厚度达到 1.2 毫米,以更好地支撑和加强连接器。这种连接器的主要用途之一是用于那些使用次数极少的端口,例如MCU调试端口。另一个用途是当USB不使用时,PCB组件需要做到极致纤薄,例如USB供电的名片。对于超低成本的玩具或小工具,例如微型USB PCB手电筒,它也是一个不错的选择。USB-C 连接器通常非常可靠。但这款连接器却完全背离了这一优点。它并非像 USB-C 那样能够承受数万次插拔,而是在采用 ENIG 镀层的情况下,可能只能承受几十到几百次的插拔,之后线路就会磨损或脱落,具体次数取决于 PCB 工艺。虽然采用硬金镀层可能会有所改善,但内部卡扣会磨损玻璃纤维,导致线缆无法牢固连接。因此,这款连接器并非以可靠性为设计目标。请勿将其用于经常使用或重要的连接器,例如主电池充电端口,因为它不够可靠。在经过 100 次插拔循环后,进行了 5A 电流下 15 分钟的热浸泡测试,结果显示温度升高了 30-40 摄氏度。所用电缆集成了 LED 显示屏和 LDO,并且设计中使用了也会发热的 PMOS,因此很难单独评估该端口的热性能。媒体文件夹中的一段视频显示了在不停止负载的情况下断开连接器的瞬间。各个线路上没有明显的发热迹象。PCB提供 KiCad 和 EasyEDA 两种格式,10 针版本的每一侧都有 2 个 USB 电压引脚、2 个接地引脚以及相应的 CC1 或 CC2 引脚;如果只想通过连接器供电,则此版本是理想的选择。14 针版本具有 10 针版本的所有引脚,并增加了将信息传递到电路板所需的四个数据正极和数据负极引脚,如果打算使用此连接对微控制器进行编程,则这是理想的选择。开源链接:https://github.com/AnasMalas/pcb-edge-usb-c#嘉立创PCB#
芯片之家
2 4 嘉立创PCB
媳妇儿刚买了个支持快充的电能棒,还没开始用就被我拆解了
最近媳妇儿刚入手了一个小玩意儿 —— 酷态科10号超级电能棒Mini。机身小巧,小小一块就能搞定手机快充,非常方便日常携带和使用。这还是第一次接触快充移动电源,以前都是用的那种慢充的(5V2A),很好奇里面用什么电子方案实现的,于是冒着被打的风险准备拆开一探究竟。包装正面是产品名称,55W,10000mAh和Powered by CUKTECH。包装背部参数,有这么多输出参数类型。机身正面,有一个数码管显示电量以及功率信息,下面是当前电能传输方向是IN或者OUT,下面有一个按键,按一下就亮起,几秒后熄灭。整机的尺寸是90.3x50.46x33mm,体积很小,重量217g。背面还有一个35Wh/36Wh电池能量参数以及可上飞机标识设计。顶部是输入输出接口,2C1A,两个C口支持IN/OUT,A口只支持输出。底部是详细的参数信息,我们把它Copy过来:酷态科10号超级电能棒Mini产品型号:PB1055输入参数:IN1(Type-C1)5V-3A 9V-3A 12V-3A 15V-3A 5-11V-5AIN2(Type-C2)5V-3A 9V--3A 12V-3A 15V-3A 5-11V-5A输出参数:55W MAX 多口:5V-4A OUT1(Type-C1)5V-3A 9V-3A 12V-3A 15V-3A 20V-2A 5-20V-2.5A 5-11V-5A 55W MAXOUT2(Type-C2)5V-3A 9V-3A 12V-3A 15V-3A 20V-2A 5-20V-2.5A 5-11V-5A 55W MAXOUT3(USB-A1)5V-3A 9V-3A 12V-1.5A 5-11V-3A 33W MAX电池能量(额定/典型):35.28Wh/36Wh 7.2V 4900mAh/5000mAh电池能量(额定/典型):35.28Wh/36Wh 7.2V 4900mAh/5000mA额定容量:5600mAh(5V3A)电池种类:锂离子电池产品通过了CCC认证。拆解之前我们先用POWER-Z测一下两个C口支持的快充协议。两个C口是不一样的,USB-C1口支持QC2.0、PD3.0、XIAOMI 55W私有快充协议、DCP、Apple 2.4A快充协议。小米14 激活55W快充PDO报文中显示C1口支持5V3A、9V3A、12V3A、15V3A、20V2A五组固定电压档位,PPS 5-11V5A以及小米5-20V2.5A私有协议。USB-C2口支持PD3.0、XIAOMI 55W私有快充协议,PDO报文与C1一样。USB-A口支持UFCS、FCP、SCP、AFC、QC3+、DCP协议。UFCS融合快充具备5-11V3A电压档位C1口充电的时候,用小米快充充电头充电,手头只有一个小米90W的A口充电器,这里是PD3.0 45W,用C口充电器是可以激活55W快充的。下面正式拆解:外壳没有螺丝,估计是强卡扣卡死的,多种拆撬无果后,拿起我的小切割机,开始强拆,结构做的是真不错。背壳打开后,看到了两粒锂离子电芯。底板切开后,才拿出整个PCBA+电池,可以看到,外壳正面是有贴铜箔的,PCBA上紧贴着导热硅脂垫再通过铜箔外壳进行散热。电路板正面,依次是锂电保护芯片、快充协议MCU、开关MOS、数码管等主要元器件,正反面均刷了三防漆。MCU来自沁恒微的CH32L103K8U6,基于青稞RISC-V内核设计的低功耗通用微控制器。CH32L103内置USB和PD PHY,支持USB PD及Type-C快充功能,QFN32封装。这里充电宝嘛,也是电池供电,所以MCU用低功耗的也是必须的,L103内置低功耗定时器,低动态/静态功耗,按键唤醒。这里数码管驱动是CH32L103驱动的。高速SPI,速率可达48M,在驱屏上也比较有优势。盲猜NTC热敏电阻电压采集报警,也可能是L103采集的。USB-C1口支持QC2.0、PD3.0、XIAOMI 55W私有快充协议、DCP、Apple 2.4A快充协议,C1口PD协议主要就是通过CH32L103K8U6控制的。根据手册介绍,L103相较于常规通用MCU,最大的特色就是PDUSB(USB通讯+Type-C PD双功能),支持USB Host主机和USB Device设备功能,宽电压供电范围1.8V-3.6V。其它通用外设资源也很丰富,DMA,模拟电压比较器,运放,ADC,多组定时器,TouchKey,USART,I2C,SPI,CAN。内置touchkey模块这点,就非常适合Type-C的小家电应用,MCU旁边有个7544的LDO,输出4.4V的电压,最大100mA。MCU右边有一个丝印为9A20的芯片,型号是TP181A2,是一颗零漂移双向电流检测放大器,可检测分流器两端的压降,共模电压范围为-0.3 V至36V,且与电源电压无关。USB-C1口的VBUS开关管,采用两颗LX30P50N,PMOS,-30V,-50A,Rds 8.6mΩ,DFN3X3-8L封装。USB-C2口的VBUS开关管,也是两颗LX30P50N。靠近锂电池还有一个锂电保护芯片,丝印是20MA,型号为CM1020-MA,SOT23-6封装,是一款专用于2串锂/铁电池的保护芯片,内置有高精度电压检测电路和电流检测电路。支持过充电、过放电、放电过电流、短路、充电过电流的检测。1020了解得知已经不卖了,可以用同系列替代型号CM1025-MA。电路板背面,依次是锂电保护管、同步升降压控制器、开关管、协议芯片、MOS管等。USB-C2以及USB-A口的充电协议由A94P829KUN实现,是ABOV现代推出的PD3.1协议芯片,支持USB-C、USB-A双接口快充,内置8051内核并采用32QFN封装。同步升降压充电控制器来自南芯的SC8815,是一款高效、同步、双向升降压充电器控制器,带 I2C 接口。可用于有效管理1至6节锂离子电池的充放电。通过其I2C接口,用户可以轻松设置充电/放电模式,并灵活地编程充电电流、充电电压、备用输出电压、电流限值、开关频率和其他参数。SC8815电路上的四颗外挂NMOS采用AOS万代半导体的AON6512,具有30V耐压、210A大电流承载能力,Rds(on)最低1.7mΩ@10V,广泛应用于快充设备等领域。电池保护对管是用的领泰的LTD1534MFL,30V,130A,Rds(on)最低1.5mΩ@10V。Buck-Boost 2.2uH大电感。丝印luHWA的DCDC来自矽力杰SY8301,输入电压4.5-40V,能够输出 1A 负载电流。电池上有NTC热敏电阻进行温度监控。两颗串联的锂电池来自SunPower长虹三杰,型号是INR21700-5000,3.6V,单颗容量为5000mAh,瞬时放电电流能达90A,是一款性能强劲的动力电芯,通过了CCC认证。最后来一张全家福,整体做工还是非常不错的,拆成这样是装不回去了,赶紧网上下单再给媳妇儿买一个新的。快充移动电源外出使用还是很方便的,出门在外可以快速补充手机电能,这家觉得酷态科的这个方案整体设计怎么样,欢迎留言区讨论!#嘉立创PCB#
芯片之家
4 13 嘉立创PCB
别人报价5000的模具费,嘉立创几十块搞定 #DIY设计#
嘉立创YYDS!
芯片之家
0 17 面板定制
避坑指南:工程师必读的45条FPC设计技巧,图文详细解析!(一)
什么是FPC柔性电路板?FPC柔性电路板是一种由柔性基材制成的电路板,它不仅轻便,而且能够弯曲和折叠。这种设计让它在狭小空间或形状不规则的电子设备中大显身手。想象一下,未来的智能手表、折叠屏手机甚至可穿戴设备,都有可能因为FPC柔性电路板的存在而变得更加轻薄、便携和耐用。而对于FPC设计,很多同学都表示一头雾水,因为大家平时都是用硬板的多,柔性电路板还真不知道该从何下手!今天就从初学者的角度出发,带大家全面了解fpc的45条设计规范,赶紧来上课!上完课了,大家还可以自行设计,文末可以免费打样验证,多完美!一、线路设计1、大面积铜面氧化问题:由于设计中采用了大面积铜面,压覆膜时难以排除空气,高温高压下空气中的湿气与铜面发生氧化反应,导致外观不良。尽管不影响功能,但为了避免这种问题,建议将铜面设计成网格状,或在大面积铜面上增加阻焊开窗。2、避免设计独立焊盘:如图所示,线路焊盘设计为独立,两面重叠,由于FPC中间基材仅25um,焊盘容易脱落。建议增加覆铜,并在焊盘四角增加连接线,与覆铜相连。同时,上下两面焊盘需要错开以增加结合力。3、焊盘脱落问题:连接器座子焊盘若设计为独立,很容易脱落,建议采用压PAD设计。4、大面积露铜设计:一般不建议设计大面积露铜区域,以避免皱褶和不平整问题。5、软板阻焊层设计:软板采用覆盖膜作为阻焊层,覆盖膜需要先开窗再贴合,焊盘到线的间距需有0.2mm以上,阻焊桥宽度需大于0.5mm。若焊盘间距不足0.5mm,建议客户开通窗,接受露线制作。6、防撕裂设计:如图所示,排线线路稀疏,拐角处容易撕裂。建议在板边增加防撕裂铜条或在背面增加网格铜。7、线路网格设计:网格线路尽量采用45度角铺设,对信号传输更有利。线宽线距建议为0.2/0.2mm。二、外形及钻孔设计1、通孔与板框线距离:通孔距板框线最小应为0.5mm,小于0.5mm需要改为U形孔。2、过孔与防焊开窗距离:过孔离防焊开窗至少应保持0.2mm以上,以防止孔边露铜。3、FPC柔性板不建议设计盘中孔,FPC是无法做树脂塞孔的,做盘中孔会有漏锡的风险。三、阻焊设计1、连接器座子脱落防护:FPC连接器座子容易脱落,建议采用压PAD设计。2、芯片中间阻焊:芯片中间需要有桥连才能保留中间的阻焊。3、金手指焊盘开窗:金手指焊盘一定要做阻焊开窗,否则无法与连接器导通。4、阻焊层使用:默认使用soldermask作为阻焊层,确保阻焊层正确。5、过孔盖油设计:为防止过孔弯折时孔铜断裂,FPC过孔一般默认做盖油设计。如果需要开窗,需在下单时备注清楚。6、测试点设计:测试点设计为过孔属性导致没转出来,测试点不能设为过孔属性或需单独为测试点增加开窗。7、板边露铜问题:双面板板边有大面积露铜会导致板边发黑,建议在板边增加一圈覆盖膜。四、板边金手指设计1、插拔金手指设计:激光切割时,板边遇高温碳化导致金手指之间出现微短问题。建议将金手指内缩0.2mm(嘉立创会统一内缩,有特殊要求需提出)。2、焊接手指过孔设计:焊接手指板内焊盘上的过孔不要设计成一排,以防应力集中导致断裂。3、焊接金手指覆膜错开:焊接金手指上下覆盖膜要错开至少0.3mm,防止折断。4、焊接手指设计:建议设计为阻焊膜压PAD效果(即将焊盘延长,使覆盖膜压住焊盘0.3mm以上)。5、金手指开窗:开窗建议压焊盘0.3mm以上,防止金手指PAD与连接处断开。6、反向手指设计:嘉立创暂不支持缕空板,反向手指需增加焊盘及过孔来实现换层。7、焊盘设计:FPC使用的阻焊膜无法像绿油一样做阻焊桥,设计IC类焊盘时,焊盘上不能有多余的覆铜,以免焊盘变大、间距变小,焊接时容易短路。8、独立焊盘设计:金手指焊盘需设计为独立焊盘。若手指焊盘有覆铜和导线,阻焊开通窗后会露铜或露线。9、金手指外形公差:金手指外形公差默认为±0.1mm,若要求±0.05mm,需要在下单时注明。有小伙伴会问,FPC柔性电路板这么软,有没有补强的方式,这样可以起到支撑元器件的作用,也方便组装。嘉立创之前只有0.1mm和0.2mm的厚度采用热压,但从即日起,0.4mm及以上厚度的FR4补强全部升级为热压贴合工艺。1.热压和冷压有什么区别?补强贴合有两种方式,一种是采用3M胶带直接粘合,称为冷压,另一种是采用AD胶(热固胶)贴合,经过高温高压使补强与FPC紧密结合。2.为什么厚FR4补强升级为热压工艺,薄FR4不用热压吗?答:0.1mm及0.2mm因厚度较薄,可采用普通快压机热压,因此嘉立创FPC上线时就是采用的热压;0.4mm及以上厚度的FR4,因与板面高低差较大,如采用普通快压机会把压机硅胶垫压坏,必须采用真空带气囊的热压机来压。3.普通快压机与真空热压机内部结构有什么区别?答:真空压机是多了气囊,压合时先抽掉板内空气,再往气囊内充满带压力的气体,来实现压合。普通快压机是直接通过平整的钢板来实现压合。4.厚FR4升级为热压,设计上需要注意什么?答:焊盘对应的补强板上尽量不要开孔,防止压合时气囊挤压导致焊盘内凹。篇幅有限,今天就讲到这啦!下期继续给大家科普FPC丝印设计、拼版设计、补强设计和板厚说明的设计要点,同学们记得来蹲干货!另外,对于FPC设计工具不熟悉的同学,我们还用嘉立创EDA录制了《FPC软板设计入门教程》,有需要的话可以点击下方视频,收藏下来慢慢学习~#嘉立创PCB# #FPC柔性电路板设计#
芯片之家
3 11 嘉立创FPC
为什么我的433MHz遥控距离只有5米,天线、电源应该怎么优化?
一块合格的433 MHz 发射 PCB,其实就是50 Ω天线+干净电源+完整地面的组合艺术。按照本篇指南,大概率可一次过CE / FCC认证。本文来自蜂鸟无线,感谢蜂鸟无线提供的调试指导。#嘉立创PCB#
芯片之家
4 13 嘉立创PCB
【仿真+实测】一篇文章搞定RC延迟电路 1.延迟开启 2.快速泄放 3.精确泄放
RC延迟电路在许多芯片的应用手册中都要求了对上电时序进行控制,在这种场合下我们会经常看到RC延迟,今天我们通过multisim 14.0 对RC延迟计算电路的理论计算进行仿真验证。Multisim软件版本附上multisim 14.0 网盘链接,内附PJ方法https://pan.baidu.com/s/15NvcyeKIgk-COlvoDIfz0A 提取码: dsmf RC延迟上电计算公式充电公式:T=RCln((U-Uc)/U)放电公式:T= - R C ln(Uc/U)U为上电电压(电源电压);Uc为电容充到T时刻的电压;T为充电时间。充电↓当t= RC时,电容电压Uc=0.63*电源电压U;当t= 2RC时,电容电压Uc=0.86*电源电压U;当t= 3RC时,电容电压Uc=0.95*电源电压U;当t= 4RC时,电容电压Uc=0.98*电源电压U;当t= 5RC时,电容电压Uc=0.99*电源电压U。放电↓当t=RC时,Vt=0.368*电源电压U;当t=2RC时,Vt=0.135424*电源电压U;当t=3RC时,Vt=0.04984*电源电压U;当t=4RC时,Vt=0.01834*电源电压U;当t=5RC时,Vt=0.006749*电源电压U。仿真验证当充电到 0.8倍 VCC时,通过理论计算可知:t = RC*ln(0.2) = 16ms和仿真结果基本相同RC充电的过程讲完了,在电机控制等场合下我们要求三极管等开关器件关断速度要快,但是在应用RC上电延迟电路后,其关断时间也会延长,如下图所示,这是不行的。下电延迟下电延迟会和计算值相差比较大,这是因为当断电时有一部分放电电流通过三极管释放,所以无法通过准确计算预知,我们接着看,如何解决这个问题呢?下面我将介绍一款新的电路解决这个问题。快速泄放的RC延迟电路在电机控制等场合下我们要求三极管等开关器件关断速度要快,但是在应用RC上电延迟电路后,其关断时间也会延长,如下图所示,这是不行的。所以引出我们的快速泄放的RC延迟电路快速泄放的RC延迟电路工作原理相对于之前的电路,引入了D3、D2、Q2、R4。当S1断开,此电路如何实现快速放电的呢?由于D2的存在,C1中的电荷通过D2快速通向Q2的E,此时E级约为11V;S1断开R4的存在使Q2的B为低,则Q2导通,则C1中的电荷通过D2、Q2快速泄放,泄放完毕后Q2、Q1均断开。当S1闭合时,D3导通,此时Q2 B级为12V、E级为11.3V这保证了此时Q2处于未导通状态。电流通过D3和RC延迟电路使得Q1可正常导通。我们来看一下结果(关断的延迟缩短为 1ms )通过验证结果可以看到已经达到了快速泄放的目的。进一步的改进在下图中 增加了稳压管D1,在C1充电到Vz之前,D1不会导通,只有在C1电压超过Vz时,Q1才会导通,这样会减少Q1开关过程中通过放大区的时间,减少不必要的开关损耗。精确泄放的RC延迟电路在某些场合需要精确控制下电时间,这时简单的RC就无法满足。简单的加一个二极管就实现下电时间的精确控制,二极管正向导通,反向截至,所以电容上的电只会通过泄放电阻R2释放。(当开关使用三极管控制时,二极管阻断从三极管的放电回路,只通过R2放电,这就保证了下电的精确延迟!)经验公式:达到下降至0.368Vcc时需要 T= RC = 66ms。图片可以放大看,从仿真结果可以看出,放电和充电的时间与经验公式一致。结束今天介绍了RC延迟电路和与其配合使用的快速泄放、精确泄放电路。原理虽然不难但是在一些芯片上电时序控制、电机控制的场合下还是非常实用的。#嘉立创PCB#
芯片之家
1 3 嘉立创PCB
经典深度分析!ESP8266/ESP32自动下载电路究竟是如何巧妙实现的
背景前一段时间需要自己制作一片ESP32单板,成本和封装考虑,计划选择CH340E作为USB转串口芯片,ESP8266/ESP32的单板一般都有自动下载电路,用户无需按钮即可令单板自动进入下载模式实现固件烧录,然而自动下载电路需要串口芯片支持DTR和RTS,CH340E却只有RTS信号,没有DTR信号,于是研究学习了一下自动下载电路的原理,准备用一些奇淫技巧解决CH340E的自动下载问题。遗憾的是, 目前的中文互联网上,关于ESP8266/ESP32自动下载原理,所有能搜索到的解释大部分都是错误的,差之毫厘,谬以千里,如果随意的假设,自以为是,最终得出的只能是一厢情愿的结论。下载模式ESP8266/ESP32进入下载模式[1]的条件很简单:EN(也称为RST)上升沿时候GPIO0保持为低电平,如下图所示:分析1下载电路如下所示,其结构与RS触发器比较类似,注意EN和IO0信号均连接在三极管集电极,通过控制三极管只能拉低此信号,若三极管截止,则此信号的状态由其他电路决定(一般来说,此类信号会默认接电阻上拉到VCC)逻辑关系如下:DTR = 0; RTS = 0, 此时Q1截止,Q2截止,EN = 1; IO0 = 1 DTR = 0; RTS = 1,此时Q1截止,Q2导通, EN = 1; IO0 = 0 DTR = 1; RTS = 0, 此时Q1导通,Q2截止, EN = 0; IO0 = 1 DTR = 1; RTS = 1, 此时Q1截止,Q2截止, EN = 1; IO0 = 1 真值表:DTRRSTENIO0-0011011010011111 简单总结:当DTR和RTS同时为0或者同时为1时,三极管Q1和Q2均为截止状态,此时EN和IO0的状态由其他电路决定(内部/外部上拉电阻)。当不同时为0或者1时:EN  = RTS IO0 = DTR 注意这种逻辑下 EN和IO0是不可能同时为0的,然而进入下载模式则需要如下的序列:1.  IO = 0; EN = 0 2.  IO = 0; EN 0 -> 1 从逻辑表上看是根本无法正常进入下载模式的,此为疑惑1分析2再来继续分析一下esptool.py[2]里下载相关的代码 # issue reset-to-bootloader:         # RTS = either CH_PD/EN or nRESET (both active low = chip in reset         # DTR = GPIO0 (active low = boot to flasher)         #         # DTR & RTS are active low signals,         # ie True = pin @ 0V, False = pin @ VCC.         if mode != 'no_reset':             self._setDTR(False)  # IO0=HIGH         1)  self._setRTS(True)   # EN=LOW, chip in reset             time.sleep(0.1)         2)  self._setDTR(True)   # IO0=LOW         3)  self._setRTS(False)  # EN=HIGH, chip out of reset             time.sleep(0.05)         4)  self._setDTR(False)  # IO0=HIGH, done 注意True是低电平,False为高电平,另外代码中的setDTR()和setRTS()两条语句之间虽然看上去紧挨着没有延时,然而由于这里是高级语言python,两条语句之间的延时并不能忽略,因此分析的时候必须依次的进行状态分析,以下分为四个阶段依次分析:设置DTR = 1; RTS = 0, 此时Q1导通,Q2截止, EN = 0; IO0 = 1设置DTR = 0; RTS = 0, 此时Q1截止,Q2截止, EN = 1; IO0 = 1设置DTR = 0; RTS = 1, 此时Q1截止,Q2导通, EN = 1; IO0 = 0设置DTR = 1; RTS = 1, 此时Q1截止,Q2截止, EN = 1; IO0 = 1如果按照上面的代码分析来做结论,不论如何系统也是不可能进入下载模式的:EN和IO0首先不可能同时为0,EN由0->1的上升沿IO0也并不为0,再次确认之前的疑惑,那么系统究竟是如何进入下载模式的呢?答案问题的答案实际在另外一部分电路,原理其实非常简单:EN信号连接在一个电容充放电电路上CHIP_PU即EN,代码中2-3阶段之后会延时一段时间,而EN由于电容充电,电平并不会立马变为高电平,而是缓慢上升,以如上参数为例计算,同时参考芯片电气参数特性高电平为0.75VDD,则达到高电平按照如下公式计算:解得t = 14ms,即EN经过14ms上升到电平1,在实际代码中延时了50ms的等待时间,以确保延时后EN处于电平1的状态。另外需要提的是,阶段1需要等待一段时间,让电容放电,保证EN电平下降到电平0,才能保证系统正常复位,在代码中预留了100ms的等待时间,同样可以通过电容放电公式计算出放电到电平0需要的时间,感兴趣的朋友可以自行根据公式计算确认。感谢大家,关于ESP32的学习,希望大家Enjoy!参考资料[1]ESP32下载模式: https://www.esp32.com/viewtopic.php?t=5731[2]关于esptool下载逻辑: https://github.com/espressif/esptool/issues/136本文经作者muselab授权原创发表,感兴趣的小伙伴可以关注博客muselab 与 bilibili账号:主音-x#嘉立创PCB#
芯片之家
0 10 嘉立创PCB
100W快充+USB3.0(3A+1C)高速传输 PD HUB,欢迎大家复刻!
一款为开发者量身定做的 USB HUB,100W快充+USB3.0高速传输 PDHUIB,3个Type-C口,1个Type-A口,复刻成本约50元 #嘉立创PCB# #开源复刻# [100W快充+USB3.0(3A+1C)高速传输 ][https://oshwhub.com/karaxiaoyu/ch634x-pd-r0-1v1_20250808]
芯片之家
4 10 嘉立创PCB
无MCU,灰常简单实用的按键电平保持电路,晓宇姐姐手把手带你精准分析电流走向~
这几天在网络上看到一个非常不错的电路,来自红雅杰科技,晓宇姐姐这里通过电流走向,详细跟大家分析一下这个电路的精髓。如果现在给大家出一个题目,要求用最低成本,稳定可靠的实现一个按键开关电路,也就是按一下按键,IO口输出1,再按一下,IO口输出0,并且电平要保持状态。看到这里,大家估计要笑我了,这不是很简单的嘛,随便用个几毛钱的单片机,两个IO口就搞定了,但是如果要求纯硬件呢,只用三极管跟阻容,大家怎么设计?不藏着掖着了,就是下图:本电路实现了,KEY1按一下,OUTPUT输出1,再按一下,OUTPUT输出0,并且电平保持不变,如此循环。原理分析1、我们以输入5V电压为例分析,刚开始,KEY1断开,5V电压通过R7给C1充电,经过R5到GND,此时,通过R7跟R6的分压,C1电压为左正右负,电压大概为1.19V左右,Q1,Q2都不导通,整个电路电流消耗极小,基本可以忽略。2、重点来了,当按键按下的时候,C1通过按键与R4形成回路,加在R4与C2上的电压大概为1.19V,此时NPN三极管Q1达到开启条件,这里C2的作用是短暂存储电压,使开启更加稳定,到这一步,Q1开启。3、Q1开启后,如下图,PNP三极管Q2也会同步开启,Q2开启后,OUTPUT端输出一个略小于5V的电压,可用于驱动负载,那么Q1如何一直开启呢?我们看另一条回路,Q2导通后,输出电压通过R2,R4,R5到GND,此时,Q1的基极有足够的电压保持开启,整个电路也进入一个稳定的状态。按键输出高电平分析完毕。4、Q1开启后,如下图,PNP三极管Q2也会同步开启,Q2开启后,OUTPUT端输出一个略小于5V的电压,此时,A点电压经过Q2跟Q1,电压差不多略大于4V,这样,就使得C1的电压发生了反转,C1出现了左负右正,当按键按下的时候,C1通过R4,KEY1放电,R4电压为上负下正,Q1关闭,Q2关闭,OUTPUT没有了输出电压,大家可以在OUTPUT下拉一个电阻,这样就可以保持低电平了。本电路的巧妙之处就是利用C1的极性反转,实现了Q1的开启跟截止,大家还有什么好的建议以及电路,可以留言大家一起交流!最后,关于电路的学习,希望大家,enjoy!#嘉立创PCB#
芯片之家
2 5 嘉立创PCB
6层PCB设计翻车救星!堆叠布局+信号分析全攻略,速收藏
小伙伴们最多设计过几层板?常规的产品还是单面板双面板居多,涉及到体积小,带外置DDR,FLASH等或者Linux板卡的会到4层板,6层板,8层板甚至更高。这其中,6层板因其适中的层数、较高的设计灵活性和成本效益,成为许多中高端应用的首选。然而,6层PCB的堆叠布局设计直接影响信号完整性、电磁兼容性(EMC)和整体性能。今天我们一起探讨6层PCB的堆叠布局技巧及信号分析方法,助力咱们工程师进行优化设计。常见的6层PCB堆叠方案方案1有些同学在PCB面积小,需要大量布线,成本还有要求的场合下,就需要4层作为走线,但这种堆叠方式可能是最糟糕的配置,信号层没有任何屏蔽,上下两个信号层不与平面相邻,一般不建议这种堆叠方式。稍微改变一下,将中间的电源平面与信号层交换一下,就可以得到一个好一点的堆叠方式。方案2这种平面结构为高频信号的内部信号布线层提供了更好的屏蔽。同样适合走线密度比较高的场合,通过使用更厚的介电材料增加两个内部信号层之间的距离,可以更好地增强这种堆叠效果。这种结构的缺点是电源层和接地层的分离会降低它们的平面电容。这需要在设计中添加更多去耦措施。这种堆叠方式适用于走线密度较高的设计,如多功能模块或紧凑型消费电子产品。为了使PCB获得最佳的信号完整性,我们将其中一层信号层改为接地层,信号层减少到3层:方案3这种堆叠结构将每个信号层紧邻接地层,以获得最佳的返回路径特性。此外,电源层和接地层相邻会产生平面电容,提供低阻抗的回流路径。但缺点是,布线时会损失一个信号层,在布线够用的情况下,还是优先选择这种。这种堆叠方式适用于高速数字电路或混合信号设计,提供良好的信号完整性和EMC性能,电源层与GND层配对紧密,适合中高频应用,一般也是这种用的比较多,核心设计原则:1、信号层与参考平面的紧邻性高速信号的回流电流会选择阻抗最低的路径。如果信号层与参考平面不邻近,回流路径可能变长,导致信号失真或辐射增强。信号层应始终紧邻一个完整的电源或接地平面(GND),以提供低阻抗的回流路径,减少信号串扰和电磁干扰(EMI)。上面方案3就是每个信号层都有一个邻近的参考平面,较好的优化信号完整性。2、电源与地平面的配对电源平面(Power)与接地平面(GND)应紧密配对,形成一个低阻抗的电容效应,减少电源噪声。将电源层与接地层安排在相邻层(如层4和层5),并尽量减少介质厚度(通常为0.1mm或更薄),以增强层间耦合。需要注意的是,避免在电源层中分割过多区域,以免破坏回流路径的连续性。如果必须分割,确保信号走线不跨越分割区域。3、控制层间耦合与串扰相邻信号层之间的距离应足够大,以减少层间串扰。在信号层之间插入GND或电源层作为隔离层。例如,上述堆叠结构中,层3(信号)和层6(信号)被GND和电源层有效隔离,降低串扰风险。对于高速信号(如DDR、PCIe),建议在同一信号层内走线,避免频繁换层,减少过孔(Via)带来的阻抗不连续。4、优化过孔设计尽量减少过孔数量,尤其是高速信号的过孔。不差钱的情况下,使用盲孔或埋孔代替通孔,减少信号路径中的寄生电感和电容。确保过孔周围有足够的GND过孔,形成完整的回流路径。对于差分信号,保持过孔对称性,避免差分对不平衡。实际项目中,根据需求权衡布线密度与信号完整性。高速设计优先选择方案3,低速但布线密集的设计可考虑方案2,方案1就不考虑。信号分析与优化技巧信号完整性(SI)和电磁兼容性(EMC)是6层PCB设计的关键考量点。1、高速信号的阻抗控制目标:确保信号走线的特性阻抗(通常为50Ω单端或100Ω差分)匹配目标值。方法:使用堆叠计算工具(如Polar SI9000)精确计算走线宽度和层间介质厚度保持走线宽度均匀,避免拐角处使用锐角(建议45°或圆弧),对于差分信号,保持走线长度一致,间距均匀,减少共模噪声。2、回流路径优化问题:不连续的回流路径会导致信号失真和EMI问题。解决:确保高速信号走线紧邻参考平面,避免跨越电源分割区域。在信号换层时,附近添加GND过孔,确保回流路径连续。使用仿真工具(如HyperLynx或ADS)分析回流路径的完整性。3、电源完整性(PI)分析目标:降低电源配送网络(PDN)的阻抗,减少电源噪声。方法:在电源层与GND层间添加高频去耦电容(如0.1μF、1μF),靠近IC电源引脚放置。使用PI仿真工具(如Ansys SIwave)分析PDN的频率响应,确保低阻抗覆盖目标频率范围。4、电磁兼容性(EMC)优化问题:不当的堆叠或布线可能导致EMI超标。解决:将高速信号走线尽量布置在内层信号层(如层3),利用外层GND屏蔽辐射。在PCB边缘添加GND过孔(间距小于λ/20,λ为最高信号频率的波长),形成电磁屏蔽。对敏感模拟信号与数字信号分区布局,避免交叉干扰。设计总结6层PCB的堆叠布局设计是一项综合性工程,需兼顾信号完整性、电源完整性、电磁兼容性和制造成本。通过合理的层分配、参考平面设计和信号分析,工程师可以显著提升电路性能,以下是核心要点:信号层紧邻参考平面,减少回流路径阻抗。电源与GND层配对,优化PDN性能。使用仿真工具进行SI、PI和EMC分析,确保设计可靠性。避免常见误区,如假八层结构或不当分割。PCB制造做过几次6层和8层板之后,确实对高多层PCB的制造工艺要求有了更深体会。叠层偏移、阻抗不稳定、过孔电镀不良这些问题,很多时候真的不是设计搞砸了,而是板厂工艺没跟上。最近几次打样,我选用的是嘉立创的高多层服务,原因很简单:他们的在线叠层自定义功能用起来挺顺手,像差分阻抗、控制时序这些细节,还有6层板的免费盘中孔工艺,用起来也是超爽,Gerber文件上传后系统会自动检查,阻抗计算也挺符合仿真结果,基本不用反复确认,节省了不少时间。另外一个让我比较满意的是过孔背钻服务,过去我还专门找过小厂做过背钻,但良率和交期总是不放心。这次嘉立创的背钻板,几块样品测完,反射波都控制在可接受范围,而且交期比我预期还快了一天。当然,我也不是说这家厂没有缺点,但至少从这几次体验来看,他们在高多层板这个细分领域,工艺水平和交付速度,确实能给工程师节省不少“踩坑”的时间。有机会的话,不妨试着用一次,尤其是6层以上复杂板子,体验一下高多层板打样的流程,可能会比你预想的轻松。#嘉立创PCB#
芯片之家
2 7 嘉立创PCB