不好意思,第二课没有写完,又开一课--老树当过老师,有毁人不倦的习惯,再者,这个问题想了很久了,也基本想通了。
在网络上很多初学者在问:怎样成为一个合格的电子工程师?
这个问题有很多答案。老树谈谈自己的看法。
第一步 入门-51核心和基本电路
中国人有10亿啊,每年有多少大学生毕业呢?我不知道。但是我看到有一张照片,招聘会上熙熙攘攘,人来人往,十分震撼。从来没有一个时刻让我感觉到中国的人力资源是如此的丰富。但是,从现在的大学毕业出来的学生学到了什么东西呢?一些理论,跟实际脱钩的理论。有没有用呢?有点用。但是,在企业中,需要的是实际干点事情出来,实际解决问题。所以说,很多企业不想要大学本科出来的大学生,说动手,没有动手能力,不知道电阻电容长得什么样子,能够做什么?但是又自视甚高,对工资的期望值比较高。等到能够干点事情了,又拍拍屁股跑了。所以企业现在喜欢使用大专中专甚至是职业学校培训出来的小孩,至少这些孩子们知道自己的份量,能够实实在在地做事。要知道,他们很多人的天赋并不差,有些人甚至可以说聪明,只是因为很多人是家庭条件不好,打小就是苦孩子,没有条件接受良好的教育。一旦给机会,他们都比较珍惜。
现在的大学,误人子弟甚多。扩招是没有错,但是,实验室扩了吗?教室扩了吗?教师扩了吗?至少实验室是没有扩。老树认得的一个研究生说,只有到了一个阶段,才能到实验室作实验。很多导师就是把学生当奴隶一样干活,要是在干活中能够学到东西那就算是运气好的;运气不好的,直接就是导师的廉价的劳力了,学不到东西,活倒干了不少。
但是,既然学生要拿文凭,要应付考试,没有办法,那怎么自救?
如果励志要做一名出色的电子工程师,老树可以谈谈自己的看法。
做一个电子工程师,先从51学起,这是得到公认的。不需老树饶舌。
首先,去买一个开发板,越便宜的越好,在上面可以练练keil C。最好再买一个仿真器,这样调试的效率高。当然这个不便宜,但是我觉得可以志同道合的哥几个合买。反正1天24小时,每人8个小时轮流上,有个几个月,C51语言也就差不多了。
其次,看看老树的文章,看看需要学点什么基本的东西。北京的大学生有福啊,没事到中发去转转,认认老树的文章上说得哪些电阻、电容、三极管、芯片、接插件什么的,看看自己的电脑上的主板、网卡、声卡、显卡是怎么画的,找找感觉,这些板卡都是高手的杰作啊。
构思一个小的产品,按照老树文章上的思考题,找本protel99se的书,从每个菜单练起,循序渐进,从单片机最小系统->输入->LED->RS232/RS422/RS485->固态继电器、继电器等原理图画起,边画边学,一点一点做,做好了,最好找个高手看看,找出毛病在哪里,再反复改进。在这样的模拟实战中找到感觉。
推荐老虎工作室的protel 99系列4本,写的还是循序渐进的,当然不便宜;咬咬牙,可以合买一套,轮着看。
顺便说一句我对市场上的开发板的看法,这些开发板当然都不错,但是,只能学到语言,不能教你画原理图和PCB,实际做的时候,还是需要高手带一带是最快的。我就是一个朋友教我的,也就半天的功夫,就会了。当时还是DOS下的protel 3.16版本。
以战养战。找个公司、企业,帮他们做个小产品,既能得到公司的高手的指点,又能赚到一笔费用,岂不甚佳?这时,你的开发板、仿真器的费用就出来了。从原理图->PCB->C51,单片机也入门了。
第二步:登堂入室-掌握系统的电路知识
这时,需要对电子技术的所有东东进行全面的了解,主要是看看杂志、BBS、网站上的技术文章、何立民先生主持编著的《单片机应用技术大全》系列,将单片机和它的配套的电路,输入输出、通讯等等做一个全面的了解。目标是为什么?系统的技术储备。知道什么问题可以使用什么方法解决,可能在什么地方找到解决的方法,这对你以后走上工作岗位,解决实际问题是非常有好处的。如果你真能这么做,那么,你今后肯定比单位中的老同志还要棒。
老树在国营研究所的时候,曾经有一段时间无所事事,就是在那一两年的时间内将研究所的技术杂志看了一遍,尤其是《电子技术应用》。打下了一个良好的基础。
这时,争取机会,学习高手们的硬件设计。一个比较快的办法就是到工控机的厂家那里,看看工控机的板卡和调理板是怎样设计的,都使用了哪些东西。记得老树第一次看到国外的一个器件,到处去问,也不知道是什么东东。后来在四通工控那里看到了,原来是固态继电器。这时,脑子里关于固态继电器的知识都冒出来了。再一看,配套市场大把的。
什么东西就是这样,你要是不知道它是干什么的,你天天看见,也熟视无睹。
有心人就是这样,在什么样的情况下,都能慢慢积蓄知识和力量。毕竟一个产品,不是只会单片机就可以了,还是需要很多的外围电路,按照何老师的分类,前向、后向、人机、互相通道等,才能做成一件产品的。
这个时候,抓住任何机会,去参与一个大型产品开发,在其中做一件事情,你可以学到沟通、协作、界面等产品开发的一些要素。
第三步:勤奋至卓越
中国人多啊,每个人都是智商100,谁比谁傻啊。凭什么你比别人强?你能有好的工作、好的收入,你能香车宝马,醇酒美人?老树认为,没有别的办法,就是靠勤奋。
勤奋学习-这个道理大家知道,知识就是金钱啊;
勤奋工作-想比别人多赚钱,在智商相同的情况下,就是靠多付出时间干活,再提高工作效率。别人5×8小时工作,你是7×16小时,再提高工作效率一倍,你不久赚了比别人多5倍的钱吗?老树公司有2个员工,原来在老家种苹果,没有赚到钱,到老树的公司中干活,计件,活忙的时候,早晨8:00起来,晚上12:00收工,年底也赚了一笔钱回家,高高兴兴,老树也开心,原来一屋子人干的活,现在2个人干了,公司管理省事了,员工也赚到了钱。
开发也是一样。当然,这个需要你的公司有这个机制,多劳多得的机制。但是,要是现在没有,你要不要这样干呢?
我认为,需要。一方面,干别人的活,练自己的技术,长自己的本事。另一方面,多干活,才能快速增长本事,技术才能跃变、突破,登堂入室,再得心应手、出神入化。至少,熟练工种是没有问题的吧。
就象一壶水,老是小火,烧了半天,也是温吞水;可是大火一上,一会就开了,就是这个意思。
你看《射雕英雄转》中的郭靖,没有别的本事,就是傻练,有一天开窍了,如有神助。技术这个东西就是这样,突破了门槛,就是坦途。需要勤奋勤奋再勤奋。有一天这个日子来了,你就苦尽甘来了。
勤奋还有另外一个含意,就是天道酬勤。其实是每个人看见勤奋的人,都会给他机会的,觉得帮助这样的人,高兴;把事情放在他的手里,也放心。
还有一个含意是触类旁通。知识需要很多的参照物,去比较、联想、萃取、升华。换句话,你可能付出的是其他人的n倍的努力,可是你得到的是n倍以上的回报,你的知识已经不是简单的累加了,已经质变了。
如果你在这个单位,勤奋了,也出成果了,就是没有得到公平的待遇,也没有关系。换一个环境就是了,总有人会欣赏你的。再说了,付出总有回报。
有些人习惯怨天尤人,没有好的老爸老妈,没有好的老师,没有好的同伴,没有好的环境,没有好的老板。这些人需要去看看周立功的文章,看看周老师怎样一步步成长的。
第四步:沟通、协作
原来还有,现在越来越少,做一个小的产品,就可以生活无忧。
第五步:对某个行业深入理解
每个人生存在这个世界上,大都需要有一门独到的技术;更何况你是这个论坛的读
者;
有的人天生千娇百媚,有的人天生金嗓子,有的人有个好的老爸老妈;这些都不足
为恃,更何况没有这些天赋呢?
当你掌握了单片机、ARM、CPLD/FPGA等高端的技术,应该说,养身立命是没有问题
了,可以解决人生的基本问题了;但是,还想更上一步,就需要对某个行业进入深
入的理解和挖掘。
我认识的*技术过上宝马豪宅生活的工程师,并不是在技术上一开始就有什么过人
之处,也不是说他的产品一开始就会比别人好很多,而是都是特别有韧性的人,都
在捕捉某个行业的机会,在某个行业内精耕细作,坚持不懈,别人都干其它的去了
,只有他还在这个行业中慢慢来,过上5年或者更多的时间,慢慢得到业内人士的
认可,产品不断改进,慢慢打开了销路,最后站住脚,机会来了,一下发达了。我
的一个朋友,就是这样修炼成了正果。
有个笑话,说:刚刚离开的行业,发展最快。说得就是这个道理。
中国大啊,市场大啊,只要认真耕耘,就会有收获。
所以,在目前的中国,技术人员还是有机会的,再过10年,可能就一点机会都没有
了。
需要去从事多个行业吗?就个体而言,不需要。那个行业都有金子。
就公司而言,需要吗?那要看你的公司有没有这方面的人才;还需要看有没有这个
方面的机制。否则,盲目的进行多个行业的扩展,没有必要。需要做的是至少在某
个行业做到前三名。
你看,原来的LOTUS的notes,卖给了IBM,原来只卖出去300万份,到了IBM,就卖
到了1000万份(大概吧)。产品就是这样,占领市场的同时,利润就有了,规模效
益就有了。一个公司的产品不需要太多,但是要卖的多,才是正路。想想看,同样
是产值100万,一个产品和10个产品的差别那就大了,研发、服务、维修,差的多
呢。
象吉列,就是那么个小刀片,作成这么大的企业,多么舒服。
象GE,每个行业都是业内的翘楚,那是资本主义社会200年的技术积累。在中国,
需要做的是每一个小的公司都是某个产品最突出的。从小的产品做起,做到国内最
好、亚洲最好、世界最好。就行了。中国就强大了。
到那个时候,才有可能出现象GE这样的大公司。才有形成这样的大公司的技术基础
4.1 单片机的通讯接口
51单片机有一个全双工的TTL电平的串口;华邦的77E58有2个全双工的串口;
在单片机技术中,串口是比较好玩的技术。
串行通讯,是采用异步方式进行的,需要有起始位、数据位、校验位和停止位。这种发送和接收的机制,是由单片机中的硬件来形成的,或者串行接口扩展芯片的硬件来完成的;使用者只要按照要求设置好参数,将数据送到相应的寄存器,启动发送程序,就可以完成发送;对于接收,可以实时查询有关标志位,也可以使用串行中断的方法,当有数据来得时候,将收据从接收寄存器中,将数据送到累加器,再做下一步的处理。
愚将在某课中提供一个完整的汇编语言的框架和一些小的程序,框架包括:
1)主程序,对看门狗进行操作;
2)定时器中断服务子程序;
3)外部中断服务子程序;
4)串行中断服务子程序
5)发数据子程序
初学者可以在这个框架的基础上,编制自己的应用程序。
4.2 RS232标准和接口芯片
单片机的串口是TTL电平,在实际应用时,需要将TTL电平转换成RS232电平。
RS232的接口芯片很多,最著名的当然是maxim公司的max232;跟这个芯片完全兼容的芯片很多,象LINEAR公司的LT1081、LT1181,HARRIS的ICL232等,都是十分著名且常用的芯片,LINEAR的串行接口转换芯片在早期的电路设计中经常可以见到,但是近来好像比较少见了。ICL232似乎比MAX232便宜。
看MAX232的原理框图,需要注意到2点:
1)需要外接电容0.1u电容,或者1u的胆电解电容或电解电容,有一款232芯片不需要外接电容,但是因为在芯片中做一个达到电容效果的电路是比较难,所以也比较贵;所以一般都选用外接电容的;之所以需要电容,是因为RS232电平是工作在大约-9V~+9V之间,需要电容将5V电压转换成Rs232电平所需要的+10V和-10V;电路上叫电荷泵,很形象;
2)Rs232的逻辑和TTL是正好相反的。在框图上,输入和输出之间的逻辑是反的;对于TTL电平,当没有232信号发出时,是高电平;对于RS232来说,这时,TX端是-8~9V电压,相对于0V来说;如果有了信号,那就是从+9V~-9V交错变化的一系列信号,使用示波器可以看到信号的变化。
利用以上的特点,我们可以测试RS232接口电路的好坏。
1)判断芯片是否正常,参见MAX232的框图,使用万用表测量2和6脚,只要2脚的电压在+8V~+9V之间、6脚在-8V~-9V之间,就基本上可以断定这个芯片是好的;
2)在Rs232没有发信号时,看TX端电压为Rs232的高电平,也就是-8V~-9V之间,当发信号时,数据在变化,这说明这个Rs232的端口是好的;这个方法也适用于测量本地的串口。
早起的RS232接口芯片是MC1488(发送)、MC1489。MC1489因为只有接收,所以是单5V电源工作;MC1488则需要正负12V电源;但是在工控机的板卡中,正负电源不是问题,所以在moxa C168等多串口卡中,仍然使用MC1488、MC1489,价格便宜成本低啊。
这种芯片,motorola的居多。
RS232的驱动能力是比较强的,至少在10几米以上,比较胆子大的,用在20~30米甚至更远;这时,最好使用屏蔽线效果会更好一些。
待续……
4.3 RS422/485和接口芯片
4.4 TTL、非平衡信号、平衡信号、LVDS
4.5 modem/基带modem/专线modem
4.6 串口调试工具
5.2 任务分析
5.2 任务分析
5.2.1 初步判断采用何种单片机完成此项任务
此处的图在文章的底部!
1)干接点
就是类似于机械接点,最简单的就是按键,一般来说是输入、输出的继电器的接点信号;无源;
2)平衡信号:
类似RS422、RS485信号,是信号之间相互比较,来判断是数字信号的1还是0;不容易收到干扰,传输距离远;但是,最好使用双绞线来传输;
3)非平衡信号:
单端接地的信号,如:TTL电平、RS232等都是,特点是有一个公共的参考电压,容易受到干扰,传输距离近;
可以通过网络来查询准确的解释。
4)线性电路
类似于音频放大电路就是,特点是:
要求输入和输出形成了一个线性对应的关系;
5)非线性电路
比如:无线电电路中的混频器,将2个频率合在一起,生成第三个频率,就是非线性电路。
好像还没有听说线性信号和非线性信号。只有模拟量和数字量信号;
6)模拟量和数字量
模拟量是连续变化的信号,如:0~5V,4~20mA等;
数字量是只有0、1两种情况。
5.251单片机系统的构思过程
1.选用何种单片机
在我们的这个课程中,当然是选用51系列的CPU了;
实际上,可以选用的CPU的种类很多,从处理能力来说:
1)4位单片机
2)8位单片机
3)16位单片机
4)32位ARM
就8位单片机,有专用的、通用的;也有高速的,还有的单片机具有A/D、D/A等各种资源;
需要根据你的任务,选用合适的单片机完成任务。
对初学者而言,我们考虑的仅仅是如何使用51系列的单片机,如:89C51/52/54/58、78E52/54/58、77E58(双串口)来完成设计任务。
2.初步设计-写出任务书
1)按照表格,对任务进行分析,判断单片机的资源是否够,如:运算速度,是否需要扩展、是否需要串口、是否需要实时时钟等;选用什么调理电路,等等;
2)在确认单片机能够胜任工作后,对单片机的资源进行规划:
1.内存分配
2.I/O口分配
3.定时器分配工作
4.外部中断分配
3)单片机外围电路确认-开关量输入和输出调理电路(模拟量电路暂时不考虑)
4)在以上分析的基础上,设计单片机硬件框图
5)形成任务书初稿
6)讨论-修改-通过
3.详细设计
1)原理图
2)有3.3V和5V的混合逻辑设计吗?
3)PCB尺寸、定位孔和安装方式
1.是正方形、长方形、圆形、三角还是其它的特殊形状?
2.是ISA总线吗?
3.是PCI总线吗?
4.是欧标的板卡吗?
4)电源(AC220V/DC5V/DC12V,是否需要隔离)
5)接插件封装:
1.采用直插、弯针?
2.3.81间距、5.08还是2.54间距(对应于:150mil/200mil/100mil)
3.采用DB9/DB25/DB37/DB62?直的还是弯的?孔的还是针的
4.有边缘器件吗?
6)基本布局
是否合理?考虑到散热了吗?考虑到机箱内是否有打架的地方?
7)器件选型
尽量选用著名品牌中的价格便宜的兼容器件;
8)器件的冗余度
需要考虑到功耗、耐压值和接口器件的可靠性;
例如:
1.功耗,需要计算电阻、变压器的功耗,适当留有50%以上的余量;
2.电解电容的耐压值等:留有100%以上的余量,如:在DC5V电压下,选用耐压值25V的电容;
3.接口器件:对于接口器件,尽量使用DIP封装的,便于更换;
9)成本分析(包括制版费、器件费和焊接、调试费用),作出预算,尽量降低成本,选用功能满足价格便宜的器件,不同厂家之间的同样的芯片价格相差比较远
10)电路板与机箱之间的安装关系
11)形成详细设计初稿
12)讨论-修改-通过
4.在大脑中模拟电路板的外形、几何尺寸和功能
就好像是三维动画一样,电子工程师需要在大脑中,在设计的整个过程中,对电路板的外形、接口、几何尺寸、功能等反复在从各个角度去观察、构思,就好像有一个实际的电路板在脑子里一样,谋定而后动;当然,这不是一蹴而就的。