全国- 「切换城市」 培训家旗下培训平台
手机版
网站导航

嵌入式开发硬件相关的概念知识分享

2020.03.20

发布者:网上发布

  做嵌入式系统开发,经常要接触硬件。做嵌入式开发对数字电路和模拟电路要有一定的了解。这样才能深入的研究下去。下面我们简单的介绍嵌入式开发中的一些硬件相关的概念。
  总线(Bus)
  在嵌入式系统中一定会有一块处理器芯片,此外,还有其它的芯片作为外部设备(后面简称外设),这些芯片与处理器协作实现产品的功能。复杂的产品往往是由大量的芯片组成的。那么不可避免的是我们需要将所有的外设与处理器进行相连,*为简单的是将所有的外设都采用独立(注意是独立)的信号线连接至处理器,这样的好处是容易理解,但问题是:不可行。
  因为处理器芯片需要引出太多的线了,从芯片的生产和产品的生产角度来看都不实际。加之,处理器(在此我们假设处理器是单核的,而不是多核的)处理事务在微观上是串行的,也就是说在某一时刻如果要对外设进行读写操作,那只可能是对大量外设中的一个进行,即多个外设不可能在微观上被处理器同时访问。
  需要注意的是,这里提出了微观这一概念,这是为了区别于宏观。从宏观上来讲,一个处理器中可以有多个任务同时运行,但这些任务在微观上却是一个一个运行的(后面会用串行来描述这里所说的“一个一个”),多任务的串行运行实现是由操作系统扮演着重要的角色来实现的。
  回到我们的话题,即然将每个外设采用独立的信号线连到处理器不可行,且处理器在单一时间内只会对一个外设进行访问,那我们能不能采用共享的信号线将所有的芯片连在一起呢?这就是总线概念的由来。通俗的说,如果我们周围有十个家庭,为了让这十个家庭每两个之间都能往来,我们并不需要为每两个家庭修一条单独(注意是单独)的路(如果这样,要修45条路),而是可以修一条大路,然后,每个家都与大路相连。
  对于总线,我们往往说总线是处理器的,而其它的外设是挂在总线上的。那有一个问题,我们每一时间只能访问挂在总线上的一个外设,那如何区分这些外设呢?和我们的路一样,我们需要用地址来区分每一个家庭,在总线上,也是采用地址来进行区分的。
  这样,总线就根据其功能分为两类了。一类是地址总线,这一总线上的数据只会是从处理器向外设“流”,是单向的。另一类则是数据总线,用来将数据从处理器传送到外设(从处理器的角度来说是写操作)或者是将数据从外设传送到处理器(从处理器的角度来说是读操作),显然,数据总线是双向的。也就是说,在我们的嵌入式系统中同时存在地址总线和数据总线将所有需要与处理器进行通讯的芯片连在一起的。
  总线是有宽度的,正如我们的路分为“三车道”或是“四车道”,我们说32位处理器,是指其数据总线宽度是32位,也就是“有32辆车能同时跑”,显然,宽度越是宽我们的处理器速度就越是快,因为我们从外设芯片存取数据的速度会更快,这就是为什么我们的计算机向64位发展的原因。同样的,地址总线也是有宽度的,对于32位处理器其*大宽度也就是32位。

上一篇:学习平面设计前需要知道这些事 下一篇:小白如何学习平面设计

推荐机构

热门课程

本站展示的所有信息内容系由机构或个人用户发布,可能存在发布者所发布的信息,并未获得品牌所有人有效授权。本平台会加强审核,但无法完全排除差错或疏漏。郑重声明:本平台仅为免费注册用户提供免费的信息发布渠道,但不对其发布信息的真实性、准确性和合法性负责,对此也不承担任何法律责任。对于从本网站或本网站的任何有关服务所获得的资讯、内容或广告,您接受或信赖任何信息所产生之风险应自行承担,本网对任何使用或提供本网站信息的商业活动及其风险不承担任何责任。,如果侵犯,请及时通知我们,发送邮件至15610150293@126.com本网站将在第一时间及时删除。