Android RISC Team Wendy Wang July,2017

Slides:



Advertisements
Similar presentations
國立成功大學工程科學系 Department of Engineering Science -National Cheng Kung University 控制與訊號處理實驗室 Control & Signal Processing Lab MATLAB/Simulink 教學.
Advertisements

人機介面 Arduino 簡介 授課教師 開課單位. Arduino 簡介 Arduino 是一塊 Open source 的 Simple i/o 介面板,並 且具有使用類似 java, C 語言的開發環境。 可以快速使用 Arduino 語言 ( 基於 wiring) 與 Flash 或 Processing…
RFID Information System RFID 的技術原理與應用 Present By Jack Wang (2009 Fall)
七堵調車場與台鐵平溪線 組員: 張竣傑 李品融 陳永吉 劉岳韆.
MTK各芯片简介 整理:张平.
TFT-LCD General Defect Introduction
操作系统结构.
最新計算機概論 第3章 計算機組織.
政治社會化與學習 民意調查.
加速度計 指導老師 : 洪正瑞 製作人 : 蔡昌佑.
DigiBird Creative Video Wall Controller DB-VRC4D and DB-VRC4H
數位影像訊號 DVI / HDMI.
Equalizer function Pericom High speed Driver Product
Linux Graphics 邹南海.
CH.2 Introduction to Microprocessor-Based Control
第四章 BootLoader开发 附-s3c2410/s3c2440处理器介绍
Lab 303 Layout and Measurement Equipments Rules
直流无刷电机驱动方案介绍 朱益杉 2018年5月24日 Power density: TECRT.
IEEE Supframe 演講者:李嘉凱 指導教授:柯開維.
數位教室教學研習- 校園資訊環境介紹.
超高分辨率像素移位技术 1.
Sensor 的基本知识.
创新智能模块解决方案 - 捕捉智能照明新时代 的商机
项目成果展示 ——深圳凯吉尔科技—— 凯吉尔全线代理无锡研奥产品 说明:
Acoustic规范和测试 Base Band 瞿雪丽 2002/1/30.
團隊研發能力 – 抗煞一號 二十天之內,完成抗煞一號的研發.
3D Technology Overview & Stereo Panorama
17bit Smart Absolute Encoder
PIC16F1827介紹 以微控器為基礎之電路設計實務-微處理器實驗室.
沈阳辽通自动控制装备厂 电牵引采煤机变频器培训课程.
数字音频(D类)功率放大器 龙鼎微电子(上海)公司 茅于海 首席科学家.
Proteus 可视化设计 Drag, Drop and PLAY! Slide 1.
Basis基本操作、使用者 管理與權限設定
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
memory array (2n words by m bits)
5 Computer Organization (計算機組織).
Mpeg Family 簡介 第六組 B 呂孟庭 B 廖彥鈞.
TFT-LCD 模組構裝技術 Part-1 55 分鐘 H231 陳晶川 Part-2 55 分鐘 H231 高宏成 中場休息 10分鐘
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
HOLTEK 产品 在小家电的应用.
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
Arduino.
無線通訊系統模擬 姓名:顏得洋 學號:B
第15章 串行通信及接口电路.
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
Introduction to Multimedia Coding
Programmable Logic Architecture Verilog HDL FPGA Design
JTAG INTERFACE SRAM TESTER WITH C-LCM
校園網路架構介紹與資源利用 主講人:趙志宏 圖書資訊館網路通訊組.
電路基礎知識 Willess 2009/3/5.
指導教授 張寶棣 助教 黃智穎 第十七組 B 物理三 李明哲 B 大氣三 吳宛真
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
B+ Tree.
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
VIDEO COMPRESSION & MPEG
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
梁文新 办公室:综合楼108 电 话: 软件工程导论 梁文新 办公室:综合楼108 电 话:
虚 拟 仪 器 virtual instrument
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
SD IO Interface World Real Time Clock / Alarm with C-LCM
SD IO Interface World Real Time Clock / Alarm with C-LCM
第四章 MSP430數位I/O原理與實驗.
SD IO Interface World Real Time Clock / Alarm with C-LCM
通訊實驗 實驗三 遙控車程式流程圖 姓名:顏得洋 學號:B
LCD的驱动控制实验.
    光源訊號接收     林品成 月.
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
11/22 DSD Project Team Leader Report
Presentation transcript:

Android RISC Team Wendy Wang July,2017 Display Implement Android RISC Team Wendy Wang July,2017

Freescale i.MX6D/Q Reference Manual Agenda Overview Freescale i.MX6D/Q Reference Manual Simple block diagram Image processing unit (IPU) LVDS Display Bridge (LDB) Kernel implement Power on sequence implement Reference 2

Overview What is the display driver owner to do? LVDS/HDMI settings Kernel Kernel Command Panel Power on Sequence Bootloader We use HIT-W101L as sample to explain. Android version: 5.1.1 LCD panel model name: OT101ZBWDLN-08 SPEC 3

Freescale i.MX6D/Q Reference Manual Simple Block Diagram WXUGA : 1920*1200 HDMI 1.4 : 4K*2K HDMI 1.4(尚未porting過那麼高的解析度) 最高支援4K×2K(3840×2160p@24 Hz/25 Hz/30 Hz或4096×2160p@24 Hz) WXUGA(https://zh.wikipedia.org/wiki/WUXGA) Reference: http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf 4

Freescale i.MX6D/Q Reference Manual Image processing unit (IPU): The IPU is planned to be a part of the video and graphics subsystem in an application processor. The goal of the IPU is to provide comprehensive support for the flow of data from an image sensor and/or to a display device. Image processing unit Linux: 4 Frame buffers Android: 2 Frame buffers 二/四核心是兩個IPU 單核心的是一個IPU IPU(Image Processing Unit)图像处理单元。图像处理单元的目标是提供从图像输入(摄像头传感器 / 电视信号输入等)到显示设备(LCD显示屏 / TV输出 / 外部图像处理单元等)端到端的数据流信号处理的全面支持。 Reference: https://people.freebsd.org/~gonzo/arm/iMX6-IPU.pdf http://blog.csdn.net/righthek/article/details/6798397 5

Android RISC Team Wendy Wang July,2017 Kernel Device tree setting Android RISC Team Wendy Wang July,2017

HIT-W101L IPU Display Settings Device tree Path: ../kernel_imx/arch/arm/boot/dts/imx6ql-dmssr09.dtsi Image processing unit HDMI status=“okay” Parameter settings: ipu_id=<0> disp_id=<0> MIPI status=“disabled” LVDS1 crtc = "ipu2-di0" LVDS2

LVDS panel parameter settings Device tree Path: ../kernel_imx/arch/arm/boot/dts/imx6qdl-dmssr09.dtsi Display mode: Default=single mode. Left margin(hfront-porch) + right margin(hback-porch) + hsync-len = 160(1440-1280) Upper margin(vfront-porch) + lower margin(vfront-porch) + vsync-len = 23(823-800) 通常會數值會調整Typ. 8

LVDS Display Mode Freescale i.MX6D/Q Reference Manual-LVDS Display Bridge (LDB) LDB will be used to connect the IPU to External LVDS Display interface. There are 2 LVDS channel. The LVDS ports may be used as below: Single channel output Dual channel output (one input source, two channels outputs for two displays) Split channel output (one input source, split to 2 channels on output) IPU LDB LVDS1 LVDS2 Split: 用於高畫質 9

HDMI parameter settings Device tree Path: Path: ../kernel_imx/arch/arm/boot/dts/imx6qdl-dmssr09.dtsi Settings Enable hdmi_core/hdmi_video/hdmi_audio/hdmi_edid. This project doesn’t support hdmi_cec function. Introduction Extended display identification data(EDID) Consumer Electronics Control (CEC) 延伸顯示能力識別(Extended display identification data,簡稱EDID)是指螢幕解析度的資料,包括廠商名稱與序號。一般EDID存在於顯示器的PROM或EEPROM內。一般如要讀取EDID都是透過I2C,slave address是0x50。 https://zh.wikipedia.org/wiki/EDID CEC全文為Consumer Electronics Control 必須預留線路,但可以不必實作 用來傳送工業規格的AV Link協定訊號,以便支援單一遙控器操作多台AV機器 https://zh.wikipedia.org/wiki/HDMI

Dual display framebuffer settings Device tree Path: Path: ../kernel_imx/arch/arm/boot/dts/imx6qdl-dmssr09.dtsi Setting RGB Data of 18 or 24 bits. 18 bits: “RGB666” 24 bits: “RGB24” 與hw team詢問,現在的display的bits。 標準的RGB圖檔是紅、綠、藍三個色頻(Color Channel)構成,每個色頻都是8-bit, 三者相疊就構成繽紛的彩色影像,因此RGB圖檔具有24 bit的彩色能力,總共可以 顯示2的24次方=16. 777,216種顏色,稱為全彩 (True Color)圖檔。 電腦影像處理的主要對象是24-bit影像 ,當然還有其他色階的規格,如 Targa(. TGA)與PICT(.PIC)檔案格式均支援16-bit的影像,可以有效縮小RGB圖檔的檔案容 量。 11

Android RISC Team Wendy Wang July,2017 Kernel Kernel cmdline settings Android RISC Team Wendy Wang July,2017

Kernel command settings(1) Boot command Path: ../device/fsl/dmssr09_6dq/BoardConfig.mk Setting primary output(mxcfb0) and secondary output(mxcfb1/mxcfb2/mxcfb3). Parameter settings Consloe只是土訊息debug用而已 主要看mxcfb那邊就好 這邊主要是要開幾組畫面輸出 然後誰是主輸出,誰是次要輸出, 主輸出的framebuffer為 fb0 次要輸出的frame buffer為fb1 TREK-734是單顯,所以其他的顯示路徑都off,只有指定mxcfb0 13

Parameter description Kernel Parameter Description video Tells kernel/driver which resolution/depth and refresh rate should be used, or tells kernel/driver not to register a framebuffer device for a display device. vmalloc Vmalloc virtual range size for kernel. cma(Contiguous Memory Allocator) For GPU/VPU physical memory allocation. IPU GPU VPU Reference: http://lxiaogao.lofter.com/post/1cc6a101_4f92a43 http://bluequiet.blogspot.tw/2015/03/5-panel.html Vmalloc是分配給核心的連續虛擬的記憶體 mxc_hdmi 20e0000.hdmi_video: same edid Solution: Change different HDMI display, the issue will be fixed.

Android RISC Team Wendy Wang July,2017 Power sequence introduction Android RISC Team Wendy Wang July,2017

Power sequence(1) SPEC Power on sequence (bootloader) T2, T3, T8, T9 為什麼要調power on/off sequence?? 1.確保display可以正常動作(不會閃爍,或是不會亮的問題) 2.延長display壽命 因為HIT-W101L沒有power key去關閉電源,只有插拔電源,所以只要調整power on sequence。 如何對應pin腳? 1.每一個對應的pin腳請找EE畫 調整時間相關問題 1.若是訊號爬升的過程所花費的時間,請EE調 2.SW只能調整pin與pin之間的時間差。還有拉pin的順序問題 解釋要怎麼看區間: T值代表兩者訊號與訊號之間的時間差 T值有左右箭頭 左箭頭代表開始的點,右箭頭代表結束的點 舉例T9 T9代表PWM從low到high起來的時間點,到LED_EN low到high起來的時間點的時間間距。

Power sequence(2) SPEC

GPIO Definition Pin definition Bootloader Path: Path: ../bootable/bootloader/uboot-imx/board/advantech/mx6dmssr09/mx6dmssr09.c Power supply for logic VDD LCD_PWR_EN GPIO3_IO19 Interface signal Vi (LVDS signal of transmitter) LVDS_CLK N/A LED_EN GPIO4_IO10 PWM LCD_PWM2 GPIO1_IO01 Power supply for BL VLED LCD_BK_PWR_EN GPIO1_IO02 首先要先確認每一隻pin腳的panel spec與硬體定義的GPIO,之後才能將他實現在code裡面。 有關於LVDS_CLK,主要是透過程式將register寫入後,才能

Sequence flow Condition Sequence order VLED  VDD  LVDS_CLK  PWM  LED_EN VDD  LVDS_CLK  LED_EN T2 0~50 T3 200up VLED  PWM  LED_EN T8 10up T9 0~180 T2 T9 根據spec,需要符合上面兩個條件 所以可將sequence 排序排成以下的關係, T8 10up T3 200up

Power on sequence implement Power on sequence (bootloader) Path: ../bootable/bootloader/uboot-imx/common/stdio.c Stdio.c Stdio_add_devices: 函数stdio_add_devices执行stdio设备的注册,比如标准输出设备可能包括I2C、显示器等。 所以有關於顯示器相關的sequence的實現,都是在這個function實作。 http://blog.csdn.net/ooonebook/article/details/53313112 http://blog.csdn.net/metersun/article/details/52536410

Oscilloscope measurement(1) LVDS_CLK check timer

Oscilloscope measurement(2) T2=40ms

Oscilloscope measurement(3) T9=90ms

Oscilloscope measurement(4) T3>200ms

Oscilloscope measurement(5) T8>10ms

Reference Website from Aaron https://boundarydevices.com/configuring-i-mx6-machines-different-screens-nitrogen6x-sabre-lite/ https://community.nxp.com/docs/DOC-93617 https://support.bluetechnix.at/wiki/Linux_Software_User_Manual_(i.MX6)#Display_Interfaces  https://blog.emtrion.de/lvds-on-i-mx6 26