打印
[新唐博主]

【优质评测精选】NuMaker-IIoT-NUC980 测评之使用 EBI 驱动 LCD

[复制链接]
2099|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
21ic小管家|  楼主 | 2022-7-27 09:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CD, IO
NuMaker-IIoT-NUC980
测评之使用 EBI 驱动 LCD
作者:qinyunti

特征
  • 三个独立芯片选择引脚,可设置极性,支持三个设备,时序独立设置
  • 数据总线和地址总线分开。
  • 每个设备支持1MB空间
  • 8/16位数据宽度
  • 支持8080模式LCD接口
  • 支持PDMA
  • 支持设置读写空闲时间
  • 可选内部HCLK分频得到MCLK或者外部EBI_MCLK
  • 支持地址总线和数据总线分开




配置
  • 时钟使能
    EBI (CLK_HCLKEN[9])
  • 复位模块
    EBIRST (SYS_AHBIPRST[3])
  • 引脚


地址映射
三个片选分别对应地址如

连接
地址总线和数据总线分开模式

读写时序


tASU:地址建立时间,CS拉低到RD或WR拉低的时间,连续读模式CACCESS=1,tASU不需要.
tACC:RD,WD拉低的时间,数据访问时间,即给对方去读数据的时间。
tAHD:数据保持时间,即RD,WR拉高后到CS拉高的时间。
寄存器
EBI_CTLx
设置时钟分频,使能EBI功能,总线宽度设置,CS极性等

EBI_TCTLx
设置时序参数
使用EBI驱动LCD设计
硬件设计 - LCD选型
从原理图可以看出CON11为EBI接口,设计时实际就是预留给LCD使用的,可以使用EBI接口,接8080模式16bit的LCD屏。

对应如下:


从淘宝上挑选了一个便宜的2.4寸支持8080模式的触摸屏。使用的驱动芯片是ST7789V。
原理图和PCB设计
使用KiCAD设计了原理图和PCB

原理分析
用的CS0片选,所以地址空间为0x6000_0000 ~ 0x600F_FFFF

由于RS引脚接到了ADDR10,而且使用的是16bit模式,所以地址中的1<<11位对应ADDR10即RS。

如果是8位模式则一一对应,地址中的1<<10位对应ADDR10即RS

写地址0x60000000 | 1<<11则ADDR10为1,RS=1表示数据

写地址0x60000000 | 0<< 11则ADDR10为0,RS=0表示命令


所以读写命令或者数据只需要读写地址0x60000000 | 1<<11和0x60000000 | 0<< 11即可。


液晶屏的参数如下

根据以上
先确认HCLK时钟分频2^x次得到MCLK,x=0~7最大分频128。
sysGetClock(SYS_HCLK))可以获取HCLK单位为M
分频x则MCLK为x/HCLK uS = 1000*x/HCLK nS

nu_clocks可以打印当前时钟配置
代码编写
见lcd.c
硬件/时序调试
焊接完后要先确认是否有短路,再上电。

首先先确认各引脚是不是对,对于RESET和BL引脚是作为IO的直接翻转用示波器或者逻辑分析仪看是否正确,
对于其他EBI引脚按照如下测试代码
用逻辑分析仪去看是否信号线是否都对,首先确认信号线是否一一对应,不对就检查原理图和PCB和焊接。
然后确认信号是否符合要求,不符合就确认寄存器的配置是否正确。
\nk-980-iot-test\lcd-pcb\测试信号 使用Logic 2.3.47打开.sal 是我这里抓取到波形,可以打开回放,和上面的测试代码对应。
源码
https://gitee.com/qinyunti/nk-980-iot-test.git

LCD相关资料在lcd-pcb目录下。
总结
EBI接口驱动8080接口的LCD非常方便,本次设计也比较顺利,一次就成功,其中逻辑分析仪非常重要,用来分析时序没有他不行,另外嘉立创的打样活动非常不错,可以去看看。
下次测试下性能,优化下时序,将时序尽可能提高到最快,尽可能提高刷屏速度。
后面再移植GUI,暂时选定lvgl或者emwin。
后面再添加ADC测评,添加驱动支持。



使用特权

评论回复
沙发
豌豆爹| | 2022-8-2 10:12 | 只看该作者
恭喜这位创作者入选优质测评贴,

使用特权

评论回复
板凳
yeates333| | 2022-11-10 12:42 | 只看该作者
这个cbi是什么接口呢?              

使用特权

评论回复
地板
timfordlare| | 2022-11-10 12:52 | 只看该作者
新塘EBI控制LCD驱动芯片,命令写入错误,读取也不正确

使用特权

评论回复
5
ccook11| | 2022-11-10 13:22 | 只看该作者
如何使用EBI与i80接口的LCD Module连接?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:祝大家天天开❤ ///w/// 有问题咨询联系QQ:3326242524

2772

主题

6461

帖子

243

粉丝