片选:
动词,单片机学科词汇,可以理解成选片。举个例子,有很多芯片挂在同一总线上(像电脑里很多外设都是挂在总线上),但我们有时候需要对其中特定的某个芯片进行数据、地址或命令的独立传输,此时,我们需要有一个信号来告诉挂在总线上的芯片们,这些数据、地址是传给哪个芯片的。那这样的话,其他芯片就会对这些信号“漠不关心”,而目标芯片就知道这些数据是传给自己的从而做出反应。这个信号就叫做
片选信号CS(chip select)或SS(
slave select)。片选这个词即由此而来,指通过设置跳线,利用
与门、
或门、
非门的组合来决定到底是哪几部分
进入工作状态。
可编程接口芯片都有一个片选开关,通常以CE(
Chip Enable)或CS(Chip Select)表示,只有当该输入端处于有效
电平,接口芯片才进入电路
工作状态,实现数据的
输入输出。片选端通常以AO地址
译码器的输出端相连,因此片选也是由指定的AO地址选中该接口芯片,以使其进入电路工作状态的过程。
如图1所示,如果一个从芯片或
从设备(slave)的SS管脚处于非激活状态(通常是低电平),那么这个从芯片或从设备就相当于一个聋子,不会对任何外来的
输入信号做出反应。而如果其中某一从芯片的SS管脚处于激活状态的话,那它就能听到外来的输入信号,就能做出接收或回应。图1中,MISO是从芯片向主芯片传输数据的信道,MOSI是主芯片向从芯片传输数据的信道,SCLK是时钟信道(主芯片→从芯片)。
CPU要实现对
存储单元的访问,首先要选择
存储芯片,即进行片选;然后再从选中的芯片中依
地址码选择出相应的存储单元,以进行数据的存取,这称为字选。片内的字选是由CPU送出的N条低位
地址线完成的,地址线直接接到所有存储芯片的地址输入端,而存储芯片的
片选信号则大多是通过高位地址译码后产生的。
线选法就是用除
片内寻址外的高位地址线直接分别接至各个存储芯片的片选端,当某地址线信息为0时,就选中与之对应的存储芯片。这些片选地址线每次寻址时只能有一位有效,不允许同时有多位有效,这样才能保证每次只选中一个芯片。线选法不能充分利用系统的
存储器空间,把
地址空间分成了相互隔离的区域,给编程带来了一定困难
全
译码法将除片内寻址外的全部高位
地址线都作为地址
译码器的输入,译码器的输出作为各芯片的片选信号,将它们分别接到
存储芯片的片选端,以实现对存储芯片的选择。全译码法的优点是每片芯片的地址范围是唯一确定的,而且是连续的,也便于扩展,不会产生地址重叠的存储区,但全译码法对译码电路要求较高
部分译码法:所谓部分译码法即用除片内寻址外的高位地址的一部分来译码产生
片选信号,部分译码法会产生地址重叠。