Bonky
Neither beliver nor reject anything, because any other person has rejected of believed it. Heaven has given you a mind for judging truth and error, Use it.
By Thomas Jefferson

微机原理 – 接口设计

半导体存储器

概述

虚拟存储器系统:由主内存和部分硬磁盘构成,主要由操作系统管理。对应用程序员是透明的。目的是扩大存储容量。

存储单元的编址

下面是8088的总线信号图(IO/#M信号当为0表示访问内存,为1表示访问接口):

image-20200514145817412

下面是存储器访问,高位地址作为片选信号(#CS,低电平有效)。PS:为什么许多器件的片选信号低电平有效,而不是高电平有效?

image-20200514150337155

RAM

存储元主要由电容构成,需要定时刷新,要定时为存储元进行读或写操作。

SRAM 6264

image-20200514151145039

注意#CS1,CS2要同时有效的时候才能选中片。

连接框架图

image-20200514152537279

译码方式

对于片选信号为1111000的SRAM,他的译码芯片如下:

image-20200514152745366

上面这种是全地址译码,使用所有的片选信号。还有一种是部分地址译码,可以片选出一个组的芯片。

ROM

EPROM 2764

image-20200514153540480

他的连接方式如下:

image-20200514154450586

EEPROM 98C64A

image-20200514154549608

写入的方式可以有三种做法:

  • 定时进行写入,每隔多少秒进行一次写入操作。
  • 通过判断READY/#BUSY端的状态进行写入,变为1的时候进行写入。
  • 中断控制方式,当READY/#BUSY端变为1时候,作为中断请求信号,然后进行写入。

例子,将一片98C64A接到系统总线上,使其地址范围在3E000H~ 3FFFFH之间。并编程序将芯片的所有存储单元写入66H。

Flash

  • 通过向内部控制寄存器写入命令的方法来控制芯片的工作方式。
  • 通过读状态寄存器的值,获取芯片当前工作状态。
  • 与SRAM的区别:在进行写入和擦除操作时需要12V编程电压,电压较高。
  • 与普通EEPROM的区别:通过读状态寄存器的内容确定是否可继续写入提高写命令字的方式控制其处于何种工作方式。

存储器扩展

  • 位扩展 :扩展字长
  • 字扩展 :扩展单元数
  • 字位扩展:既扩展字长也扩展单元数

详细见计算机组成 – 存储器之存储器与 CPU 的连接。

输入输出与中断

输入输出

基本功能

接口作用是解决CPU和外部设备之间的交互,解决的问题包括:

  • 速度匹配:接口提供数据的缓冲与暂存功能

  • 信号的驱动能力

  • 信号形式和电平的匹配:信号类型转换,比如数模转换,电压的转换

  • 信息格式:信号格式转换

  • 时序匹配(定时关系)

  • 总线隔离:三态门

    一个接口一般来说是这样子的结构,每个接口中含一个或多个端口:

image-20200514172417469

为确保CPU能够访问到每个不同的端口,我们要对端口进行编制。寻址端口先找到端口所在的接口电路芯片(片选),再在该芯片上找具体访问的端口(片内寻址)。

8088寻址端口的能力为64K个端口,8088使用的是独立编址,与内存共用地址总线,用 IO/#M 信号状态区分。和内存相同,参与译码的信号包括#IOR,#IOW,高位地址信号。

当接口由多个端口的时候,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。

接口芯片

特点

输入接口:要求对数据具有控制能力,常用三态门实现。

  • 三态门接口:经典的是74LS244,有四个三态门。

image-20200514212517008

输出接口:要求对数据具有锁存能力,常用锁存器实现。

  • 锁存器接口:有两种74LS273和74LS373,其中373是含三态门的触发器,具有对数据的控制能力。

image-20200514212555253

方法

  • 无条件传送:要求外设总是处于准备好状态。
    • 优点:软件及接口硬件简单
    • 缺点:只适用于简单外设
  • 查询工作方式:外设应提供设备状态信息,接口应具备状态端口。

    2019-12-04-135148

    • 优点:外设不需要总是准备好
    • 缺点:CPU效率低。
  • 中断控制方式:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序。
    • 缺点:程序编制相对较为复杂。
  • DMA方式:上面三种方式信息的传送均需通过CPU,程序的执行速度限定了传送的最大速度。DMA方式外设直接与存储器进行数据交换,总线由DMA控制器进行控制。
    • 工作过程如下:

    • 外设向DMA控制器发出DMA传送请求信号DRQ;

    • DMA控制器收到请求后,向CPU发出总线请求信号HOLD;
    • CPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进行响应;
    • DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK。

    • 工作方式由三种:

    • 周期窃取:每个DMA周期只传送一个字节或一个字就立即释放总线。

    • 数据块传送:DMAC 在申请到总线后 , 将一块数据传送完后才释放总线,而不管中间DREQ是否有效。
    • 直接存取方式:DMA的数据传送请求直接发到主存储器,在得到响应后,整个工作过程在DMA控制器中由硬件完成。

中断

引入中断的原因:提高对外设请求的响应实时性。 提高了CPU的利用率,避免了CPU不断检测外设状态的过程。

image-20200515084258365

可编程并行接口芯片

可编程芯片的意义是,我们可以通过软件命令,控制芯片的工作方式。比如改变数据传输方向,输入/输出方式。

可编程定时器8253

定时/计算器的工作基准是时钟脉冲

特点

  • 可编程的逻辑器件;
  • 非通道型的接口,具有特定功能(接口不是用来传输数据的);
  • 可实现计数和定时;

工作方式

  • 减法计数
  • 计数值减为0时输出相应控制信号
  • 输出控制信号的形式可通过软件设置

引脚结构

image-20200515085519437

连接外设的主要引线有:

  • CLK:时钟脉冲
  • GATE:门控信号输入,作为启动计数的信号
  • OUT:定时输出

可以注意到有三个输出,其实是具有三个完全相同的、独立的计数/定时器。每一个计数器可以看做一个端口,然后内部有两个寄存器:16位初值寄存器和16位计数寄存器。这两个寄存器是同时写入的,两个寄存器的值一开始是一样的,只不过后来计数寄存器每次会减去1,而初值寄存器不改变。

image-20200515090525175

A1 A0 所控制端口
0 0 计数器0
0 1 计数器1
1 0 计数器2
1 1 控制寄存器

工作方式

GATE=0,软件启动(计数过程由程序指令启动);GATE=1,硬件启动(技术过程由外部信号启动)。

8253工作需要两个写脉冲:第1个写脉冲写入控制字,第2个写脉冲写入计数初值。

  • 方式0:软件启动,不自动重复计数。如果需要重复计数的话需要在给计数器写入。计数结束输出高电平。

    image-20200515091708351

    • 当GATE端为高电平时,输入初值后开始计数。
    • 计数结束后输出高电平。
    • 其输出信号可用于外部可屏蔽中断请求信号。
  • 方式1:硬件启动,不自动重复计数。重复计数只需要给GATE一个上升沿。计数开始输出低电平,结束后又变高。

    image-20200515091728074

    • 计数一旦启动,GATE端既使变低也不会影响计数。
    • 可重复触发。当计数到0后,不用再次写入计数初值,只要再次出现GATE上升沿,OUT即可产生一个同样宽度的负脉冲。
  • 方式2:软硬件都可,自动重复计数。计数到最后一个脉冲时输出低电平(而非到0的时候输出)。

    image-20200515091743452

    • 可输出频率为1/N的连续方波信号。
  • 方式3:软、硬件启动,自动重复计数。 输出对称方波,一般是高电平,一般是低电平。

    image-20200515092104469

  • 方式4:软件启动,不自动重复计数。 计数结束输出一个CLK宽度的低电平。

  • 方式5:硬件启动,不自动重复计数 波形与方式4相同

控制字设定工作方式

image-20200515092837878

注意事项

  • 每一次启动计数,需有两次写操作(一定要先写入控制字,再写入初值)
  • 如果初值为8位字长,则一次写入;若初值为16位字长,则需两次写入
  • 每个计数器的控制命令字均送入控制寄存器
  • 各计数器的计数初值送到该计数器的计数寄存器及初值寄存器。

并行接口8255

特点

  • 通道型接口
  • 含3个独立的8位并行输入/输出端口
    • 2个为8位端口(PA,PB)
    • 1个可拆分为两个4位端口(PC)
  • 各端口均具有数据的控制和锁存能力,既可作为输入端口,也可以作输出端口。

引脚结构

image-20200515093735385

连接外设端的引脚:PA、PB、PC。连接示意图如下:

image-20200515093833610

工作方式

  • 方式0(基本输入/输出方式):
    • 相当于三个独立的8位简单接口
    • 各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出
    • C端口可以是一个8位的简单接口,也可以分为两个独立的4位端口
    • 常用于连接简单外设,适于无条件或查询方式
    • 习惯上,A端口和B端口作为8位数据的输入或输出口,C口的某些位作为状态输入。比如利用A端口进行打印的数据输入,C端口进行打印状态输出。
  • 方式1(选通工作方式):
    • 利用一组选通控制信号控制A端口和B端口的数据输入输出
    • A口、B口作输入或输出口,C口的部分位用作选通控制信号
    • A口、B口在作为输入和输出时的选通信号不同
  • 方式2的应用(双向传送方式):只有A端口可工作在方式2下,可使A端口作为双向端口所有用于中断控制方式。

控制字

  • 方式控制字:用于确定3个端口的工作方式及数据传送方向;
  • 位控制字:仅用于C端口,可设置C口某位的初始状态(为高电平或低电平) 。当其工作于方式0下且作为输出口时,一般需要对作为输出的位设置初始状态(即初始化)。

截屏2020-05-15 上午10.10.07

Share

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注