用FPGA实现DSP与液晶显示器的快速接口

发布者:GoldenHarmony最新更新时间:2006-08-25 来源: 电子技术应用关键字:寄存器  器件  时序 手机看文章 扫描二维码
随时随地手机看文章

  随着器件集成工艺的发展和Soc器件的出现,现在的数字系统正在越来越多地采用可编程器件设计。这样,不仅开发周期短,而且在价格和使用难易度上也显示了很大的优势。更为重要的是,还能利用器件的现场可编程特性,根据应用的要求对器件进行动态配置,简便易行地完成功能的添加或变化。

  在高速的数字信号处理系统中,要涉及到大量的计算,为了提高运算速度,正大量使用DSP器件。目前的可编程器件,其时钟频率可以很高,在高速数字信号处理系统中将发挥越来越大的作用。因此,DSP+FPGA的方案正越来越多地被电子工程师们采用。

  在很多的实际数字系统中,往往需要良好的用户界面,其中LCD是被大量采用的显示器件。由于LCD是典型的慢速设备(相对于DSP来讲),在与高速微处理器接口时,会耗费大量时间,这在高速系统设计中是不允许的。如果DSP有不太富裕的处理余量,如何利用它对LCD完成控制呢?仅仅在两者之间加入锁存器之类的简单接口电路,往往不能对LCD完成控制。不过,有了FPGA,就可以在不增加成本的情况下,在DSP和LCD之间设计一条双向的快速通道。

  1 DSP和LCD的时序

  TI公司是DSP在全球的主要供应商,其低价位的TMS320VC54x系列DSP深受广大电子工程师的青睐。下面以TMS320VC5416为例介绍DSP的时序。TMS320VC5416将寻址范围分为存储器空间、程序空间和I/O空间。其中,对I/O空间的操作由地址线、数据线和三根信号线IOSTRB、R/W和IS来完成,其时序图如图1所示。

  读操作和写操作由R/W信号线上的高低电平决定。如果不采用外部插入等待周期的方法,仅靠内部的等待周期设置寄存器,访问外部I/O空间时最多可以插入14个等待周期。如果DSP运行在100MHz的主频上(实际上TMS320VC16可以运行在最高160MHz的主频上),也只有0.14μs。这对于LCD来说来远远不够的。

  常见的192×64点阵的LCD(FM19264)实际上是由3块独立的64×64点阵LCD构成的,共享地址线和数据线,可由CS1、CS2和CS3分别选中。每小块LCD都有各自独立的指令寄存器和数据寄存器,由控制线D/I上的高低电平选择。数据的锁存或出现在数据线上由E信号决定。LCD主要控制管脚的功能如表1所示。对LCD写操作的时序图如图2所示。LCD的每次读写操作最少要1μs。如果能使DSP对LCD的访问象对高速设备访问一样,就能够最大限度地减小DSP资源的浪费,并且能够减少系统的复杂性,这就需要在FPGA中添加一个DSP与LCD之间的高速双向通道。

表1 LCD主要控制管脚功能

  对每块LCD的控制,是通过操作指令寄存器和数据寄存器实现的。在屏幕指定位置写入数据,要分三步(①写入行地址,②写入列地址,③写入数据)才能完成,不但耗时而且增加了软件编程的复杂程度。如果能够将指令和数据合在一起作为一条指令,那么设计一套简单的指令译码电路执行电路就可完成这项任务。

  2 硬件电路设计

  硬件框图如图3所示。LCD的原始控制指令如表2所示。

表2 LCD原始控制指令

  LCD的显示画面按8行为一页的方式进行划分,共64行分成8页。LCD具有列循环寻址功能,如果第一步设定了页地址和列地址,那么以后每次向LCD写入显示数据,列地址计数器就自动加一。除非再设定列地址,否则列地址就一直累加下去,直到63。这样就简化了写入工作。

  考虑到实际应用方便,可把一些常用的操作按指令的方式编码。所得到的DSP控制指令如下:

控制显示器开关:0010 0000 1111 111x

指定显示起始行:0100 0000 11xx xxxx

指定列地址和页地址:0110 0yyy yyyy yxxxy:

列地址(0~191)x:

