站内搜索
发作品签到
标准版

RK628 HDMI 转 MIPI(屏幕时序有问题)

工程标签

1.4w
0
0
10

简介

RK628的功能验证板,使用外部MCU通过I2C与RK628通信。RK628的资料从网上找的,驱动来源于Linux内核。目前屏幕调的还是有问题。已弃坑)

简介:RK628的功能验证板,使用外部MCU通过I2C与RK628通信。RK628的资料从网上找的,驱动来源于Linux内核。目前屏幕调的还是有问题。已弃坑)

开源协议

Public Domain

创建时间:2022-09-28 00:04:16更新时间:2022-09-28 09:38:41

描述

RK628D是一款不错的芯片,性价比比较高,可惜官方没有开放资料。我利用网上能找到的东西,设计了一块评估板,从Linux内核中抽取出了对应驱动。

 

 

外部MCU:CH582M

pcb板BUG:没有3213封装的32MHz晶振,找了3225的晶振斜着干上去了。

LCD的驱动用了TPS65142,我设计时对这个芯片的理解可能还是出现了一些偏差,输出有问题,最后的电压没有到屏幕规格书里的建议值。

建议还是换成LCD的LED电源+LCD正负电源分立的这种。

屏幕:LQ055T3SX02Z。1920*1080

屏幕的初始化序列在panel.c中设置,屏幕的显示参数在rk628_config.c中设置。

如果更换单片机,需要提供的接口列表:

 

void rk628_delay_us(int us);
void rk628_delay_ms(int ms);

int64_t rk628_gettime_us();

 

void rk628_set_RST_pin(int val);
int rk628_get_DET_pin_level();

 

// 设置定时任务,可以利用定时器实现。rk628_interface.c代码里写了一个简易的定时任务管理

void rk628_schedule_timer(void (*timer_cb)(), int time_us);
void rk628_schedule_timer_interrupt(void (*timer_cb)(), int time_us);

 

void rk628_enable_INT_interrupt(void (*pin_cb)(), uint8_t type);
void rk628_enable_DET_interrupt(void (*pin_cb)(), uint8_t type);

 

// rk628结构体指针没有用到
int rk628_i2c_write(struct rk628 *rk628, u32 reg, u32 value);
int rk628_i2c_read(struct rk628 *rk628, u32 reg, u32 *value);

// 这个不用改
int rk628_i2c_update_bits(struct rk628 *rk628, u32 reg, u32 mask, u32 val);

 

void dbg_print(char *fmt, ...);

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
ProjectRK628.zip
539
2
RK628_EvalBoard.PcbDoc
366
3
LQ055T3SX02Z.pdf
467
4
RK628D网络资料.zip
2204
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航