显示技术介绍(3)_CRT技术

作者:wowo 发布于:2016-1-30 22:18 分类:显示

CRT(Cathode Rays Tube,阴极射线管)是最原始的电子显示技术,在上世纪被广泛运用于模拟电视(Analog television)系统中。本文将以模拟电视系统为背景,介绍CRT显示技术的原理、特性以及一些关键术语。

众所周知,CRT显示已经逐步被数字显示取代,已有退出历史舞台之势,本文之所以介绍它,原因有三:

1)模拟电视是我们这一代人童年的记忆,美好又神秘。现在回头去看,发觉其中的技术是那么的简单、有趣,值得一说。

2)帮助理解显示时序(video mode,or display timings)。对写过显示驱动的人来说,显示屏的那长长一串的时序相关的参数(xres, yres, hsync len, vsync len, left margin, etc.),足以让自己崩溃。追根溯源,它们产生于CRT技术,现在之所以还存在,很大程度上是CRT的延续,没有太多实质的意义。

3)现在很多前沿的显示技术,如PDP、FED等,都和CRT的工作机制类似(具体可以参考“显示技术介绍(2)_电子显示的前世今生”中的介绍)。理解CRT是理解这些新技术的基础。

阅读全文>>

标签: CRT scan blank unblank front porch back

评论(7) 浏览(18705)

蓝牙协议分析(2)_协议架构

作者:wowo 发布于:2016-1-14 22:20 分类:蓝牙

本文是蓝牙协议分析的第二篇文章,在“蓝牙协议分析(1)_基本概念”的基础上,从整体架构的角度,了解蓝牙协议的组成,以便加深对蓝牙的理解。

阅读全文>>

标签: Bluetooth l2cap profile hci gap

评论(54) 浏览(84209)

Linux graphic subsystem(2)_DRI介绍

作者:wowo 发布于:2015-12-27 22:02 分类:图形子系统

上篇文章(Linux graphic subsytem(1)_概述)介绍了linux图形子系统基本的软件框架,以及GUI、Windowing system、3D渲染等基本概念。文中提到了linux DRI(Direct Render Infrastructure)框架,但限于篇幅,没有过多介绍。

蜗蜗觉得,DRI在当前(或者说将来)的linux图形子系统中,有着举足轻重的地位,甚至可以说是新的linux图形框架核心思想的体现。本文将基于linux图形框架的发展历程,从Why、What和How三个角度,介绍DRI框架。

阅读全文>>

标签: DRI drm kms rendering

评论(28) 浏览(55955)

Linux graphic subsytem(1)_概述

作者:wowo 发布于:2015-12-17 22:21 分类:图形子系统

图形子系统是linux系统中比较复杂的子系统之一:对下,它要管理形态各异的、性能各异的显示相关的器件;对上,它要向应用程序提供易用的、友好的、功能强大的图形用户界面(GUI)。因此,它是linux系统中少有的、和用户空间程序(甚至是用户)息息相关的一个子系统。

本文是图形子系统分析文章的第一篇,也是提纲挈领的一篇,将会从整体上,对linux图形子系统做一个简单的概述,进而罗列出显示子系统的软件构成,后续的文章将会围绕这些软件一一展开分析。

注1:本文所有的描述将以原生linux系统为例(如Ubuntu、Debian等),对其它基于linux的系统(如Android),部分内容会不适用。

注2:本文很多图片都是从网上搜集而来的(很多是从维基百科)。虽然蜗窝的宗旨是用自己的语言表述,尽量自己画图,但是linux图形子系统太复杂了,蜗蜗的理解有限,而老外的图画的实在太好,蜗蜗觉得,再怎么努力,也画不出更好的了,因此本着为读者负责的态度,就直接copy了。

阅读全文>>

标签: Linux display subsystem GUI Wayland SurfaceFlinger DRI

评论(27) 浏览(46089)

显示技术介绍(2)_电子显示的前世今生

作者:wowo 发布于:2015-11-30 22:19 分类:显示

从1907年证实CRT(Cathode Ray Tube)技术可用于电视显示至今,电子显示技术经历了近100年的发展。100年的时间,说长不长,说短也不短;显示技术的发展,说快不快,说慢也不慢。

CRT技术是最原始的显示技术,但它的生命周期一直持续到2000年后,随着LCD(Liquid Crystal Display)的普及才逐渐退出历史舞台,跨度近90年,这是“不快”的由来。

而最近10年,各种新显示技术,又有层出不穷、快速发展之势,如OLED(Organic light-emitting diode display)、电子墨水(E Ink)、激光电视(Laser TV)、IMOD(Interferometric modulator display)等2D显示技术,如激光显示(Laser display)、光场显示(Light field display)等3D显示技术,这是“不慢”的由来。

