|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求助[HHBF531開發(fā)問題] |
| 作者:eechuen 欄目:DSP技術(shù) |
小弟是uclinux的新手,想用HHBF531去推動LQ080V3DG01(16bits 565 input 640x480), 根據(jù)bf537-lq035.c去作出改動,再用video_test程序去測試,但發(fā)覺出來的畫面不停向右移動,而且畫面出現(xiàn)位置亦不正確.我已量度Hsync and Vsync, 符合spec要求 其他如PPI_DELAY, START_LINE 的參數(shù)亦符合, 硬件亦發(fā)現(xiàn)不到問題所在,已加了33ohm電阻在各個訊號pin, 已試了數(shù)天,實在想不出是什麼原因,望高手們可提點一二,謝謝 |
| 2樓: | >>參與討論 |
| 作者: zwg0106 于 2007/4/20 14:10:00 發(fā)布:
RE:求助[HHBF531開發(fā)問題] 我也想用BF531來接個LCD,手頭上正有個LQ080V3DG01。 樓上的能不能發(fā)點你的LCD方面資料給我啊。 我的郵箱:zwg0106@163.com 3ks!!!! |
|
| 3樓: | >>參與討論 |
| 作者: eechuen 于 2007/4/20 14:35:00 發(fā)布:
我可以send個code給你大家討論一下 |
|
| 4樓: | >>參與討論 |
| 作者: alex74 于 2007/4/20 17:10:00 發(fā)布:
應(yīng)該是水平同步問題 |
|
| 5樓: | >>參與討論 |
| 作者: topone 于 2007/4/20 20:39:00 發(fā)布:
水平同步 應(yīng)該是水平同步的問題,調(diào)整一下水平TIMER的設(shè)置看下。 |
|
| 6樓: | >>參與討論 |
| 作者: eechuen 于 2007/4/30 12:09:00 發(fā)布:
RE:水平問題 Timer 應(yīng)該沒有問題, 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; } |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |