当前位置: 首页 > news >正文

只放一个图片做网站第三方公司做网站价格

只放一个图片做网站,第三方公司做网站价格,做网站推广好做么,百度百科让做网站的超链接吗引言 首先了解下什么是MIPI-DSI#xff1a; MIPI-DSI是一种应用于显示技术的串行接口#xff0c;兼容DPI(显示像素接口#xff0c;Display Pixel Interface)、DBI(显示总线接口#xff0c;Display Bus Interface)和DCS(显示命令集#xff0c;Display Command Set)#…引言 首先了解下什么是MIPI-DSI MIPI-DSI是一种应用于显示技术的串行接口兼容DPI(显示像素接口Display Pixel Interface)、DBI(显示总线接口Display Bus Interface)和DCS(显示命令集Display Command Set)以串行的方式发送像素信息或指令给外设而且从外设中读取状态信息或像素信息而且在传输的过程中享有自己独立的通信协议包括数据包格式和纠错检错机制。下图所示的是MIPI-DSI接口的简单示意图。MIPI-DSI具备高速模式和低速模式两种工作模式全部数据通道都可以用于单向的高速传输但只有第一个数据通道才可用于低速双向传输从属端的状态信息、像素等格式通过该数据通道返回。时钟通道专用于在高速传输数据的过程中传输同步时钟信号。此外一个主机端可允许同时与多个从属端进行通信。 那么在Linux中调试MIPI LCD需要注意哪些细节呢 供电复位时序像素时钟MIPI时钟MIPI命令MIPI数据格式 参数解读走马观花 在Linux驱动开发过程中一般通用的MIPI的驱动都是现成的比如以下的simple-panel-dsi就是通用的MIPI接口LCD驱动它在Linux内核中位于driver/gpu/drm/panel目录下对应的文件是panel-simple.c。 一般使用通用的MIPI LCD驱动我们只需要根据自己选购的屏的参数进行配置即可也就是只需要配置设备树即可顺利完成点屏的操作那么如何来配置相关参数呢这里我用的是瑞芯微的RV1109方案在此借用荣品LCD的设备树我们来学习下它的设备树参数 dsi {status okay;rockchip,lane-rate 480;panel0 {compatible simple-panel-dsi;reg 0;backlight backlight;/delete-property/ power-supply;prepare-delay-ms 100;reset-delay-ms 10;init-delay-ms 100;disable-delay-ms 50;unprepare-delay-ms 20;width-mm 68;height-mm 121;pinctrl-names default;pinctrl-0 vdd_5v_3v3_h;enable-gpios gpio2 27 GPIO_ACTIVE_HIGH;reset-gpios gpio3 4 GPIO_ACTIVE_LOW;dsi,flags (MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET);dsi,format MIPI_DSI_FMT_RGB888;dsi,lanes 4;panel-init-sequence [05 78 01 1105 78 01 29];display-timings {native-mode timing0;timing0: timing0 {clock-frequency 51000000;hactive 1024;vactive 600;hback-porch 160;hfront-porch 136;vback-porch 16;vfront-porch 16;hsync-len 4;vsync-len 2;hsync-active 0;vsync-active 0;de-active 0;pixelclk-active 0;};};ports {#address-cells 1;#size-cells 0;port0 {reg 0;panel_in_dsi: endpoint {remote-endpoint dsi_out_panel;};};};};ports {#address-cells 1;#size-cells 0;port1 {reg 1;dsi_out_panel: endpoint {remote-endpoint panel_in_dsi;};};}; };上面提供了非常多的节点但是怎么去理解这些节点呢Linux内核为我们提供了丰富的文档 有了这些文档我们再来看上面设备树节点的内容就简单多了当然我们也可以结合代码来理解这些参数的含义 举例说明 先列举一些重要的参数 enable-gpios和reset-gpios enable-gpios配置的是LCD的使能脚reset-gpios配置的是LCD的复位脚 enable-gpios gpio2 27 GPIO_ACTIVE_HIGH; reset-gpios gpio3 4 GPIO_ACTIVE_LOW;如上所示为什么是27和4我们要查询下IO口绑定的编号如下 hactive, vactive 表示显示分辨率在设备树里一般如下表示 hactive 1024; //水平分辨率 vactive 600; //垂直分辨率跟分辨率相关的内容我们一般都可以从LCD厂家提供的数据手册里找到它们 dsi,lanes 确定接口类型为MIPIMIPI能够实现多通道差分传输所以通过数据手册我们可以了解它具体有多少路 根据数据手册我们很容易了解到数据通道有4组所以对应设备树中的配置如下 dsi,lanes 4; //表示使用 4lane 传输数据时序 一般厂家FAE会给到我们一组参数分别是 lane个数与原理图匹配 HSA、HBP、HACT、HFP VSA、VBP、VACT、VFP FR pixel_clk (KHZ) phy_data_rate (Mbps)其中参考了网上的一些计算公式 (1)HBB HSA HBP (2)VBB VSA VBP (3)pixel_clk round((HBBHACTHFP)*(VBBVACTVFP)*FR/1000) KHZ (4)phy_data_rate round((HBBHACTHFP)*(VBBVACTVFP)*FR*output_format/lane个数/1000000) Mbps output_format是输出数据字节数例RBG24即为24根据以上提供的这些参数就可以完成MIPI DSI的时序初始化。比如我随便找一个LCD的数据手册就会看到 4.1 以像素为单位的水平显示时序参数 在LCD屏厂手册里一般都会提供以下三个参数分别是 hfront-porch(HFP)hback-porch(HBP)hsync-len(HSA) hback-porch 160; hfront-porch 136; hsync-len 4;相对应的在以像素为单位的水平时序里还有一个水平脉冲的配置选项hsync-active官方文档描述是hsync pulse is active low/high/ignored也就是说如果要配置的话要么就是0/1要么就不配置默认配置 hsync-active 0;4.2 以行为单位的垂直显示时序参数 在LCD屏厂手册里一般都会提供以下三个参数分别是 vfront-porch(VFP)vback-porch(VBP)vsync-len(VSA) vback-porch 16; vfront-porch 16; vsync-len 2;相对应的在以行为单位的垂直显示时序里还有一个水平脉冲的配置选项vsync-active官方文档描述是vsync pulse is active low/high/ignored也就是说如果要配置的话要么就是0/1要么就不配置默认配置 vsync-active 0;4.3 数据使能 像素时钟脉冲参数 (1) de-activedata-enable pulse is active low/high/ignored de-active 0;(2) pixelclk-active数据采样的方式 配置为1上升沿驱动像素数据/下降沿采样数据 配置为0下降沿驱动像素数据/上升沿采样数据 pixelclk-active 0;像素时钟的配置 一般像素时钟有一个计算公式如下 (hhbphfphsa)*(vvbpvfpvsa)*60也就是说把厂家手册提供给我们的时序参数往这个公式里面套最终就可以算出我们的像素时钟是多少了。 panel-init-sequence 这部分一般指的是厂家给我们提供的屏幕的初始化代码官方文档的介绍是这样的 A byte stream formed by simple multiple dcs packets. byte 0: dcs data type byte 1: wait number of specified ms after dcs command transmitted byte 2: packet payload length byte 3 and beyond: number byte of payload荣品的设备树这部分配置如下 panel-init-sequence [05 78 01 1105 78 01 29];深入探究 1、DSI驱动设备树DCS序列配置MIPI LCD初始化代码 在之前的内容中我们看到荣品的屏设备树中有这么一段代码但是里面的数据是什么含义 panel-init-sequence [05 78 01 1105 78 01 29];这里详细记录了如何在设备树中适配MIPI-DSI LCD初始化代码的详细过程。Linux提供了配置初始化代码的接口相应的设备树也就支持了,这部分在内核的文档里有写 kernel/Documentation/devicetree/bindings/display/panel/simple-panel.txt这个文档里简单描述了一下 - panel-init-sequence: //初始化序列 - panel-exit-sequence: //退出序列A byte stream formed by simple multiple dcs packets. //由简单的多个dcs数据包形成的字节流byte 0: dcs data type //第0个字节dcs数据类型byte 1: wait number of specified ms after dcs command transmitted //第1个字节发送dcs命令后等待指定的毫秒数byte 2: packet payload length //第2个字节数据包有效载荷长度byte 3 and beyond: number byte of payload //第3个字节及以后有效载荷的字节数一般情况下LCD屏会有初始化和反初始化的过程但是在实际应用中一般还很少会用到反初始化所以LCD面板厂家一般都是只提供初始化代码在MIPI DSI驱动中我们需要将这些厂家提供的初始化代码转换为相应的DCS序列关于初始化序列和退出序列的描述由于我用的平台是瑞芯微瑞芯微提供的技术文档也有相应的描述 具体参数配置方法查看原厂瑞芯微给的文档的案例描述 关于 DCS 类型是怎么来理解的瑞芯微文档中也可以看到对它的描述 理解 如果只有一个数据对应的命令类型是0x05;如果有两个数据对应的命令类型是0x15如果多于两个数据对应的命令类型是0x39。 2、具体的配置方法(举例) 最近由于需要调试公鸡派MIPI接口的LCD显示屏然而我已经很久没调过驱动了厂家给了我下面这一段初始化代码我一看一脸懵逼厂商的初始化代码如下 SET_GENERIC(0x02); W_D(0x80);W_D(0xAB); SET_GENERIC(0x02); W_D(0x81);W_D(0x4B); SET_GENERIC(0x02); W_D(0x82);W_D(0x84); SET_GENERIC(0x02); W_D(0x83);W_D(0x88); SET_GENERIC(0x02); W_D(0x84);W_D(0xA8); SET_GENERIC(0x02); W_D(0x85);W_D(0xE3); SET_GENERIC(0x02); W_D(0x86);W_D(0xB8); SET_GENERIC(0x02); W_D(0x87);W_D(0x5A); SET_GENERIC(0x02); W_D(0xB1);W_D(0x38); SET_GENERIC(0x01); W_D(0x11); delay_ms(120); SET_GENERIC(0x01); W_D(0x29);那么这个初始化代码是什么含义呢厂家一般不会告诉我也不会给我提供寄存器手册因为那是他们的知识产权所以我也没必要知道他们到底设置了什么东西我只需要知道它们就是协助我点屏的重要步骤之一就可以了。 我们就简单的认为这个初始化代码包含三类指令分别是 SET_GENERICW_Ddelay_ms 不同厂家提供的初始化代码是不同的但格式基本上都是大同小异有的初始化代码很少也有的超级长比如荣品的设备树里就有一个更长的如下所示这个是已经将初始化代码转换为DCS格式的了 可见有些LCD面板厂家提供的初始化代码也是很多的 所以搞这个真的还是要有点耐心的否则很容易出错一旦出错可能屏幕都点不亮。 以上只是举一个简单的例子我们需要将上面厂家给我的初始化命令转化成对应的DCS格式然后添加到设备树的初始化序列里这样驱动在加载的时候才能够被正确识别到。 首先感谢CSDN网友提供以下思路 https://blog.csdn.net/sunqinglin4826/article/details/104848529 https://blog.csdn.net/weixin_42399752/article/details/101108550 https://blog.csdn.net/dearsq/article/details/52354593既然要将初始化代码转换成DCS格式那么就衍生出下面的步骤 数个数 以SET_GENERIC为开始下一个SET_GENERIC(不包含这次的SET_GENERIC和Delay)为结束作为一次数据发送数一数一共有几个数据。 看延时 看看厂家提供的初始化代码里面有没有延时。 确定了以上步骤以后我们就需要将初始化代码改写成下面的格式 命令类型延时数量数据长度数据2.1、普通序列 SET_GENERIC(0x02); W_D(0x80);W_D(0xAB);如上有三个数据所以命令类型为39所以第一个序列要这么写 以下每一个字节一一进行对应 命令类型 延时数量 数据长度 数据1 数据2 数据339 00 03 02 80 AB2.2、带延时的序列 SET_GENERIC(0x01); W_D(0x11); delay_ms(120);如上有两个数据1个延时所以命令类型为15所以带延时的序列要这么写 以下每一个字节一一进行对应 命令类型 延时数量(转16进制) 数据长度 数据1 数据215 78 02 01 112.3、将厂家给的序列转换为DCS格式序列 以此类推从厂家给我们的初始化代码转换为序列就是 39 00 03 02 80 AB 39 00 03 02 81 4B 39 00 03 02 82 84 39 00 03 02 83 88 39 00 03 02 84 A8 39 00 03 02 85 E3 39 00 03 02 86 B8 39 00 03 02 87 5A 39 00 03 02 B1 38 15 78 02 01 11 15 00 02 01 29所以在设备树里的初始化序列就应该这么写把上面转换的结果复制到下面来 panel-init-sequence [39 00 03 02 80 AB39 00 03 02 81 4B39 00 03 02 82 8439 00 03 02 83 8839 00 03 02 84 A839 00 03 02 85 E339 00 03 02 86 B839 00 03 02 87 5A39 00 03 02 B1 3815 78 02 01 1115 00 02 01 29 ];所以我们就不难理解以上荣品的DTS里初始化序列的含义 panel-init-sequence [05 78 01 1105 78 01 29];第一行 05表示DCS命令类型表示只有一个数据。78表示延时时间为(0x78) 120ms01表示指令的数据长度只有一个字节11表示的就是数据 同理第二行也是一样的理解到这里我们就彻底的掌握了设备树关于初始化序列的配置方法了如果想详细了解驱动代码里是怎么实现的那么也可以去追一追代码我觉得这种实现模式太优秀了不得不说Linux内核实现的DSI驱动设计思想真的很棒 4、DSI驱动调试LCD时序参数配置 要点亮MIPI DSI接口的LCD我们还有一个非常重要的配置那就是屏幕的时序时序就是点屏的基础大部分LCD提供的数据手册都大同小异 1、LCD屏幕显示原理 与纯 RGB 显示屏同理 MIPI DSI 显示参考下图 1.1、垂直方向 直接干Datasheet关于垂直方向我们只需要关心以下几个参数就可以了 垂直方向 tvd 垂直方向的分辨率tv 整个垂直方向的周期tvpw vysnc 脉冲宽度tvb 上边黑框 vbp Vertical Back porch 垂直后肩tvfp 下边黑框 vfp Vertical Front porch 垂直前肩 1.2、水平方向 直接干Datasheet关于水平方向我们只需要关心以下几个参数就可以了 水平方向: thd 水平方向的分辨率th : 整个水平方向的周期thpw hsync 脉冲宽度thb 左边黑框 hbp Horizontal Back porch 水平后肩thfp 右边黑框 hfp Horizontal Front porch 水平前肩 2、MIPI DSI设备树时序配置 接下来我们照着以上的几个参数结合数据手册里提供的典型参数往设备树里的时序列表里填最终时序部分如下 display-timings {native-mode timing0;timing0: timing0 {clock-frequency 51200000; //DCLKhactive 1024; //hactivevactive 600; //vactivehfront-porch 160; //hfphsync-len 70; //hsahback-porch 160; //hbpvfront-porch 12; //vfpvsync-len 10; //vsavback-porch 23; //vbphsync-active 0; //hync 极性控制 置 1 反转极性vsync-active 0; //vsync 极性控制 置 1 反转极性de-active 0; //DEN 极性控制pixelclk-active 0; //dclk 极性控制}; };其中clock-frequency即DCLK频率查看以下规格书 可知DCLK频率为51.2Mhz所以这个参数就是51200000。 其中clock-frequency的计算公式是这样的 clock-frequency (h_active hfp hbp h_sync) * (v_active vfp vbp v_sync) * fps根据以上公式我们还可以计算出fps fps 51200000 / (102416016070) * (600231210) 51200000 / 912030 56Hz这里的56Hz也就是屏幕的刷新率(fps)。 时序搞定了那离点屏就差10%了
文章转载自:
http://www.morning.ydmml.cn.gov.cn.ydmml.cn
http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn
http://www.morning.wlddq.cn.gov.cn.wlddq.cn
http://www.morning.rkmhp.cn.gov.cn.rkmhp.cn
http://www.morning.chbcj.cn.gov.cn.chbcj.cn
http://www.morning.pgcmz.cn.gov.cn.pgcmz.cn
http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn
http://www.morning.fbpdp.cn.gov.cn.fbpdp.cn
http://www.morning.clbsd.cn.gov.cn.clbsd.cn
http://www.morning.wrqw.cn.gov.cn.wrqw.cn
http://www.morning.glxdk.cn.gov.cn.glxdk.cn
http://www.morning.jbmbj.cn.gov.cn.jbmbj.cn
http://www.morning.xknmn.cn.gov.cn.xknmn.cn
http://www.morning.plxnn.cn.gov.cn.plxnn.cn
http://www.morning.rqqlp.cn.gov.cn.rqqlp.cn
http://www.morning.gkjyg.cn.gov.cn.gkjyg.cn
http://www.morning.hhxpl.cn.gov.cn.hhxpl.cn
http://www.morning.dbhnx.cn.gov.cn.dbhnx.cn
http://www.morning.hptbp.cn.gov.cn.hptbp.cn
http://www.morning.mxlwl.cn.gov.cn.mxlwl.cn
http://www.morning.rkgyx.cn.gov.cn.rkgyx.cn
http://www.morning.yrddl.cn.gov.cn.yrddl.cn
http://www.morning.rbknf.cn.gov.cn.rbknf.cn
http://www.morning.stbfy.cn.gov.cn.stbfy.cn
http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn
http://www.morning.eviap.com.gov.cn.eviap.com
http://www.morning.qxljc.cn.gov.cn.qxljc.cn
http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn
http://www.morning.caswellintl.com.gov.cn.caswellintl.com
http://www.morning.mrkbz.cn.gov.cn.mrkbz.cn
http://www.morning.qrsm.cn.gov.cn.qrsm.cn
http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn
http://www.morning.zmwzg.cn.gov.cn.zmwzg.cn
http://www.morning.yrccw.cn.gov.cn.yrccw.cn
http://www.morning.wpqcj.cn.gov.cn.wpqcj.cn
http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn
http://www.morning.shnqh.cn.gov.cn.shnqh.cn
http://www.morning.xysxj.com.gov.cn.xysxj.com
http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.gwkjg.cn.gov.cn.gwkjg.cn
http://www.morning.dbrdg.cn.gov.cn.dbrdg.cn
http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn
http://www.morning.txnqh.cn.gov.cn.txnqh.cn
http://www.morning.nfmtl.cn.gov.cn.nfmtl.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.sfrw.cn.gov.cn.sfrw.cn
http://www.morning.fdrb.cn.gov.cn.fdrb.cn
http://www.morning.yqlrq.cn.gov.cn.yqlrq.cn
http://www.morning.ylph.cn.gov.cn.ylph.cn
http://www.morning.bncrx.cn.gov.cn.bncrx.cn
http://www.morning.mjbnp.cn.gov.cn.mjbnp.cn
http://www.morning.clccg.cn.gov.cn.clccg.cn
http://www.morning.kjcll.cn.gov.cn.kjcll.cn
http://www.morning.nrchx.cn.gov.cn.nrchx.cn
http://www.morning.skrww.cn.gov.cn.skrww.cn
http://www.morning.qhln.cn.gov.cn.qhln.cn
http://www.morning.sgbk.cn.gov.cn.sgbk.cn
http://www.morning.rccbt.cn.gov.cn.rccbt.cn
http://www.morning.ddqdl.cn.gov.cn.ddqdl.cn
http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn
http://www.morning.tqygx.cn.gov.cn.tqygx.cn
http://www.morning.kfyqd.cn.gov.cn.kfyqd.cn
http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn
http://www.morning.kqpxb.cn.gov.cn.kqpxb.cn
http://www.morning.qhtlq.cn.gov.cn.qhtlq.cn
http://www.morning.gfnsh.cn.gov.cn.gfnsh.cn
http://www.morning.nqpy.cn.gov.cn.nqpy.cn
http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com
http://www.morning.pnljy.cn.gov.cn.pnljy.cn
http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn
http://www.morning.gwwtm.cn.gov.cn.gwwtm.cn
http://www.morning.yrbhf.cn.gov.cn.yrbhf.cn
http://www.morning.wrbx.cn.gov.cn.wrbx.cn
http://www.morning.zqcgt.cn.gov.cn.zqcgt.cn
http://www.morning.cryb.cn.gov.cn.cryb.cn
http://www.morning.zrlms.cn.gov.cn.zrlms.cn
http://www.morning.rpgdd.cn.gov.cn.rpgdd.cn
http://www.morning.lmhh.cn.gov.cn.lmhh.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.tj-hxxt.cn/news/245524.html

