这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 原理图设计之血泪史

共50条 1/5 1 2 3 4 5 ›| 跳转至

原理图设计之血泪史

高工
2013-01-09 22:23:26     打赏

最近开始尝试着自己去画一个电路图,不画不知道,一画全是泪啊,现就绘制过程中的感想简要记录如下:

首先是MCU的选型,充分考虑产品需求,合理分配管脚功能。(此过程比较反复,其中需要考虑的比较重要的一点就是芯片的价位)

芯片选型完毕后就要考虑最小系统的设计了,看似简单的东西却蕴含着比较丰富的知识:

首先是电压的种类,数字地模拟地,以及二者之间的有效隔离,一般用磁珠来做衔接,最小系统每个管教的作用以及接口设计;

VBAT:锂电池电源,主要用于为芯片内的实时时钟供电,防止掉电系统内的数据丢失以及维持时钟运行;


晶振的选型以及其匹配电容的大小,此点也很重要,防止二者不匹配造成系统无法起震,其中又一次实验就是程序可以正常烧录至微控制器,就是无法运行到主函数,一运行就挂掉了,最后查的是晶振未起振,更换之后一切正常;

NRST:复位电路的设计已相当的重要,很多时候系统不稳定就是因为复位电路这一块的问题,因为芯片内部的看门狗时钟精度不高,在要求精度较高的应用场合下,需要外加另外的看门狗电路,我此次应用的是SP706;由于要求不高以后改为MAX809了,因为其电路相当的简单,只有仨管脚,而且无需外围电路。


WKUP:用于低功耗睡眠模式待机时芯片唤醒,WKUP引脚唤醒后程序从待机暂停的地方继续执行,没有芯片复。NRST引脚唤醒后程序从RESET向量开始执行,相当于一次复位。


BOOTX:为系统的启动运行模式选择管脚,通过二者的合理配置,以达到预期效果:

BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。

BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。

BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。


JTAG:此部分之前讨论过,在此不作赘述,一般我选择JTAG管脚全部上拉。


按键电路的消抖,一般芯片内部自带去抖电路,可以直接接开关接地;


数码管显示电路:考虑cpu驱动能力,在大屏显示或是多位LED显示时一定要加驱动芯片,此次选择74HC245的宽电压,大驱动电流的8路信号收发器,可用于芯片间的电平匹配,输入3.3V输出5V。


运算放大器:此部分是最复杂的,也是硬件工程师必须掌握的,我目前勉强可以分析一点,还达不到应用设计的高境界,在此不再多说,强调两点呗:充分利用虚短、虚断。还有参考电压的选择。我在此选择的是LM358。


接到cpu的控制电路要多加注意,首先是cpu驱动能力的问题,再就是对cpu输入管脚的保护,很多时候使用双三极管实现的。


补充问题:芯片间的电平匹配问题,否则易导致通信不稳定,有杂波,更甚者导致无法识别高低电平的变化,通信直接崩溃。


STM32的管脚承受电流能力为正负25MA,模拟脚为5MA。


给大家推荐一个比较好用的电压变换芯片吧,MC34063八个字总结一下它吧:可升可降,可正可负。

先说这么多吧,总之设计电路是一门非常复杂的工程,考参考各种元器件的参考手册,以及其经典的应用电路。


留一个问题给大家吧:什么是电压型器件和电流型器件以及其应用注意事项??????????


补充内容:

电流控制型器件如:普通的NPN、PNP型三极管,SCR,因为它的内阻较小,加电压控制时电流相对较大(一般小功率的都有100uA以上,大功率的可达20mA以上),加入一个基极驱动电流,就可以实现放大作用.


而电压型控制器件的如:场效应管,JEFT,MOSFET,IGBT,加电压控制时电流很小,近似为零,要通过控制栅级与源级间电压来实现控制作用,这就属于电压控制型.


一般而言,元件输入电阻很大或是近于绝缘的为电压控制型,其他的为电流控制控制.由电流控制的器件。用小电流控制大的负载电器。


今有对电路进行了修改,有一点值得提一下,关于电压源滤波电容这块,之前看别人的电路图,都是变压出来之后接一堆滤波稳压电源,以为就是直接接在稳压芯片之后用的,今差了些资料才知并非如此啊,一般的大牛们为了绘图方便,将一些电容直接罗列在稳压芯片后面,其实那是电路中所有的芯片需要的滤波电容啊,你都堆那作用也不大不是,其实正常来讲,每一个芯片的电源管脚附件都需要紧接滤波、稳压电容,在进行PCB布线的时候要多加注意哦,尤其是cpu芯片的每一个电源端都要接一大一小的电容,你会发现它的电源分布一般都是很均匀的哦。


先到这吧,以后想到别的了再补充,欢迎大家多多分享这方面的经验啊!!!


{补充说明:(1)只需要保证在复位时,BOOT0/BOOT1处于正确的启动状态即可,启动之后则随便什么电平都可以了。

   一般BOOT0 和BOOT1 跳线都跳到0(GND)。只是在ISP下载的情况下,BOOT0=1,BOOT1=0 ,下载完成后,把BOOT0 的跳线接回0,也即BOOT0=0,BOOT1=0 。

   对于一般的应用来说,直接把BOOT0 和BOOT1 引脚接地即可,不用设置跳线,使用IAR 调试程序时可以选择RAM 调试还是Flash 调试,与BOOT0 和BOOT1 的配置无关。芯片只在启动的第四个周期对BOOT1进行采样,采样完毕后,该引脚就被释放,用户可以像初始化其他IO口一样,把该引脚用作任一功能。2013 3 8}


 




关键词: STM32     最小系统设计    

院士
2013-01-09 23:26:38     打赏
2楼
这个工作量确实很大,做成功不容易。佩服。

高工
2013-01-09 23:43:28     打赏
3楼
过程是艰苦的,获得的经验是无价的

菜鸟
2013-01-10 00:35:44     打赏
4楼
顶一个  lz

专家
2013-01-10 09:15:48     打赏
5楼

学习是一个循序渐进的过程,呵呵,从根本上来说,如果器件内部电路是由三极管搭建就应该为电流型器件,如果采用MOS管搭建就应该是电压型器件。


院士
2013-01-10 09:27:43     打赏
6楼

设成精华~~~


高工
2013-01-10 10:45:24     打赏
7楼
加精啊!等在补充补充呗,我这头还没齐活,还有些想说的,嘿嘿

高工
2013-01-10 10:46:48     打赏
8楼
成功还远着呢,一步步改呗。。。

高工
2013-01-10 10:48:08     打赏
9楼
是啊,大牛们多分享下经验之类的呗,也让我这些菜鸟们少走些玩道道,哈哈哈哈

高工
2013-01-10 10:48:28     打赏
10楼
3Q...

共50条 1/5 1 2 3 4 5 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]