找回密码
 注册
关于网站域名变更的通知
查看: 201|回复: 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呢,这个问题就来了,需要通过什么样的配置来实现这个目标呢?这就是需要研究和学习的目标。

  N: L# @3 }$ d7 r6 s$ W0 b  W
    注意SoC的ARM是不带LCD控制器的,如果要是用LCD,还需要FPGA的配合,使用VIP的Ipcore,这个过程是相当复杂。一时半会还是一知半解的

# _( l7 T9 Q1 H: M! f
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), e) w  N. g' }2 k7 v
  M& m8 H; |9 M

7 @5 y+ b3 ^* f

( }# n" ^7 Z6 Z. p9 x) ~1 I
& J/ u: @- G2 E, ]
这又引申出另外一个问题,驱动和硬件绑定太死,如果需要调整,需要修改的地方就多了哦
2 J3 ]& h  D* {- @- m0 z
驱动也只定义了几种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
  • 3 k5 e- h9 F) a' y7 N- O- |0 v6 q
5 g0 r1 p$ y6 f+ t( R8 V
; h( n$ W% a/ }8 o; R- w- D4 z6 O
' }7 D( n! V  \2 D; P/ v# n9 L& i$ Z
5、小结
1) 抛砖引玉的来个开场白,我是打算接我的1024x600的HDMI屏,不过没有成功,屏幕上啥也没有显示;
2) 通过这段时间的学习,真心的觉得SoC的显示很复杂,且驱动部分做的不够灵活,限制的东西太多了,一下子的提高了难度和复杂度,是不是就不建议用LCD?这就不得而知了。
9 c- R6 f. i0 ?  V

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-30 06:49 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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