哪位在75上面调过DBI接口的屏?
请交流一下经验,我的屏现在没显示,打印log驱动已经跑到了。 但是ID读出来是错的,硬件确认没有问题。 数据线上在背光量的时候是有数据。
MT6575端的LCD部分原理图
ID 读出来是错的 就不要读ID 嘛
先直接返回1 ,如果还是不亮,让屏厂技术支持换个初始化代码。还有顺便说一下 你自己的屏的IC 型号。
不读ID也不亮呀!
你先说自己用的哪个屏,多少位接口的
说不定谁用过,直接就代码给你了
r61529芯片 16位DBI的接口。
11AMDW1222SP_TECHFAITH15_CU_ICS2_V30_GPRS_MMI版本。
static void lcm_get_params(LCM_PARAMS *params)
{
memset(params, 0, sizeof(LCM_PARAMS));
params->type = LCM_TYPE_DBI;
params->ctrl = LCM_CTRL_PARALLEL_DBI;
params->width = FRAME_WIDTH;
params->height = FRAME_HEIGHT;
params->io_select_mode = 1; //note:this para is different between 6573 and 6575
#if 0
params->dbi.port = 0;
params->dbi.clock_freq = LCM_DBI_CLOCK_FREQ_104M;
params->dbi.data_width = LCM_DBI_DATA_WIDTH_16BITS;
params->dbi.data_format.color_order = LCM_COLOR_ORDER_RGB;
params->dbi.data_format.trans_seq = LCM_DBI_TRANS_SEQ_MSB_FIRST;
params->dbi.data_format.padding = LCM_DBI_PADDING_ON_LSB;
params->dbi.data_format.format = LCM_DBI_FORMAT_RGB565;
params->dbi.data_format.width = LCM_DBI_DATA_WIDTH_16BITS;
params->dbi.cpu_write_bits = LCM_DBI_CPU_WRITE_32_BITS;
params->dbi.io_driving_current = LCM_DRIVING_CURRENT_8MA;
#endif
params->dbi.port = 0; //DBI port must be 0 or 1 on mt6575, should not be 2
params->dbi.data_width = LCM_DBI_DATA_WIDTH_16BITS;
params->dbi.data_format.color_order = LCM_COLOR_ORDER_RGB;
params->dbi.data_format.trans_seq = LCM_DBI_TRANS_SEQ_MSB_FIRST;
params->dbi.data_format.padding = LCM_DBI_PADDING_ON_LSB;
params->dbi.data_format.format = LCM_DBI_FORMAT_RGB565;
params->dbi.data_format.width = LCM_DBI_DATA_WIDTH_16BITS;
params->dbi.cpu_write_bits = LCM_DBI_CPU_WRITE_32_BITS;
params->dbi.io_driving_current = LCM_DRIVING_CURRENT_6575_8MA;
params->dbi.parallel.write_setup = 1;
params->dbi.parallel.write_hold = 1;
params->dbi.parallel.write_wait = 3;
params->dbi.parallel.read_setup = 3;
params->dbi.parallel.read_latency = 15;
params->dbi.parallel.read_latency = 0;
params->dbi.parallel.wait_period = 1;
params->dbi.parallel.cs_high_width = 0; //cycles of cs high level between each transfer
// enable tearing-free
// params->dbi.te_mode = LCM_DBI_TE_MODE_VSYNC_ONLY;
// params->dbi.te_edge_polarity = LCM_POLARITY_RISING;
}
你的屏的接法呢?
将BB端的LCD相关的电路贴出来看看。
static void lcm_get_params(LCM_PARAMS *params)
{
memset(params, 0, sizeof(LCM_PARAMS));
params->type = LCM_TYPE_DBI;
params->ctrl = LCM_CTRL_PARALLEL_DBI;
params->width = FRAME_WIDTH;
params->height = FRAME_HEIGHT;
params->io_select_mode = 3;////mike///3 ///1
params->dbi.port = 1;///dbi port must be 0 or 1 on mt6575,should not be 2 ////1
params->dbi.clock_freq = LCM_DBI_CLOCK_FREQ_104M;;
params->dbi.data_width = LCM_DBI_DATA_WIDTH_16BITS;
params->dbi.data_format.color_order = LCM_COLOR_ORDER_RGB;
params->dbi.data_format.trans_seq = LCM_DBI_TRANS_SEQ_MSB_FIRST;
params->dbi.data_format.padding = LCM_DBI_PADDING_ON_MSB;
params->dbi.data_format.format = LCM_DBI_FORMAT_RGB565;
params->dbi.data_format.width = LCM_DBI_DATA_WIDTH_16BITS;
params->dbi.cpu_write_bits = LCM_DBI_CPU_WRITE_16_BITS;
params->dbi.io_driving_current = LCM_DRIVING_CURRENT_8MA;
params->dbi.parallel.write_setup = 2;
params->dbi.parallel.write_hold = 2;
params->dbi.parallel.write_wait = 6;
params->dbi.parallel.read_setup = 3;
params->dbi.parallel.read_latency = 40;
params->dbi.parallel.wait_period = 0;
// enable tearing-free
params->dbi.te_mode = LCM_DBI_TE_MODE_VSYNC_ONLY;
params->dbi.te_edge_polarity = LCM_POLARITY_FALLING;
}
硬件原理图
要MT6575端的LCD部分原理图。
要MT6575端的LCD部分原理图
要MT6575端的LCD部分原理图。
MT6575端的LCD部分原理图.
MT6575端的LCD部分原理图。
售价: 1 rd币 [记录] [购买]
售价: 1 rd币 [记录] [购买]
MT6575端的LCD部分原理图
硬件上接错了,叫你们硬件自己看,或叫你们硬件上论坛。
那一块接错了呀? 能具体一点吗? 73上也是这么接的。73上面没有问题的。
75上不同了。75上RGB与MCU接口可以做兼容的,因此你这个电路现在是错的。
75个规格书上有,DBI接口16位的是这样的。
CS WR A0这些也要用RGB的接口上的VSYNC HSYNC DE这些PIN。
你错了,就是错了。没得说。
有办法补救吗?
没有。
谢谢!
我们硬件说是没问题。
MT6575、MT6577各种屏幕接口的接法.bmp
http://www.cshdn.com/forum.php?m ... =6628&fromuid=4
叫他看这个。
谢谢!