DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 101|回复: 0
打印 上一主题 下一主题

基于Blackfin DSP的液晶接口设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 23:19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要 ADI公司的Blackfin系列处理器具有强大数据处理和控制能力,在仪器控制、音视频处理等系统中应用广泛。在应用中显示输出是必要的,文中根据Blackfin DSP处理器的特点介绍了一种简单实用的液晶接口设计方法。
关键词 Blackfin;BF532;TFT LCD

    TFT LCD液晶显示器与数码管和点阵液晶相比具有体积小巧、控制简单、可以显示丰富多彩的图像视频信息。文中以ADSP_BF532为例介绍了一种Blackfin DSP处理器与TFT LCD液晶显示器的接口设计,在Blackfin DSP的系统设计中具有一定的参考价值。

1 Blackfin DSP处理器与TFT LCD液晶屏简介
    Blackfin DSP处理器是基于ADI公司和Intel公司联合开发的微信号架构(MSA)的一种16位定点DSP处理器,具有较强的数据处理能力,能够完成视频、图像、音频和通信数据的数字化处理等。同时还具有综合控制能力,单芯片即可完成通常由DSP+控制器完成的功能。Blackfin DSP处理器可广泛应用在各种嵌入式设备、仪器中,完成系统控制和数据处理。
    PPI(Parallel Port Interface)接口是Blackfin DSP处理器的并行数据接口,主要用于数据的高速传输。它包括16位数据线,3个同步信号和一个时钟信号。PPI接口直接与DMA通道整合,数据传输宽度可灵活配置,支持8位、10~16位等多种数据宽度。PPI的工作模式有两种:通用模式(GP模式)和ITU-656模式,其中通用模式下可方便地与数字液晶屏连接。
    Blaekfin DSP处理器的DMA传输可以是内部与外部存储器之间,也可以是内部或外部存储器与SPI口、SPORT口、UART口、PPI口之间。
    Blackfin DSP处理器的DMA传输可基于描述符配置,也可基于寄存器配置。基于描述符的DMA传输使用存放在存储器内的一组参数来初始化一个DMA传输。基于描述符的DMA传输允许多个DMA序列链接在一起,一个DMA传输完成后紧接着进行下一个DMA传输。基于寄存器的DMA传输允许处理器通过对控制寄存器编程来启动一个DMA传输。一次DMA传输完成后,可以用原来设置的值自动更新控制寄存器,连续传输数据。
    Blackfin DSP处理器支持二维DMA传输,特别适合于视频数据传输。二维DMA的相关控制寄存器如下:
    配置寄存器(DMAx_CONFIG/MDMA_yy_CONFIG):设置二维DMA使能方式,中断产生方式。
    内部循环计数寄存器(DMAx_X_COUNT/MDMA_yy_X_COUNT):保存二维DMA内层循环的数目(应≥2)。
    内层循环地址增量寄存器(DMAx_X_MODIFY/MDMA_yy_X_MODIFY):保存每一次内层循环计数器加1后DMA操作地址在内存中的增量,此增量应该是二维DMA操作的数据单元长度的整数倍。
    外层循环计数寄存器(DMAx_Y_COUNT/MDMA_yy_Y_COUNT):保存外层循环的数目。
    外层循环地址增量寄存器(DMAx_Y_MODIFY/MDMA_yy_Y_MODIFY):保存每一次外层循环计数器加1后DMA操作地址在内存中的增量,可以是负值,此增量应该是二维DMA操作的数据单元长度的整数倍。
    AT070TN83 V.1是群创生产的一款数字液晶显示屏,屏幕尺寸为7英寸(17.78 cm),分辨率800×480,23行消隐行。采用5 V(背光)和3.3 V(I/0)双电源供电。该液晶具有DE模式和HV模式,考虑Blackfin PPI的接口特点,本系统采用HV模式进行数据传输。
    液晶时序如图1和图2所示。




    图l和图2中相应的参数参照AT070TN83 V.1手册。液晶同步时序可以看做是满足一定要求的PWM波,可利用Blackfin DSP的定时器支持PWM输出的特性输出此信号。
                          
                       
                          
                               