蜗蜗本来只打算focus在Linux显示子系统的分析上,不想涉及太多的“题外话”,但专业技术的诱惑力,实在不比linux kernel小。另外,网上真正关注“技术”本身的资料又太少(大多是为了卖电视而写的软文)。因此就在兴趣的驱动下,对显示技术的发展做了一些较深入的了解,顺便在此记录一下。这就是本文以及后续相关文章的由来。

当然,只有兴趣还远远不够,因为任何商业化的技术背后,都有很多基础学科的支撑,数学、物理学、化学、材料学、等等。而离开学校越久远,对这些基础知识越生疏,也只能浅尝辄止了。不过还好,有强大的WJ百科,可以事半功倍,本文大多参考并翻译自下面链接,有兴趣的读者可以自行阅读:

https://en.wikipedia.org/wiki/History_of_display_technology

https://en.wikipedia.org/wiki/Display_device

阅读全文>>

标签: CRT LED OLED Laser IMOD

评论(2) 浏览(16182)

显示技术介绍(1)_概述

作者:wowo 发布于:2015-11-22 21:44 分类:显示

本文是显示子系统的第一篇文章,介绍嵌入式系统显示有关的硬件组成,进而拆分为相对独立的模块,以便在后续的文章中一一介绍。

阅读全文>>

标签: 显示 GPU 2D 3D

评论(10) 浏览(14084)

进化论、人工智能和外星人

作者:wowo 发布于:2015-11-15 22:16 分类:技术漫谈

标题有点混乱,主要是最近看书有些杂,从而使一些由来已久的疑惑渐有开朗之势,故而在这儿胡言乱语一番。

阅读全文>>

评论(10) 浏览(12399)

linux cpufreq framework(5)_ARM big Little driver

作者:wowo 发布于:2015-11-10 22:04 分类:电源管理子系统

也许大家会觉得奇怪:为什么Linux kernel把对ARM big·Lttile的支持放到了cpufreq的框架中?

众所周知,ARM的big·Little架构,也称作HMP(具体可参考“Linux CPU core的电源管理(2)_cpu topology”中相关的介绍),通过在一个chip中封装两种不同类型的ARM core的方式,达到性能和功耗的平衡。这两类ARM Core,以cluster为单位,一类为高性能Core(即big core),一类为低性能Core(即Little core),通过它们的组合,可以满足不同应用场景下的性能和功耗要求,例如:非交互式的后台任务、或者流式多媒体的解码,可以使用低功耗的Little core处理;突发性的屏幕刷新,可以使用高性能的big core处理。

那么问题来了,Linux kernel怎么支持这种框架呢?

注1:本文很多理论性的表述,或多或少的理解并翻译自:“http://lwn.net/Articles/481055/”,感兴趣的读者可以自行阅读。

注2:本文基于linux-3.18-rc4内核,其它版本内核可能会稍有不同。

阅读全文>>

标签: Linux ARM cpufreq hmp big little

评论(35) 浏览(19053)

Linux PWM framework(1)_简介和API描述

作者:wowo 发布于:2015-10-11 15:45 分类:通信类协议

PWM是Pulse Width Modulation(脉冲宽度调制)的缩写,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其本质是一种对模拟信号电平进行数字编码的方法。在嵌入式设备中,PWM多用于控制马达、LED、振动器等模拟器件。

PWM framework是kernel为了方便PWM driver开发、PWM使用而抽象出来的一套通用API,之所以要分析该framework,原因如下:

1)PWM接口,本质上一种通信协议,和I2C、SPI、USB、WIFI等没有任何差别。因此,本文将会是kernel通信协议有关framework的分析文章的第一篇。

2)它太简单了!但是,虽然简单,思路却大同小异,因而非常适合做第一篇。

3)我计划整理显示子系统的分析文章,而PWM,是显示子系统中最基础的那一个。

闲话少说,言归正传!

阅读全文>>

标签: Linux driver pwm

评论(20) 浏览(38820)

Linux CPU core的电源管理(5)_cpu control及cpu hotplug

作者:wowo 发布于:2015-9-19 21:39 分类:电源管理子系统

由“Linux CPU core的电源管理(1)_概述”的描述可知,kernel cpu control位于“.\kernel\cpu.c”中,是一个承上启下的模块,负责屏蔽arch-dependent的实现细节,向上层软件提供控制CPU core的统一API(主要包括cpu_up/cpu_down等接口的实现)。本文将基于这些API,从上到下,分析CPU core从启动到关闭的整个过程(主要是CPU hotplug),进一步理解系统运行过程中CPU core电源管理相关的行为。

注1:其实这一部分已经不属于电源管理的范畴了,而是系统级的软件行为(boot、调度、电源管理等等),之所以放到这里讲述,主要原因是,这些复杂行为的背后,目的只有一个----节电。因此,本文只会focus在CPU core power状态切换的过程上,涉及到得其它知识,如进程调度,只会一笔带过。

阅读全文>>

标签: Linux cpu hotplug cpu_up cpu_down smpboot

评论(17) 浏览(40170)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog