【200分】R61509或者SPFD5420A MPU屏驱动问题咨询

xumercury 2009-11-17 07:44:54
其实我用的是R61509,在这里发现SPFD5420A可以替代,我现在调试的状态是,显示是出来了,系统进入的是触摸屏校正,应该是白色的底色黑字,但是颜色要不是蓝色要不是红色,通过R003H寄存器修订RGB的方向来取得,颜色始终不对。
一下附上初始化数据。麻烦高手指点!



const WORD init_cmdset[][2] = {
//(1).reset first
/*
{0x0600,0x0001},
{DELAY_FLAG, 110},
{0x0600,0x0000},
{DELAY_FLAG, 110},
*/
//(2).init normal reg
{0x0001,0x0000},
{0x0002,0x0700},
//{0x0003,0x8008},//here we modify @ 09111617:15
//{0x0003,0x1008},//here we modify @ 09111715:38
{0x0003,0x8008},//here we modify @ 09111715:38
{0x0006,0x0000},
//{0x0008,0x0503},here we modify @ 09111713:40 by mx
{0x0008,0x0505},
//{0x0009,0x0001},,here we modify @ 09111713:40 by mx
{0x0009,0x0000},

{0x000b,0x0010},
{0x000C,0x0000},//here we modify @ 09111617:15
{0x000F,0x0000},
{0x0010,0x0012},
{0x0011,0x0202},
{0x0012,0x0300},
{0x0020,0x001E},
//{0x0021,0x0202},
//{0x0022,0x0100},
{0x0021,0x0010},//modify by mx xu 20091117 10:30
{0x0022,0x0000},//modify by mx xu 20091117 10:30
{0x0090,0x0000},
{DELAY_FLAG, 110},


//################# void Gamma_Set(void) ####################//
//(3).init gamma reg

{0x0300, 0x0101}, //γ Control
{0x0301, 0x0000}, //γ Control
{0x0302, 0x0016}, //γ Control
{0x0303, 0x2913}, //γ Control
{0x0304, 0x260B}, //γ Control
{0x0305, 0x0101}, //γ Control
{0x0306, 0x1204}, //γ Control
{0x0307, 0x0415}, //γ Control
{0x0308, 0x0205}, //γ Control
{0x0309, 0x0303}, //γ Control
{0x030a, 0x0E05}, //γ Control
{0x030b, 0x0D01}, //γ Control
{0x030c, 0x010D}, //γ Control
{0x030d, 0x050E}, //γ Control
{0x030e, 0x0303}, //γ Control
{0x030f, 0x0502}, //γ Control
{DELAY_FLAG, 200},
{0x0400,0x3100},
{0x0401,0x0001},
{0x0404,0x0000},
{0x0606,0x0101},//modify by mx xu set it I80 2nd to 1st 3rd to 1st 20091117:19:07
{0x06F0,0x0001},
{DELAY_FLAG, 110},

//**************secorrect gamma2 *********
{0x0400,0x3500},
{0x0401,0x0001},
{0x0404,0x0000},
{0x0500,0x0000},
{0x0501,0x0000},
{0x0502,0x0000},
{0x0503,0x0000}, //
{0x0504,0x0000}, //
{0x0505,0x0000},
{0x0600,0x0000},
{0x0606,0x0000},
{0x06f0,0x0000},
{0x07f0,0x5420}, //
{0x07f3,0x288a},//
{0x07f4,0x0022}, //
{0x07f5,0x0001}, //
{0x07f0,0x0000}, //

{0x0007,0x0173},
{DELAY_FLAG, 110},
//(4).init base image reg
{0x0400,0x3100},
{0x0401,0x0001},
{0x0404,0x0000},
{0x0606,0x0000},
{0x06F0,0x0001},

{DELAY_FLAG, 110},

{0x0007,0x0021},//here we modify @ 09111717:40 by mx
{0x0007,0x0061},//here we modify @ 09111717:40 by mx
{0x0007,0x0173},//here we modify @ 09111717:40 by mx
//{0x0007,0x0133},
{DELAY_FLAG, 110},

//(5).set a base address reg
/*
{0x0210,0x0000},
{0x0211,0x00EF},
{0x0212,0x0000},
{0x0213,0x018F},
*/
{END_FLAG, END_FLAG}

};

