导图社区 总线
这是一篇关于总线的思维导图,本篇思维导图详细介绍了总线的作用、总线的传输过程等等,感兴趣的小伙伴可以收藏起来。
编辑于2022-07-26 10:28:30这是一篇关于程序和库信息的思维导图,主要内容包括:(查看基础信息),获取ELF节的长度信息,显示可执行文件或库需要静态加载的动态库完整列表--显示加载时的依赖项,列出二进制文件的节信息,查看动态节,列出并查看段,查看重定位节,反汇编,列出库中未定义的符号,列出动态符号,列出二进制文件或库的符号表,查看节中的数据,符号的类型。
这是一篇关于设备驱动的思维导图,主要内容包括:主要功能,设备驱动模型。阐述了设备驱动的主要功能、信号定义、设备驱动模型等内容。
这是一篇关于算法的思维导图,主要内容包括:云计算,内存管理算法,分布式同步算法,避免死锁算法,进程调度算法,磁盘调度算法。
社区模板帮助中心,点此进入>>
这是一篇关于程序和库信息的思维导图,主要内容包括:(查看基础信息),获取ELF节的长度信息,显示可执行文件或库需要静态加载的动态库完整列表--显示加载时的依赖项,列出二进制文件的节信息,查看动态节,列出并查看段,查看重定位节,反汇编,列出库中未定义的符号,列出动态符号,列出二进制文件或库的符号表,查看节中的数据,符号的类型。
这是一篇关于设备驱动的思维导图,主要内容包括:主要功能,设备驱动模型。阐述了设备驱动的主要功能、信号定义、设备驱动模型等内容。
这是一篇关于算法的思维导图,主要内容包括:云计算,内存管理算法,分布式同步算法,避免死锁算法,进程调度算法,磁盘调度算法。
总线框图
微处理器
信号定义
信号附加说明
接口框图
总线作用
隔离
驱动
缓冲
总线传输过程
1-申请与仲裁阶段
要求使用总线的主模块必须提出申请 并由总线仲裁机构确定把下一个传输周期的总线使用权授权给哪个主模块
2-寻址阶段
取得总线使用权的主模块通过总线发出欲访问的从模块的存储器地址或IO端口地址 以及有关命令 并通过译码选中参与本次传输读从模块 启动传输
3-传输阶段
主模块和从模块之间进行数据传输 数据由源模块发出 经数据总线流入目的模块
4-结束阶段
主从模块的有关信息均从系统总线上撤除 让出总线 为下一次传输作准备
南北桥
高速PCI
特点
支持32位或64位数据线与32位地址线的宽度
支持即插即用
PCI总线由资源配置空间 用户程序所要求使用的硬件资源(存储器 IO端口 中断)都经过配置空间进行映射 即重新进行分配 具体的映射到何处是操作系统管理的事情 对用户是透明的
支持中断线共享 并设置可编程中断路由器
外部硬件中断申请信号线总共只有4根INTA-INTD 但是由于实现中断线共享 可使外部硬件中断申请的数目不受限制 中断触发信号是电平触发 并且是低电平有效
采用数据线与地址线复用技术
支持高速设备和支持猝发方式传输
接口框图
总线信号
系统信号
PCI系统总线时钟信号CLK
为所有PCI传输提供时序 并且对于所有PCI设备都是输入
复位信号RST#
使PCI专用的寄存器 定序器和信号复位到初始状态
地址和数据信号
地址和数据复用的输入/输出信号AD
PCI总线上地址和数据的传输 必须在FRAME#有效的期间进行 当FRAME#有效时的第一个时钟 AD上传输的是地址信号 称为地址期 当IRDY#和TRDY#同时有效时 AD上传输的是数据信号 称为数据期 一个PCI总线传输周期中包含一个地址期和接着的一个或多个数据期 在每个地址期和数据期中 所有的AD线都必须被驱动到稳定的状态(包括字节使能信号表明无效的字节所对应的AD线) 这样做的目的是: 1.为了奇偶校验的计算 2.使传输中未被包含的字节所对应的缓冲区不至于处于临界状态 3.便于快速而相对稳定地锁定数据
总线命令和字节允许复用信号 C/BE#
在地址期 这4条线上传输的是总线命令 在数据期 这4条线上传输的是字节允许信号 用来指定在整个数据期中 AD上哪些字节为有效数据
奇偶校验信号PAR
对AD和C/BE#进行奇偶校验 可被所有PCI设备使用 对于地址信号 在地址期之后的一个时钟周期PAR稳定并且有效 对于数据信号 在IRDY#(写操作)或TRDY(读操作)有效之后的一个时钟周期PAR稳定并有效 写操作时 有主设备驱动PAR 读操作时 由从设备驱动PAR
接口控制信号
帧周期信号 FRAME#
由主设备驱动 表示一次传输的开始和持续 当FRAME#有效预示总线传输开始 并且先传地址后传数据 在FRAME#有效期间 数据传输继续进行 当FRAME#无效时 预示着总线传输结束 并在IRDY#有效时进入最后一个数据期
主设备就绪信号IRDY#
IRDY#要与TRDY#联合使用 只有2者同时有效时 数据才能传输 否则进入等待周期 在写周期 IRDY#有效时表示数据已由主设备提交到AD线上 在读周期 IRDY#有效表示主设备已做好接收数据的准备
从设备就绪信号TRDY#
IRDY#要与TRDY#联合使用 只有2者同时有效时 数据才能传输 否则进入等待周期 在写周期 TRDY#有效时表示从设备已准备好接收数据 在读周期 TRDY#有效时表示数据已由从设备提交到AD线上
从设备请求停止信号STOP#
从设备要求主设备停止当前数据传输的信号
锁定信号 LOCK#
当一个设备进行可能需要多次传输才能完成的操作时 LOCK#有效 以便让此设备独占资源
初始化设备选择信号 IDSEL
在参数配置读/写传输期间 用作片选信号
设备选择信号 DEVSEL#
该信号有效 说明总线上某一设备已被选中 并作为当前访问的从设备 一个设备要先置DEVSEL#有效后 才能发出其他响应信号 一旦从设备设置了DEVSEL#信号 就不能在最后数据期完成之前撤销它 在正常的主设备终止情况下 DEVSEL#的撤销必须与TRDY#的撤销同时发生 如果在FRAME#有效后的3个时钟周期内 没有设备发出DEVSEL#信号 则采用负向译码的设备才可以置DEVSEL#有效 并拥有传输权利 如果整个系统中一个负向译码的设备也没有 则主设备因收不到有效DEVSEL#信号而终止传输 一个目标设备必须在进行了完全地址译码之后才能发出DEVSEL#或其他响应信号 否则设置DEVSEL#有效是非法的
仲裁信号
总线占用请求信号REQ#
该信号有效 表明驱动他的设备要求使用总线 它是一个点到点的信号线 任何主设备都有它自己的REQ#信号 从设备没有REQ#信号
总线占用允许信号 GNT#
该信号有效 表示申请占用总线的设备的请求已获得批准 它是一个点到点的信号线 任何主设备都有自己的GNT#信号 从设备没有GNT#信号
错误报告信号
数据奇偶校验错误报告信号PERR#
一个设备只有在响应设备选择信号(DEVSEL#)和完成数据期之后 才能报告一个PERR# 对于每个数据接收设备 如果发现数据有错误就应在数据收到后的2个时钟周期内将PERR#激活 如果有一连串的数据期切每个数据期都有错误 那么PERR#的持续时间将多于一个时钟周期 由于该信号是持续的三态信号 因此该信号在释放前必须先驱动为高电平
系统错误报告信号SERR#
用作报告地址奇偶错 特殊命令序列中的数据奇偶错 以及其他可能引起灾难性后果的系统错误 SERR#信号一般接到微处理器的NMI引脚
中断信号
中断信号是电平触发 低电平有效 使用漏极开路方式驱动 此类信号的建立和撤销于时钟不同步 单功能设备只有一条中断线 并且只能使用INTA# 其他3条中断线没有意义 多功能设备中的任何功能都可以连接到4条中断线中的任何一条 两者的最终对应关系由配置空间的中断引脚寄存器定义
INTA#
INTB#
INTC#
INTD#
高速缓存和电源管理信号
试探返回信号SBO#
该信号有效 表示命中了一个修改过的行 该信号无效而SDONE有效表示由一个干净的试探结果
监听完成信号SDONE
表示当前监听的状态 该信号无效 表示监听仍在进行 否则表示监听已经完成
64位总线扩展信号
传输请求REQ64#
由主设备发出 与FRAME#有相同的时序
传输认可ACK64#
从设备发出 和DEVSEL#有相同的时序
地址和数据复用线AD
总线命令和字节允许复用信号C/BE#
在数据期 若REQ64#和ACK64#同时有效 则该4条线传输的是字节允许信号 在地址期 如果使用了DAC命令且REQ64#有效 表示C/BE#上传输的是总线命令 C/BE#[3:0] 0000=>中断响应命令 0001=>特殊周期命令 0010=>IO读命令(从IO空间映像中读数据) 0011=>IO写命令(向IO空间映像中写数据) 0100=>保留 0101=>保留 0110=>存储器读(从内存空间映像中读数据) 0111=>存储器写(向内存空间映像中写数据)) 1000=>保留 1001=>保留 1010=>配置读(从配置空间读) 1011=>配置写(向配置空间写) 1100=>存储器多行读 1101=>双地址周期 1110=>存储器行读 1111=>存储器写并无效
奇偶双字校验PAR64
测试访问/边界扫描
测试时钟TCK
在边界扫描期间 为测试时钟状态信息和测试数据IO设备提供时钟
测试数据输入TDI
把测试数据和测试命令串行输入到设备
测试数据输出TDO
把测试数据和测试命令串行输出到设备
测试方式选择TMS
用于控制测试访问端口控制器的状态
测试复位TRST
初始化测试访问端口控制器
总线协议
传输机制
PCI总线的基本传输是突发传输 一次PCI的突发传输由一个地址期和一个或多个数据期组成 支持存储空间和IO空间的突发传输 PCI的突发传输是指北桥电路可以将针对存储器的多次访问在不影响正常操作的前提下合并为一次传输 然后由北桥电路完成针对存储器的突发访问周期 以最大限度的提高系统性能
传输控制
根据PCI总线协议 PCI总线上所有的数据传输都是由FRAME# IRDY#和TRDY#三条信号控制的 当数据有效时 数据源设备要设置IRDY#或TRDY#(写操作由主设备设置IRDY# 读操作由从设备设置TRDY#) 接收方要在适当的时间发出准备好信号 FRAME#信号有效后的第一个时钟上升沿时地址期的开始 此时传输地址信息和总线命令 下一个时钟上升沿开始一个或多个数据期 每逢IRDY#和TRDY#同时有效 所对应的时钟上升沿就使数据在主从设备之间传输 在此期间主设备或从设备分别通过将IRDY#和TRDY#置为无效而插入等待周期 当最后一次数据传输到来时主设备应撤销FRAME#信号而建立IDRY#信号 表明主设备已准备好最后一次数据传输 待从设备发出TRDY#信号后才表示最后一次传输已完成 此时FRAME#和IRDY#信号均被撤销 接口信号回到空闲状态 规则: 1.FRAME#和IRDY#定义了总线的忙/闲状态 当其中一个有效时 总线是忙的 2个都无效时 总线是空闲状态 2.一旦FRAME#信号被置为无效 在同一传输期间就不能重新设置 3.除非设置了IRDY#信号 一般情况下不能设置FRAME#信号无效 4.一旦主设备设置了IRDY#信号 直到当前数据期结束为止 主设备不能改变IRDY#和FRAME#信号的状态
寻址
地址空间
地址译码
正向译码是每个设备都监视地址总线上的访问地址是否落在它的地址范围 若符合就接收的译码方法 负向译码是经过所有在正向译码中未选中其他设备之后 才选中某个设备的译码方法
数据传输过程
PCI总线数据传输过程包括启动以及读/写过程和传输终止的过程 由于PCI总线采用地址/数据复用技术 因此 每一次PCI总线传输都由一个地址期和一个或几个数据期组成
读操作
一旦FRAME#信号有效 地址期就开始并在时钟2的上升沿处稳定有效 在地址期 AD线上传输一个有效地址 C/BE#线上传输一个总线命令 数据期是从时钟3的上升沿处开始的 AD线上传输的是数据 C/BE#线作为字节使能信号指明数据线上哪些字节是当前要传输的 并且从数据期开始一直到传输完成 C/BE#始终保持有效状态 DEVSEL#和TRDY#是由地址期内所发地址选中的从设备提供的 并且TRDY#是在DEVSEL#之后 IRDY#是发起读操作的主设备发出的 数据的真正传输是在IRDY#和TRDY#同时有效的时钟上升沿进行的 只要这2个信号中的一个无效时 就表示需要插入等待周期(不进行数据传输) 在读操作中的地址期和数据期之间 AD线上有一个交换期 由从设备发出TRDY#信号 比地址的稳定有效晚一拍来实现(由从设备延迟产生TRDY#信号来实现交换期) 在交换期之后 AD线改由从设备驱动 向主设备传输数据
写操作
一旦FRAME#信号有效 地址期就开始并在时钟2的上升沿处稳定有效 在地址期 AD线上传输一个有效地址 C/BE#线上传输一个总线命令 数据期是从时钟3的上升沿处开始的 AD线上传输的是数据 C/BE#线作为字节使能信号指明数据线上哪些字节是当前要传输的 并且从数据期开始一直到传输完成 C/BE#始终保持有效状态 FRAME#撤销必须以IRDY#有效为前提 表明是最后一个数据期 在写操作中地址期和数据期之间没有交换周期 因为写操作中 数据和地址是都是由主设备发出的
传输的终止过程
主设备和从设备都可以提出终止一次PCI总线的传输要求 但传输的最终停止控制要由主设备完成 因为所有传输的结束标志必须是FRAME#和IRDY#信号均无效 然后才进入总线空闲状态 规则: 1.当STOP#信号有效时 FRAME#应该在其后的2-3个时钟周期内尽快撤销 撤销时应使IRDY#有效 从设备应无条件的保持STOP#的有效状态直到FRAME#撤销为止 FRAME#撤销后 STOP#也该跟着撤销 2.在任何时钟的上升沿 如果STOP#和TRDY#同时有效 表示传输的最后周期 则IRDY#要在下一个时钟的上升沿之前撤销 表示传输的结束 3.对于被目标设备终止的传输 主设备要继续完成它就必须用下一个未传输的数据的地址来重试访问 4.一旦从设备发出了TRDY#或STOP# 就不能改变DEVSEL# TRDY#和STOP#信号 直到当前的数据期完成
由主设备提出的终止
主设备通过撤销FRAME#信号并建立IRDY#来提出终止请求(已进入最后的数据期) 此后IRDY#一直保持有效直到TRDY#有效完成最后一个数据的传输 接着IRDY#撤销 达到完全终止条件(FRAME#和IRDY#同时无效) 结束传输 进入总线空闲状态 主设备提出终止传输的原因: 1.主设备已完成了要做的事 2.主设备GNT#信号无效并且内部的延时计数器已满 不得不终止传输(超时) 超时的原因可能是从设备产生的访问延迟 也可能是主设备要做的操作太长
由从设备提出的终止
从设备向主设备发出STOP#信号 申请终止一次传输 STOP信号有效保持到FRAME#信号撤销为止 当从设备发出STOP#信号同时又使TRDY#无效时 则表明从设备将不再传输任何数据 主设备此时不必等待最后一次的数据传输就可使整个操作结束 从设备提出终止传输的原因: 1.由于死锁 非PCI资源处于非空闲状态及该设备处于互斥访问的锁定状态等原因(从设备目前尚无数据传输) 使得当前从设备无法进行正常的传输 不得不终止相应的传输操作 2.由于从设备在8个时钟周期内不能对主设备做出相应 只能停止传输(断开) 断开往往不会发生在第一个数据期
总线仲裁
PCI采用集中式的同步仲裁方法 每个主设备有独立的请求(REQ#)和允许(GNT#)信号 这些信号连接到中央仲裁器上 用简单的请求-允许信号控制对总线的访问 主设备用REQ#信号有效来请求占用总线 仲裁器若同意请求则以GNT#有效作为应答
REQ#
主设备想占用总线执行一次传输 如果想继续传输 应使得REQ#保持有效 一旦主设备置REQ#无效 表示它放弃占用总线
GNT#
仲裁器给主设备有权占用总线的允许信号 在一个系统中同一时刻只允许一个主设备拥有占有权 要使某一个设备的GNT#有效 就必须撤销另一个设备的GNT#
FRAME#
有效取得总线占有权后 并不意味着数据能马上开始传输 数据真正开始传输必须由主设备置FRAME#有效 发布地址和命令 并满足IRDY#和TRDY#同时有效
PCI配置空间
存储器和IO的访问中 每个目标设备都对自己的地址进行译码 产生设备选择信号DEVSEL# 而对配置地址空间的访问则通过初始化设备选择信号IDSEL来选择PCI设备(将IDSEL作为芯片选择信号) 对于某一PCI设备 只有当输入它的IDSEL信号有效 并且在地址期内AD[01::00]为00时才能被作为配置访问的目标设备 【0类配置访问】 AD[01::00]=>00 AD[07::02]=>选择功能的64个配置双字寄存器之一 AD[10::08]=>选择物理设备的8种功能之一 只对当前正在允许的PCI总线上的目标设备(配置寄存器)所进行的访问  【1类配置访问】 AD[01::00]=>01 对通过PCI-PCI桥连接的下一级PCI总线上的目标设备(配置寄存器)所进行的访问 如果目标设备在当前PCI总线的下级PCI总线上 那么连接2条PCI总线的PCI-PCI桥必须将配置访问传递给第二级总线  【寻址过程】 1.通过IDSEL信号进行片选 将IDSEL引脚作为芯片选择信号 用来选择PCI设备以进行配置访问 2.通过AD[01:00]=00确定配置访问的目标设备 在地址有效期间 AD[01:00]=00 选择PCI设备作为配置访问的目标设备 3.通过AD[07:02]选择片内的配置寄存器 AD[07:02]确定双字寄存器种的一个 通过字节允许信号C/BE#[03:00]确定要访问的双字寄存器种的哪几个寄存器
设备分类代码
命令寄存器
基址寄存器
映射到IO地址空间的基址寄存器格式
映射到存储器地址空间的基址寄存器格式
状态寄存器
PCI中断
PCI中断响应周期
执行中断响应周期的目的是获取中断号 PCI总线执行的是单周期响应(一个中断应答)这可以通过HOST-PCI桥 放弃来自处理器的第一个中断响应 从而将处理器的双周期中断响应转换成PCI的单周期中断响应 在PCI中断响应周期的地址期 C/BE#[03:00]=>0000 (INT-ACK 表示中断响应命令) AD[31:00]=>不出现有效地址 单必须用稳定数据驱动 以便PAR有效时奇偶校验位可以检测 在PCI中断响应周期的数据期 回送的中断号的长度由字节使能来指明(一个单字,最低字节) 中断响应处理没有寻址机构 其目标设备隐含为系统中断控制器
PCI中断共享
PCI中断请求信号时漏极开路的 连接到同一PCI中断信号线的多个设备可以同时驱动该信号有效 (电平触发方式请求中断-低电平有效)
典型PLX9054内部结构框图
内部寄存器组
包括PCI总线和Local总线的配置寄存器组及Runtime DMA IO Messaging寄存器 这些寄存器提供了外界对PLX9054的操作接口
Serial EEPROM 模块
用于初始化配置寄存器
Local总线状态机
Local总线控制机制 根据不同的总线操作执行不同的任务
Local Bus接口逻辑
动态设置总线宽度 大小端存储模式以及地址数据线是否多路复用
控制逻辑
实现对IO Messaging DMA 非等齐传输进行控制
低速ISA
总线信号
地址线SA
数据线SD
控制线
地址允许信号AEN
地址锁存允许BALE
IOR读命令
IOW写命令
SMEMR存储器读命令
对于A0-A20的1MB内存的读操作
SMEMW存储器写命令
对于A0-A20的1MB内存的写操作
MEMR存储器读命令
对于24位地址线全部存储空间的读操作
MEMW存储器写命令
对于24位地址线全部存储空间的写操作
MEMCS存储器片选信号
IOCS IO片选信号
SBHE总线高字节允许信号
表示数据总线上传输的时高位字节数据
IRQ IO设备的中断请求输入信号
IRQ2-IRQ7 连接到主8259中断控制器 IRQ10-IRQ15连接到从8259中断控制器 IRQ13留给数据协处理器使用
DRQ IO设备的DMA请求信号
DRQ1-DRQ3连接到主8237 DRQ0,DRQ5-DRQ7连接到从8237 DRQ4用于主从8237的级联
DACK DMA回答信号
T/C DMA传输计数结束信号
高电平表示DMA传输的数据已达到其程序预置的字节数 用来结束一次DMA数据块传输
MASTER输入信号
该信号由要求占用总线的有主控能力的IO设备驱动 并与DRQ一起使用 IO设备的DRQ得到确认(DACK)后 才驱动MASTER 从此该设备保持对总线的控制直到MASTER无效
RSTDRV系统复位信号
用于复位和初始化接口和IO设备
IOCHECK IO通道检查信号
当扩展卡上的存储器或IO端口程序奇偶校验错时 该信号有效 并产生一次不可屏蔽中断NMI
IOCHRDY IO通道就绪信号
若扩展卡中的存储器或IO设备速度慢而跟不上处理器的总线周期时 该信号变低(失效) 使微处理器在正常总线周期中插入等待状态 该信号为低速IO或低速存储器请求延长总线周期之用
OWS 零等待状态信号
低电平时无需插入等待周期
特点
支持16位数据线与20位地址线的宽度
不支持即插即用 也无资源配置空间
用户程序所要使用的硬件资源(存储器 IO端口 中断)都不需要经过配置空间进行映射 即不重新进行分配 而是由用户直接访问硬件资源
不支持中断线共享 不设置可编程中断路由器
只支持15级外部硬件中断(IRQ0-IRQ15) 中断触发信号是边缘触发 并且是上升沿有效
采用数据线与地址线分开
IO端口与存储器独立编址 IO端口地址译码方法是IO地址线参加译码 并且只使用低10位地址 IO地址范围位1024个字节
不能支持高速设备和猝发方式传输
层次化结构
IO接口
IO接口时IO设备与本地总线的连接电路 以及进行信息传输的中转站
功能
执行CPU命令
CPU对被控对象UI设备的控制命令是以命令代码的形式先发送到接口中的命令寄存器(命令口) 再由接口电路对命令代码进行识别和分析 分解成若干个控制信号再传送到IO设备
返回IO设备状态
接口中一般都设置状态寄存器(状态口) 这些状态信号以状态代码形式存放在接口电路的状态寄存器中 CPU从状态口读取这些状态信息进行判断和处理
数据缓存
为解决主机高速和IO设备低速的矛盾 接口中一般都设置数据缓冲寄存器(数据口) 数据缓冲器又分为输入和输出缓冲器 由于数据 缓冲器直接连接在系统数据总线上 因此它应具有三态特性
信号转换
信号转换包括本地总线的信号和IO设备的信号两侧在逻辑关系上 时序上以及电平匹配上的转换
设备选择功能
接口中设置IO端口译码电路对IO设备进行寻址 CPU将IO设备的端口地址代码送到接口中的地址译码电路然后经译码电路 把地址代码翻译成IO设备的选择信号 一般是把高位地址用于接口芯片选择 地位地址进行芯片内部寄存器的选择 以选定需要与子集交换信息的设备端口 只有被选中的设备才能与CPU进行数据交换或通信
数据宽度与数据格式转换功能
移位寄存器 使接口具有数据“并->串”和“串->并”的转换能力
组成
硬件电路
基本逻辑电路
命令寄存器 状态寄存器 数据缓冲寄存器
端口地址译码电路
GAL(PAL)器件+IC逻辑芯片
供选电路
软件编程
初始化程序段
设置工作方式以及初始化条件
传输方式程序段
传输方式的处理 查询方式有检测外设或接口状态的程序段 中断方式有中断向量修改与恢复 对中断源的屏蔽/开放 中断结束等的处理程序段 DMA方式有相关DMA传输操作 (通道的开放/屏蔽 数据传输的起始地址 传输的字节数)等的程序段
无条件方式
不需要检测设备的状态是否准备好 随时都可以对接口进行读写操作 实现IO设备与处理器之间的数据交换
查询方式
CPU传输数据之前 主动检查IO设备是否准备好 若没有准备好 则继续查其状态直至IO设备准备好 即确认IO设备已具备传输条件之后才进行数据传输
中断方式
在IO设备没有做好数据传输准备时CPU可以运行与传输数据无关的其他指令 待IO设备作好传输准备后 主动向CPU请求中断 CPU响应这一请求 暂停正在运行的程序 转入用来进行数据传输的中断服务程序 中断服务程序完毕 即完成数据传输后 自动返回原来运行的程序
DMA方式
采用直接存储器存取DMA方式 使数据的传输不经过CPU 而由DMA控制器来实现内存与IO设备 或IO设备与IO设备之间的直接快速传输 DMA方式实际上是把输入输出过程中IO设备与内存交换数据的那部分操作与控制交给了DMA控制器 简化了CPU对输入输出的控制
主控程序段
完成接口任务的程序段 例: 【数据采集】(发转换启动信号 查转换结束信号 读写数据) 【步进点击】(运行方式 方向 速度 以及启停控制)
程序终止与退出程序段
程序结束后的返回 程序退出前对接口电路中硬件的保护程序段
辅助程序段
人机交互,菜单设计等内容
标准
接口信号线定义
信号传输速率
信号传输方向
拓扑结构
电器特性
机械特性
并行IO接口
接口芯片
信号线
面向系统总线的信号线
D0-D7
双向数据线 CPU向82C55A发送命令,数据 82C55A向CPU回送状态,数据
CS
片选信号 低电平有效 由系统总线经IO端口地址译码电路产生
A0-A1
内部端口地址信号 寻址内部寄存器 可形成4个端口地址
RD
读信号 低电平有效 CPU通过IN指令激活 从82C55A读取数据或状态
WR
写信号 低电平有效 CPU通过OUT指令激活 将命令代码或数据写入82C55A
RESET
复位信号 高电平有效 清除控制寄存器并将82C55A的3个8位端口全部置为0方式输入 直至初始化程序段中用方式命令设置 才能使其进入用户所需的工作方式
面向IO设备的信号线
PA0-PA7
A端口的输入输出线
PB0-PB7
B端口的输入输出线
PC0-PC7
C端口的输入输出线 C端口比较特殊 它除作数据端口外 还可做状态端口 专用联络线和作按位控制用 [数据端口] 把高4位PC4-PC7与A端口一起组成A组 低4位PC0-PC3与B端口组成B组 C端口作数据端口输入输出时是4位一起行动 即使只使用其中一位 也要4位一起输入输出 [状态端口] 在1,2方式下 由固定的状态字 从C端口读入 [专用联络信号线] 1,2方式是一种应答方式 在传送过程中需要进行应答的联络信号 在1,2方式下 C端口的大部分引脚分配作了固定的联络线 [按位控制] C端口的8个引脚可以单独从1个引脚输出高/低电平 此时C端口作按位控制用
内部结构
数据总线缓冲器
三态双向8位缓冲器 负责所有数据的发送与接收 以及控制命令和状态信息的传输
命令端口(A0=A1=1)下格式说明
0方式
1方式
2方式
命令端口(A0=A1=1)下格式说明
读写控制逻辑
特点
以字节 字 双字宽度在接口与IO设备之间的多根数据线上传输数据
除数据线外 还可设置交互用的握手联络信号线 易于实现异步互锁协议
所传输的并行数据的格式 传输速率和工作时序 均由被连接和控制的IO设备的操作要求决定
在并行数据传输过程中一般不做差错校验和传输速率控制