|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
求助[HHBF531開發問題] |
作者:eechuen 栏目:DSP技术 |
小弟是uclinux的新手,想用HHBF531去推動LQ080V3DG01(16bits 565 input 640x480), 根據bf537-lq035.c去作出改動,再用video_test程序去測試,但發覺出來的畫面不停向右移動,而且畫面出現位置亦不正確.我已量度Hsync and Vsync, 符合spec要求 其他如PPI_DELAY, START_LINE 的參數亦符合, 硬件亦發現不到問題所在,已加了33ohm電阻在各個訊號pin, 已試了數天,實在想不出是什麼原因,望高手們可提點一二,謝謝 |
2楼: | >>参与讨论 |
作者: zwg0106 于 2007/4/20 14:10:00 发布:
RE:求助[HHBF531開發問題] 我也想用BF531来接个LCD,手头上正有个LQ080V3DG01。 楼上的能不能发点你的LCD方面资料给我啊。 我的邮箱:zwg0106@163.com 3ks!!!! |
3楼: | >>参与讨论 |
作者: eechuen 于 2007/4/20 14:35:00 发布:
我可以send個code給你大家討論一下 |
4楼: | >>参与讨论 |
作者: alex74 于 2007/4/20 17:10:00 发布:
应该是水平同步问题 |
5楼: | >>参与讨论 |
作者: topone 于 2007/4/20 20:39:00 发布:
水平同步 应该是水平同步的问题,调整一下水平TIMER的设置看下。 |
6楼: | >>参与讨论 |
作者: eechuen 于 2007/4/30 12:09:00 发布:
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; } |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |