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 去接。 SPI4.2 总线简介 上一篇 / 下一篇 2010-09-13 22:50:43 / 个人分类:硬件家园 查看( 83 ) / 评论( 0 ) SPI4.2 即 System Packet Interface Level 4 Phase 2 的意思。是 OIF(Optical Internetworking Forum)组织提出的一种并行总线,主要用于链路层和物理层之间 的包数据传输,带宽为 10Gbps。SPI4.2 系统参考模型如下图所示。 SPI4.2 总线数据收发通道独立,宽度均为 16bit,采用 LVTTL 或 LVDS 单 端电平, 每根数据线上的最小数据速率为 622Mbps, 收发通道各有一路源同步参 考时钟,在时钟信号的上升沿和下降沿都对数据进行采样,参考时钟的最低频率 为 311MHz。SPI4.2 物理结构如下图所示。 1).TDCLK:数据发送通道随路时钟。TDCLK 与 TDATE,TCTL 信号同步, TDATE 和 TCTL 在 TDCLK 的上升沿和下降沿采样。 2).TDATE[15:0]:发送数据和带内控制信息。 3).TCTL:发送控制通道。TCTL=”1”时,TDATE[15:0]上传输的是控制字; TCTL=”0”时,TDATE[15:0]上传输的是数据。 4).TSCLK:发送 FIFO 状态参考时钟。与 TSTAT 信号同步。 5).TSTAT[1:0]:发送 FIFO 状态信号。 6).RDCLK:数据接收通道随路时钟。RDCLK 与 RDATE,RCTL 信号同步, RDATE 和 RCTL 在 RDCLK 的上升沿和下降沿采样。 7).RDATE[15:0]:接收数据和带内控制信息。 8).RCTL:接收控制通道。RCTL=”1”时,RDATE[15:0]上传输的是控制字; RCTL=”0”时,RDATE[15:0]上传输的是数据。 9).RSCLK:接收 FIFO 状态参考时钟。与 RSTAT 信号同步。 10).RSTAT[1:0]:接收 FIFO 状态信号。 嵌入式 CPU 与外设的总线研究 日期:2009-5-9 9:07:41 作者:admin 来源:深科特集团 文字 〖 大 中 小 〗 双击滚屏 当前嵌入式处理器的工作频率越来越高,其外部总线速率也大幅提升,当遇到读写周期十分缓慢的输 入/输出设备或需要定制外部总线速率时,就需要设计相应的外部硬件等逻辑电路。本文针对集成通信处 理器 MPC8272 在通信领域中的应用,讨论其与外设的总线适配问题。 MPC8272 介绍 MPC8272 是 Motorola 公司 2004 年推出的第 2 代 PowerQUC 通信。 该通信处理器采用 MPC603e 核心处 理器,核心处理器工作频率达 400 MHz,外部总线工作频率达 100 MHz,总线支持 32 位地址,64 位数据 位宽操作。另外该通信处理器内嵌一个 32 位 RISC 处理器的通信处理模块,集成有 MAC、FCC、SMC、 ATM、HDLC、UART、T1、USB、PCI 等设备通信接口,以及 1 个 60x 总线接口连接通用外围设备,非 常适用于通信控制领域的应用。 1.MPC8272 读写时序 . MPC8272 总线对外部器件的读、写访问是通过控制模块来实现的,存储器控制模块生成 8 个外部存储 器地址空间片选信号 CSO~CS7,每个片选信号对应 2 个主要控制寄存器 BR 和 OR,用它们来定义片选 信号所定义的地址空间和对等待状态数、读写选通信号的建立时间、激活时间、保持时间等的设置。 MPC8272 对外部器件数据读、写时序如图 1、图 2 所示。其中 tc 是外部总线工作时钟 Clock 的时钟周期, tRC 和 tWC 分别是读写指令周期,tW 是读写指令周期内插入的 Clock 时钟周期。当不使用外部输入信号 TA(数据传输确认信号)时,插入的时钟周期数由 0R 寄存器的 SCY 值确定,其值最大为 15 个时钟周期; 当使用外部输入信号 TA 时,插入的时钟周期数由其确定;当输入信号 TA 变低时(即外设数据准备好时), 处理器即可完成此次数据的读写操作。 MPC8272 的外部总线工作频率可达 100 MHz。当读写指令周期不插入时钟周期时,其外部总线指令周 期为 2 个时钟周期——20 ns,外部总线速率最高可达(50×N)Mbps(其中 N 为总线数据位宽)。该速率对于 一般通用外设来说是很高的,需调整 OR 寄存器的 SCY 值以降低总线速率与外设进行读写操作。插入最 大 15 个时钟周期时,外部总线指令周期最大为 17 个时钟周期——170 ns,此时外部总线速率最低为 (5.8×N)Mbps,该速率满足常用外设的总线读写要求。对于通信的一些特殊外设,如交换网络电路 MT90826、双口 RAM IDT71V321、TMS320VC5416 等接口,需采用处理器 MPC8272 的外部数据传输确 认信号 TA 并设计相应的外部硬件等待进一步降低总线速率或动态插入任何数目的等待时钟周期 tW,以 避免数据读写冲突,提高处理器总线效率和数据传输可靠性。 2.外设读写时序分析 .外设读写时序分析 作为语音通信产品,嵌入式处理器主要外设的工作是:话音交换矩阵完成话音交换;完成 DTMF 收发 号、FSK 来电号码显示以及会场话音融合等;双口 RAM 完成嵌入式处理器与其他处理器间的数据通信; 显示器用于参数设置或功能显示等。各外设的总线接口具有读、写周期长且不确定等特点,不能直接与 MPC8272 总线连接,需设计相应的外部硬件电路以满足外设的读写时序要求。以下分别对各外设接口进 行介绍。 MT90826 是 4 096×4 096 通道无阻塞大型话音交换矩阵电路, 支持 2. Mbps、 096 Mbps、 192Mbps 048 4. 8. 和 16.384.Mbps 等 ST—BUS 格式数据流。电路采用顺序写入控制读出交换机理,每个输出通道对应一 个连接寄存器。嵌入式处理器通过在输出通道的连接寄存器中写入输入通道的地址,完成输入与输出通道 话音数据流的交换。嵌入式处理器对 MT90826 的读写操作是否完成,可通过 MT90826 的数据传输确认信 号 DTA 指示,其时序如图 3 所示。当 DTA 信号在片选周期内由高变低后,表示嵌入式处理器可以结束本 次总线的读写操作了。tAKD 时间长短并不确定,其最大值为 240 ns,最小值为 0。 在一个系统中,可能存在多片数字信号处理器 TMS320VC5416,它们分别完成 DTMF 收发号、FSK 来电号码显示和会场话音融合等功能。TMS320VC5416 采用 8 位 HPI 接口与嵌入式处理器进行数据交 换,其通信原理与两个处理器之间采用双口 RAM 进行数据通信相似,即两处理器共享一段内存空间,分 不同时间对其读写操作。 当处理器 1 正在对一个内存地址操作(读或写), 而处理器 2 也需对其进行操作(写 或读)时,此时输出忙占用信号,处理器 2 需等待忙占用信号结束后才能完成本次写或读操作。 TMS320VC5416 与双口 RAM IDT71V321 的不同之处在于: 嵌入式处理器操作 IDT71V321 是直接内 存 操 作 , 而 嵌 入 式 处 理 器 操 作 TMS320VC5416 是 通 过 HPI 接 口 地 址 、 数 据 寄 存 器 间 接 操 作 TMS320VC5416 的内存空间的。另外,TMS320VC5416 的 HPI 接口忙信号 HRDY 为高电平有效, IDT71V321 接口忙信号 BUSY 为低电平有效。HRDY 和 BUSY 信号的产生均具有随机性,且随着总线 操作频率的增加而加大;忙等待时间 tRDY 和 tBUSY 也具有不确定性,与其通信的处理器运行速度的快 慢有关,读写时序如图 4 所示。 VGGl2864E 是 128×64 点阵 OLED 显示模块,读写时序如图 5 所示。该 OLED 模块的使能信号 E 的周 期 tEC 最小为 1 000 ns(相当于固定 1 Mbps 的总线速率),使能信号脉冲宽度 tEH、tEL 最小为 450 ns。嵌 入式处理器 MPC8272 若采用总线方式直接控制 0LED 模块,则 MPC8272 的读、写周期最大值为 170 ns, 其读、 写时序不能满足该 OLED 模块的要求, 需设计相应的外部硬件等待逻辑电路来扩展 MPC8272 的读、 写周期时长,以满足 OLED 模块的要求。 3.总线适配设计 . 快速嵌入式处理器与慢速外设的总线适配方法大致有 3 种:降低外部总线频率、调整片选控制寄存器 时钟周期数和使用外部输入确认信号 TA(Intel 处理器名为数据准备好信号 RDY,三星处理器名为总线周 期延长请求信号 nwait,它们的工作原理相同)。 降低嵌入式处理器外部总线频率可加长总线数据传输周期,达到与低速外设匹配的目的,但大大降低 了处理器的利用率和效率。该方法不可取。 调整嵌入式处理器片选控制寄存器的插入时钟周期数,可以满足总线周期固定且不大于处理器外部总 线周期的外设的要求,但不能满足总线周期不确定和大于处理器外部总线周期的外设的要求。例如, MPC8272 的外部总线工作频率为 100 MHz,外部总线指令周期最大为 170 ns,可以满足总线周期小于 170 ns 的外设的要求,但不能与 0LED 模块(周期为 l000 ns)连接。由于 TMS320VC5416 和 IDT71V321 接口的 不确定性,其总线也不能与嵌入式处理器总线直接连接,需使用其外部输入确认信号 TA 并设计外部逻辑 电路进行适配,以满足稳定、可靠的外部总线读写需要,其硬件连接如图 6 所示。MT90826 数据总线接 口为 16 位宽, 设置 MPC8272 的片选 CS4 为 16 位宽与其匹配; 其他外设数据总线均为 8 位宽, 共用 MPC8272 的片选 CS5,并与高位地址线 A18、A17 进行地址译码产生其他外设的片选使能信号。CEPM3064 的详细 设计如图 7 所示。 图 7 中, TA_N 是 MPC8272 的数据传输确认信号, 低电平有效, DSP HPI 接口数据准备好信号 HRDY 而 高电平有效,因此须反向;双口 RAM 忙指示信号(即数据未准备好)BUSY_N 低电平有效,须反向; OLED_RDY_N 是当外部总线为 100 MHz 时(SCLK 为 100MHz 外部总线时钟输入),插入 cnt=100 个时钟 周期(等待状态为 1s)后的数据准备好信号,低电平有效。功能模块 RDY_N 的相关 VHDL 描述如下: 这里由于采用了 CPLD,因此只需修改 VHDL 程序中参数 cnt 的值,就可方便地调整等待状态的时长, 如 O.5 s、2s、3s、4s 等,使用非常简单、快捷。定制固定 1 Mbps 总线速率时,只需将该片选的 cnt 值设为 100,即等待状态时长为 1s。 结束语: 结束语: 本文讨论了 MPC8272 与话音交换电路 MT90826,数字信号处理器 TMS320VC5416,双口 RAM IDT71V321,OLED 显示模块 VGG12864ES001 等的时序匹配问题和解决方案,以及定制固定 1MBPS 总 线速率的方法。 嵌入式处理器 MPC8272 与外设的总线适 配 相关专题: 电子应用 时间:2009-03-02 09:55 来源: icbuy 亿芯网 MPC8272 是 Motorola 公司 2004 年推出的第 2 代 PowerQUICC 通信处理器。该通信 处理器采用 MPC603e 核心处理器,核心处理器工作频率达 400 MHz,外部总线工作频率 达 100 MHz,总线支持 32 位地址,64 位数据位宽操作。另外该通信处理器内嵌一个 32 位 RISC 处理器的通信处理模块,集成有 MAC、FCC、SMC、ATM、HDLC、UART、T1、 USB、PCI 等设备通信接口,以及 1 个 60x 总线接口连接通用外围设备,非常适用于通信 控制领域的应用。 1 通信处理器 MPC8272 读写时序 MPC8272 总线对外部器件的读、写访问是通过存储器控制模块来实现的, 存储器控制模块生成 8 个外部存储器地址空间片选信号 CSO~CS7,每个片选 信号对应 2 个主要控制寄存器 BR 和 OR,用它们来定义片选信号所定义的地址 空间和对等待状态数、 读写选通信号的建立时间、 激活时间、 保持时间等的设置。 MPC8272 对外部器件数据读、写时序如图 1、图 2 所示。其中 tc 是外部总线工 作时钟 Clock 的时钟周期,tRC 和 tWC 分别是读写指令周期,tW 是读写指令周 期内插入的 Clock 时钟周期。当不使用外部输入信号 TA(数据传输确认信号)时, 插入的时钟周期数由 0R 寄存器的 SCY 值确定,其值最大为 15 个时钟周期;当 使用外部输入信号 TA 时, 插入的时钟周期数由其确定; 当输入信号 TA 变低时(即 外设数据准备好时),处理器即可完成此次数据的读写操作。 MPC8272 的外部总线工作频率可达 100 MHz。 当读写指令周期不插入时钟 周期时,其外部总线指令周期为 2 个时钟周期――20 ns,外部总线速率最高可 达(50×N)Mbps(其中 N 为总线数据位宽)。该速率对于一般通用外设来说是很高 的,需调整 OR 寄存器的 SCY 值以降低总线速率与外设进行读写操作。插入最 大 15 个时钟周期时,外部总线指令周期最大为 17 个时钟周期――170 ns,此 时外部总线速率最低为(5.8×N)Mbps,该速率满足常用外设的总线读写要求。 对于通信的一些特殊外设,如交换网络电路 MT90826、双口 RAM IDT71V321、 数字信号处理器 TMS320VC5416 等接口, 需采用处理器 MPC8272 的外部数据 传输确认信号 TA 并设计相应的外部硬件等待逻辑电路进一步降低总线速率或动 态插入任何数目的等待时钟周期 tW,以避免数据读写冲突,提高处理器总线效 率和数据传输可靠性。 2 外设读写时序分析 外设读写时序分析 作为语音通信产品,嵌入式处理器主要外设的工作是:话音交换矩阵完成话 音交换;DSP 完成 DTMF 收发号、FSK 来电号码显示以及会场话音融合等;双 口 RAM 完成嵌入式处理器与其他处理器间的数据通信;显示器用于参数设置或 功能显示等。各外设的总线接口具有读、写周期长且不确定等特点,不能直接与 MPC8272 总线连接,需设计相应的外部硬件电路以满足外设的读写时序要求。 以下分别对各外设接口进行介绍。 MT90826 是卓联公司开发的 4 096×4 096 通道无阻塞大型话音交换矩阵电 路,支持 2.048 Mbps、4.096 Mbps、8.192Mbps 和 16.384.Mbps 等 ST―BUS格式数据流。电路采用顺序写入控制读出交换机理,每个输出通道对 应一个连接寄存器。 嵌入式处理器通过在输出通道的连接寄存器中写入输入通道 的地址,完成输入与输出通道话音数据流的交换。嵌入式处理器对 MT90826 的 读写操作是否完成,可通过 MT90826 的数据传输确认信号 DTA 指示,其时序 如图 3 所示。当 DTA 信号在片选周期内由高变低后,表示嵌入式处理器可以结 束本次总线的读写操作了。tAKD 时间长短并不确定,其最大值为 240 ns,最小 值为 0。 在一个系统中,可能存在多片数字信号处理器 TMS320VC5416,它们分别 完成 DTMF 收发号、 FSK 来电号码显示和会场话音融合等功能。 TMS320VC5416 采用 8 位 HPI 接口与嵌入式处理器进行数据交换,其通信原理与两个处理器之 间采用双口 RAM 进行数据通信相似,即两处理器共享一段内存空间,分不同时 间对其读写操作。当处理器 1 正在对一个内存地址操作(读或写),而处理器 2 也 需对其进行操作(写或读)时,此时输出忙占用信号,处理器 2 需等待忙占用信号 结束后才能完成本次写或读操作。TMS320VC5416 与双口 RAM IDT71V321 的 不同之处在于:嵌入式处理器操作 IDT71V321 是直接内存操作,而嵌入式处理 器操作 TMS320VC5416 是通过 HPI 接口地址、数据寄存器间接操作 TMS320VC5416 的内存空间的。另外,TMS320VC5416 的 HPI 接口忙信号 HRDY 为高电平有效,IDT71V321 接口忙信号 BUSY 为低电平有效。HRDY 和 BUSY 信号的产生均具有随机性,且随着总线操作频率的增加而加大;忙等待时 间 tRDY 和 tBUSY 也具有不确定性,与其通信的处理器运行速度的快慢有关, 读写时序如图 4 所示。 VGGl2864E 是北京维信诺科技有限公司开发的 128×64 点阵 OLED 显示模 块, 读写时序如图 5 所示。 OLED 模块的使能信号 E 的周期 tEC 最小为 1 000 该 ns(相当于固定 1 Mbps 的总线速率), 使能信号脉冲宽度 tEH、 最小为 450 ns。 tEL 则 嵌入式处理器 MPC8272 若采用总线方式直接控制 0LED 模块, MPC8272 的 读、写周期最大值为 170 ns,其读、写时序不能满足该 OLED 模块的要求,需 设计相应的外部硬件等待逻辑电路来扩展 MPC8272 的读、写周期时长,以满足 OLED 模块的要求。 3 总线适配设计 快速嵌入式处理器与慢速外设的总线适配方法大致有 3 种: 降低外部总线频 率、 调整片选控制寄存器时钟周期数和使用外部输入确认信号 TA(Intel 处理器名 为数据准备好信号 RDY,三星处理器名为总线周期延长请求信号 nwait,它们的 工作原理相同)。 降低嵌入式处理器外部总线频率可加长总线数据传输周期, 达到与低速外设 匹配的目的,但大大降低了处理器的利用率和效率。该方法不可取。 调整嵌入式处理器片选控制寄存器的插入时钟周期数, 可以满足总线周期固 定且不大于处理器外部总线周期的外设的要求, 但不能满足总线周期不确定和大 于处理器外部总线周期的外设的要求。例如,MPC8272 的外部总线工作频率为 100 MHz,外部总线指令周期最大为 170 ns,可以满足总线周期小于 170 ns 的 外设的要求,但不能与 0LED 模块(周期为 l000 ns)连接。由于 TMS320VC5416 和 IDT71V321 接口的不确定性,其总线也不能与嵌入式处理器总线直接连接, 需使用其外部输入确认信号 TA 并设计外部逻辑电路进行适配,以满足稳定、可 靠的外部总线读写需要,其硬件连接如图 6 所示。MT90826 数据总线接口为 16 位宽,设置 MPC8272 的片选 CS4 为 16 位宽与其匹配;其他外设数据总线均为 8 位宽,共用 MPC8272 的片选 CS5,并与高位地址线 A18、A17 进行地址译码 产生其他外设的片选使能信号。CPLDEPM3064 的详细设计如图 7 所示。 图 7 中, TA_N 是 MPC8272 的数据传输确认信号, 低电平有效, DSP HPI 而 接口数据准备好信号 HRDY 高电平有效, 因此须反向; 双口 RAM 忙指示信号(即 数据未准备好)BUSY_N 低电平有效,须反向;OLED_RDY_N 是当外部总线为 100 MHz 时(SCLK 为 100MHz 外部总线时钟输入), 插入 cnt=100 个时钟周期(等 待状态为 1s)后的数据准备好信号, 低电平有效。 功能模块 RDY_N 的相关 VHDL 描述如下: 这里由于采用了 CPLD 芯片,因此只需修改 VHDL 程序中参数 cnt 的值, 就可方便地调整等待状态的时长,如 O.5 s、2s、3s、4s 等,使用非常简 单、快捷。定制固定 1 Mbps 总线速率时,只需将该片选的 cnt 值设为 100,即 等待状态时长为 1s。 4 总结 嵌入式处理器 MPC8272 内存控制模块和总线外部 TA 数据传输确认输人信 号,为其与常用外设和慢速外设通信的时序匹配设计提供了方便。本文给出了 MPC8272 与各种外设的时序匹配方法。该方法提高了嵌入式处理器的总线效率 和数据传输的稳定性及可靠性,并已在实际工程应用中正常使用,具有很强的适 用性和通用性

你可能感兴趣的:(硬件)