行地址写入数据:1000 0000 xxxx xxxx

读显示器状态:1010 0000 0000 0000

读显示数据:1100 0000 0000 0000

  框图中微指令ROM在接口控制中起着决定性的作用,每条指令的执行都被看作一系列单步时序操作的集合。如果从ROM的某一地址开始依次读出ROM里的数据,那么在每一个数据位上就会出现随时间变化的电平跳变。这样就可以用它作为控制信号进行控制操作。由于ROM是并行输出的,如果用不同的数据位代表不同的控制信号线,就能很容量地实现各个信号线之间的同步操作。这样就能很容易形成时序图中的时序逻辑,而且扩展方便。在上述的指令表示中,通过对高3位进行译码,可以得到ROM寻址时的起始地址。ROM各个数据位的含义如下:

  其中,低七位是控制LCD的接口线,FREE是微程序执行完标志,每条指令所对应的微程序分为招待状态(有多条微指令,FREE位为0)和闲置状态(一条指令,FREE位为1)。当指令执行状态机检测到FREE位的上跳沿时,加载下一条指令。LD是数字寄存器从DSP获得数据时的加载信号,微程序执行过程中,在某些指令执行时需要加载数据,可由该信号完成。RD是数据寄存器从LCD读入数据的加载信号,主要完成从LCD读入数据。

  取指控制逻辑主要功能是根据FIFO的状态决定是否写入新的指令以及根据执行状态机的状态读入新的指令,填写状态寄存器,给出中断信号。

  根据上述硬件设计,DSP的软件设计就大大简化了。以写入数据为例,在写入数据前先查询一下接口模块的状态,如果可以写入就写入数据;否则保持现有数据指针,等待下次写入。一读一写两次外部I/O操作,如果按7个等待周期、主频100MHz计算,只有140ns,加上判断所需时间,200ns内就可以完成写入数据。这里,7个等待周期是考虑到系统内还其它器件。如果只是对该接口模块操作,两三个等待周期是没有问题的。这样,100ns内就可完成写入数据。

  在实际应用中,采用上述接口控制模块来完成LCD控制大大减轻了DSP的压力。推而广泛,这种方法还可以应用在其它慢速设备上,如打印机等,对于提高系统效率是比较有效的。需要指出的是,尽管这种方法能够建立双向快速通道,却是以占用可编程器件有限的资源为代价的。但是随着目前可编程器件容量的日益扩大,这个问题已不是很突出的了。

关键字:寄存器  器件  时序 引用地址:用FPGA实现DSP与液晶显示器的快速接口

上一篇:基于FPGA的多种形式分频的设计与实现
下一篇:扩展TINI的IO性能

推荐阅读最新更新时间:2024-05-13 18:13

STM32几种操作的寄存器版本和库函数版本对比
1、USART1接收完成标志检测 USART1- SR&0X40 == 0 USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET 2、USART1发送数据 USART1- DR = (u8) ch; USART_SendData(USART1,(u8)ch);
[单片机]
MSP430学习笔记2-跑马灯程序,熟悉定时器寄存器的配置
这个例子主要还是熟悉有关定时器A的寄存器配置以及IAR的配置方式。 /*********************************************** 程序功能:实现流水灯以三种流动方式和四种流动速度 的不同组合而进行点亮 流动 ------------------------------------------------ 拨码开关设置:将LED位拨至ON,其余拨至OFF 测试说明:观察流水灯流动顺序和速度的变化 ************************************************/ #include msp430x14x.h typedef unsigned int u
[单片机]
何力委员:拓展实施核心器件产品国家科技重大专项
    “政府工作报告大篇幅提科技讲创新,令人振奋。我们在讨论的时候,都表示期待政策能够早日落地!”今年政府工作报告中关于科技创新的诸多“干货”让科技科协界别的委员倍感鼓舞,但全国政协委员、中科院上海技术物理研究所学术委员会主任何力也指出,有些政策还需更加细化,需要配套政策来进一步落实。   “比如总理在政府工作报告里提出,对承担重大科技攻关任务的科研人员,要采取灵活的薪酬制度和奖励措施。这个政策非常好。但这些费用怎么支出呢?”何力委员认为,目前并没有相关的制度可以支持这一政策,对有突出贡献的科学家进行奖励,钱从哪里来?这都是很核心的问题。需要有配套政策来落地,做到可实施。“我们迫切希望总理的‘工作建议’能尽快变成政府的‘工作计划
[半导体设计/制造]
STM32F1x系列——串口通信
一 在STM32F1x系列串口通信实验中,常用的寄存器有: (1)USART_SR 状态寄存器 (2)USART_DR 数据寄存器 (3)USART_BRR 波特率寄存器 (4) USART_CR 使能位 二 串口操作相关的库函数(省略入口参数): (1)void USART_Init() ; //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能 (2)void USART_Cmd ; //使能串口 (3)void USART_ITConfig() ; //使能相关中断 (4)void USART_SendData() ; //发送数据到串口,DR (5)uint1
[单片机]
STM32F1x系列——串口通信
平均销售价格持续走低,印度芯片市场萎缩
虽然行业调查预测印度芯片市场在2006年达到了38亿美元的销售收入,但是,最新发布的修正调查结果发现,实际销售收入大约比那个数值要少1/3,即26.9亿美元。 市场观察家Frost & Sullivan的分析发现,造成预测与实际销售收入之间的差距巨大的原因在于,许多终端用户产品类的平均销售价格(ASP)急剧下滑。像移动电话这样的产品就占了大多数的差额。 虽然印度市场预测在2009年以前年复合增长率将达到26.7%,但是,全球芯片市场的增长率每年却是8%到9%。Frost & Sullivan的执行总监Anand Rangachary表示,“随着印度国内对电子产品需求的增长,印度正成为全球增长最快的地区之一。” 随着手机物料单
[焦点新闻]
COOLMOS器件在开关电源中的应用研究
1 主要特点 Infineon Technologies 公司的ICE2A165/265/365系列芯片是新型COOLMOS器件,该器件是PWM控制器和MOSFET开关管组合为一体的功率器件,它的主要特点如下: ●FET耐压为650V,导通电阻低; ●无需散热器即可输出较大的功率; ●具有过、欠压保护、过热保护、过流保护和自恢复功能; ●待机状态及空载时能自动降低工作频率,从而降低损耗; ●最低工作频率为21.5kHz,可以避免可闻噪声; ●电路结构简单,所需外部电路元件少,可大大减少开关电源的体积和重量,提高系统的可靠性。 由于ICE2A165/265/365系列芯片具有以上诸多特点,因而可广泛用于中、低
[电源管理]
ARM指令集和常用寄存器
1) ARM指令集 32位的 ARM指令和 16位 的Thumb指令 1,寄存器寻址 MOV R1, R2 //将寄存器R2的值传给寄存器R1 2,立即寻址 MOV R0, #0XFF00 //数据包含在指令中 3,寄存器偏移寻址 MOV R0, R2, LSL #3 //R2的值左移3位,结果放入 R0中 即 R0 = R2 * 8 LSL逻辑左移、 LSR逻辑右移、 ASL算术左移、 ASR算术右移、 ROR循环右移、RRX带扩展的循环右移 4,寄存器间接寻址 LDR R1, //将R2中的数值作为地址,取出此地址的数据保存在R1中 SWP R1,R1, //将R2中的数值作为地址 5,基址寻址 将基址寄存
[单片机]
ADSP系列数字信号处理器件的应用
    摘要: ADSP是AD公司生产的浮点式DSP系列产品,文中对几种ADSP系列产品的特点作了综合描述,指出了它们各自系列的特性和数据处理能力。最后给出了ADSP系列产品应用于数字滤波器的实现方法和程序。     关键词: 超哈佛结构  ADSP  多功能指令  自动缓冲  数字滤波器 DSP(Digital Signal Processing)芯片也称数字信号处理器,它是一种特别适合于进行数字信号处理运算的微处理器,其主要特点是能够实时快速地实现各种数字信号处理算法。自1980年以来,DSP芯片得到了突飞猛进的发展,现在DSP芯片的应用越来越广泛。美国模拟器件公司(Analog Devisces,简称
[嵌入式]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved