datasheet

SSD1963+STM32F4+RGB565 TFT调试

2018-06-04来源: eefocus 关键字:SSD1963  STM32F4  RGB565  TFT调试

由于项目需要用到5.0寸触屏,选了一款RGB565接口的电容触摸屏,决定采用STM32F407+SSD1963的驱动方案,整个过程基本顺利,但中间也遇到了一些问题,折腾了两天,在网上看到很多网友也有遇到类似问题,好像都没有解决,决定把它分享出来,以免浪费不必要的时间。

当第一次做板回来,顺利点亮屏,研究了半天SSD1963手册,终于显示了红绿蓝三原色后,心里挺开心,觉得已经搞得差不多了。接着开始根据UI设计实现界面,这时奇怪的问题出来了,字体显示边缘总是不干净,有点模糊又有一点杂色,图标显示颜色都跟设计有差异,而且细节处也显得不清楚,最后发现只要不是单色,颜色都不能正常显示。由于红绿蓝三原色正常,一直认为硬件没问题,可能是软件初始化配置问题。SSD1963的手册不是太好,不太考虑普通人的智商,有些不好理解,SSD1963没有16位的模式,用18位模式来代替,但是手册里并没有提示18位数据哪两位不用,实际测试必须是LDATA0和LDATA12不用,不要与下图的MCU数据接口混淆,这个是指不同宽度MCU数据接口写入SSD1963显存时对应的RGB关系。

所以硬件连接必须如下:

   

部分初始化代码如下:

    UINT32  HDP = 479;      // HS_Display_Area
    UINT32  HT  = 510;      // (HS_Display_Area + HS_pulse_width + HS_Blanking + HS_Front_Porch)
    UINT32  HPS = 20;       // (HS_pulse_width + HS_Blanking)
    UINT32  HPW = 2;        // HS_pulse_width
    UINT32  LPS = 8;        // Horizontal Display Period Start Position
    UINT32  VDP = 853;      // VS_Display_Area
    UINT32  VT  = 920;      // (VS_Display_Area + VS_pulse_width + VS_Blanking + VS_Front_Porch)
    UINT32  VPS = 20;       // (VS_pulse_width + VS_Blanking)
    UINT32  VPW = 8;        // VS_pulse_width
    UINT32  FPS = 2;        // Vertical Display Period Start Positio
    SSD1963_RST_LOW;        //复位SSD1963
    delay_us(100);
    SSD1963_RST_HIGH;

    LCD_WR_REG(0xE2);       //Set PLL with CLK = 10MHz (MCU OUTPUT),
                                 //Multiplier M = 29, 250MHz < VCO < 800MHz = CLK*(M+1), VCO = 300MHz
    LCD_WR_DATA(0x1D);      //CLK = 10MHz (MCU OUTPUT),///参数1
    LCD_WR_DATA(0x02);      //参数2 Divider N = 2, PLL = 300/(N+1) = 100MHz
    LCD_WR_DATA(0x04);      //参数3 Validate M and N values

    LCD_WR_REG(0xE0);       // Start PLL command
    LCD_WR_DATA(0x01);      // enable PLL
    delay_ms(100);                    // Wait 100ms to let the PLL stable
    LCD_WR_REG(0xE0);       // Start PLL command again
    LCD_WR_DATA(0x03);      // now, use PLL output as system clock
    //delay_ms(5);
    LCD_WR_REG(0x01);       //软复位
    delay_ms(5);

    //Set LSHIFT freq, i.e. the DOTCLK with PLL freq 100MHz set previously
    //Typical DOTCLK for KD050FM-1 is 35MHz MAX(datasheet), experiment shows 30MHz gives a stable result
    //30MHz = 100MHz*(LCDC_FPR+1)/2^20
    //LCDC_FPR = 314571 (0x4CCC8)
    LCD_WR_REG(0xE6);
    LCD_WR_DATA(0x04);//0x03
    LCD_WR_DATA(0xCC);
    LCD_WR_DATA(0xC8);

    //Set LCD mode, varies from individual manufacturer
    LCD_WR_REG(0xB0);
    LCD_WR_DATA(0x10);     // set 18-bit for 5" panel 
    LCD_WR_DATA(0x00);     // set TTL mode
    LCD_WR_DATA((HDP >> 8) & 0x00FF);   // Set LCD horizontal  panel size H
    LCD_WR_DATA(HDP & 0x00FF);           // Set LCD horizontal panel size L
    LCD_WR_DATA((VDP >> 8) & 0x00FF);    // Set LCD vertical panel size H
    LCD_WR_DATA(VDP & 0x00FF);          // Set LCD vertical panel size L
    LCD_WR_DATA(0x00);                   // RGB sequence

    //Set horizontal period
    LCD_WR_REG(0xB4);
    LCD_WR_DATA((HT >> 8) & 0x00FF);    //Set HT
    LCD_WR_DATA(HT & 0x00FF);
    LCD_WR_DATA((HPS >> 8) & 0X00FF);  //Set HPS
    LCD_WR_DATA(HPS & 0x00FF);
    LCD_WR_DATA(HPW);                   //Set HPW
    LCD_WR_DATA((LPS >> 8) & 0x00FF);   //Set HPS
    LCD_WR_DATA(LPS & 0x00FF);
    LCD_WR_DATA(0x0000);

    //Set vertical period
    LCD_WR_REG(0xB6);
    LCD_WR_DATA((VT >> 8) & 0x00FF);    //Set VT
    LCD_WR_DATA(VT & 0x00FF);
    LCD_WR_DATA((VPS >> 8) & 0x00FF);   //Set VPS
    LCD_WR_DATA(VPS & 0x00FF);
    LCD_WR_DATA(VPW);                   //Set VPW
    LCD_WR_DATA((FPS >> 8) & 0x00FF);   //Set FPS
    LCD_WR_DATA(FPS & 0x00FF);

    //设置GPIO配置
    LCD_WR_REG(0xB8);
    LCD_WR_DATA(0x0F);                 //GPIO3=output, GPIO[2:0]=output//GPIO is controlled by host; 4个IO设置成输出
    LCD_WR_DATA(0x01);                 //GPIO0 使用正常的IO功能

    LCD_WR_REG(0xBA);                  //设置GPIO配置
    LCD_WR_DATA(0x000F);            //GPIO[3:0] out 1

    LCD_WR_REG(0x0036);              //rotation
    LCD_WR_DATA(0x0000);

    LCD_WR_REG(0xF0);                  //设置SSD1963同CPU接口为16bit Set pixel data interface
    LCD_WR_DATA(0x03);                 //16-bit(565 format) data


