总线数据传输实验
- 格式: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总线系统的可靠性和效率。
总线数据传输实验实验报告实验日期:学号:姓名:实验名称:总线数据传输实验总分:一、实验设计方案➢实验框图➢实验原理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');➢实验总结本次实验明白了数据传送的过程和具体操作,了解如何单个开启数据传送,如何控制数据流的方向,并掌握总线数据传输的原理。