登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

求助[HHBF531開發問題]

作者:eechuen 栏目:DSP技术
求助[HHBF531開發問題]
小弟是uclinux的新手,想用HHBF531去推動LQ080V3DG01(16bits 565 input 640x480), 根據bf537-lq035.c去作出改動,再用video_test程序去測試,但發覺出來的畫面不停向右移動,而且畫面出現位置亦不正確.我已量度Hsync and Vsync, 符合spec要求 其他如PPI_DELAY, START_LINE 的參數亦符合, 硬件亦發現不到問題所在,已加了33ohm電阻在各個訊號pin, 已試了數天,實在想不出是什麼原因,望高手們可提點一二,謝謝

2楼: >>参与讨论
zwg0106
RE:求助[HHBF531開發問題]
    我也想用BF531来接个LCD,手头上正有个LQ080V3DG01
    楼上的能不能发点你的LCD方面资料给我啊。
    我的邮箱:zwg0106@163.com
    3ks!!!!

3楼: >>参与讨论
eechuen
我可以send個code給你大家討論一下
 
4楼: >>参与讨论
alex74
应该是水平同步问题
 
5楼: >>参与讨论
topone
水平同步
应该是水平同步的问题,调整一下水平TIMER的设置看下。

6楼: >>参与讨论
eechuen
RE:水平問題
Timer 應該沒有問題, hsync and Vsync已用CRO測量,都附合spec要求,會不會是DMA,或PPI 的問題,謝謝

#define PPI_CONFIG_VALUE     (PORT_DIR|XFR_TYPE|DLEN_16|POLS)
#define PPI_DELAY_VALUE      (106)    

static void config_ppi(void)
{
    bfin_write_PPI_DELAY(PPI_DELAY_VALUE);
    bfin_write_PPI_COUNT(640-1);
    bfin_write_PPI_CONTROL((PPI_CONFIG_VALUE|0x10) & (~POLS));

}

static int config_dma(void)
{
    assert(fb_buffer);

    if (request_dma(CH_PPI, "BF533_PPI_DMA") < 0)
        return -EFAULT;

    set_dma_config(CH_PPI, set_bfin_dma_config(DIR_READ,DMA_FLOW_AUTO,INTR_DISABLE,DIMENSION_2D,DATA_SIZE_16));

    set_dma_x_count(CH_PPI, 640);
    set_dma_x_modify(CH_PPI, 2);

    set_dma_y_count(CH_PPI,480+U_LINES);
    set_dma_y_modify(CH_PPI, 2);
    set_dma_start_addr(CH_PPI, ((unsigned LONG) fb_buffer));

    return 0;
}

static int __init bfin_lq080_fb_init(void)
{
    printk(KERN_INFO "SHARP lq080 LCD FrameBuffer initializing...\n");

    fb_buffer = dma_alloc_coherent(NULL, (480+U_LINES)*640*2, &dma_handle, GFP_KERNEL);
    if (NULL == fb_buffer) {
        printk(KERN_ERR "bf533 FB: couldn't allocate dma buffer.\n");
        return -ENOMEM;
    }

    memset(fb_buffer, 0xff, (480+U_LINES)*640*2);
    bfin_lq080_fb.screen_base = (void*)fb_buffer;
    bfin_lq080_fb_fix.smem_start = (int)fb_buffer;

    bfin_lq080_fb.fbops = &bfin_lq080_fb_ops;
    bfin_lq080_fb.var = bfin_lq080_fb_defined;

    bfin_lq080_fb.fix = bfin_lq080_fb_fix;
    bfin_lq080_fb.flags = FBINFO_DEFAULT;

    if (register_framebuffer(&bfin_lq080_fb) < 0) {
        printk(KERN_ERR "bf533 FB: unable to register framebuffer.\n");
        dma_free_coherent(NULL, (480+U_LINES)*640*2, fb_buffer, dma_handle);
        fb_buffer = NULL;
        return -EINVAL;
    }

    return 0;
}

参与讨论
昵称:
讨论内容:
 
 
相关帖子
请问visual dsp++做软件仿真的速度是多少?
VisualDSP中如何使用计时函数??
求助 ,怎么从VISUAL DSP++4.5 上知道程序时间
有没有人在做u-boot的移植啊?
PPI的同步问题
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号