导图社区 《微机原理》-接口设计
《微机原理》系列,介绍接口概念、外设结构。试图做知识的传播者。包括:基本概念、编址方式、总线连接原则、存储器接口设计、并行lO设计。 整活!让知识自己说话~~
编辑于2023-01-29 11:44:22 河南接口技术
基本概念 编址方式
什么是接口
位实现两个设备间数据交换的 电子线路及通信协议
硬件、软件
接口应该有 啥功能?
控制和定时 与微处理器通信 与外设通信 数据缓冲 错误检测
通信有啥
命令译码 数据交换 状态反馈 地址译码
接口长啥样 基本结构
控制逻辑电路 数据存储和缓冲电路 状态设置和存储电路
错误检测个别有
接口信号分类
接口传输
并行
ISA、PCI、AXI、IDE
串行
RS232、IIC、SPI、USB
接口控制方式
无条件传输
需要外设同步工作
十分困难
查询
CPU主动问
CPU运行效率不高 实时性差
中断
CPU被动
中断请求信号--CPU保护现场进入中断服务程序--恢复现场继续执行
CPU运行效率高 实时性好
DMA 数据不经过CPU Dirct Memory Access
端口
接口里的寄存器叫端口
端口地址是I/O接口的地址编号
由寄存器分类
控制端口 状态端口 数据端口
编址方式
统一编址/ 存储器映像I/O接口结构计算机系统
和存储器数据指令放一起
存储器空间换简单电路、指令
独立编址/ 标准计算机系统准I/O接口结构
PC机采用
独立于存储器
电路、指令复杂换空间
接口两种译码
直接译码
直接地址总线 选址存储单元
如
一对一整体映射的 全译码法:全参与
一对多整体映射的 高一线选法、多高部分译码法
间接译码
专门的地址端口
如
多对一整体映射: 采用IO接口实现,
珍珠港:(Port端口---IO里面的寄存器) 我是香港~·o·~ 向珍珠港发(Out)送Value,告诉我地址,Value就出现在Addr啦 从珍珠港取(In)货,我只知道地址,马上找到货物
再理解Xil函数
Xil_Out8(Addr,Value)
Addr:输出端口地址,Value:输出到该地址的数据 -----Value在Addr显示
Xil_In8(Addr)
将地址中的数据取出, 进行返回, -----函数本身看作是个数据
从硬件设计,看出需要两个port,控制存储芯片地址port、进行输出的数据port
重点理解
Xil_Out/In是函数语言
硬件的实现与语言的差距
软件
273是锁存器
273功能,上升沿触发锁存器 CLR#为低电平时清零 CLK时钟上升沿触发传递,其他状态电平锁存
于是我们看到,这里抽象意义上, 有地址端口0xffffff04、数据端口0xffffff05 它并不是实际存在的寄存器,是个概念
138是3-8译码器入CBA 139是2-4译码器入BA,
先使能有效才行
输出Y低电平有效
总线连接原则
控制总线
统一编址
独立编址结构, 需要cpu指明对谁读写
地址总线
需注意位扩展后,一个存储单元包含了多个字节,低位译码线上移做调整
高位通常做控制信号
数据总线
出数据
接口位宽小于数据的 存储芯片并联位扩展
接口位宽大于数据的位宽, 接口的数据位复用
245是双向8位三态缓冲器(buffer) OE#为低电平,数据通。
三态门, E为高电平时方向通 低电平时高阻态
存储器接口设计
半导体存储器类型
RAM随机存储器
SRAM静态存储器 (用作Cache)
DRAM动态存储器 (用作主存储器)
ROM只读存储器
不可在线改
闪存FLASH ROM
其他分类
时序: 同步、异步
传输方式: 串行并行
SRAM与CPU连接、扩展
连接
地址线
数据线
控制线
读写控制线
片选信号
扩展
关注地址线访问存储字和字节 边界对齐问题
位扩展
相同地址,扩位数
字扩展
地址片选
同时扩展
存储器控制器
并行IO设计
独立开关输入接口
消抖
硬件消抖 RC吸收电路、RS触发器
软件消抖 delay延时>20ms
代码中,只参考port
矩阵式键盘接口
LED点阵同理
矩阵高电平是相对的
锁存器,为了锁住数据 比如373、 374是触发器
373,8路高电平触发锁存器 OE#低电平有效 LE为高电平透传
374,8路上升沿触发器
缓冲器,允许了就放行 比如245(链接)、244
244,单向8位3态缓冲器
数据总线输给键盘0x00所存到行里, 查询键盘列输给总线是否0xff,否则有情况 数据总线依次低电平给键盘行,查看那行列低电平
 代码
根据电路看, 从左向右地址变高 从上到下地址变高
发光二极管输出接口
流水灯
需数据锁存
七段数码管
动态显示 同名段并联,有段选寄存器(273锁存器) 共阴极点由位选寄存器(273)控制
同名段接了下拉电阻和地线
共阴极

延时
GPIO控制器 通用并行IO接口
地址译码、 输出数.锁存 输入数.缓存
Xilix AXI总线GPIO IP核
每一个寄存器都是32位
中断
外设控制器EPC
AD转换器
ADC0808
延时方式
查询方式
ADC1210
查询方式
启动
启动时才会关注地址ADD的cba
读取数据 结束/输出
保持数据的结构
锁存器
373
触发器
寄存器