1. 对硬件无限的热情(第一位,本人认为)
2. 数字电路、模拟电路、protel 等(高频等其他的知识我还没有用过)
3. C 语言
4. 单片机(汇编语言)
5. FPGA(包括verilog/vhdl、sopc)
6. ARM(包括嵌入式操作系统,建议先学UCOS,适合初学者)
7. DSP
以上并非每一种都要精通,根据自己的实际,5、6、7 可以选择其中的一到两种,当然都会的话那更好。2-4 本人认为这是基础,必须精通。
硬件需求配置:
1. 学习单片机的话,仿真器是必不可少的,有没有编程器倒是影响不大,建议自己买一块即插即用的万能板,自己搭建系统来试验。这样不用烙铁焊接了,因为我们作为学习者,很容易焊错器件或者是引脚。买开发板的话,就会对硬件的连接不会很了解,建议初学者自己搭建系统以及其他的外扩器件。这会让你对整体的硬件连接了如指掌。全在自己的掌控之中。还有有一台示波器的话那是再理想不过了,那会帮助我们分析解决问题,特别是在做串口实验、中断、I2CEEPROM 读写的时候。
2. 学习FPGA,那么就不能像学习单片机一样找来一片芯片就可以动手了。像51 类单片机的引脚不是很多,但是FPGA 就不一样了,往往有几十个甚至一百多的引脚,我用的altera 的ep1c20 有144 个引脚,全贴片工艺,所以这个时候我们就必须在市场上买一个开发板了。我用的是altera 公司的EP1C20cyclone 系列的开发板,是我们办公室的人以前买的,现在正好我用。据说是5000 元,还是大学计划时候买的。有条件用好的当然好,但是对于我们一般初学者用的话,只要带有常用功能的开发板就可以了,市场上1000 元左右的还是有的。
3. ARM 学习的话,当然也离不开开发板的购买,上次给我二导提建议给我买一个,他很爽快的答应了,让我挑选一块,我选了周立功的smartarm2200,1980 元RMB,货现在还没有来。学习arm 的话,嵌入式操作系统是少不了的。操作系统有很多,用的最多的是linux ,由之发展而来的有uclinux、armlinux 等;其次是ucos。本人建议先学习ucos,它代码量少,容易学习。要是有altera 的nios 开发板的话,也可以学习ucos,altera 公司的nios ide 支持好几种RTOS,其中就包括ucos,直接用就ok 了。
4. DSP属于比较高的层次,对人的要求比较高。开发板价格应该也不菲,我现在还没有用过。各位同学看了后会发现学习这些东西不光是时间、精力的问题,还涉及到一个让我们同学们很感冒的问题,那就是器件的购买,这些都需要钱,而且价格都不菲。大部分的我们是没有这份闲钱的,同学们可以找几个志同道合的同学一块买,还可以一块讨论。要是学校实验室有的话就在实验室搞,要是导师有就找导师要,总之不要放过任何可能的机会,同志们要深知我们的命运把握在我们自己手中,既然选择了硬件这条路,就要认认真真地走下去,不光要走下去,还要想方设法走的很好。以上都是我的一家之言,同学们千万不要全信,仅给诸君一个初步的认识,如若错误还请一笑了之,纯当小孩之言,无稽之谈。
在啰嗦之前,我想介绍一下我办公室的人员组成,因为这个对我有很大的影响。办公室有四个人,一个是拥有十一年工作经验且已拥有自己专利的高级工程师(我的导师要他带我,我习惯叫他二导,这是我为什么在这个办公室的原因),一个是拥有5 年经验热心助人的工程师,还有两个分别是电源和视频方面的专家或者元老级人物。耳濡目染,自己渐渐的对硬件发生了浓厚的兴趣。从单片机,FPGA,SOPC 硬件的搭建以及软件编程,以及现在正在努力研究的ARM,我是凭着无限的热情来做的。
热情不是唯一的原因,还有另外一个原因就是试验室给我提供了很好的学习环境。学习单片机的时候,试验室有现成的winbond 51 单片机,有伟福仿真器,有advanced labtool 48uxp 万能编程器,有一台十二万的示波器,自己买个万能板,找本书就在上边进行试验了。从简单的led 闪烁、数码管显示、pwm 到中断、串口通信(单片机与单片机通信,单片机与pc 机通信)、I2Ceeprom 读写、A/D转换、温度的测量等等,给我成就感的是每一个试验经过资料的查找、程序的编写以及调试、再到后来问题的解决,那份成就感与喜悦之心只有有过这种经历的人才能够体会。正是有这份热情和爱好,常常在实验室呆上十二三个小时,通常是晚饭在食堂吃了后直接到验室,晚上九点半回寝室(办公楼10 点关门)。虽说那时候没有做过什么大项目,但是这每一个小小的实验也是人生知识的积累,有了这些知识的积累,我想也为以后作更大的项目打下了基础。