OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4505|回复: 5

请问下为啥我的SSD2828读取不到ID值,都是0xFFFF

[复制链接]

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2020-4-6
在线时间
21 小时
发表于 2020-11-29 12:02:59 | 显示全部楼层 |阅读模式
1金钱
初始化函数
void SSD2828_Init(void)
{
        SSD2828_QSPI_Init();
        //Packet Write Configuration
        SSD2828_Write_REG(0xB8,0x0000);        //VC(Virtual ChannelID) Control Register
        SSD2828_Write_REG(0xB9,0x0000);        //PLL Disable

        //PLL Configure
        //FR: bit15~14
        //00 ?62.5 < OUT f  < 125
        //01 ?126 < OUT f  < 250
        //10 ?251 < OUT f  < 500  
        //11 ?501 < OUT f  < 1000        
        SSD2828_Write_REG(0x00BA,0xC050);        //Fout = Fin * 0x14 / 1 = 10M * 80 /1 = 800M
        SSD2828_Write_REG(0x00BB,0x0009);        //LP(Low Power) Clock = Fout /10/8 = 10M
        SSD2828_Write_REG(0x00B9,0x0001);        //PLL ENABLE
        HAL_Delay(100);

        //RGB Input Interface Control
        SSD2828_Write_REG(0x00B1,(SSD2828_VSYNC<<8)+SSD2828_HSYNC);
        SSD2828_Write_REG(0x00B2,(SSD2828_VBP<<8)+SSD2828_HBP);
        SSD2828_Write_REG(0x00B3,(SSD2828_VFP<<8)+SSD2828_HFP);
        SSD2828_Write_REG(0x00B4,SSD2828_WIDTH);
        SSD2828_Write_REG(0x00B5,SSD2828_HEIGHT);
        SSD2828_Write_REG(0x00B6,0x0003);        //HS,VS,PCLK=0 , Bit[1:0]=11=24bpp

        //Delay Timeing
        //SSD2828_Write_REG(0x00C4,0x0001);        //Enable BTA
        SSD2828_Write_REG(0xC9,0x2302);        //p1: HS-Data-zero  p2: HS-Data- prepare  --> 8031 issue
        HAL_Delay(5);
        SSD2828_Write_REG(0xCA,0x2302);
        SSD2828_Write_REG(0xCB,0x0510);
        SSD2828_Write_REG(0xCC,0x1005);        //0x100A????,0A????
        HAL_Delay(5);
        SSD2828_Write_REG(0xD0,0x0000);        //HS TX Timer=0,?????=0x0010

        //MIPI Lane Configure
        //00 - 1 lane mode
        //01 - 2 lane mode
        //10 - 3 lane mode
        //11 - 4 lane mode
        SSD2828_Write_REG(0xDE,0x0003);        //2 Data Lane,11=4LANE 10=3LANE 01=2LANE 00=1LANE
        SSD2828_Write_REG(0xD6,0x0005);        //Bit[7:2]:Send X(now=1) Packet in Blanking Period, Bit[0]:1=R.G.B/0=B.G.R
        SSD2828_Write_REG(0xB7,0x024B);        //0x024B选择TX_CLK作为MIPI时钟,0x026B选择RGB的PCLK作为MIPI时钟
        HAL_Delay(100);

}
读取ID函数
void   SPI5_READ_ID(void)
{
        SSD2828_Write_REG(0xd4, 0x00FA);
        printf("2828 ID: 0x%x\n",SPI_READ());
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2016-1-15
在线时间
36 小时
发表于 2020-11-29 22:17:37 | 显示全部楼层
范围比较大,spi总线是三线还是四线?上示波器看
回复

使用道具 举报

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2020-4-6
在线时间
21 小时
 楼主| 发表于 2020-12-1 14:36:07 | 显示全部楼层
maplblue 发表于 2020-11-29 22:17
范围比较大,spi总线是三线还是四线?上示波器看

我用的是四线的,CLK/SDI/SDO/CS
回复

使用道具 举报

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2020-4-6
在线时间
21 小时
 楼主| 发表于 2020-12-1 14:37:35 | 显示全部楼层
maplblue 发表于 2020-11-29 22:17
范围比较大,spi总线是三线还是四线?上示波器看

示波器可以测试到SDI跟CLK的信号,SDO一直保持的1.8v高电平。
回复

使用道具 举报

11

主题

2141

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4855
金钱
4855
注册时间
2015-1-10
在线时间
608 小时
发表于 2020-12-1 15:17:20 | 显示全部楼层
ccr118 发表于 2020-12-1 14:37
示波器可以测试到SDI跟CLK的信号,SDO一直保持的1.8v高电平。

软件仿真对比一下时序,1.8V不算高电平,浮空的
回复

使用道具 举报

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2020-4-6
在线时间
21 小时
 楼主| 发表于 2020-12-2 00:25:38 | 显示全部楼层
阿侑kevin 发表于 2020-12-1 15:17
软件仿真对比一下时序,1.8V不算高电平,浮空的

读取和配置木有问题了,是程序时序的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-30 03:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表