关键字:SSD1963  STM32F4  RGB565  TFT调试

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2018060439559.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:stm32F429 LTDC优化
下一篇:基于STM32F429的SDRAM使用

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

工业级3D NAND SSD 全球量产正式启动

工控储存领导厂商宜鼎国际,旗下工业级3D NAND SSD将正式于10月份开启全球量产,稳步提高产能。宜鼎国际董事长简川胜表示,为提供业界高等级工控品质,宜鼎3D NAND TLC花费超过两年时间进行前期导入测试以及工规等级的压力震动测试,目前已成功导入客户端,并持续以高端规格支持工控产业升级。 新3TE7 3TG6-P 严守工控规格随着未来5G、数据中心、AI,以及大数据运算趋势,终端设备的储存需求大增,加以智能化不断驱动产品设计与规格提升,宜鼎国际新推出的3D NAND系列3TE7以及3TG6-P,持续与国际NAND FLASH大厂Toshiba扩大合作,提供32高达4TB的大容量规格,并支持工业宽温-40°C
发表于 2018-10-31
工业级3D NAND SSD 全球量产正式启动

国产化之路任重道远,SSD芯片初见成效

“中国芯”战略之路道阻且长,踏入这个赛道的攻坚者们需要十年如一日的技术突破,需要集合产业势能,共同协作,方能建立中国核心技术真正的竞争力。 信息时代,让世界变成了地球村,国家间的对抗变得无形。核心技术的受制于人,就如命门被置他手。因此,我们要研发自己的芯片,实现我们核心元器件技术的突破,实现真正的自主安全可控。半导体是电子信息行业的基石,彰显大国重器,承担这样国家责任的企业不断涌现,研发领域如国科微、飞腾、申威等优秀的芯片企业。 目前我国部分专用芯片快速追赶,正迈向全球第一阵营。专用集成电路细分领域众多,我国能够赶上世界先进水平的企业还是少数。而在固态硬盘领域,国产SSD芯片研发终于初见成效。 
发表于 2018-09-19
国产化之路任重道远,SSD芯片初见成效

国产芯片任重道远 国科微SSD主控芯片的“追赶之路”

    国产化之路任重道远,SSD芯片初见成效信息时代,让世界变成了地球村,国家间的对抗变得无形。核心技术的受制于人,就如命门被置他手。因此,我们要研发自己的芯片,实现我们核心元器件技术的突破,实现真正的自主安全可控。半导体是电子信息行业的基石,彰显大国重器,承担这样国家责任的企业不断涌现,研发领域如国科微、飞腾、申威等优秀的芯片企业。目前我国部分专用芯片快速追赶,正迈向全球第一阵营。专用集成电路细分领域众多,我国能够赶上世界先进水平的企业还是少数。而在固态硬盘领域,国产SSD芯片研发终于初见成效。2017年底,国科微新一代产品国内首款国密、国测双认证存储主控芯片GK2301,引发了业界的广泛关注
发表于 2018-09-18

带你了解一下什么是企业固态硬盘(SSD)

PCIe 接口的固态硬盘。这种硬盘不同于 U.2,不可带电插拔,但是支持 4 个以上的 PCIe 通道。 紧凑外形——M.2 卡状固态硬盘 M.2 多用于数据中心。这种硬盘的接口比其他硬盘都要紧凑。它采用 PCIe 或 SATA 通讯。Amphenol ICC 的 U.2 如果用作企业固态硬盘,可达到第 4 和第 5 代 PCIe 性能。同样,第 3/4 代 PCIe 和 M.2 具备 16GT/s 性能,24G SAS 可实现更高带宽。 下一代固态硬盘(SSD) 固态硬盘外形设计一直都在改进,以跟上越来越高的应用需求。Amphenol ICC 开发下一代产品时
发表于 2018-09-18
带你了解一下什么是企业固态硬盘(SSD)

“NAND闪存+SSD主控”自主格局将形成?忆芯推出SSD主控新品

读写的性能指标,STAR1000P有了不错的提升。同样,STAR1000P的目标应用市场比第一代更为广泛。第一代STAR1000的定位是“高端消费级入门企业级”的高性能NVMe SSD主控芯片,而STAR1000P可以助力数据中心关键应用、满足工业及企业级高可靠性。以上性能指标的提升为助力数据中心关键应用提供了保障。此外,STAR1000P除支持国际AES加密标准以外,也全面支持中国商密(SM2/3/4)安全方案;引入了第三代4K LDPC纠错码技术,可轻松应对3D TLC/QLC挑战,提升闪存纠错能力;增强了NVMe PI、EEEC、In-line ECC等软错误处理技术。这为满足工业及企业级高可靠性要求提供了保障。国内SSD主控
发表于 2018-08-10
“NAND闪存+SSD主控”自主格局将形成?忆芯推出SSD主控新品

慧荣科技推出全新双模企业级SSD控制芯片

全球NAND闪存主控芯片设计与营销领导品牌慧荣科技(Silicon Motion Technology Corporation, NASDAQ: SIMO)今天发布PCIe NVMe SSD控制芯片解决方案SM2270,该解决方案可以为企业及数据中心应用提供高性能、大容量、高可靠性和低延迟等卓越表现。双模SM2270是一款完备的SSD控制芯片解决方案,可搭载定制化的固件以支持客戶基于Open-Channel的应用,同時也可搭载Turnkey固件以支持标准NVMe协议。无论在哪个模式下,SM2270管理技术都能在高密度、多租户数据中心应用中实现超高性能,确保低延迟,并提高存储容量的使用效率。该控制芯片符合以下规范:· 
发表于 2018-08-09
慧荣科技推出全新双模企业级SSD控制芯片

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">