2 系统总体设计
    该液晶屏的输入格式为RGB666格式,而ADSPBF532的PPI接口数据线只有16位,根据人眼的视觉特性(对绿色最敏感),将红色和蓝色的最高位和最低位分别接在一起,其他数据线对应连接。
    液晶所需的同步信号HS和VS分别由ADSPBF532的定时器1和定时器2产生。通过配置ADSPBF532定时器的相关寄存器可以精确地控制输出PWM
波的有效沿,周期和占空比,完全匹配液晶时序。
    显示所用的时钟信号可以由外部的独立晶振产生,分别输入液晶和DSP的PPI口。也可以由DSP的输出时钟分频产生,再分别输入液晶和DSP的PPI口。本系统使用独立的25 MHz晶振将时钟信号直接输给液晶和PPI。
    该液晶内部没有显存,因此在使用时系统需要扩展SDRAM,在SDRAM中开辟一块区域作为显示缓存,将需要显示的数据写入缓存,再由DMA传送到PPI口进行显示。
    系统总体设计框图如图3所示。




    在外部25MHz时钟的驱动下DSP按照寄存器的配置输出相应的同步信号,同时将SDRAM对应区域中的数据从PPI口输出。

3 软件设计
    (1)显示缓存数据的存储。
    该液晶每行800点,每个点对应16位数据,因此每行需要800×2 bit。每屏需要525行,包括前消隐23行,中间480行有效数据,后消隐22行,因此开辟显示缓存大小为525×800×2 bit。为了操作方便,可定义一个二维数组,二维数组中的数据与TFTLCD上的点具有对应关系(数组中每两个字节对应LCD上的一个点)。由于需要将显示缓存定义在SDRAM中,因此在工程中需要添加ldf文件,将显示缓存指定存储在SDRAM中。
    缓存数组的定义如下
    section(“SDRAM0”)char DisplayBuffer[525][800*2]
    (2)定时器初始化。
    使用定时器1和定时器2分别作为行同步信号和场同步信号,根据液晶时序配置定时器寄存器,包括输出时钟周期,脉冲宽度,有效沿,PWM模式输出等。为了与液晶同步,使用PPI的输入时钟驱动定时器。
    Blackfin定时器寄存器设置如下




    (3)PPI初始化。
    使用通用模式(GP模式)输出数据,两个外部帧同步信号,PPI_FS1和PPI_FS2下降沿有效,PPI_DEIAY设置延时时钟个数(行同步变高到数据输出间的时钟个数)。
                          
                       
                          
                               
    Blackfin PPI寄存器设置如下
    * pPPI_DELAY=45;//输出数据前的延时
    * pPPI_COUNT=800*2-1;//每行传输字节数,比实际值小1
    注意:AT070TN83 V.1手册中给出的输出数据前的延时参数为40个时钟周期,但实际使用中发现设为40时屏幕显示图像左偏,说明延时不够,经试验应为45个时钟周期。
    (4)DMA初始化。
    使用PPI输出数据时必须使用DMA传输。采用寄存器配置模式,配置DMA传输的起始地址、传输的数据个数、地址增量和传输方式。本系统设置为二维传输方式,行地址增量设置为2(16位传输,2 bit),纵向地址增量设置为2(上一行最后传输的地址与下一行起始地址差,2 bit),DMA传输模式设置为自动缓冲模式。
    Blackfin DMA寄存器设置如下



    (5)主程序流程图,如图4所示。




    主程序中首先初始化DSP(包括SDRAM,EBIU等),定时器,PPI寄存器和PPI DMA寄存器配置的先后顺序要求不是绝对的,但是PPI DMA和定时器的使能必须在最后,因为定时器使能后将触发DMA开始传输数据,所以必须在使能PPI DMA之后再使能定时器。需要改变显示内容时改变对应数组中数据即可。

4 结束语
    经调试,液晶正确显示,并且屏幕稳定无闪烁,成功应用在某仪器系统中。由于Blackfin系列处理器的内核都是相同的,接口操作类似,因此文中介绍的方法对Blackfin系列处理器的液晶接口设计具有参考价值。

                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-17 19:45 , 耗时 0.111864 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表