这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 嵌入式一些概念(转)

共2条 1/1 1 跳转至

嵌入式一些概念(转)

高工
2009-04-13 19:06:31     打赏

嵌入式一些概念
1.什么是嵌入式?
    记得当初刚接触嵌入式时,别人问我,在搞什么啊?我说搞嵌入式,然后别人说,这个好啊,很热,他接着问,“对了,什么是嵌入式啊”。虽然当时知道自己在搞嵌入式,但是真要回答这个问题,我却尴尬的说不上来,只能说像8051这些单片机的开发就是属于嵌入式的。
现在我就来谈谈我的理解。 
  我以一个例子来说明。
场景1:
  甲问乙:“昨天晚上你竟然逃掉了linux系统编程课程,在做什么啊”。 
  乙答道:“在我那破电脑上安装linux”。
  甲说:“安装Linux啊,不错啊,用光盘安装的吧,我上次就是这样安装的”。
场景2:
  甲问乙:“昨天晚上你竟然逃掉了嵌入式实时操作系统课程,在做什么啊”。
  乙答道:“在我那mini2440 arm板上移植linux”。
  甲说:“移植Linux啊,你小子不错啊,什么时候转入嵌入式的”。
场景3:
  甲问乙:“昨天晚上听说你小子丢下女朋友一个人飞奔回宿舍,做什么这么急啊”。
  乙答道:“为了适应潮流,也得了解下ucos,vxworks在我那破电脑上运行仿真ucos和vxworks”。
  甲说:“搞vxworks啊,你小子不错啊,什么时候转入实时嵌入式操作系统了啊”。
我们现在分析下上面三个场景。
场景1和场景2差别在哪;?
  场景一是在pc上搞linux,场景二在arm开发板上搞linux。
场景1和场景三差别在哪?
  场景一是在pc上搞linux,场景三是在pc上搞ucos。
由上面比较我们可以看出,嵌入式之所以是嵌入式,多数是相比pc而言的,嵌入式之所以成为嵌入式,他由两个部分决定:运行平台,操作系统。
    平台:大家都知道,pc机的运行平台是什么啊,大家可能说是intel的p4,奔腾,酷睿双核等,AMD的AMD3000+等cpu,其实他们在平台上都可以归结于x386平台,只要是x386平台的程序,在x386架构上及兼容x386架构的架构上的cpu都可以运行,我们当初学汇编的时候应该都是学的基于x386的汇编,正因为如此,在pc上写一个程序,可以说基本上学过c的就可以写出来并运行。但是编写基于arm,或avr,dsp,fpga的程序的人就可以说相比而言是少的多的多了,也正因为如此,搞嵌入式的人的需求还是挺多的,也挺热的。如果有一天大家的通用pc都是arm平台的了,且每个人学会编程的人基本上都会arm编程了,我想那时候arm编程就不叫嵌入式了。其实现在这也是一个趋势,在上网本上,基于arm核的cpu正在抢占市场,而intel的ATOM也在嵌入式挺进,如果将来真的有很多本本或消费电子是arm芯片了,那资源也会想arm平台转移,自然学的人多了,会的人多了,也就通用了,也就不是嵌入式了。
    操作系统:如果你正在用ucos,vxworks,tinyos,uclinux,内行的人都会说你在搞嵌入式啊。其实这些操作系统之所以发展起来,就是因为针对了特定领域,如果你真要让这些和window在桌面平台抗衡,是很难存活的。也正因为平台特殊性,操作系统特殊性,基于他们的开发(嵌入式开发)才特殊,一般针对具体应用场合,故一般有专用性。
当然嵌入式很多场合不具有操作系统,是裸机程序开发,且要涉及硬件电路设计,上面只是说明需要才以具有操作系统的系统举例。

2. FPGA,DSP,ARM区别

  FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列..
  DSP,英文全称为Digital Signal Processing/Processor,中文意思是数字信号处理或数字信号处理器
  ARM,英文全称Advanced RISC Machines,是英国一家电子公司的名字.

  FPGA,DSP是统称,而arm只是mcu中的一种。 我们都知道这三种芯片的使用都是编程,FPGA用vhdl,verilog,dsp当然用的具体dsp芯片的汇编,当然你可以用高级语言,但是会编译成汇编的,arm当然也是arm的汇编。
  从上面可以看出dsp,arm是很接近的,他们都是运行程序的硬件,而FPGA就是不是运行程序了,而是将程序转换为电路,烧写后就没有代码了,是硬件了。

从上面可以看出各自的应用:
    Fpga主要用在逻辑时序电路,所以多用于控制,且是硬件实现的控制。
    Arm大家都知道,可以控制外围设备,也可以运行操作系统,这样他的管理能力就强了,这样就可以运行很大的复杂的系统。
DSP主要用在复杂数据处理,如浮点,连加运算,大家都知道快速傅立叶变换(FFT),这个在通信领域可以说是必备品,DSP就是基于这一需求产生的。
    Fpga和arm都是控制,它们的区别在哪呢?FPGA最终是硬件实现,而arm是软件实现,故FPGA速度快啊,同时fpga用在asci领域也有。
      DSP和arm都是运行代码,它们的区别呢?刚才说了dsp就是针对复杂运算尤其像FFT这些运算的,它针对这些运算做了特殊设计,故在进行这些运算时,它比arm等MCU速度快的多的多,而如果做一般的操作,它就没有优势了,或者还要差。

3. SOC
    SoC(System on a Chip )中文名是系统级芯片,我们来看这样一个系统:
这个系统就是和主机串口通信系统,我们采用最简单实现:
1. 常规方式。
我们找元器件
MCU:8051
串口芯片:MAX232CPE,
    然后我们画电路板,然后发到PCB厂家出板子,最后我们将这些元器件焊接。

2.SOC实现方式。
  在cadence中加入8051和MAX232 IP核(ASCI也是这样方式),然后也是连线,然后发到中芯等半导体制作厂家,出芯片,然后这个芯片就具有R232通信功能的MCU了,当然也可用FPGA实现(ASIC)。
    其实我们现在看到的很多芯片都是SOC,如三星公司的S3C2410,它就是集成ARM9核和其他外围设备接口的芯片,OMAP更绝,集成了DSP,ARM9核,及其他外围接口。
从上面我们可以看出,第一种方式叫分离元器件方式,是宏观的,而第二种方式是集成电路方式,是微观的,是在硅晶片上做,是微观的。

      这是我的一点意见,当然只是个人意见,自己知识水平和经验有限,望高人补充。




关键词: 嵌入式     一些     概念     场景     运行     我们    

菜鸟
2009-04-14 17:47:39     打赏
2楼
多数是相比pc而言的,嵌入式之所以成为嵌入式,他由两个部分决定:运行平台,操作系统。

我想还是以这句来定义狭义的...

共2条 1/1 1 跳转至

回复

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