OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 一个牛人从51初学者到电子工程师

共65条 1/7 1 2 3 4 5 6 ›| 跳转至

一个牛人从51初学者到电子工程师

院士
2014-01-10 10:10:04    评分

将电子产品抽象成一个硬件的模型,大约有以下组成:

1) 输入
2) 处理核心
3) 输出

输入基本上有以下的可能:

1) 键盘
2) 串行接口(RS232/485/can bus/以太网/USB)
3) 开关量(TTL,电流环路,干接点)
4) 模拟量(4~20ma、 0~10ma、0~5V(平衡和非平衡信号))

输出基本上有以下组成:

1) 串行接口(RS232/485/can bus/以太网/USB)
2) 开关量(TTL、电流环路、干接点、功率驱动)
3) 模拟量(4~20ma, 0~10ma,0~5V(平衡和非平衡信号))
4) LED显示:发光管、八字
5) 液晶显示器
6) 蜂鸣器

处理核心主要有:

1) 8位单片机,主要就是51系列
2) 32位arm单片机,主要有atmel和***系列

51系列单片机现在看来,只能做一些简单的应用,说白了,这个芯片也就是做单一的一件事情,做多了,不如使用arm来做;还可以在arm上加一个操作系统,程序既可靠又容易编写。

最近***的arm受到追捧,价格便宜,以太网和USB的接口也有,周立功的开发系统也便宜,作为学习ARM的产品来说,应该是最好的;作为工业级的控制,是不是合适,在网友中有不同的看法和争议。本公司使用atmel ARM91系列开发的1个室外使用的产品,在北京室外使用,没有任何的通风和加热的措施,从去年的5月份到现在,运行情况良好。已经有个成功应用的案例。

但对于初学者来说,应该从51着手,一方面,51还是入门级的芯片,作为初学者练手还是比较好的,可以将以上的概念走一遍;很多特殊的单片机也是在51的核的基础上增加了一些I/O和A/D、D/A;也为今后学习更高一级的单片机和ARM打下基础。再说了,哪个老板会将ARM级别的开发放在连51也没有学过的新手手中?

在51上面去做复杂的并行扩展是没有必要的,比如,扩展I/O口和A/D、D/A等等,可以直接买带有A/D、D/A的单片机;或者直接使用ARM,它的I/O口线口多。可以使用I2C接口的芯片,扩展I/O口和A/D、D/A,以及SPI接口扩展LED显示,例如:MAX7219等芯片。

市面上一些比较古老的书籍中还有一些并行扩展的例子,如:RAM、EPROM、A/D、D/A等,我觉得已经没有必要去看了,知道历史上有这些一回事就行了;

这些知识,是所有产品都具备的要素。所以要学,再具体应用。


院士
2014-01-10 10:11:55    评分
2楼

说一个小的故事:野人献曝。

从前,有一个农民,冬天干了活后,休息晒太阳。好舒服呀。
他想,这么舒服的享受,我要献给国王,让他也能得到享受。
于是他兴冲冲地到了王宫,将他的宝贵经验献给了国王。

我现在就象这个农民,把自己认为很宝贵的经验献给大家。希望大家多提宝贵意见;拍板砖也可以,骂我也无所谓,呵呵,随便。


院士
2014-01-10 10:13:25    评分
3楼

第一课:51单片机最小系统

 

实质内容来了,呵呵~~回复可见

 

——回复可见内容——

 


院士
2014-01-10 10:20:47    评分
4楼

第二课 基本的芯片和分立器件

 

挺多,慢慢看,回复可见:

——回复可见内容——

 


院士
2014-01-10 10:22:33    评分
5楼

 

不好意思,第二课没有写完,又开一课--老树当过老师,有毁人不倦的习惯,再者,这个问题想了很久了,也基本想通了。

在网络上很多初学者在问:怎样成为一个合格的电子工程师?

这个问题有很多答案。老树谈谈自己的看法。

第一步 入门-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.在大脑中模拟电路板的外形、几何尺寸和功能
 

 

就好像是三维动画一样,电子工程师需要在大脑中,在设计的整个过程中,对电路板的外形、接口、几何尺寸、功能等反复在从各个角度去观察、构思,就好像有一个实际的电路板在脑子里一样,谋定而后动;当然,这不是一蹴而就的。


院士
2014-01-10 10:23:35    评分
6楼

助工
2014-01-10 13:41:03    评分
7楼
学习!!!

高工
2014-01-10 19:28:23    评分
8楼
老大谦虚了,听您教诲真是如沐春风啊,有醍醐灌顶之功效。

高工
2014-01-10 19:31:12    评分
9楼
知识点甚是全面啊,题目实至名归!

高工
2014-01-10 23:01:56    评分
10楼
看看

共65条 1/7 1 2 3 4 5 6 ›| 跳转至

回复

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