总线数据传输实验
- 格式:doc
- 大小:114.50 KB
- 文档页数:13
总线操作实现数据传输的方法
1. 写操作,写操作是指将数据从CPU或其他设备写入到总线上的特定地址或设备中。
在写操作中,CPU将要写入的数据放置在总线上,然后通过控制信号通知其他设备进行数据接收或处理。
2. 读操作,读操作是指将数据从总线上的特定地址或设备读取到CPU或其他设备中。
在读操作中,CPU发送读取请求到总线上的特定地址或设备,然后相应的设备将数据放置在总线上,CPU再将数据读取到自己的寄存器或内存中。
3. 中断操作,中断是一种异步的事件驱动机制,当外部设备需要CPU处理时,会通过总线发送中断请求信号给CPU,CPU在接收到中断请求后会保存当前运行的程序状态并跳转到中断处理程序,进行相应的数据传输和处理。
4. DMA操作,直接存储器访问(DMA)是一种特殊的总线操作方法,它允许外部设备直接和内存进行数据传输,而不需要CPU的直接参与。
DMA控制器在总线上控制数据传输的过程,从而实现高速数据传输。
总线操作实现数据传输的方法涉及到计算机系统中的硬件和软
件层面,需要考虑数据的读写、设备的控制、中断处理等多个方面。
在实际应用中,需要根据具体的系统架构和设备特性来选择合适的
总线操作方法,以实现高效稳定的数据传输。
山西大学自动化与软件学院课程实验报告实验课程计算机系统基础实验名称总线与寄存器实验实验地点线上实验时间 6.30 学生班级软件工程1808班学生学号 ************学生姓名指导教师一:实验要求理解并掌握总线与寄存器二:实验目的1、熟悉实验软件环境;2、掌握总线以及数据通路的概念及传输特性。
3、理解锁存器、通用寄存器及移位寄存器的组成和功能。
二、实验内容1、根据已搭建好的8位数据通路,熟悉总线连接的方法,理解74LS244芯片的作用,理解各相关信号在数据传输过程中起的作用;2、通过拨码开关置数,将数据传送到各寄存器,将寄存器中数据显示出来,熟悉常用的寄存器。
三、实验器件1、D触发器(74LS74、74LS175)、三态缓冲器(74LS244)。
2、寄存器(74LS273、74LS374 )和移位寄存器(74LS194)四、实验原理(见实验指导书)五、实验步骤注意:实验过程中应观察总线上及芯片引脚上显示的数据的变化情况,理解数据传送的过程和寄存器存数,从寄存器读数的原理。
实验(1)拨码开关输入数据至总线●====1;手动操作总线DIN上的拨码开关,在总线DIN上置位数据0x55,缓冲器244阻断。
比较总线DIN与BUS状态的异同。
●=0,比较总线DIN与BUS状态的异同,记录BUS总线的数据:BUS_7BUS_6BUS_5BUS_4BUS_3BUS_2BUS_1BUS_0BUS总线01010101AA实验(2)D触发器数据锁存实验●=0,===1;通过拨码开关改变74LS74的D端(即BUS总线的BUS_0)的状态,按照下表置位74LS74的端、端,观察并记录CLK端上升沿、下降沿跳变时刻Q端、端的状态,填观测结果于表中。
CLK D Qn Qn+1n+101××010 11010××001 10111↑0001 10111↑1010 110110(1)×010 110●74LS175的三态门244阻断(=1),拨码开关置位BUS总线数据,使74LS175的D端分别接高,低电平,观察并记录当CLK上升沿、下降沿跳变时Q端、端的状态。
实验报告实验日期:学号:姓名:实验名称:总线数据传输实验总分:一、实验设计方案➢实验框图➢实验原理1、SW_BUS低电平有效,此时将K[7..0]的数据送到总线,通过L[7..0]双向数据端口输出显示总线的数据,使用的芯片是74244八位单向三态缓冲器;2、R3_BUS、R2_BUS、R1_BUS低电平有效,其功能是将数据要传入的寄存器打开,假设相应的lddr为1〔高电平有效〕,将数据传入相应的寄存器;3、总线数据传输时,控制信号中只能有一个有效,寄存器的端口送至数据总线,所以每个BUS接口对应每个R寄存器的显示;4、通过读写的双重作用,实现R1和R2的数据交换。
➢表达式Reg3←Reg1;Reg1←Reg2;Reg2←Reg3➢方法一:vhdl代码library ieee;use ieee.std_logic_1164.all;entity exp_bus isport(clk:in std_logic;sw_bus,r1_bus,r2_bus,r3_bus:in std_logic;k:in std_logic_vector(7 downto 0);lddr:in std_logic_vector(3 downto 1);l:inout std_logic_vector(7 downto 0));end exp_bus;architecture rtl of exp_bus issignal r1,r2,r3,bus_Reg:std_logic_vector(7 downto 0);beginldreg:process(clk,lddr,bus_reg)beginif clk'event and clk='1' thenif lddr(1)='1'then r1<=bus_reg;elsif lddr(2)='1'then r2<=bus_reg;elsif lddr(3)='1'then r3<=bus_reg;end if;end if;end process;bus_reg<=k when (sw_bus='0'and r1_bus='1'and r2_bus='1'and r3_bus='1')else r1 when (sw_bus='1'and r1_bus='0'and r2_bus='1'and r3_bus='1')elser2 when (sw_bus='1'and r1_bus='1'and r2_bus='0'and r3_bus='1')elser3 when (sw_bus='1'and r1_bus='1'and r2_bus='1'and r3_bus='0')else(others=>'0');l<=bus_reg when (sw_bus='0' or r1_bus='0' or r2_bus='0' or r3_bus='0')else (others=>'Z');end rtl;➢方法二:bdf实验原理图二、功能验证➢波形图〔图〕:1 2 3 4 5 6 7 8 9 10➢操作步骤〔对应波形图列表说明每步状态、有效控制信号〕①设置初值,swr3r2r1_bus=1111,lddr=000,数据初始置k为00,总线输出为高阻态;②设置数据k=E1,swr3r2r1_bus=0111,lddr=001,将数据E1传至总线,通过L[7..0]显示总线数据,数据E1存入r1并显示出来;③swr3r2r1_bus=1110,lddr3=100,将R1的数据E1写入总线并存入R3,总线显示从R1传至总线的数据E1;④swr3r2r1_bus=1011,lddr=000,将R3的数据E1写入总线中;⑤设置数据k[7..0]=D2,swr3r2r1_bus=0111,lddr2=010,将数据D2传至总线并存入R2,通过L[7..0]显示总线数据D2;⑥swr3r2r1_bus=1101,lddr=100,将R2的数据D2写入总线并存入R3,总线显示从R2传至总线的数据D2;⑦swr3r2r1_bus=1011,lddr=000,将R3的数据D2写入总线中;⑧swr3r2r1_bus=1110,lddr=100,将R1的数据E1传至总线并存入R3中,实现R1数据传输到R3中,并显示数据E1;⑨swr3r2r1_bus=1101,lddr=001,将R2的数据D2传至总线并存入R1中,实现R2数据传输到R1中,并显示数据D2;⑩swr3r2r1_bus=1011,lddr=010,将R3的数据E1传至总线并存入R2中,实现R3数据传输到R2中,并显示数据E1,交换完毕。
总线数据传送控制实验总结
总线数据传送控制实验是一项主要着眼于电子器件与元器件之间的数据传送机制的实验。
该实验旨在通过针对同步总线和异步总线的控制信号与传输信息的实验,提高学生对于总线数据传输控制方面的认知。
而就本次实验所得出来的结论来看,我们可以总结如下几点:
1.总线传输控制方式
本实验主要考察了同步总线和异步总线的传输控制方式,通过实验对比我们可以得到,同步传输方式和异步传输方式都有其独特的控制信号和先后顺序。
此外,同步传输方式的机制能够更好地保证数据传输的准确性。
2.总线传输时序
除了掌握总线传输的控制方式,本实验还通过数据传输的时序响应来考察学生是否掌握了相应的知识。
在具体的实验中,通过所设定的时序响应实现了对于数据发送和接收的同步控制,学生能够通过实验和理论的结合来更好地掌握总线传输的时序知识。
3.总结
总的来说,总线数据传输控制是电子信息学科中非常重要的一类知识,具体实验操作和理论知识结合有助于学生更好地掌握总线传输控制的内容。
此外,如果能够结合实际场景进行分析、研究,不仅能够更好地理解和掌握相关知识,还能够提高学生的分析和解决问题的能力。
《数字电路与逻辑设计》仿真实验报告仿真实验1 三态输出门实现总线传输1. 仿真实验内容试用74LS125三态输出门和3-8译码器74LS138(或其它门电路),实现4路十进制数(BCD 码)的循环显示,4路显示数字可自行设定,显示效果如图1所示。
图1 仿真实验效果图总线传输4路十进制(BCD 码)信号示意图如图2所示。
总线输出图2 总线传输多路信号示意图2. 仿真实验电路设计(1)设计原理十进制数以二进制码表示需要4位,所以需要4根总线。
以四路1位数据总线为例,其原理电路如图3所示。
74LS125三态输出门的控制端为低电平有效,如EN 1’=0,EN 2’ =EN 3’ =EN 4’=1,则数据A 12传到总线上,而其余的3个三态门处于高阻状态;以此类推,若各门的控制端轮流处于低电平,其余3个控制端处于高电平,则可实现4路数据的总线传输。
可以用3-8译码器74LS138的四个输出信号Y 0’~ Y 3’作为控制信号,仿真时可以用仿真软件的字发生器从00~11循环产生,从而实现4个控制信号的自动循环有效。
总线输出图3 四路1位数据总线原理电路D 41D 31D 21D 11EN 4'EN 3'EN 2'1+VccA 1A 0 (2)仿真实验电路根据以上设计原理,设计的仿真实验电路如图4所示。
图4 仿真实验电路4. 仿真实验结果及分析(1)当字发生器输出为00时,总线数据为A12 A13A14 A15 =0010,数码管显示2,和设置的传输数据1一致,仿真实验结果如图5所示。
图5 仿真实验结果(2)当字发生器输出为01时,总线数据为A12 A13A14 A15 =0101,数码管显示5,与设置的传输数据一致,仿真实验结果如图6所示。
图6 仿真实验结果(3)当字发生器输出为10时,总线数据为A12 A13A14 A15 =0110,数码管显示6,与设置的传输数据一致,仿真实验结果如图7所示。
微机原理数据传送的实验数据传送是微机原理中非常重要的一部分,它是指在微机系统中将数据从一个地方传送到另一个地方的过程。
数据传送分为内部数据传送和外部数据传送两种。
内部数据传送主要是指在微机系统内部进行数据传送,常涉及到寄存器和存储器之间的数据传输。
寄存器是微机系统中用于暂时存放数据的地方,而存储器则是用于永久存储数据的地方。
在微机系统中,数据的传输主要是通过总线来实现的。
总线是连接CPU、存储器和输入输出设备的一种通信线路。
数据传输通过总线分为三个步骤:地址传输、数据传输和控制传输。
首先是地址传输。
CPU通过地址总线将要访问的存储单元的地址发送给存储器。
存储器接收到地址后,将对应地址的数据准备好待传输。
然后是数据传输。
CPU通过数据总线将数据发送给存储器。
存储器接收到数据后,将数据写入相应的存储单元。
或者CPU从存储器中读取数据,存储器将所需的数据通过数据总线发送给CPU。
最后是控制传输。
控制传输是控制数据传输的信号传输。
在数据传输过程中,控制信号包括读使能、写使能、读取信号和写入信号等。
读使能信号用于告诉存储器将数据写入总线,写使能信号用于告诉存储器从总线读取数据。
读取信号和写入信号是为了使数据传输的时序正确。
除了内部数据传送,微机系统还需要和外部设备进行数据传送。
外部设备包括键盘、显示器、鼠标等。
外部设备与微机系统的数据传输需要通过接口电路来实现。
接口电路是把外部设备的数据格式转换成微机系统可识别的数据格式的电路。
通过接口电路,外部设备的数据可以传送到微机系统中,或者由微机系统的数据传送到外部设备中。
在外部数据传输中,数据传输方式主要有并行传输和串行传输两种。
并行传输是指多位数据同时传输的方式,而串行传输则是指一位一位地进行数据传输。
总之,数据传送是微机系统中非常重要的一个环节,它涉及到内部数据传送和外部数据传送。
在内部数据传送过程中,需要通过总线来进行地址传输、数据传输和控制传输。
而外部数据传送则需要通过接口电路将外部设备的数据格式转换成微机系统可识别的数据格式。
《总线》实验报告关键信息项:1、实验目的2、实验设备3、实验原理4、实验步骤5、实验数据6、数据分析7、实验结论8、误差分析9、改进措施11 实验目的本次《总线》实验的主要目的在于深入理解总线的工作原理和特性,掌握总线的相关操作和应用。
通过实际操作和数据观测,增强对计算机系统中总线概念的认识,提高解决实际问题的能力。
111 具体目标包括1、熟悉总线的结构和功能。
2、掌握总线的数据传输方式和控制机制。
3、观察总线在不同工作状态下的性能表现。
12 实验设备1、计算机系统若干台。
2、总线实验设备及相关配件。
3、测量仪器,如示波器、逻辑分析仪等。
13 实验原理131 总线的概念总线是计算机系统中各个部件之间传输数据、地址和控制信息的公共通路。
它按照传输内容的不同,可以分为数据总线、地址总线和控制总线。
132 数据传输方式包括并行传输和串行传输两种方式。
并行传输速度快,但线路复杂;串行传输线路简单,但速度相对较慢。
133 总线仲裁当多个设备同时请求使用总线时,需要通过总线仲裁机制来确定总线的使用权。
14 实验步骤141 实验准备1、检查实验设备是否完好,连接是否正确。
2、熟悉实验设备的操作方法和相关软件的使用。
142 实验操作1、启动计算机系统和实验设备,进入实验环境。
2、进行总线的数据传输实验,设置不同的数据传输模式和参数。
3、观察总线的工作状态,记录相关数据和现象。
143 数据采集1、使用测量仪器采集总线在不同工作状态下的信号数据。
2、对采集到的数据进行整理和分类。
15 实验数据151 数据传输速率记录不同传输模式下的总线数据传输速率。
152 总线占用率统计总线在不同时间段的占用情况。
153 信号波形绘制采集到的总线信号波形图。
16 数据分析161 传输速率分析对比不同传输模式下的传输速率,分析影响传输速率的因素。
162 占用率分析研究总线占用率的变化规律,探讨其与系统性能的关系。
163 信号波形分析通过对信号波形的分析,判断总线的工作是否正常,是否存在干扰和错误。
一、实验目的1. 了解汽车总线的概念、作用和分类;2. 掌握汽车总线系统的基本组成和工作原理;3. 通过实验,验证汽车总线在实际应用中的可靠性和效率;4. 培养学生的动手能力和实际操作技能。
二、实验原理汽车总线是一种用于汽车内部电子设备之间进行数据传输和控制的通信网络。
汽车总线系统由通信线路、控制单元、执行单元和传感器等组成。
汽车总线可以降低布线成本,提高数据传输速度和可靠性,是实现汽车智能化和网络化的基础。
目前,常见的汽车总线有CAN(控制器局域网络)、LIN(局部互连网络)、FlexRay和MOST(媒体导向系统传输)等。
三、实验内容1. CAN总线实验(1)实验设备:CAN总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行CAN总线实验软件;② 配置CAN总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证CAN总线系统的可靠性和效率。
2. LIN总线实验(1)实验设备:LIN总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行LIN总线实验软件;② 配置LIN总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证LIN总线系统的可靠性和效率。
3. FlexRay总线实验(1)实验设备:FlexRay总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行FlexRay总线实验软件;② 配置FlexRay总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证FlexRay总线系统的可靠性和效率。
4. MOST总线实验(1)实验设备:MOST总线实验板、示波器、PC机等;(2)实验步骤:① 将实验板与PC机连接,运行MOST总线实验软件;② 配置MOST总线参数,如波特率、节点地址等;③ 发送和接收数据,观察示波器波形;④ 分析数据传输过程,验证MOST总线系统的可靠性和效率。
《计算机组成原理》实验报告实验名称:总线传输数据实验班级:
学号:姓名:
4、通用寄存器部件(
6、实验流程:即把数据从输入电路总线,通过总线送通用寄存器部件的R0,再由
通过总线送算术逻辑部件的移位寄存器,经移位寄存器右移或者左移后通过总线送通用寄存器的R1,最后把数据送到输出电路显示。
比较输入数据与输出数据,
数据在总线中传送的规律。
四、实验结果记录
连线准备(记录进行实验结果记录前的连线)
、连接实验一(输入/输出实验)的全部连线。
、按实验逻辑原理图连接寄存器单元的B-R0,B-R1正脉冲信号到控制单元。
一、实验目的1. 理解现场总线的基本概念和原理。
2. 掌握现场总线的硬件连接和软件配置方法。
3. 学习使用现场总线进行数据传输和设备控制。
4. 分析现场总线在实际应用中的优缺点。
二、实验原理现场总线(Field Bus)是一种用于工业自动化领域的通信网络,主要用于连接现场设备和控制系统。
它具有以下特点:1. 串行通信:现场总线采用串行通信方式,可以实现多节点之间的数据传输。
2. 多点通信:现场总线支持多点通信,可以实现多个设备之间的数据交换。
3. 抗干扰能力强:现场总线具有较好的抗干扰能力,可以在恶劣的工业环境中稳定运行。
本实验采用CAN总线(Controller Area Network)作为现场总线的通信协议,其基本原理如下:1. CAN总线采用双绞线作为传输介质,具有较高的抗干扰能力。
2. CAN总线采用多主从通信方式,任何一个节点都可以主动发送数据。
3. CAN总线采用帧结构进行数据传输,包括标识符、数据、校验和等字段。
三、实验内容1. 硬件连接(1)连接CAN总线模块和单片机开发板。
(2)连接电源线和地线。
(3)连接杜邦线,将CAN模块的TXD、RXD、GND等引脚与单片机开发板的相应引脚连接。
2. 软件配置(1)编写单片机程序,初始化CAN控制器,配置波特率、消息ID、接收滤波器等参数。
(2)编写数据发送和接收程序,实现节点之间的数据传输。
3. 实验步骤(1)启动单片机程序,初始化CAN控制器。
(2)发送数据:在主节点上编写发送程序,发送一个数据帧。
(3)接收数据:在从节点上编写接收程序,接收主节点发送的数据帧。
(4)分析接收到的数据,验证数据传输的正确性。
四、实验结果与分析1. 数据传输成功通过实验,成功实现了主从节点之间的数据传输。
发送的数据帧被从节点正确接收,验证了现场总线通信的正确性。
2. 波特率设置实验中,根据实际需求设置了不同的波特率。
结果表明,在不同波特率下,数据传输仍然稳定可靠。
总线基本实验的实验心得
总线基本实验的实验心得
在进行总线基本实验的过程中,我学到了许多关于计算机硬件组成和数据传输的知识。
总线是计算机内部各个组件之间进行数据传输的通道,了解总线的原理对于理解计算机的工作原理至关重要。
在实验中,我们使用了一块开发板和一些简单的电路元件来模拟计算机内部的总线系统。
首先,我们学习了总线的基本分类,包括地址总线、数据总线和控制总线。
地址总线用于传输内存和外设的地址信息,数据总线用于传输实际的数据,控制总线用于传输控制信号。
我们进行了一些基本的实验,比如向特定地址写入数据、从特定地址读取数据等。
通过这些实验,我更加深入地了解了总线的工作原理。
我发现,当我们向特定地址写入数据时,数据会通过数据总线被传输到指定的地址;而当我们从特定地址读取数据时,数据会通过数据总线被传输到我们指定的接收器。
在实验过程中,我也遇到了一些问题。
比如,我在写入数据时经常会出现错误,导致数据传输不成功。
后来我发现,在编程时需要设置正确的地址和数据,同时还要确保总线的连接没有问题。
另外,我还发现,总线的传输速率也会影响数据传输的成功与否,因此在写入或读
取数据时需要根据总线的特性来设置合适的传输速率。
总的来说,总线基本实验是一个非常有趣和实用的实验。
通过这个实验,我不仅加深了对总线的理解,还提高了解决问题的能力。
我相信这些知识和经验对我今后的学习和工作都会有很大的帮助。
汽车can总线实验报告汽车CAN总线实验报告一、实验目的1. 了解汽车CAN总线的基本原理和工作方式;2. 学会使用CAN总线进行数据通信;3. 掌握CAN总线的调试方法。
二、实验器材1. CAN总线模块;2. CAN总线调试软件;3. CAN总线通信设备。
三、实验步骤1. 连接CAN总线模块和计算机:将CAN总线模块的CAN_H和CAN_L线分别连接到CAN总线通讯设备的CAN_H和CAN_L端口。
然后将CAN总线通讯设备的USB端口连接到计算机上。
2. 打开CAN总线调试软件:启动CAN总线调试软件,并选择正确的通讯设备。
3. 设置CAN总线模块的参数:在CAN总线调试软件中设置CAN总线的参数,包括波特率、滤波模式等。
4. 开始通信:在CAN总线调试软件中点击“开始”按钮,开始进行CAN总线通信。
5. 发送数据:在CAN总线调试软件中选择要发送的CAN帧的ID和数据,并点击“发送”按钮。
6. 监测数据:在CAN总线调试软件中监测接收到的CAN总线数据帧,包括ID 和数据。
7. 分析数据:通过分析接收到的数据帧,判断CAN总线的数据传输是否成功。
8. 模拟故障:可以在CAN总线调试软件中模拟故障,比如断开CAN总线的连接,观察CAN总线的通信情况。
9. 结束实验:实验完成后,关闭CAN总线调试软件和计算机。
四、实验结果1. 成功建立CAN总线通信:在实验过程中,通过设置正确的CAN总线参数,成功建立CAN总线通信。
2. 数据传输成功:经过多次实验,发现发送的CAN帧的数据能够成功传输到接收端,并且数据的准确性也得到了验证。
3. 故障模拟结果:在模拟故障的情况下,可以观察到CAN总线的通信中断,并且可以通过CAN总线调试软件得到相应的报错信息。
五、实验总结通过本次实验,我们对汽车CAN总线的基本原理和工作方式有了更深入的了解,并且掌握了使用CAN总线进行数据通信的方法。
我们学会了通过CAN总线调试软件进行CAN总线的参数设置、数据发送和数据接收,并且可以通过模拟故障的方式来验证CAN总线的稳定性和可靠性。
cna总线实验报告
CNA总线实验报告
在现代汽车工程中,CNA总线技术扮演着非常重要的角色。
CNA总线是一种用于车辆网络通信的标准,它能够实现车辆内部各个控制单元之间的数据交换和
通信。
为了验证CNA总线技术的可靠性和稳定性,我们进行了一系列的实验,并撰写了以下报告。
实验一:CNA总线通信速度测试
我们首先对CNA总线的通信速度进行了测试。
通过将多个控制单元连接到
CNA总线并发送大量数据,我们测量了数据传输的速度和稳定性。
实验结果表明,CNA总线的通信速度非常快,且在高负荷情况下仍然能够保持稳定的数据
传输。
实验二:CNA总线的抗干扰能力测试
为了验证CNA总线在复杂电磁环境下的抗干扰能力,我们进行了一系列的抗干扰实验。
通过在实验室中模拟各种电磁干扰环境,我们测试了CNA总线在不同干扰条件下的数据传输稳定性。
实验结果表明,CNA总线具有很强的抗干扰能力,能够在复杂电磁环境下保持稳定的通信。
实验三:CNA总线的可靠性测试
最后,我们对CNA总线的可靠性进行了测试。
通过长时间的运行实验,我们验证了CNA总线在长时间使用过程中的稳定性和可靠性。
实验结果表明,CNA
总线能够在长时间使用过程中保持稳定的数据传输,具有很高的可靠性。
综合以上实验结果,我们得出结论:CNA总线技术具有很高的通信速度、抗干
扰能力和可靠性,能够满足现代汽车工程中对于数据通信的高要求。
我们相信,
CNA总线技术将在未来的汽车工程中发挥越来越重要的作用,为汽车行业的发展带来更多的创新和进步。
.实验三数据通路(总线)实验一、实验目的(1)将双端口通用寄存器堆和双端口存储器模块联机;(2)进一步熟悉计算机的数据通路;(3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法;(4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验电路图8示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。
双端口存储器的指令端口不参与本次实验。
通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。
由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。
此外,DBUS上还连接着双端口通用寄存器堆。
这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。
双端口存储器RAM已在存储器原理实验中做过介绍,DR2运算器实验中使用过。
通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的MC14580并联构成的寄存器堆类似。
RF内含四个8位的通用寄存器R0、RI、R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。
写入端口取名为WR端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。
输出端口取名为RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。
RS端口(B端口)的数据输出还可通过一个8位的三态门RS0(U15)直接向DBUS输出。
双端口通用寄存器堆模块的控制信号中,RS1、RS0用于选择从RS端口(B 端口)读出的通用寄存器,RD1、RD0用于选择从RD端口(A端口)读出的通用寄存器。
而WR1、WR0则用于选择从WR端口写入的通用寄存器。
WRD是写入控制信号,当WRD=1时,在T2上升沿的时刻,将暂存寄存器ER中的数据写入通用寄存器堆中由WR1、WR0选中的寄存器;当WRD=0时,ER中的数据不写入通用寄存器中。
总线数据传输实验实验报告实验日期:学号:姓名:实验名称:总线数据传输实验总分:一、实验设计方案➢实验框图➢实验原理1、SW_BUS低电平有效,此时将K[7..0]的数据送到总线,通过L[7..0]双向数据端口输出显示总线的数据,使用的芯片是74244八位单向三态缓冲器;2、R3_BUS、R2_BUS、R1_BUS低电平有效,其功能是将数据要传入的寄存器打开,若相应的lddr为1(高电平有效),将数据传入相应的寄存器;3、总线数据传输时,控制信号中只能有一个有效,寄存器的端口送至数据总线,所以每个BUS接口对应每个R寄存器的显示;4、通过读写的双重作用,实现R1和R2的数据交换。
➢表达式Reg3←Reg1;Reg1←Reg2;Reg2←Reg3➢方法一:vhdl代码library ieee;use ieee.std_logic_1164.all;entity exp_bus isport(clk:in std_logic;sw_bus,r1_bus,r2_bus,r3_bus:in std_logic;k:in std_logic_vector(7 downto 0);lddr:in std_logic_vector(3 downto 1);l:inout std_logic_vector(7 downto 0));end exp_bus;architecture rtl of exp_bus issignal r1,r2,r3,bus_Reg:std_logic_vector(7 downto 0);beginldreg:process(clk,lddr,bus_reg)beginif clk'event and clk='1' thenif lddr(1)='1'then r1<=bus_reg;elsif lddr(2)='1'then r2<=bus_reg;elsif lddr(3)='1'then r3<=bus_reg;end if;end if;end process;bus_reg<=k when (sw_bus='0'and r1_bus='1'and r2_bus='1'and r3_bus='1')else r1 when (sw_bus='1'and r1_bus='0'and r2_bus='1'and r3_bus='1')else r2 when (sw_bus='1'and r1_bus='1'and r2_bus='0'and r3_bus='1')else r3 when (sw_bus='1'and r1_bus='1'and r2_bus='1'and r3_bus='0')else (others=>'0');l<=bus_reg when (sw_bus='0' or r1_bus='0' or r2_bus='0' or r3_bus='0')else(others=>'Z');end rtl;➢方法二:bdf实验原理图二、功能验证➢波形图(图):1 2 3 4 5 6 7 8 9 10➢操作步骤(对应波形图列表说明每步状态、有效控制信号)①设置初值,swr3r2r1_bus=1111,lddr=000,数据初始置k为00,总线输出为高阻态;②设置数据k=E1,swr3r2r1_bus=0111,lddr=001,将数据E1传至总线,通过L[7..0]显示总线数据,数据E1存入r1并显示出来;③swr3r2r1_bus=1110,lddr3=100,将R1的数据E1写入总线并存入R3,总线显示从R1传至总线的数据E1;④swr3r2r1_bus=1011,lddr=000,将R3的数据E1写入总线中;⑤设置数据k[7..0]=D2,swr3r2r1_bus=0111,lddr2=010,将数据D2传至总线并存入R2,通过L[7..0]显示总线数据D2;⑥swr3r2r1_bus=1101,lddr=100,将R2的数据D2写入总线并存入R3,总线显示从R2传至总线的数据D2;⑦swr3r2r1_bus=1011,lddr=000,将R3的数据D2写入总线中;⑧swr3r2r1_bus=1110,lddr=100,将R1的数据E1传至总线并存入R3中,实现R1数据传输到R3中,并显示数据E1;⑨swr3r2r1_bus=1101,lddr=001,将R2的数据D2传至总线并存入R1中,实现R2数据传输到R1中,并显示数据D2;⑩swr3r2r1_bus=1011,lddr=010,将R3的数据E1传至总线并存入R2中,实现R3数据传输到R2中,并显示数据E1,交换完毕。
➢数据记录➢仿真结论波形仿真逻辑功能验证正确,通过总线数据传输的原理,用一个八位单向三态缓冲器74244和三个带三态输出的八位寄存器74374实现了数据的显示和交换。
三、实验日志➢实验问题Q1. 在使用bdf实验原理图方法中的仿真未出现L~resultA1. 在对L[7..0]的定义中将bidir双向数据端口定义为output单向数据端口➢思考题Q1. 总线数据传输的基本特性是什么?A1. 总线是一组进行互联和传输信息(指令、数据和地址)的信号线,总线的基本特性是不允许挂在总线上的部件同时有一个以上的部件向总线发出信息,但允许挂在总线上的多个部件同时从总线上接收信息。
Q2. 从74374和74244内部电路结构图上说明它们的逻辑功能?A2. 74244是八位单项三态缓冲器,使用了两个反相器(端口是1G和2G)和8个三态缓冲器构成,所以低电平有效,在有效时,输入传至输出,当1G、2G为高电平即无效时,输出端口为高阻态;74374是带三态输出的八位寄存器,低电平有效,由一个反相器,8个D锁存器和8个三态反相器所构成。
OEN是控制端口,为高电平时,输出为高阻态,低电平时有效,时钟的上升沿触发,将输入传至输出端口,时钟处于低电平时,输出保持不变。
Q3. 实验电路中BIDIR端口的用途是什么?A3. BIDIR是双向数据端口,实际应用中,数据总线是双向的,所以要有双向的数据端口,不仅做信号的输入也做信号的输出。
Q4. 举例说明画电路图中连线bus line(粗线)和node line(细线)区别。
总线与支线命名方式是什么?A4. 在电路图中,lddr[3..1]是粗线,通过它的命名方式可以知道lddr有三条与之对应的支线,分别是lddr[3]、lddr[2]、lddr[1],这三条分线要与总线对应命名。
Q5. 实验需要互换R1和R2数据,但是电路图中R3的连线有问题,错在哪里?为什么?A5. 电路图中R3的连线错误在于R3的输出支线命名全是LE,只是用来显示R3上的数据,而无法让R3上的数据传至总线,所以更改方法是将R3的输出与R1,R2一样,全部改为L,那么便可向总线传输数据。
Q6. exp_bus.vhd代码中如何实现双向总线的端口定义与缓冲?A6. 双向总线线的端口定义是通过inout 来实现的。
Q7. 写出exp_bus.vhd代码中(others=>”Z”)的其他描述方式?A7. 高阻态。
Q8. 编写VHDL的组合逻辑是如何实现多路选择器?A8. 用when …else…的语句来实现的。
bus_reg<=k when (sw_bus='0'and r1_bus='1'and r2_bus='1'and r3_bus='1')elser1 when (sw_bus='1'and r1_bus='0'and r2_bus='1'andr3_bus='1')elser2 when (sw_bus='1'and r1_bus='1'and r2_bus='0'and r3_bus='1')elser3 when (sw_bus='1'and r1_bus='1'and r2_bus='1'and r3_bus='0')else(others=>'0');Q9. 编写VHDL代码时如何为寄存器赋初值?A9. bus中当出现一个或一个以上为0,那么便会将bus_reg赋值给l;当不出现0时,总线为高阻态,从而实现了给寄存器赋初值。
l<=bus_reg when (sw_bus='0' or r1_bus='0' or r2_bus='0' or r3_bus='0')else(others=>'Z');➢实验总结本次实验明白了数据传送的过程和具体操作,了解如何单个开启数据传送,如何控制数据流的方向,并掌握总线数据传输的原理。