找回密码
 注册
关于网站域名变更的通知
查看: 217|回复: 1
打印 上一主题 下一主题

转——显示系统初探(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-14 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
转——显示系统初探(1)
1、  硬件环境
       硬件平台: Embest SoC --LarkBoard
       软件平台:开发板-linux-3.10.31
                       Quartus 14.0
2、概述
     为什么需要研究一下显示系统呢,因为我想接个LCD,那么我可以接个什么样的LCD呢,这个问题就来了,需要通过什么样的配置来实现这个目标呢?这就是需要研究和学习的目标。
! ^+ W( G' ]/ z  z, B
    注意SoC的ARM是不带LCD控制器的,如果要是用LCD,还需要FPGA的配合,使用VIP的Ipcore,这个过程是相当复杂。一时半会还是一知半解的
2 n9 T( o3 R, @+ @
3、显示流程
     1) ARM端
     当然是用的是Frambuffer,负责把LCD的显示数据准备好,并传送给FPGA
     
     2)FPGA端
     使用了一个Frame Reader IP core 负责Framebuffer数据的接收;一个Clocked Video Output IP Core,这个显而易见就是把数据解析好输出给LCD了.
    还需要认真的阅读下面这个文档哦,都是新东西,一下子还不能完全的消化。
游客,如果您要查看本帖隐藏内容请回复
4、Linux驱动是Larkboardfb.c
     那么LCD的Frambuffer数据是通过那个总线传输给FPGA的呢,lw_h2f总线,这个可以从驱动的代码中可以看出来
  • #define CLOCK_CTR_BASE (0xff200000 + 0x00010040)
    . Y6 W- M% T6 G) H/ o8 K# z

3 k" u0 R: n4 Q
6 U4 c$ ~& A/ g7 p: ]
9 K4 ?# `6 x( B- F

' @3 o' A5 {. H& l+ _
这又引申出另外一个问题,驱动和硬件绑定太死,如果需要调整,需要修改的地方就多了哦
! Z+ w/ C! Z4 @# w
驱动也只定义了几种LCD尺寸:
  • #define VGA_IMAGE_WIDTH 1024
  • #define VGA_IMAGE_HEIGHT 768
  • #define LCD7_IMAGE_WIDTH 800
  • #define LCD7_IMAGE_HEIGHT 480
  • #define LCD4_3_IMAGE_WIDTH 480
  • #define LCD4_3_IMAGE_HEIGHT 272

  • " h, x# ~& i" q- V' G' Q

1 i4 A+ M/ `& T

7 D1 M/ o4 z* v1 y% l0 n$ s: Z9 B9 H7 i% r. w9 P1 z" s
5、小结
1) 抛砖引玉的来个开场白,我是打算接我的1024x600的HDMI屏,不过没有成功,屏幕上啥也没有显示;
2) 通过这段时间的学习,真心的觉得SoC的显示很复杂,且驱动部分做的不够灵活,限制的东西太多了,一下子的提高了难度和复杂度,是不是就不建议用LCD?这就不得而知了。
) R- B6 V9 K7 ~' i! j8 ^) ?% U/ U0 v

该用户从未签到

2#
发表于 2019-4-15 17:31 | 只看该作者
回复看看隐藏内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 23:04 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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