初级会员

- 积分
- 73
- 金钱
- 73
- 注册时间
- 2020-4-6
- 在线时间
- 21 小时
|
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());
}
|
|