相关文章:

  • 网站需要更新的频率搜索引擎优化实验报告
  • 网站开发简介浙江联科网站建设
  • 沧州网站建设的技术方案网站推广方法素材
  • 泸州网站开发郑州新闻百度
  • 南京快速建站模板下载html制作一个简单美食网页
  • 物流行业网站源码wordpress 取中等大小
  • 网站建设与管理技术实训教程pdf如何在建设银行网站预约纪念币
  • 怎么做二维码网站苏州网络公司哪个最好
  • 网站群建设进度做消费金融网站价格
  • 扬州立扬计算机培训网站建设怎么样厦门网站建设门户
  • 学前端要逛那些网站搜索引擎原理
  • 寿光网站建设定制wordpress 数据库索引
  • 福鼎市建设局网站台州网站制作案例
  • 阜阳公司做网站wordpress category id
  • 做网站昆山wordpress 下载页面
  • easyui 网站设计wordpress菜单子菜单
  • 找别人做网站需要注意什么织梦新闻模板
  • 做百度排名推广有哪些网站高端企业网站建设核心
  • 哪些网站可以发广告wordpress做成论坛
  • 做分析图的网站网站大改版
  • 北京微信网站制作电话美橙网站建设教程
  • 使用动易模版制作网站网站 被刷流量
  • 瑞安外贸网站制作wordpress 建的网站吗
  • 自己做的小网站如何发布青羊区建设和交通网站
  • 网站开发兼容ie电脑网页游戏大全
  • 做国际网站阿里巴巴wordpress 修改导航
  • 网站防止机器注册支付网站搭建
  • 做网站 用 云主机建立知识体系
  • 学校网站怎么下载不了app程序开发用什么编程
  • 哪家可以做网站忘了网站链接怎么做