计算机接口技术及应用 第2讲 (数据传送方式) (2010秋)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为了可靠地传送数据, 或节约中断请 求通道, 有时中断方式和查询方式可 以组合使用
中断入口
有数据要发
No
送?
Yes
传送1个数据
数据指针加1
中断退出 中断方式传送数据的流程
中断方式单向传送数据 示例1
中断方式的ADC接口
中断方式双向传送数据 示例2
占用2个 中断通道 PC给8051传送一批数据的过程: PC写数据缓冲器,将数据锁存在锁存器中,同时给8051的INT0申请中断, PC软件此时开放IRQ6中断。在8051的中断服务程序中将锁存器中数据读 出,并取消中断请求, 同时又给PC的IRQ6一个中断请求。PC响应IRQ6中 断,在中断服务程序中再次将数据写入锁存器,又触发8051的INT0中断。 如此重复传送。
计算机接口技术及应用 第二讲
计算机基本接口原理
——计算机接口及数据传送方式
计算机接口及数据传送方式
主要内容
计算机接口的定义和功能 计算机接口的分类 计算机接口的数据传送方式
• 无条件传送,查询方式传送,中断方式传送,DMA方式传送
目的
了解计算机接口的功能和分类, 掌握数据传送方式
要求
了解计算机接口的基本功能、分类,掌握计算机接口的数据传送 方式。重点是掌握查询方式和中断方式数据传送工作原理
无条件传送方式的数据传送过程一般都是单向的 数据发送方假定接收方总是准备好(总是处于接收)状态, 发送方可以在任意时刻给接收方发送数据信息 为了保证数据传输的可靠性,设计无条件传送方式接口 时要注意必须保证接收方总是处于“Ready”状态
计算机系统中的I/O端口与CPU之间是采用无条件传送方 式; 数据存储器和CPU之间也是无条件传送方式 注意: I/O端口和存储器都必须分配独立的唯一地址, CPU通过唯一访问原则分时寻址各端口或存储器单元
数据传送方式 — 查询方式传送
在数据传送过程中, 发送方首先检 查接收方的状态, 如果接收方允许 传送时才发送数据
习惯上,称发送和接收双方之间的 状态为“握手信号”
查询方式传送数据的接口必须具 有数据缓冲单元, 状态寄存器
在计算机系统中, 这种方式的应用 最普遍
同样, 数据缓冲器和状态寄存器都 必须分配独立的唯一地址
无条件传送方式 示例1
写1个数据 No
写结束? Yes
退出 无条件传送数据的流程
为每个8位锁存器分配一个独立的唯一地址(I/O地址), 使用I/O写操作指令依次 将DB0~DB7的状态锁存在到8位D型锁存器中
无条件传送方式 示例2
读1个数据 No
读结束? Yes
退出 无条件传送数据的流程
为每个三态输入端口分配一个独立的唯一地址(I/O地址), 使用I/O读操作指令依次 将S00~S07、S10~S17、S20~S27的状态通过DB0~DB7读到CPU内部寄存器中
总结和讨论
介绍计算机接口的定义、功能和分类 详细讲解接口的4种数据传送方式 通过几个示例说明接口的数据传送过程
讨论
比较几种数据传送方式的数据传输效率,以及接口单元设计 的异同点 分别列出上面给出的图中哪些单元传输的数据信息?哪些单 元传输的是状态信息?并说明是什么状态?
思考题
1. 根据“查询方式双向传送示例”的图,描述查询方式实现双向数据 传送的过程。
5. 根据后一页的图(思考题5的图), 回答下面的问题 (1)图中采用的是哪种数据传送方式? (2)说明框图所组成的电路的主要功能以及C1CS, C2CS, DMAEN, DRQi, DRACi等信号的功能; (3)简述按该框图进行数据传送的过程。
思考题5的图
振荡器 计数器
8位D型锁存器
Q1-8 U1
中断和查询组合方式传送数据 示例3
查询方式 识别中断 占用1个 中断通道
数据传送方式 — DMA方式传送
DMA方式传送数据是在DMA控制器作为“中间人”的调节下, 外设或接口器件 可以直接将数据传送到计算机的主存储器或直接从主存储器读取数据, 并且不 需要CPU的干涉
PC的总线有两种工作周期, 即DMA周期和正常PC周期(称非DMA周期)
计算机接口的分类
按照接口的数据传输方式分类
并行接口和串行接口两种
按照外设的类型分类
输入接口、输出接口及双向接口等三种
根据接口双方的性质分类
元件级接口,一般是在同一板内部
• 如主板上直接扩展的中断控制器、定时/计数器等
板级接口
• 如前例的2-轴运动控制卡、声卡等,是本课程的主要内容 • 一般是计算机扩展卡和计算机系统接口
(2)打开相应的DMA通道 向图中的DMA使能控制锁存器写入1 (ENDMA片选地址有效)
(3)启动Timer, 定时触发ADC 给Timer初始化, 确定定时间隔
DMA通道4定义为ADC结果直接传输到存储器的专用通道,当ADC每完成一次 转换操 作, 就通 过DMAC调 度将 结果 直接 写 入指定 的存 储器 地址( 即数组 变量 DMABuf[])中。实际的数据传输过程无须CPU干涉!
读接收方状态
No 允许发送? Yes 传送1个数据
No 传送结束? Yes
退出 查询方式传送数据的流程
查询方式单向传送数据 示例1
查询方式的ADC接口
2
查询方式双向传送数据 示例2
输出 缓冲
输出 状态
状态 查询
输入 状态 输入 缓冲
状态 状态
数据传送方式 — 中断方式传送
在数据传送过程中, 为了减少等待的 时间, 需要传送数据时, 先给对方产 生一个中断请求, 数据传送过程在其 中断服务程序中执行 释放等待时间, 降低CPU负荷 提高系统的实时性
D1-8 CK
Q1-8
Q1-8
D1-8 CK
U2
+5 D
Q
数值比较器
CK R
D型锁存器
D1-8 CK
U3
与门
SD7
或门 三态门
反相器 QD R CK DMAEN
SD0-7 DRACi IOW DRQi
RST
C1CS C2CS
地址 译码器
SA来自百度文库-9
4
计算机接口的定义和功能
计算机接口(Interface)的定义
接口是 “桥梁”, 是信息通道, 是计算机CPU和外设(执行机构,被测 对象)之间的信息通道
接口的主要功能
1)数据缓冲功能; 2)设备选择功能(寻址); 3)信号转换功 能; 4)信息交换的握手; 5)中断功能; 6)可编程功能
通过接口传送的信息
2. 根据“中断方式双向传送示例”的图,描述中断方式实现双向数据 传送的过程。
3. 根据“中断和查询组合方式传送数据示例”的图,描述中断和查询 组合方式实现双向数据传送的过程。
4. 根据“DMA方式传送数据示例”的图,描述DMA方式实现数据传 送的过程。模仿该图设计一个用DMA方式将内存中指定地址地址 单元的内容定时(由接口定时发出DMA传输请求)输出给一个8位 的锁存器的电路。
Exit
DMA方式传送数据 示例
DMA应答
DMA请求
示例: 定时完成AD转换, 结果 以DMA方式写到指定的内存中, 无须CPU干预该过程!
DMA通道使能 控制锁存器
Timer定时触发ADC启动转换,转换完成后EOC控制锁存器将ADC转换结果锁存在 外部锁存器中,并向DMAC发出DMA传输请求,在得到应答(DACK4)有效后, ADC结果到直接传送到存储器中
1)数据信息 (CPU或Memory与外设之间双向交换) 2)状态信息(包括计算机、接口和外设的状态) 3)控制信息
计算机接口控制 简单的平面机械手
接口应用实例
PC和机械手之 间通过2轴运动 控制卡(接口卡) 连接. 接口有哪些功 能? 需要传递 哪些信息? See next page.
计算机接口控制 简单的平面机械手
DMA方式传送数据编程
软件执行DMA操作过程: (1)DMAC初始化操作
unsigned char DMABuf[256]; DMAseg = FP_SEG(DMABuf); DMAoffset=FP_OFFSET(DMABuf);
CPU DMAC
DMAC初始化操作 打开DMA通道 DMA方式传输
/* 将DMAseg和DMAoffset写入DMAC控制寄存器, 定义了DMA传输的起始地址, 将单次DMA 传输的字节数写入DMAC控制寄存器, 定义数据块字节数 */
HLDA
HRQ
DRQ
DACK
Address
3
DMA方式传送数据流程
每个机器周期检查
Exit
有DRQn请求?
向CPU发HRQ
N HLDA=1? Y
进入DMA周期
发出DACKn
输出存储器地址
传送一个字节
MEMW – IOR MEMR - IOW
修改Mem地址
计数器值自减一
Y 是否继续?
N
Y 有新的DRQ? N
接口扩展卡(2-轴运动控制卡)的功能
连接计算机和两路DC电机、两路位置传感器(寻址能力) 接收计算机的控制指令,实现两个关节的连续控制(指令数据缓冲) 采集位置传感器(旋转编码器)信号变换为关节位置信号(信号变换) 实时控制(中断功能)
接口扩展卡(2-轴运动控制卡)上传送的信息
指令数据(计算机 → 接口) 状态信息(接口和马达↔ 计算机) 控制信息(计算机 → 接口/马达)
系统级接口,如网络接口
1
计算机接口的数据传送方式
无条件传送方式
接口简单,非可靠传输,单向传输
查询方式传送
接口简单,可靠传输,效率低,占用CPU时间
中断方式传送
接口简单,可靠传输,效率高,节约CPU时间,软件设计复杂
DMA方式传送
接口复杂,可靠传输,效率最高,不占CPU时间
数据传送方式 — 无条件传送方式
中断入口
有数据要发
No
送?
Yes
传送1个数据
数据指针加1
中断退出 中断方式传送数据的流程
中断方式单向传送数据 示例1
中断方式的ADC接口
中断方式双向传送数据 示例2
占用2个 中断通道 PC给8051传送一批数据的过程: PC写数据缓冲器,将数据锁存在锁存器中,同时给8051的INT0申请中断, PC软件此时开放IRQ6中断。在8051的中断服务程序中将锁存器中数据读 出,并取消中断请求, 同时又给PC的IRQ6一个中断请求。PC响应IRQ6中 断,在中断服务程序中再次将数据写入锁存器,又触发8051的INT0中断。 如此重复传送。
计算机接口技术及应用 第二讲
计算机基本接口原理
——计算机接口及数据传送方式
计算机接口及数据传送方式
主要内容
计算机接口的定义和功能 计算机接口的分类 计算机接口的数据传送方式
• 无条件传送,查询方式传送,中断方式传送,DMA方式传送
目的
了解计算机接口的功能和分类, 掌握数据传送方式
要求
了解计算机接口的基本功能、分类,掌握计算机接口的数据传送 方式。重点是掌握查询方式和中断方式数据传送工作原理
无条件传送方式的数据传送过程一般都是单向的 数据发送方假定接收方总是准备好(总是处于接收)状态, 发送方可以在任意时刻给接收方发送数据信息 为了保证数据传输的可靠性,设计无条件传送方式接口 时要注意必须保证接收方总是处于“Ready”状态
计算机系统中的I/O端口与CPU之间是采用无条件传送方 式; 数据存储器和CPU之间也是无条件传送方式 注意: I/O端口和存储器都必须分配独立的唯一地址, CPU通过唯一访问原则分时寻址各端口或存储器单元
数据传送方式 — 查询方式传送
在数据传送过程中, 发送方首先检 查接收方的状态, 如果接收方允许 传送时才发送数据
习惯上,称发送和接收双方之间的 状态为“握手信号”
查询方式传送数据的接口必须具 有数据缓冲单元, 状态寄存器
在计算机系统中, 这种方式的应用 最普遍
同样, 数据缓冲器和状态寄存器都 必须分配独立的唯一地址
无条件传送方式 示例1
写1个数据 No
写结束? Yes
退出 无条件传送数据的流程
为每个8位锁存器分配一个独立的唯一地址(I/O地址), 使用I/O写操作指令依次 将DB0~DB7的状态锁存在到8位D型锁存器中
无条件传送方式 示例2
读1个数据 No
读结束? Yes
退出 无条件传送数据的流程
为每个三态输入端口分配一个独立的唯一地址(I/O地址), 使用I/O读操作指令依次 将S00~S07、S10~S17、S20~S27的状态通过DB0~DB7读到CPU内部寄存器中
总结和讨论
介绍计算机接口的定义、功能和分类 详细讲解接口的4种数据传送方式 通过几个示例说明接口的数据传送过程
讨论
比较几种数据传送方式的数据传输效率,以及接口单元设计 的异同点 分别列出上面给出的图中哪些单元传输的数据信息?哪些单 元传输的是状态信息?并说明是什么状态?
思考题
1. 根据“查询方式双向传送示例”的图,描述查询方式实现双向数据 传送的过程。
5. 根据后一页的图(思考题5的图), 回答下面的问题 (1)图中采用的是哪种数据传送方式? (2)说明框图所组成的电路的主要功能以及C1CS, C2CS, DMAEN, DRQi, DRACi等信号的功能; (3)简述按该框图进行数据传送的过程。
思考题5的图
振荡器 计数器
8位D型锁存器
Q1-8 U1
中断和查询组合方式传送数据 示例3
查询方式 识别中断 占用1个 中断通道
数据传送方式 — DMA方式传送
DMA方式传送数据是在DMA控制器作为“中间人”的调节下, 外设或接口器件 可以直接将数据传送到计算机的主存储器或直接从主存储器读取数据, 并且不 需要CPU的干涉
PC的总线有两种工作周期, 即DMA周期和正常PC周期(称非DMA周期)
计算机接口的分类
按照接口的数据传输方式分类
并行接口和串行接口两种
按照外设的类型分类
输入接口、输出接口及双向接口等三种
根据接口双方的性质分类
元件级接口,一般是在同一板内部
• 如主板上直接扩展的中断控制器、定时/计数器等
板级接口
• 如前例的2-轴运动控制卡、声卡等,是本课程的主要内容 • 一般是计算机扩展卡和计算机系统接口
(2)打开相应的DMA通道 向图中的DMA使能控制锁存器写入1 (ENDMA片选地址有效)
(3)启动Timer, 定时触发ADC 给Timer初始化, 确定定时间隔
DMA通道4定义为ADC结果直接传输到存储器的专用通道,当ADC每完成一次 转换操 作, 就通 过DMAC调 度将 结果 直接 写 入指定 的存 储器 地址( 即数组 变量 DMABuf[])中。实际的数据传输过程无须CPU干涉!
读接收方状态
No 允许发送? Yes 传送1个数据
No 传送结束? Yes
退出 查询方式传送数据的流程
查询方式单向传送数据 示例1
查询方式的ADC接口
2
查询方式双向传送数据 示例2
输出 缓冲
输出 状态
状态 查询
输入 状态 输入 缓冲
状态 状态
数据传送方式 — 中断方式传送
在数据传送过程中, 为了减少等待的 时间, 需要传送数据时, 先给对方产 生一个中断请求, 数据传送过程在其 中断服务程序中执行 释放等待时间, 降低CPU负荷 提高系统的实时性
D1-8 CK
Q1-8
Q1-8
D1-8 CK
U2
+5 D
Q
数值比较器
CK R
D型锁存器
D1-8 CK
U3
与门
SD7
或门 三态门
反相器 QD R CK DMAEN
SD0-7 DRACi IOW DRQi
RST
C1CS C2CS
地址 译码器
SA来自百度文库-9
4
计算机接口的定义和功能
计算机接口(Interface)的定义
接口是 “桥梁”, 是信息通道, 是计算机CPU和外设(执行机构,被测 对象)之间的信息通道
接口的主要功能
1)数据缓冲功能; 2)设备选择功能(寻址); 3)信号转换功 能; 4)信息交换的握手; 5)中断功能; 6)可编程功能
通过接口传送的信息
2. 根据“中断方式双向传送示例”的图,描述中断方式实现双向数据 传送的过程。
3. 根据“中断和查询组合方式传送数据示例”的图,描述中断和查询 组合方式实现双向数据传送的过程。
4. 根据“DMA方式传送数据示例”的图,描述DMA方式实现数据传 送的过程。模仿该图设计一个用DMA方式将内存中指定地址地址 单元的内容定时(由接口定时发出DMA传输请求)输出给一个8位 的锁存器的电路。
Exit
DMA方式传送数据 示例
DMA应答
DMA请求
示例: 定时完成AD转换, 结果 以DMA方式写到指定的内存中, 无须CPU干预该过程!
DMA通道使能 控制锁存器
Timer定时触发ADC启动转换,转换完成后EOC控制锁存器将ADC转换结果锁存在 外部锁存器中,并向DMAC发出DMA传输请求,在得到应答(DACK4)有效后, ADC结果到直接传送到存储器中
1)数据信息 (CPU或Memory与外设之间双向交换) 2)状态信息(包括计算机、接口和外设的状态) 3)控制信息
计算机接口控制 简单的平面机械手
接口应用实例
PC和机械手之 间通过2轴运动 控制卡(接口卡) 连接. 接口有哪些功 能? 需要传递 哪些信息? See next page.
计算机接口控制 简单的平面机械手
DMA方式传送数据编程
软件执行DMA操作过程: (1)DMAC初始化操作
unsigned char DMABuf[256]; DMAseg = FP_SEG(DMABuf); DMAoffset=FP_OFFSET(DMABuf);
CPU DMAC
DMAC初始化操作 打开DMA通道 DMA方式传输
/* 将DMAseg和DMAoffset写入DMAC控制寄存器, 定义了DMA传输的起始地址, 将单次DMA 传输的字节数写入DMAC控制寄存器, 定义数据块字节数 */
HLDA
HRQ
DRQ
DACK
Address
3
DMA方式传送数据流程
每个机器周期检查
Exit
有DRQn请求?
向CPU发HRQ
N HLDA=1? Y
进入DMA周期
发出DACKn
输出存储器地址
传送一个字节
MEMW – IOR MEMR - IOW
修改Mem地址
计数器值自减一
Y 是否继续?
N
Y 有新的DRQ? N
接口扩展卡(2-轴运动控制卡)的功能
连接计算机和两路DC电机、两路位置传感器(寻址能力) 接收计算机的控制指令,实现两个关节的连续控制(指令数据缓冲) 采集位置传感器(旋转编码器)信号变换为关节位置信号(信号变换) 实时控制(中断功能)
接口扩展卡(2-轴运动控制卡)上传送的信息
指令数据(计算机 → 接口) 状态信息(接口和马达↔ 计算机) 控制信息(计算机 → 接口/马达)
系统级接口,如网络接口
1
计算机接口的数据传送方式
无条件传送方式
接口简单,非可靠传输,单向传输
查询方式传送
接口简单,可靠传输,效率低,占用CPU时间
中断方式传送
接口简单,可靠传输,效率高,节约CPU时间,软件设计复杂
DMA方式传送
接口复杂,可靠传输,效率最高,不占CPU时间
数据传送方式 — 无条件传送方式