100MHz 数字存储示波表样机的研究与试制----显示数据传输电路
5.2显示数据传输电路
显示数据在整个系统的流向如图4-6.模拟信号经AD采样进来后通过FIFO进入DSP处理,处理完的数据随后存入SRAM3.SRAM3中的数据经FIFO2送入SRAM1和SRAM2.当要显示波形时,SRAM1、SRAM2分时复用,将显示数据再经过FIFO2送至液晶显示。系统中,SRAM1、SRAM2、SRAM3都为单口RAM,所以主要存在以下两个问题:1.合理分配SRAM3的地址总线、数据总线分时被DSP和FPGA2占用的问题;2.正确协调SRAM1和SRAM2分时复用送显示数据的问题。
5.2.1 SRAM3的总线占用
解决SRAM3总线占用问题的关键是由DSP发出的XF信号(如图4-7)。当XF为低电平时,SRAM3的读写、片选信号ram3_rws[2..0]由DSP发出的读写和片选信号DSP_RWS[2..0]控制,同时DSP的数据、地址线通过74244和SRAM3的数据、地址线连接起来,并利用XF作为选通信号。当XF为高电平时,SRAM3固定为读信号和片选信号有效,此时SRAM3中的数据通过FIFO2进入SRAM1和SRAM2.DMA_A[17..0]是FPGA里地址计数器产生的往SRAM1和SRAM2中写数据时的地址。这样,我们就可以通过控制XF的高低来选择是谁占用SRAM3的总线。
5.2.2 SRAM1和SRAM2的分时复用
所谓分时复用就是指两片显示存储器SRAM1和SRAM2依次向液晶提供显示数据。它的工作原理如图4-8所示。其中,View_S由XF反相后二分频得到。
图中各部分的工作状态如下:
1. RAM3经FPGA2向RAM2里写数据。同时,RAM1的数据送LCD显示。
2. DSP向RAM3里写数据。同时,RAM2的数据送LCD显示。
3. RAM3经FPGA2向RAM1里写数据。同时,RAM2的数据送LCD显示。
4. DSP向RAM3里写数据。同时,RAM1的数据送LCD显示。
它的具体工作电路如图4-9.
图中,DMA_RWS[2..0]为固定的读信号和片选信号有效。VIEW_A[15..0]为显示时读显示RAM的地址。DMA_A[15..0]为写显示RAM时的地址。这两个地址都由FPGA中的地址计数器产生。
数字存储示波器的显示基本包括两部分,一部分是界面显示部分,包括菜单的显示,光标的显示等,另一部分是波形显示部分,波形显示部分是随时在更新的,而菜单显示部分更新的次数是很少,一般在不按键操作的情况下是很少改变的。所以我们采用分页显示,即将显示存储空间分成两个区间,每个区间都是一屏显示所需的空间即为240×320×2÷8=19200Bytes.一个区间用来显示菜单,光标等不常刷新的界面,一个区间用来显示波形,LCD显示时将两个存储区间里的对应地址的数据通过硬件电路相或以后再送LCD显示。这样在软件处理是节省了重复刷屏的时间,也简化了软件的编写。图4-10为由显示RAM中两个的数据区间相或后送到LCD显示的电路。其中SHIFT和SHIT1分别两个区间的地址计数器的计数时钟,它们的时钟脉冲要求在一个CP周期内完成,即两个区间的数据读取必须在一个CP时钟周期内才能保证正确的数据显示。
第六章串行接口通讯
在很多现场测试场合,工程技术人员都需要获得某种形式的测量结果的硬拷贝,以便以后作为参考资料使用,或者设备报告发生错误动作时需要查看以往的资料。另外,在很多情况下我们需要把示波表中的信号传往PC机,同时在某些情况下,我们也可能希望用PC机来对示波表进行控制,以上这些情况都要求示波表具有通讯能力。也就是说,示波表必须装有通讯硬件以及其支持的软件。我们称此通讯用软硬件为"接口"。常用的接口有两种,RS-232接口和通用接口总线(GPIB),后者又称为IEEE-488总线。与并行接口相比,串行接口的最大特点是减少了器件引脚数目,降低了接口设计复杂性。
串行通信是指数据按位依次传输,串行通信中要求发送和接受双方必须遵守统一的规定,这样才能保证正常进行,这些对数据传送方式的规定就是通信协议,通信协议包括数据格式和时间限制等方面的定义和要求等,通信协议可由用户自己制定,也可采用标准通信协议。
串行数据传输可分为同步和异步两种模式。通用PC机的RS-232接口为通用异步接口UART(Universal Asynchronous Receiver and Transmitter),而MOTOROLA公司的串行外围设备接口SPI、队列SPI(QSPI)、PHILIPS公司的内部IC总线(I2C),National公司的微总线(MICROWIRE)均为同步串行协议。目前几乎所有的数字信号处理器都提供了一个或多个串行接口,然而,多数DSP芯片提供的是同步串口。在实际的应用中,也需要DSP能够与外设进行异步串行通信,如与PC机进行串行数据传输就要求DSP系统具UART串行接口。针对这种情况,本文研究并实现了一种简单、可靠的异步串口扩展方法。
实际设计中,我们采用美国MAXIM公司的MAX3111串行异步收发器,与DSP的McBSP口直接连接,将同步数据变换为UART异步数据格式进行传输。硬件上无需任何其它外围器件,同时由于异步数据的发送和接收由MAX3111以硬件方案实现,所以软件编程需要考虑的也只是DSP与MAX3111之间的同步数据通信。这样,用最简单的硬件连接和软件编程就能实现同步到异步的串行数据格式转换。
6.1 McBSP的功能与特点