Local-Bus总线原理
- 格式:docx
- 大小:333.29 KB
- 文档页数:6
l-bus工作原理L-Bus工作原理L-Bus是一种用于数据传输和通信的总线协议,它具有高效、可靠和灵活的特性。
本文将介绍L-Bus的工作原理,包括其传输方式、通信协议和数据处理流程。
一、传输方式L-Bus采用串行传输方式,即将数据位逐位地通过一根传输线进行传输。
传输线上通过不同的电平表示0和1,即逻辑低和逻辑高。
传输线由发送器和接收器连接,通过发送器将数据转换为电平信号发送到传输线上,接收器则将传输线上的电平信号转换为数据。
二、通信协议L-Bus使用一种简单而高效的通信协议,其中包括数据帧的格式和通信规则。
1. 数据帧的格式L-Bus的数据帧由起始位、数据位、校验位和停止位组成。
起始位用于标识数据帧的开始,数据位包含要传输的数据,校验位用于检验数据的正确性,停止位用于标识数据帧的结束。
2. 通信规则L-Bus的通信规则包括数据的发送和接收过程。
发送过程中,发送器将数据按照数据帧的格式进行编码,并通过传输线发送出去。
接收过程中,接收器从传输线上接收数据,并按照数据帧的格式进行解码。
解码后,接收器可以获得发送器发送的原始数据。
三、数据处理流程L-Bus的数据处理流程主要包括数据发送和数据接收两个步骤。
1. 数据发送数据发送的过程如下:1) 发送器准备要发送的数据,并按照数据帧的格式进行编码。
2) 发送器将编码后的数据逐位地发送到传输线上。
3) 接收器从传输线上接收数据,并按照数据帧的格式进行解码。
4) 解码后,接收器获得发送器发送的原始数据。
2. 数据接收数据接收的过程如下:1) 接收器从传输线上接收数据,并按照数据帧的格式进行解码。
2) 解码后,接收器获得发送器发送的原始数据。
3) 接收器对接收到的数据进行处理,可以根据需要进行存储、分析或进一步传输。
四、总结L-Bus是一种高效、可靠和灵活的总线协议,通过串行传输方式实现数据的传输和通信。
它采用简单而高效的通信协议,包括数据帧的格式和通信规则。
95PowerPC8640处理器Local Bus 锁存时机浅析强凯1,周晓光2,雷偲凡1(1.中国航空工业集团公司西安航空计算技术研究所;2.陆军装备部航空军代局驻西安地区航空军代室,陕西西安710065)摘要:随着嵌入式系统技术迅速发展,PowerPC 处理器以其实时性好、运算能力强和接口丰富等特点被广泛应用于嵌入式设计中。
PowerPC+FPGA 架构为PowerPC 嵌入式系统最常用架构,两者之间通过Local Bus 总线相连,实现对外功能扩展。
Local Bus 为并行地址数据复用总线,地址锁存时机的选择对Local Bus 总线稳定工作尤为重要。
文章基于Power-PC8640处理器通过设计和测试验证给出了其Local Bus 地址锁存同步设计和异步设计的方法。
关键词:嵌入式;PowerPC ;FPGA ;Local Bus 中图分类号:V267文献标识码:A 文章编号:1673-1131(2019)11-0095-020引言以PowerPC 处理器为核心的嵌入式系统设计广泛应用于当今航空、船舶以及其它电子领域,围绕PowerPC 处理器的嵌入系统通常在处理器外围附加诸多接口,如:高速总线(Rapi-dIO 、PCI-e )、局部并行总线(Local Bus )、UART 串行总线、I2C 总线以及以太网等,通过以上总线接口实现多种对外通信功能,其中局部并行总线通常采用外接FPGA 来实现对外功能扩展,如FLASH 访问、RS422、RS485等功能。
Local Bus 总线为并行地址数据复用总线,地址锁存时机尤为重要,直接决定其工作稳定性。
1原理研究本文研究基于PowerPC8640+FPGA 架构嵌入式系统,PowerPC8640通过Local Bus 和FPGA 里的双口RAM 进行数据读写传输。
Local Bus 为并行地址数据复用总线,Power-PC8640具有一个Local Bus 控制器,LAD 数据地址线为32位,其中LAD [0:26]为地址复用线,对外提供读、写控制信号、时钟以及8路片选等控制信号。
1.冯·诺依曼计算机的特点✧计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成。
✧存放在存储器内,并可按地址访问。
✧✧✧✧机器已运算器为中心,输入输出设备与存储器间的数据传送通过运算器来完成。
2.以存储器为中心的计算机结构框图:3.计算机组成框图:4.ALU和CU是CPU的核心部件。
✧ALU, Arithmetic Logic Unit〕简称算术逻辑部件,用来完成算术逻辑运算。
✧5.M,各种逻辑元件及控制电路等。
存储体由许多存储单元组成,每个存储单元又包含假设干个存储元件,每个存储元件能存放一位二进制代码“0〞,“1〞。
6.,即按地址访问存储器。
〔访存〕7.运算器〔ALU〕和控制器〔CU〕组成CPU,再加存储器〔主存和辅存〕构成主体,最后加上输入输出设备构成硬件。
8.MAR 与MDR✧存储器地址存放器,用来存放要访问的存储单元的地址,其位数对应存储单元的个数〔MAR为10位,那么有210=1024个存储单元〕✧存储器数据存放器,用来存放从存储体某单元取出的代码或者准备往某单元存入的代码,器位数和存储字长相等。
9.运算器最少包括3个存放器和一个算术逻辑单元〔ALU〕,其中ACC(Accumulator)为累加器,MQ〔Multiplier-Quotient Register〕为乘商存放器,X为操作数存放器。
10.✧11.控制器的三个阶段:✧。
✧✧12.✧✧。
IR中的操作码〔OP(IR)〕送至CU,记作OP(IR)→→MAR。
✧13.计算机硬件的主要技术指标:机器字长、存储容量和运算速度。
14.机器字长:✧CPU一次能处理数据的位数,通常和CPU的存放器位数有关。
它直接影响加法器,数据总线以及存储字长的位数。
15.存储容量:✧存储器的容量应该包括主存和辅存容量。
✧= 存储单元个数X 存储字长。
〔MAR的位数反映了存储单元的个数,MDR的位数反映了存储字长〕。
✧16.17.。
第二章计算机的开展和应用1.计算机的产生和开展:✧第一代电子管计算机〔Electrionic Numerial Integrator And Computer, ENIAC〕✧第二代晶体管计算机✧第三代集成电路计算机✧第四代大规模和超大规模集成电路第三章系统总线1. 计算机系统的五大部件之间的互联方式有两种:✧✧2.✧ 在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接受相同的信息。
地址线和数据线工作原理地址线(Address Bus)是一组用于传输地址信息的线路或导线。
计算机系统的每个内存单元都有一个唯一的地址,用来指示数据在存储器中的位置。
地址线就是传输这个地址信息的通道。
地址线的数量取决于计算机系统的寻址能力,也就是能够寻址的内存单元的总数量。
例如,32位系统能够寻址的内存空间为2^32(约为4GB),因此至少需要32根地址线。
同样地,64位系统需要64根地址线来寻址更大容量的内存。
地址线的工作原理如下:1.内存地址传递:处理器通过地址线将要访问的内存地址发送给内存控制器。
2. 地址解码:内存控制器接收到地址信息后,将其解码为单个内存单元的选择信号(chip select signal),指示需要操作的特定内存区域。
3.数据传输:内存控制器根据地址线选择的内存单元,将其中存储的数据通过数据线发送给处理器。
数据线(Data Bus)是一组用于传输数据的线路或导线。
处理器和内存之间的数据传输使用数据线进行。
数据线的数量取决于计算机系统的数据传输能力,即一次可以传送的数据位数。
例如,32位系统一次可以传输32位的数据,所以至少需要32根数据线。
同样地,64位系统有64根数据线。
数据线的工作原理如下:1.数据传送:处理器将需要写入内存的数据发送给内存控制器,或者接收从内存中读取的数据。
2.数据解析:内存控制器接收到数据后,将其解析为单个数据位,并根据读写信号确定要写入内存的位置或要读取的数据的位置。
3.数据传输:内存控制器根据解析后的数据位,将数据通过数据线发送给内存,或者从内存中读取数据后通过数据线发送给处理器。
除了地址线和数据线,还有其他类型的线路用于传输控制信号,如控制线(Control Bus)。
控制线用于传输与处理器和内存之间的控制信号,包括读写信号、时钟信号、中断信号等。
这些信号是用于协调处理器和内存之间的操作。
总结起来,地址线用于传输内存地址信息,数据线用于传输数据,它们是计算机系统中连接处理器和内存的重要通道。
l-bus工作原理L-Bus工作原理L-Bus(Local-Bus)是一种局域总线,广泛应用于工业自动化、机器人控制、自动化仪器等领域。
它是一种串行通信总线,用于连接各种设备和模块,实现数据的传输和控制。
L-Bus的工作原理基于主从架构,其中包括一个主站和多个从站。
主站负责发送指令和接收数据,从站负责接收指令和发送数据。
主站和从站之间通过L-Bus进行通信。
L-Bus使用差分信号传输数据,其中包括正向信号和负向信号。
正向信号和负向信号的电平差异表示二进制数据的0和1。
这种差分信号传输方式具有抗干扰能力强、传输距离远等优点,适用于工业环境中的噪声和干扰较大的场景。
L-Bus采用主机轮询的方式进行通信。
主站按照一定的时间间隔轮询各个从站,发送指令并接收数据。
从站在接收到指令后,根据指令内容执行相应的操作,并将执行结果发送给主站。
主站根据从站的响应情况,决定是否继续轮询下一个从站。
L-Bus的通信速率可以根据具体的应用需求进行调整。
通常情况下,L-Bus的通信速率较低,一般在几千位每秒到几十万位每秒之间。
这种较低的通信速率可以确保通信的可靠性和稳定性,避免数据传输过程中的错误和丢失。
除了基本的数据传输功能,L-Bus还支持多种通信方式,如广播通信、单点通信和多点通信。
广播通信是指主站向所有从站发送相同的指令,适用于需要同时控制多个设备的场景。
单点通信是指主站与某个指定的从站之间进行通信,适用于只需要与某个特定设备进行交互的场景。
多点通信是指主站与多个从站之间进行独立的通信,适用于需要与多个设备同时进行交互的场景。
总结起来,L-Bus是一种基于串行通信的局域总线,采用差分信号传输数据。
它具有抗干扰能力强、通信稳定可靠的特点。
通过主从架构和主机轮询的方式实现数据的传输和控制。
除了基本的数据传输功能,还支持广播通信、单点通信和多点通信等多种通信方式。
L-Bus在工业自动化、机器人控制等领域发挥着重要的作用,为各种设备和模块之间的通信提供了可靠的解决方案。
fpga的localbus接法FPGA的Local Bus接法FPGA(Field Programmable Gate Array)是一种具有高度灵活性的数字电路,它可以在硬件级别上重新编程以执行特定的功能。
要在FPGA 中实现各种功能,必须了解如何将外设连接到FPGA核心。
其中一种常见的连接方法是使用Local Bus接口。
在本篇文章中,我们将详细介绍FPGA的Local Bus接法,从基础概念到具体操作步骤一步一步进行解释。
第一部分:Local Bus接口介绍Local Bus是一种用于连接FPGA核心和外设的高带宽、低延迟的接口。
与其他接口(如SPI或I2C)相比,Local Bus接口可以提供更高的数据传输速度和更大的带宽,因此适用于要求更高性能和更复杂数据传输的应用。
Local Bus接口通常由多条并行数据线、地址线、控制线和时钟线组成。
数据线用于在FPGA和外设之间传输数据,地址线用于指定外设的寻址,控制线用于发送读写和其他控制信号,时钟线用于同步数据传输。
第二部分:Local Bus接口的硬件连接在连接FPGA与外设之前,需要了解FPGA和外设的电气特性以确定正确的连接方法。
通常,FPGA和外设之间的连接使用标准的电平转换电路,以确保信号的正确传输。
在连接之前,首先需要确定FPGA的电源和地线引脚。
这些引脚通常标有VCC(电源)和GND(地线)的标签。
确保正确连接电源和地线是确保系统稳定性的关键步骤。
接下来,根据外设的要求,确定连接的数据线、地址线、控制线和时钟线的数量。
这些引脚的数量通常与外设的数据传输需求有关。
根据需要,连接相应数量的数据线、地址线、控制线和时钟线到FPGA的引脚。
在连接之前,还应考虑信号的阻抗匹配问题。
通常,使用电阻和电容等器件来提供适当的阻抗匹配,以确保信号的正确传输和消除信号反射。
第三部分:Local Bus接口的软件配置一旦硬件连接完成,就需要在FPGA的设计工具中进行相应的软件配置。
第7讲Cadence原理图中总线的使用方法目录1、放置总线 (2)2、放置任意转角的总线 (2)4、把信号连接到总线 (2)5、重复放置与总线连接的信号线 (3)6、总线使用中的注意事项 (4)7、在不同页面之间建立电气连接 (5)8、总结: (6)第7讲总线的使用方法1、放置总线Place--Bus或者快捷键B2、放置任意转角的总线任意走线,走线之前按住shift3、总线命名规则Alias命名规则:baseName[0:N]总线是N+1位,baseName不能以数字结尾;然后将Net Alias放置到总线上。
4、把信号连接到总线信号线通过bus entry和总线相连。
5、重复放置与总线连接的信号线快捷操作:放置1根bus entry线之后,按住F4,可以一直放置bus entry线。
然后将芯片管脚与bus entry相连,在导线上放置net alias快捷操作:重复命名,可以按住ctrl+左键拖动上一根已经命名好的线,这样就能重复命名导线了。
或者按住F4,也能重复上一次动作。
6、总线使用中的注意事项1、总线和信号线之间,它们之间的连接,只能通过net alias这种方式,网络名称的方式连接。
总线名称和信号线名称之间:这两个圈圈处的名字,必须一致。
2、信号线与总线之间,用bus entry的这种方式,连接。
如果Wire与总线直接相连,wire与总线之间实际是没有电气连接的。
总线与总线之间连接,会构成实际的电气连接。
如果两个总线交叉相连,那么系统默认两根线之间是没有电气连接的。
在交叉点处,放置一个junction,两个总线之间就有实际的连接了。
7、在不同页面之间建立电气连接在一个页面中放置Off-page connector,然后在另外一个页面中放置同样名称的off-page Connector。
只要两个页面的off-page connector的名称一样,那么这两个点就已经有电气连接了。
8、总结:理解Cadence软件是使用网络名称建立电气连接的。
Local Bus总线原理
相信搞硬件的朋友都应该对Local Bus总线非常熟悉,在当今的通信电子领域中,几乎所有的CPU小系统中都有它的身影。
Local Bus总线又称为CPU 总线,根据高低位地址线序的差异,又可分为Motorola CPU总线和Intel CPU 总线。
古老的CS51单片机就是Intel CPU总线的典型代表,而我们常用的Power PC就是Motorola CPU总线架构,它是从60X总线衍变过来的(60X总线支持64、32、16、8四种可选位宽模式),由于Local Bus总线是直接从60X总线上通过桥片分出来的,所以它和60X总线是同步同频的,进行数据数据读写时与60X
总线共享带宽,不需要内核提供额外的处理。
如下图所示:
Device Bus(数据/地址复用总线解复用后的Device Bus叫Local Bus)总线一般采用数据/地址线复用的形式,通常为32位宽,使用时需要将总线的数据和地址分离出来再分别接到目标器件的数据和地址端口,如连接到低速设备时还需要通过Buffer起来来进行驱动和隔离。
在早期的设计中,通过用信号锁存器来分离总线中的数据和地址(如经典锁存器SN74LVC16373),不过现在基本上都是通过逻辑器件CPLD来进行解复用的。
利用锁存器373对Device Bus总线数据/地址解复用原理如下图所示。
在上图中,L_ALE是地址锁存信号,低电平有效,当L_ALE出现一个低电平脉冲时,锁存器的输入端口对LAD[31:0]信号进行采样、锁存并从输出端口输出,直到下一个L_ALE低电平脉冲到来时,其输出状态才发生改变,Device Bus 总线在输出地址信号时将L_ALE信号驱动为低电平,输出数据信号时,将L_ALE 驱动为高电平,锁存器正式利用这个特点轻松实现Device Bus总线上数据和地址的分离。
Local Bus总线上的数据读写分为同步模式和异步模式。
在同步模式下,需要一个外部时钟信号供接收端和发送端共用,利用时钟信号的上升沿对数据进行采样,SDRAM、SSRAM等高速信号使用同步模式;异步传输模式下,不使用时钟信号对数据进行采样(芯片内部还是需要有系统参考时钟来产生时序的),而是利用片选信号CS、写使能信号WE和读使能信号OE对数据进行采样,使用异步模式的器件有FLASH、BOOTROM等。
♦Device Bus总线数据及控制信号列表及功能说明:
1).LAD[31:0]:数据/地址复用信号,数据线宽度可设为8、16、32为三种模式;地址线根数可根据实际存储空间大小来选取,比如,16根地址线可支持的寻址空间大小为(针对8位宽存储器件,16位宽存储器件需要乘以2,其他类推):216=65536Byte=64KByte。
做为地址线时是单向输出,三态总线,LVTTL 电平。
做为数据线时是输入/输出双向信号,三态LVTTL。
2).CS_L:Chip Select,器件片选信号,低电平信号,Local Bus总线上每个器件都有一个独立的CS_L信号,某个器件上的CS_L信号为低电平时表示这个器件被选中,Local Bus总线主控制器可以对其进行读写操作;
3).WE_L:Write Enable,写使能信号,低电平有效,Local Bus总线上的WE_L信号为低电平时,表示在进行写操作,在异步传输模式下,它与CS_L
信号配合对写数据进行采样;
4).OE_L:Output Enable,读使能信号,跟WE_L类似,在异步传输模式下与CS_L信号配合对读数据进行采样;
5).ALE_L:地址锁存信号,低有效,其功能已经在前面介绍过了,不在赘述;
6).Rdv:应答信号,对读写操作进行应答;
7).INT:中断输入信号;
8).RST_L:复位信号;
9).CLK:参考时钟信号,只在同步传输模式下使用,异步模式下不使用,设计中将其悬空即可。
实际应用中,一般只使用LDA/CS_L/WE_L/OE_L/ALE_L这些信号,其他信号作为选用。
上面介绍的是针对Intel CPU总线的,Motorola CPU总线有一点点差异,后者将OE_L和WE_L合并成一根控制信号,称为R/~W,当其为高电平时表示“读”操作,为低电平时表示“写”操作。
另外,后者还有一个DS控制信号,当其为低电平时表示总线上传输的数据是有效的,否则为无效。
如果Local Bus总线上挂SDRAM等高速存器器件时还需要行列选择信号RAS和CAS以及数据奇偶校验信号DP。
♦CPU总线的大端模式和小端模式
Intel系列的CPU总线是小端模式,也叫Little-endian byte ordering,其特点是低有效字节在低地址位,高有效字节在高地址位。
Motorola CPU及Power PC架构总线是大端模式,也叫Big-endian byte ordering,其特点是低有效字节在高地址位,高有效字节在低地址位。
所以在使用大端模式总线连接外部器件时需要将地址线进行倒序,即最高位地址线与外部器件的最低地址位相连,最低地址位地址线与外部器件的最高地址位相连,其他依次连接。
♦Local Bus总线的读写时序
下图为FLASH器件MX29LV002CBTI的读时序,该FLASH器件提供的Local Bus接口,Addresses信号是从Local BUS地址信号(已经解复用了),Outputs 是Local bus的数据信号。
在第一个时钟周期内,Address信号线上传输的是目标器件的地址信号,此时CS#、OE#、WE#都处于高电平无效状态,并且Outputs 输出的数据无效。
在第二个时钟周期内,CE#变为低电平,表示目标器件已经被选中,接着OE#也变为低电平(大多数情况下,CS#和OE#几乎是同时有效的),表示开始进行读操作,主控制器在CE#和OE#都为低电平有效的时候对Outputs上的数据进行采样(通常做一定的延时后再采样,以保证采样数据的正确性),采样到的数据即为要读取的数据。
WE#和OE#不会同时变低的,因为Local Bus总线是半双工工作方式,不可能同时进行读写两种操作。
(点开看清楚大图)
下图为FLASH器件MX29LV002CBTI的写时序,在WE#和CS#同时为低有效的情况下,Flash器件从数据总线上采样数据,然后写到指定的地址空间里去。
对比下这两个图,我们会发现,读操作时,OE#信号差不多在ADD Valid周期的中间部分有效,而写操作时,WE#信号几乎在ADD Valid周期的开始部分有效,为什么有这个差异呢?其实想想也不难,因为读操作流程是:总线控制器给目标器件发读取数据指令,等目标器件收到指令后再将总线控制器要读取的数据传回来,这中间有线路的延时及目标器件的延时。
而写操作则不然,可以将写操作命令和要写的数据同时传到目标器件那边去,几乎没什么延时。
♦Local Bus总线的典型应用如下图所示:
如上图所示,CPLD对Device bus总线进行了解复用后连接到FPGA、FLASH和NVRAM(CPLD可以对Local Bus总线的大小端模式进行切换),利用CS0_L、CS1_L和CS2_L三根片选信号线来区分Local bus总线上的三个器件。
FPGA使用了32根数据线中的16根,32根地址线中的26根。
我们再仔细看一下其地址线标号,为A[26:1],我们也许会疑问,会不会是搞错了啊,怎么不是从最低位地址AO开始啊?是的,我没有写错,你也没有看错,实际上就是从A1开始的。
这是因为当数据线宽度为16位双字节模式(也叫WORD模式,四个字节叫DWORD模式,单字节叫BYTE模式)时,Local bus总线的A1变为地址的最低位(A0悬空不用),用它去连接器件的最低位地址线A0。
这其实也很好理解,因为对于同样大的存储空间来说(我们可以将存储空间想象纵横交错的棋盘状),当数据线D(棋盘中的横线)增加一倍的情况下(从8位增加到16位),要想保持数据线和地址线的乘积不变(存储空间容量不变),那么就要将地址线减少一半(对于译码前的数据线来说,就是减少一根线)。
下面的NVRAM用的是8位BYTE模式,所以最低位地址仍然用A0去接。