const WORD turnoff_cmdset[][2] = {
{0x0100, 0x0000}, // SAP, BT[3:0], AP, DSTB, SLP, STB
{0x0101, 0x0000}, // DC1[2:0], DC0[2:0], VC[2:0]
{0x0102, 0x0000}, // VREG1OUT voltage
{0x0103, 0x0000}, // VDV[4:0] for VCOM amplitude
{DELAY_FLAG, 200}, // Dis-charge capacitor power voltage
{0x0107, 0x0000}, // Set VCM[5:0] for VCOMH
{DELAY_FLAG, 100},
{0x0110, 0x0000}, // Set VCM[5:0] for VCOMH
{0x0112, 0x0000}, // Set VCM[5:0] for VCOMH
{END_FLAG, END_FLAG}
};

const WORD turnon_cmdset[][2] = {

//(1)Display ON step1 R606h: TCREV
//(2)Power supply user setting Initial instruction setting
//(3)Display ON step3 When registers are set
//(4)Display ON step4 Other mode setting instruction
{0x0007,0x0001},
{0x0110,0x0001},
{0x0112,0x0060},
{0x0100,0x17B0},
{DELAY_FLAG, 100},
{0x0101,0x0006},
{DELAY_FLAG, 100},
{0x0102,0x0118},
{0x0103,0x3600},
{0x0282,0x0000},
{DELAY_FLAG, 100},
{0x0281,0x0006},
{0x0110,0x0001},
{DELAY_FLAG, 100},
{0x0102,0x0138},
{DELAY_FLAG, 100},

{0x0007,0x0021},
{DELAY_FLAG, 100},
{0x0100,0x17B0},
{0x0101,0x0007},
{0x0007,0x0061},
{DELAY_FLAG, 100},
{0x0007,0x0173},
{DELAY_FLAG, 100},
{END_FLAG, END_FLAG}


//-------------power ctrl end---------------
};
...全文
548 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumercury 2009-11-26
  • 打赏
  • 举报
回复
大家注意下R400H寄存器就好了
xumercury 2009-11-26
  • 打赏
  • 举报
回复
搞定了。呵呵。

//(1).reset first

//(2).init normal reg
{0x0001,0x0000},
{0x0002,0x0700},
{0x0003,0x0008},//here we modify @ 091124 14:20
{0x0006,0x0000},
{0x0008,0x0503},
{0x0009,0x0001},
{0x000b,0x0010},
{0x000C,0x0000},//here we modify @ 20091123
{0x000F,0x0000},
{0x0010,0x0012},
{0x0011,0x0202},
{0x0012,0x0300},
{0x0020,0x001E},
{0x0021,0x0202},
{0x0022,0x0100},
{0x0090,0x0000},
{DELAY_FLAG, 110},


//################# void Gamma_Set(void) ####################//
//(3).init gamma reg
{0x0300,0x0101}, //0101
{0x0301,0x0B27}, //0b26
{0x0302,0x152a}, //1329
{0x0303,0x2a15}, //2913
{0x0304,0x270B}, //260b
{0x0305,0x0101}, //
{0x0306,0x1205}, //1804
{0x0307,0x0512}, //0418
{0x0308,0x0005}, //0205
{0x0309,0x0003},//0303
{0x030A,0x0804}, //0e05
{0x030B,0x0800}, //0d01
{0x030C,0x0005}, //010d
{0x030D,0x0405}, //050e
{DELAY_FLAG, 110},
//(4).init base image reg
{0x0400,/*0x1D00*/0x3100},
{0x0401,0x0000},
{0x0404,0x0000},
{0x0606,0x0000},
{0x06F0,0x0001},

