输。
总线传输实验框图
一、读写控制逻辑实验
1、连线说明:
CBus单元:M_nIO、nRD、nWR、nINTA(JP42) CBus单元:nM_RD、nM_WR、nIO_RD、nIO_WR (JP50) —— —— 开关区单元:K15..K12(JP92) 扩展区单元:JP67 注意:nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。
2、打开实验仪电源,按CON单元的nRST按键,复位实验仪
3、如果EXEC键上方指示灯点亮,表示实验仪在运行状态;否则,按一次EXEC键,使EXEC键上方指示灯点亮
4、对MEM进行读操作(M_nIO = 1、nRD = 0、nWR = 1),按CON单元的uSTEP键,在T2、T3时刻,扩展区单元JP67对应的DS159指示灯熄灭,DS160-DS162指示灯点亮,表示nM_RD读信号在T2、T3时刻有效
5、对MEM进行写操作(M_nIO = 1、nRD = 1、nWR = 0),按CON单元的uSTEP键,在T2时刻,扩展区单元JP67对应的DS160指示灯熄灭,DS159、DS161、DS162指示灯点亮,表示nM_WR写信号在T2时刻有效
6、对I/O进行读操作(M_nIO = 0、nRD = 0、nWR = 1),按CON单元的uSTEP键,在T2、T3时刻,扩展区单元JP67对应的DS161指示灯熄灭,DS159、DS160、DS162指示灯点亮,表示nIO_RD读信号在T2、T3时刻有效
7、对I/O进行写操作(M_nIO = 0、nRD = 1、nWR = 0),按CON单元的uSTEP键,在T2时刻,扩展区单元JP67对应的DS162指示灯熄灭,DS159-DS161指示灯点亮,表示nIO_WR写信号在T2时刻有效
二、基本输入输出功能的总线接口实验。
1、根据挂在总线上的几个基本部件,设计一个简单的流程: ①输入设备将一个数打入R0寄存器。 ②输入设备将另一个数打入地址寄存器。
③将R0寄存器中的数写入到当前地址的存储器中。
④将当前地址的存储器中的数通过OUT单元用LED数码管显示。 2、连线说明: CBus单元:M_nIO、nRD、nWR、nINTA(JP42) ALU单元:rR0、wR0 ALU单元:IN0..IN7(JP22) MAR单元:nMAROE、wMAR(JP13) MAR单元:D0..D7(JP14) 存贮器MEM单元:A0..A7(JP72) 存贮器MEM单元:D0..D7(JP73) 存贮器MEM单元:M_nRD、M_nWR(JP71) IN单元:IN0..IN7(JP101) IN单元:nRD —— —— —— —— —— —— —— —— —— —— 开关区单元:K5..K12(JP92) 开关区单元:K9、K8 iDBus单元:JP37 开关区单元:K11、K10(JP94) iDBus单元:iD0..iD7(JP38) ABus单元:A00..A07(JP56) DBus单元:D0..D7(JP53) CBus单元:nM_RD、nM_WR (JP44) DBus单元:D0..D7(JP52) CBus单元:nIO_RD(JP49) IN单元:nCS OUT单元:nWR(JP68) OUT单元:nCS OUT单元:JP69 OUT单元:JP70 —— —— —— —— —— 扩展区单元:GND CBus单元:nIO_WR(JP48) 扩展区单元:GND DBus单元:D0..D7(JP54) 扩展区单元:JP65
注意:nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。 3、具体操作步骤图示如下:
在星研软件的工具条中选择“简单模型机实验”,打开简单模型机实验的数据通路图。 (1)拨动开关区单元开关:M_nIO = 1、nRD = 1、nWR = 1、nINTA = 1、rR0 = 1、wR0 = 1、wMAR = 1;nMAROE = 0(允许地址寄存器MAR输出到地址总线)
(2) 打开实验仪电源
(3)通过输入设备(IN单元)将数据55H写入R0寄存器
将IN单元置01010101,wR0 = 0,允许写寄存器R0,M_nIO = 0、nRD = 0、nWR = 1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻IN单元输出数据,在T3的下降沿IN单元输出的数据写入R0。
wR0 = 1,结束写R0操作
(4)读R0中数据写入存贮器MEM的15H单元
将IN单元置00010101,wMAR = 0,允许写MAR,M_nIO = 0、nRD = 0、nWR = 1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。wMAR = 1,结束写MAR操作。
rR0 = 0,允许读寄存器R0;M_nIO = 1、nRD = 1、nWR = 0,允许写存贮器;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的时刻完成对存贮器的写入操作。
rR0 = 1, M_nIO = 1、nRD = 1、nWR = 1,结束写MEM操作。 (5)将当前地址的存贮器中数据读出,写入R0寄存器中。
将IN单元置00010101,wMAR = 0,允许写MAR,M_nIO = 0、nRD = 0、nWR = 1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。wMAR = 1,结束写MAR操作。
wR0 = 0,允许写寄存器R0;M_nIO = 1、nRD = 0、nWR = 1,允许读存贮器;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻MEM单元输出数据,在T3的下降沿MEM单元输出的数据写入R0。
wR0 = 1,M_nIO = 1、nRD = 1、nWR = 1,结束写R0操作。 (6)读R0寄存器,数据写入OUT单元,用数码管显示数据。
rR0 = 0, 允许读寄存器R0;M_nIO = 0、nRD = 1、nWR = 0,允许写I/O设备;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的下降沿,R0寄存器输出的数据写入OUT单元。rR0 = 1、M_nIO = 1、nRD = 1、nWR = 1,结束本次操作。
三、实验结果及分析
本次实验由于是2人完成,由我的学号作为地址,将另一个人的学号输出。
四、思考题
1.本实验系统中外设的读写控制信号如何得到的?对外设的读、写控制信号能不能同时发出?对存储器呢?
本实验系统中外设的读写控制信号是拨开关得到的,对外设的读、写控制信号不能同时发出,对存储器的读、写控制信号也不能同时发出。
2.总线上的部件输出数据时为什么要加三态门?
三态门是一种扩展逻辑功能的输出级,也是一种控制开关。主要是用于总线的连接,因为总线只允许同时只有一个使用者。通常在数据总线上接有多个器件,每个器件通过OE/CE之类的信号选通。如器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影响其它器件的工作。
实验三 具有中断控制功能的总线接口实验
具有 DMA控制功能的总线接口实验
一、实验目的
DMA控制信号线的功能和应用;掌握在系统总线上设计 DMA控制信号线的方法。
二、实验内容
直接存贮器传送DMA是指将外设的数据不经过CPU直接送入存贮器,或者,从存贮器不经过CPU直接送往外围设备。一次DMA传送只需要执行一个DMA周期,能够满足一些高速外设数据传输的需要。现在流行的ARM类CPU,内部集成有多个DMA控制器,允许SD卡、USB、CAN、串口、AD、DA等与存贮器之间通过DMA方式传输数据,可以大大减少占用CPU的时间。
DMA控制器(简称DMAC)传输数据时,需要占用总线,总线的控制权需要在CPU和DMAC之间切换,这就需要控制总线提供相应的信号,实现这种切换,避免总线竞争。
外设需要DMA传输时,向DMAC提出请求,DMAC通过控制总线HOLD信号向CPU提出DMA请求;CPU在当前总线周期结束时,响应DMA请求:释放总线控制权,发出有效HLDA信号给DMAC;DMAC接受总线控制权,开始DMA传输,传送完毕后,撤销HOLD信号,释放总线控制权;CPU收回总线控制权,同时使HLDA信号失效。
实验原理图
如上图所示,CPU在每个机器周期的T3时刻结束时锁存DMA请求HOLD,如果有DMA请求,生成有效的HLDA信号,(1)锁住CPU时钟信号,使T1、T2、T3均无效,冻住CPU(2)释放控制总线、数据总线、地址总线,外部总线都处于高阻状态;DMAC接受总线控制权,等DMA传输完毕,撤消HOLD信号;CPU在每个时钟周期,检查HOLD信号,监测到无效的HOLD的信号后,(1)CPU输出时钟信号,使CPU可以继续工作(2)收回控制总线、数据总线、地址总线控制权。
在本实验中,检查U36(74HC245,CPU内外数据总线缓冲器)、U37(74HC245,CPU内外地址总线缓冲器)的OE脚,判断CPU是否失去数据总线、地址总线的控制权;通过检查CBus单元的nIO_RD、nIO_WR、nM_RD、nM_WR信号,检查CPU对控制总线的控制权。
三、实验结果及分析