庖丁解牛-帮你理清系统结构

发布时间:2014-8-7 13:37    发布者:看门狗
关键词: 开发板
作者:winthony

  当我们学习新平台的时候,最快的入门方式就是上手一块开发板。拿到开发板后,首先要做的自然是先弄清楚开发板的结构,看看开发板包含哪些模块,我们能用它做些什么。今天我们就来聊聊系统,看看一个完整的系统要包含哪些部分,以及各部分的作用。

  一、主芯片

  想了半天,好像也只有主芯片这个词能概括,毕竟每个平台都不一样。无论MCUFPGAARMMIPS或是PowerPC,一个平台,总少不了一颗主芯片,这是一个系统的核心,系统的主要功能都是通过主芯片来完成的,也是我们主要花精力学习的部分。

  二、存储模块

  存储模块是系统里的一个很重要的组成部分,一般存储模块的读写速度都很快,是系统中设计的一个难点。存储模块一般分为ROM和RAM两大类。

  A)、ROM:ROM(Read-Only Memory)只读存储器,它分为很多类型。

  1)、PROM
  可编程只读存储器。在芯片内部有行列式熔丝,需要利用电流烧断熔丝写入所需资料,但是能且仅能写入一次。

  2)、EPROM
  可擦除可编程只读存储器。利用高压将程序写入芯片,并通过紫外线擦除资料,可以重复使用。

  3)、EEPROM
  电可擦除可编程只读存储器。这是我们常见的并且经常使用的一种。写入和擦除都通过电信号进行。容量一般都不大,方便保存一些少更改的数据。

  4)、Flash Memory
  Flash Memory是目前系统中使用最多和最常见的ROM。就Flash来说通常也分为NOR Flash和NAND Flash。 SPI Flash是NOR Flash的一种,只是采用SPI接口进行访问,减少连接线的数量。NOR Flash写入可靠,容量偏小(相对NAND Flash而言)。NAND Flash容量可以做的很大,但在操作的时候会有随机错误bit翻转的问题,需要完善的读写校验。

  无论是上面提到的哪种ROM,或是一些新技术的ROM,他们的共同特点都是资料写入后不会轻易改变和删除,即使掉电数据也不会丢失。在系统中ROM常被用来储存运行的程序、配置信息等不经常改变的数据。

  B)、RAM:RAM(random access memory)随机存储器。同样分为很多类型。

  1)、SRAM
  静态随机存储器。它是一种具有静态存取功能的存储器,不需要刷新就能够保存内部的数据。

  2)、DRAM
  动态随机存储器。动态随机存储器与静态随机存储器的主要区别是使用电容保存数据,只能保持很短的时间,所以为了防止信息丢失需要隔一段时间刷新一次数据。

 3)、SDRAM
  同步动态随机存储器。命令与数据的传输都需要同步时钟,以时钟为基准。我们在系统中使用最多最常见的RAM类型就是SDRAM。SDRAM技术的更新和发展也是最快的。从最初的SDR SDRAM,到DDR SDRAM,然后是DDR2,DDR3,以及已经和大家见面相信会很快普及的DDR4,都属于SDRAM的范畴。
本文引用地址:http://www.eepw.com.cn/article/158901.htm

  RAM的特点是相对ROM来说访问速度快,但是掉电后会丢失存储的内容,因此主要用于存储短时间内使用的程序,让程序能更快的运行,满足系统对速度的追求。ROM和RAM共同组成了系统的存储空间,各司其职,一般会拥有独立的地址空间,方便程序调用。Memory Map是我们写程序以前要最先弄清楚的。

  三、调试模块

  任何系统要正常的工作都离不开调试,因此调试电路在系统中是必不可少的。现在的系统中常见的调试方式有JTAG调试,串口调试,网口调试等等。我们通过调试模块可以和主芯片进行互联,读取工作状态,烧写程序,跟踪代码,设置断点等等。和我们日常工作关系最密切的模块,会经常使用到。这部分的设计要十分小心,如果调试模块设计错误,那整个设计就失败了。因此这部分最好使用成熟设计,项目允许的情况下可以做一些电路冗余设计,降低系统风险。

  四、电源模块

  电源模块是最好理解的,为系统提供必要的工作电压电流。电源模块直观也最重要,一个健壮的电源设计,是系统正常稳定可靠工作的基础。如果不是从事系统设计工作,这部分仅作了解就可以。充分验证过的系统一般电源模块不会出什么大问题。如果本身就是做系统设计的工程师,那这部分就是最需要注意的,电源是一个系统的基础,没有稳定可靠的电源,什么强大的功能都是空中楼阁。充分考虑系统对电源的需求,保留设计余量,有些可能还要考虑系统结构系统散热的问题等等。

  五、外设模块

  外围设备,这是一个泛泛的说法,可以说是内容最丰富的部分。主芯片的功能再强大也需要通过外设来接收外部数据,通过外设实现特定的功能。如按键,红外遥控,数码管,音视频输入输出,ADCDAC,网口,甚至系统中的射频电路部分,都可以称为系统的外设。每种外设实现一定的功能,主芯片通过不同的接口来完成控制。我们常见的IIC,SPI,UART,IIS,CAN,RS485,MII,RMII,USB等等这些都是通信协议,用来实现主芯片和外设之间的通信控制。正是由于外设的种类太多,对待这些知识的态度就是用到哪学到哪。毕竟协议的学习是枯燥的,单纯看时序图很难找到感觉。在项目中遇到了再去学习,遇到问题再去解决,最好再用示波器抓抓信号,和时序图做做比较。理论加上实践,上手就会快很多。几个项目做下来,常用的协议也就会接触的七七八八了。

  实际的系统千差万别,有些系统除了主芯片外为了某些特定功能(如音视频编解码)会用一个独立的协处理器单独处理部分功能;有些系统可能会存在不止一种ROM(如用EEPROM保存配置数据,NOR Flash保存程序,NAND Flash保存大规模的数据信息等);有些系统会把ROM/RAM集成到主芯片当中(如一些简单的MCU);有些系统会把调试模块和某些外设复用……但不管怎样,多多少少你都会找到这些模块的影子。掌握了系统划分的金钥匙,遇到再复杂的系统也能够把它分解成功能单一的模块,然后再各个击破的去学习。反过来,当我们做一个新项目的时候,也需要从这几个方面去考虑。我们要选择哪种主芯片?存储类型选择什么?容量大小是多少?采用哪种调试方式?供电电流多大?有几种电压?需要哪些外设?看到了吧,系统就是这么简单。
本文地址:https://www.eechina.com/thread-131612-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表