{DELAY_FLAG, 110},

{0x0007,0x0173},

{DELAY_FLAG, 110},

//(5).set a base address reg

{END_FLAG, END_FLAG}

kyzf 2009-11-25
  • 打赏
  • 举报
回复
帮顶下。

很可能是颜色数据的高位丢失。
kyzf 2009-11-25
  • 打赏
  • 举报
回复
关注中。
xumercury 2009-11-24
  • 打赏
  • 举报
回复
现在发现可能是传输数据时发生了位数的错误,初始化的时候是16bit的数据,但是在传输图像的时候是18bit的,这个时候可能传过去的数据和接受的数据产生了问题。
问题是不知道是传过去的数据18bit成了16bit还是接受的时候18bit接受成了16bit。。仍待解决中。。。
顶一下
xumercury 2009-11-21
  • 打赏
  • 举报
回复
頂一下
aleyn 2009-11-21
  • 打赏
  • 举报
回复
我还没有遇到过,帮顶
nihao38 2009-11-20
  • 打赏
  • 举报
回复
xumercury 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 sunrain_hjb 的回复:]
没有做过,没有经验,纯属帮顶。^_^
[/Quote]
謝謝牛人了。。。怎麼有空到這裏來了。呵呵。
sunrain_hjb 2009-11-20
  • 打赏
  • 举报
回复
没有做过,没有经验,纯属帮顶。^_^
xumercury 2009-11-20
  • 打赏
  • 举报
回复
顶一下。
xqhrs232 2009-11-19
  • 打赏
  • 举报
回复
没整过!
xumercury 2009-11-19
  • 打赏
  • 举报
回复
另外。。。芯片我已经说了R61509或者是SPFD5420A。这个芯片就是个MPU屏的驱动IC,支持WQVGA的玻璃,400×240分辨率。了解这个芯片的也就知道怎么答了。。汗。。哎。问的地方有问题。。应该挪到硬件专区去。。。

这个问题比较专一。。。。纯属来找熟手,来找有经验的。。。
xumercury 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xqhrs232 的回复:]
没整过!
[/Quote]
谢谢!
xumercury 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 frontchen 的回复:]
初始化代码肯定有问题,建议向供应商再要一个初始化代码,试试看,应该POWER CONTROL 有问题!
[/Quote]
R(255,0,0)->Y(255,255,0)
G(0,255,0)->B(0,0,255)
W(255,255,255)->W(255,255,255)
BL(0,0,0)->G(0,255,0)
我做了个测试颜色的segment
结果转成了上面的样子。。。。建议向供应商再要一个初始化代码。诶供应商给的code根本都点不亮。呵呵。还是找了几个朋友才找到了基本能点亮的code。哎。没辙。
不知道forntchen有没有做过这个驱动IC?
frontchen 2009-11-19
  • 打赏
  • 举报
回复
初始化代码肯定有问题,建议向供应商再要一个初始化代码,试试看,应该POWER CONTROL 有问题!
xumercury 2009-11-18
  • 打赏
  • 举报
回复
顶一下。解决马上给分。不够再加
xumercury 2009-11-18
  • 打赏
  • 举报
回复
我的是18bit i80SYSTEM-18bit 這個屏驅動
xumercury 2009-11-18
  • 打赏
  • 举报
回复
BGR: Reverses the order from RGB to BGR in writing 18-bit pixel data in the GRAM.
BGR = 0: Write data in the order of RGB to the GRAM.
BGR = 1: Reverse the order from RGB to BGR in writing data to the GRAM.

RGB的順序。我只是修訂這個。其他改的都沒有什麼效果。
lgy198612 2009-11-18
  • 打赏
  • 举报
回复
单步调试应该可以的吧?
加载更多回复(3)

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