1、硬件电路连接
2、mipi控制器设计
2.1屏初始化
屏初始化数据配置,数据打包。包含ECC生成器,CRC生成器。
长包举例:
assign dcs_data[37 ] = 8'h39; ----DI
assign dcs_data[38 ] = 8'h05; ----WC LOW
assign dcs_data[39 ] = 8'h00; ----WC HIGH
assign dcs_data[40 ] = 8'h36; ----ECC
assign dcs_data[41 ] = 8'hB6;
assign dcs_data[42 ] = 8'h02;
assign dcs_data[43 ] = 8'hE2;
assign dcs_data[44 ] = 8'hFF;
assign dcs_data[45 ] = 8'h04;
assign dcs_data[46 ] = 8'h1F;
assign dcs_data[47 ] = 8'h69;
例如:
assign dcs_data[49 ] = 8'h39;
assign dcs_data[50 ] = 8'h04;
assign dcs_data[51 ] = 8'h00;
assign dcs_data[52 ] = 8'h2C;
assign dcs_data[53 ] = 8'hB1;
assign dcs_data[54 ] = 8'h00;
assign dcs_data[55 ] = 8'h10;
assign dcs_data[56 ] = 8'h1A;
assign dcs_data[57 ] = 8'h4C;---CRC
assign dcs_data[58 ] = 8'h54;---CRC
3、点屏
只使用LANE0完成屏初始化,点屏只使用LANE0也即可完成。
---------------------------------------------------------------------------
-- Process name: mipi_tx_con_state machine
-- Description:
-- Modification:
-- Author/Date/Description
---------------------------------------------------------------------------
process(sys_mipi_clk,RESET_N)is
--type lp_mode_state is (lp_reset,idle,load_data,tx_data,rx_ready,rx_data,data_out);
--variable spi_state : spi_states ;
--attribute syn_encoding : string;
--attribute syn_encoding of spi_states: type is "safe";
variable tx_cnt : integer range 0 to 500;
variable delay_cnt : integer range 0 to 4000;
variable tx_data_cnt : integer range 0 to 8000;
variable tx_src_data_cnt : integer range 0 to 90000;
variable tx_src_data_cnt0 : integer range 0 to 90000;
--variable rx_cnt : integer range 0 to data_width;
begin
if (sys_rst_n='0') then
DONE <= '0' ;
mipi_tx_data0 <= x"00";
mipi_tx_data1 <= x"00";
mipi_tx_data2 <= x"00";
mipi_tx_data3 <= x"00";
mipi_tx_data_width <= 0 ;
tx_cnt:=0;
delay_cnt:=0;
tx_data_cnt:=0;
mipi_tx_en <= '1' ;
mipi_tx_con_state <= tx_con_reset;
else
if (sys_mipi_clk'event and sys_mipi_clk ='1') then
case mipi_tx_con_state is
--tx_con_reset
when tx_con_reset =>
DONE <= '0' ;
tx_cnt:=0;
tx_data_cnt:=0;
delay_cnt:=0;
mipi_tx_en <= '1' ;
mipi_tx_data_width <= 0 ;
if(sys_rst_delay_en_n = '0')then
mipi_tx_con_state <= tx_con_idle;
else
mipi_tx_con_state <= tx_con_reset;
end if ;
--tx_con_idle
when tx_con_idle =>
DONE <= '0' ;
tx_cnt:=0;
delay_cnt:=0;
mipi_tx_en <= '1' ;
mipi_tx_data_width <= 0 ;
if(mipi_tx_busy= '0')then
mipi_tx_con_state <= tx_con_load;
else
mipi_tx_con_state <= tx_con_idle;
end if ;
--tx_con_load
when tx_con_load =>
delay_cnt:=0;
mipi_tx_en <= '1' ;
case(tx_data_cnt)is
when 0 =>
mipi_tx_data_width <= 11 ;
mipi_tx_data_temp(0) <= LCD_DATA0(0);
mipi_tx_data_temp(1) <= LCD_DATA0(1);
mipi_tx_data_temp(2) <= LCD_DATA0(2);
mipi_tx_data_temp(3) <= LCD_DATA0(3);
mipi_tx_data_temp(4) <= LCD_DATA0(4);
mipi_tx_data_temp(5) <= LCD_DATA0(5);
mipi_tx_data_temp(6) <= LCD_DATA0(6);
mipi_tx_data_temp(7) <= LCD_DATA0(7);
mipi_tx_data_temp(8) <= LCD_DATA0(8);
mipi_tx_data_temp(9) <= LCD_DATA0(9);
mipi_tx_data_temp(10) <= LCD_DATA0(10);
when 1 =>
mipi_tx_data_width <= 12 ;
mipi_tx_data_temp(0) <= LCD_DATA1(0);
mipi_tx_data_temp(1) <= LCD_DATA1(1);
mipi_tx_data_temp(2) <= LCD_DATA1(2);
mipi_tx_data_temp(3) <= LCD_DATA1(3);
mipi_tx_data_temp(4) <= LCD_DATA1(4);
mipi_tx_data_temp(5) <= LCD_DATA1(5);
mipi_tx_data_temp(6) <= LCD_DATA1(6);
mipi_tx_data_temp(7) <= LCD_DATA1(7);
mipi_tx_data_temp(8) <= LCD_DATA1(8);
mipi_tx_data_temp(9) <= LCD_DATA1(9);
mipi_tx_data_temp(10) <= LCD_DATA1(10);
mipi_tx_data_temp(11) <= LCD_DATA1(11);
when 2 =>
mipi_tx_data_width <= 4 ;
mipi_tx_data_temp(0) <= LCD_DATA2(0);
mipi_tx_data_temp(1) <= LCD_DATA2(1);
mipi_tx_data_temp(2) <= LCD_DATA2(2);
mipi_tx_data_temp(3) <= LCD_DATA2(3);
when 3 =>
mipi_tx_data_width <= 11 ;
mipi_tx_data_temp(0) <= LCD_DATA3(0);
mipi_tx_data_temp(1) <= LCD_DATA3(1);
mipi_tx_data_temp(2) <= LCD_DATA3(2);
mipi_tx_data_temp(3) <= LCD_DATA3(3);
mipi_tx_data_temp(4) <= LCD_DATA3(4);
mipi_tx_data_temp(5) <= LCD_DATA3(5);
mipi_tx_data_temp(6) <= LCD_DATA3(6);
mipi_tx_data_temp(7) <= LCD_DATA3(7);
mipi_tx_data_temp(8) <= LCD_DATA3(8);
mipi_tx_data_temp(9) <= LCD_DATA3(9);
mipi_tx_data_temp(10) <= LCD_DATA3(10);
when 4 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA4(0);
mipi_tx_data_temp(1) <= LCD_DATA4(1);
mipi_tx_data_temp(2) <= LCD_DATA4(2);
mipi_tx_data_temp(3) <= LCD_DATA4(3);
mipi_tx_data_temp(4) <= LCD_DATA4(4);
mipi_tx_data_temp(5) <= LCD_DATA4(5);
mipi_tx_data_temp(6) <= LCD_DATA4(6);
mipi_tx_data_temp(7) <= LCD_DATA4(7);
mipi_tx_data_temp(8) <= LCD_DATA4(8);
mipi_tx_data_temp(9) <= LCD_DATA4(9);
when 5 =>
mipi_tx_data_width <= 9 ;
mipi_tx_data_temp(0) <= LCD_DATA5(0);
mipi_tx_data_temp(1) <= LCD_DATA5(1);
mipi_tx_data_temp(2) <= LCD_DATA5(2);
mipi_tx_data_temp(3) <= LCD_DATA5(3);
mipi_tx_data_temp(4) <= LCD_DATA5(4);
mipi_tx_data_temp(5) <= LCD_DATA5(5);
mipi_tx_data_temp(6) <= LCD_DATA5(6);
mipi_tx_data_temp(7) <= LCD_DATA5(7);
mipi_tx_data_temp(8) <= LCD_DATA5(8);
when 6 =>
mipi_tx_data_width <= 25 ;
mipi_tx_data_temp(0) <= LCD_DATA6(0);
mipi_tx_data_temp(1) <= LCD_DATA6(1);
mipi_tx_data_temp(2) <= LCD_DATA6(2);
mipi_tx_data_temp(3) <= LCD_DATA6(3);
mipi_tx_data_temp(4) <= LCD_DATA6(4);
mipi_tx_data_temp(5) <= LCD_DATA6(5);
mipi_tx_data_temp(6) <= LCD_DATA6(6);
mipi_tx_data_temp(7) <= LCD_DATA6(7);
mipi_tx_data_temp(8) <= LCD_DATA6(8);
mipi_tx_data_temp(9) <= LCD_DATA6(9);
mipi_tx_data_temp(10) <= LCD_DATA6(10);
mipi_tx_data_temp(11) <= LCD_DATA6(11);
mipi_tx_data_temp(12) <= LCD_DATA6(12);
mipi_tx_data_temp(13) <= LCD_DATA6(13);
mipi_tx_data_temp(14) <= LCD_DATA6(14);
mipi_tx_data_temp(15) <= LCD_DATA6(15);
mipi_tx_data_temp(16) <= LCD_DATA6(16);
mipi_tx_data_temp(17) <= LCD_DATA6(17);
mipi_tx_data_temp(18) <= LCD_DATA6(18);
mipi_tx_data_temp(19) <= LCD_DATA6(19);
mipi_tx_data_temp(20) <= LCD_DATA6(20);
mipi_tx_data_temp(21) <= LCD_DATA6(21);
mipi_tx_data_temp(22) <= LCD_DATA6(22);
mipi_tx_data_temp(23) <= LCD_DATA6(23);
mipi_tx_data_temp(24) <= LCD_DATA6(24);
when 7 =>
mipi_tx_data_width <= 12 ;
mipi_tx_data_temp(0) <= LCD_DATA7(0);
mipi_tx_data_temp(1) <= LCD_DATA7(1);
mipi_tx_data_temp(2) <= LCD_DATA7(2);
mipi_tx_data_temp(3) <= LCD_DATA7(3);
mipi_tx_data_temp(4) <= LCD_DATA7(4);
mipi_tx_data_temp(5) <= LCD_DATA7(5);
mipi_tx_data_temp(6) <= LCD_DATA7(6);
mipi_tx_data_temp(7) <= LCD_DATA7(7);
mipi_tx_data_temp(8) <= LCD_DATA7(8);
mipi_tx_data_temp(9) <= LCD_DATA7(9);
mipi_tx_data_temp(10) <= LCD_DATA7(10);
mipi_tx_data_temp(11) <= LCD_DATA7(11);
when 8 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA8(0);
mipi_tx_data_temp(1) <= LCD_DATA8(1);
mipi_tx_data_temp(2) <= LCD_DATA8(2);
mipi_tx_data_temp(3) <= LCD_DATA8(3);
mipi_tx_data_temp(4) <= LCD_DATA8(4);
mipi_tx_data_temp(5) <= LCD_DATA8(5);
mipi_tx_data_temp(6) <= LCD_DATA8(6);
mipi_tx_data_temp(7) <= LCD_DATA8(7);
mipi_tx_data_temp(8) <= LCD_DATA8(8);
mipi_tx_data_temp(9) <= LCD_DATA8(9);
when 9 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA9(0);
mipi_tx_data_temp(1) <= LCD_DATA9(1);
mipi_tx_data_temp(2) <= LCD_DATA9(2);
mipi_tx_data_temp(3) <= LCD_DATA9(3);
mipi_tx_data_temp(4) <= LCD_DATA9(4);
mipi_tx_data_temp(5) <= LCD_DATA9(5);
mipi_tx_data_temp(6) <= LCD_DATA9(6);
mipi_tx_data_temp(7) <= LCD_DATA9(7);
mipi_tx_data_temp(8) <= LCD_DATA9(8);
mipi_tx_data_temp(9) <= LCD_DATA9(9);
when 10 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA10(0);
mipi_tx_data_temp(1) <= LCD_DATA10(1);
mipi_tx_data_temp(2) <= LCD_DATA10(2);
mipi_tx_data_temp(3) <= LCD_DATA10(3);
mipi_tx_data_temp(4) <= LCD_DATA10(4);
mipi_tx_data_temp(5) <= LCD_DATA10(5);
mipi_tx_data_temp(6) <= LCD_DATA10(6);
mipi_tx_data_temp(7) <= LCD_DATA10(7);
mipi_tx_data_temp(8) <= LCD_DATA10(8);
mipi_tx_data_temp(9) <= LCD_DATA10(9);
when 11 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA11(0);
mipi_tx_data_temp(1) <= LCD_DATA11(1);
mipi_tx_data_temp(2) <= LCD_DATA11(2);
mipi_tx_data_temp(3) <= LCD_DATA11(3);
mipi_tx_data_temp(4) <= LCD_DATA11(4);
mipi_tx_data_temp(5) <= LCD_DATA11(5);
mipi_tx_data_temp(6) <= LCD_DATA11(6);
mipi_tx_data_temp(7) <= LCD_DATA11(7);
mipi_tx_data_temp(8) <= LCD_DATA11(8);
mipi_tx_data_temp(9) <= LCD_DATA11(9);
when 12 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA12(0);
mipi_tx_data_temp(1) <= LCD_DATA12(1);
mipi_tx_data_temp(2) <= LCD_DATA12(2);
mipi_tx_data_temp(3) <= LCD_DATA12(3);
mipi_tx_data_temp(4) <= LCD_DATA12(4);
mipi_tx_data_temp(5) <= LCD_DATA12(5);
mipi_tx_data_temp(6) <= LCD_DATA12(6);
mipi_tx_data_temp(7) <= LCD_DATA12(7);
mipi_tx_data_temp(8) <= LCD_DATA12(8);
mipi_tx_data_temp(9) <= LCD_DATA12(9);
when 13 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA13(0);
mipi_tx_data_temp(1) <= LCD_DATA13(1);
mipi_tx_data_temp(2) <= LCD_DATA13(2);
mipi_tx_data_temp(3) <= LCD_DATA13(3);
mipi_tx_data_temp(4) <= LCD_DATA13(4);
mipi_tx_data_temp(5) <= LCD_DATA13(5);
mipi_tx_data_temp(6) <= LCD_DATA13(6);
mipi_tx_data_temp(7) <= LCD_DATA13(7);
mipi_tx_data_temp(8) <= LCD_DATA13(8);
mipi_tx_data_temp(9) <= LCD_DATA13(9);
when 14 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA14(0);
mipi_tx_data_temp(1) <= LCD_DATA14(1);
mipi_tx_data_temp(2) <= LCD_DATA14(2);
mipi_tx_data_temp(3) <= LCD_DATA14(3);
mipi_tx_data_temp(4) <= LCD_DATA14(4);
mipi_tx_data_temp(5) <= LCD_DATA14(5);
mipi_tx_data_temp(6) <= LCD_DATA14(6);
mipi_tx_data_temp(7) <= LCD_DATA14(7);
mipi_tx_data_temp(8) <= LCD_DATA14(8);
mipi_tx_data_temp(9) <= LCD_DATA14(9);
when 15 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_DATA15(0);
mipi_tx_data_temp(1) <= LCD_DATA15(1);
mipi_tx_data_temp(2) <= LCD_DATA15(2);
mipi_tx_data_temp(3) <= LCD_DATA15(3);
mipi_tx_data_temp(4) <= LCD_DATA15(4);
mipi_tx_data_temp(5) <= LCD_DATA15(5);
mipi_tx_data_temp(6) <= LCD_DATA15(6);
mipi_tx_data_temp(7) <= LCD_DATA15(7);
mipi_tx_data_temp(8) <= LCD_DATA15(8);
mipi_tx_data_temp(9) <= LCD_DATA15(9);
when 16 =>
mipi_tx_data_width <= 4 ;
mipi_tx_data_temp(0) <= LCD_DATA16(0);
mipi_tx_data_temp(1) <= LCD_DATA16(1);
mipi_tx_data_temp(2) <= LCD_DATA16(2);
mipi_tx_data_temp(3) <= LCD_DATA16(3);
when 17 =>
mipi_tx_data_width <= 23 ;
mipi_tx_data_temp(0) <= LCD_DATA17(0);
mipi_tx_data_temp(1) <= LCD_DATA17(1);
mipi_tx_data_temp(2) <= LCD_DATA17(2);
mipi_tx_data_temp(3) <= LCD_DATA17(3);
mipi_tx_data_temp(4) <= LCD_DATA17(4);
mipi_tx_data_temp(5) <= LCD_DATA17(5);
mipi_tx_data_temp(6) <= LCD_DATA17(6);
mipi_tx_data_temp(7) <= LCD_DATA17(7);
mipi_tx_data_temp(8) <= LCD_DATA17(8);
mipi_tx_data_temp(9) <= LCD_DATA17(9);
mipi_tx_data_temp(10) <= LCD_DATA17(10);
mipi_tx_data_temp(11) <= LCD_DATA17(11);
mipi_tx_data_temp(12) <= LCD_DATA17(12);
mipi_tx_data_temp(13) <= LCD_DATA17(13);
mipi_tx_data_temp(14) <= LCD_DATA17(14);
mipi_tx_data_temp(15) <= LCD_DATA17(15);
mipi_tx_data_temp(16) <= LCD_DATA17(16);
mipi_tx_data_temp(17) <= LCD_DATA17(17);
mipi_tx_data_temp(18) <= LCD_DATA17(18);
mipi_tx_data_temp(19) <= LCD_DATA17(19);
mipi_tx_data_temp(20) <= LCD_DATA17(20);
mipi_tx_data_temp(21) <= LCD_DATA17(21);
mipi_tx_data_temp(22) <= LCD_DATA17(22);
when 18 =>
mipi_tx_data_width <= 23 ;
mipi_tx_data_temp(0) <= LCD_DATA18(0);
mipi_tx_data_temp(1) <= LCD_DATA18(1);
mipi_tx_data_temp(2) <= LCD_DATA18(2);
mipi_tx_data_temp(3) <= LCD_DATA18(3);
mipi_tx_data_temp(4) <= LCD_DATA18(4);
mipi_tx_data_temp(5) <= LCD_DATA18(5);
mipi_tx_data_temp(6) <= LCD_DATA18(6);
mipi_tx_data_temp(7) <= LCD_DATA18(7);
mipi_tx_data_temp(8) <= LCD_DATA18(8);
mipi_tx_data_temp(9) <= LCD_DATA18(9);
mipi_tx_data_temp(10) <= LCD_DATA18(10);
mipi_tx_data_temp(11) <= LCD_DATA18(11);
mipi_tx_data_temp(12) <= LCD_DATA18(12);
mipi_tx_data_temp(13) <= LCD_DATA18(13);
mipi_tx_data_temp(14) <= LCD_DATA18(14);
mipi_tx_data_temp(15) <= LCD_DATA18(15);
mipi_tx_data_temp(16) <= LCD_DATA18(16);
mipi_tx_data_temp(17) <= LCD_DATA18(17);
mipi_tx_data_temp(18) <= LCD_DATA18(18);
mipi_tx_data_temp(19) <= LCD_DATA18(19);
mipi_tx_data_temp(20) <= LCD_DATA18(20);
mipi_tx_data_temp(21) <= LCD_DATA18(21);
mipi_tx_data_temp(22) <= LCD_DATA18(22);
when 19 =>
mipi_tx_data_width <= 23 ;
mipi_tx_data_temp(0) <= LCD_DATA19(0);
mipi_tx_data_temp(1) <= LCD_DATA19(1);
mipi_tx_data_temp(2) <= LCD_DATA19(2);
mipi_tx_data_temp(3) <= LCD_DATA19(3);
mipi_tx_data_temp(4) <= LCD_DATA19(4);
mipi_tx_data_temp(5) <= LCD_DATA19(5);
mipi_tx_data_temp(6) <= LCD_DATA19(6);
mipi_tx_data_temp(7) <= LCD_DATA19(7);
mipi_tx_data_temp(8) <= LCD_DATA19(8);
mipi_tx_data_temp(9) <= LCD_DATA19(9);
mipi_tx_data_temp(10) <= LCD_DATA19(10);
mipi_tx_data_temp(11) <= LCD_DATA19(11);
mipi_tx_data_temp(12) <= LCD_DATA19(12);
mipi_tx_data_temp(13) <= LCD_DATA19(13);
mipi_tx_data_temp(14) <= LCD_DATA19(14);
mipi_tx_data_temp(15) <= LCD_DATA19(15);
mipi_tx_data_temp(16) <= LCD_DATA19(16);
mipi_tx_data_temp(17) <= LCD_DATA19(17);
mipi_tx_data_temp(18) <= LCD_DATA19(18);
mipi_tx_data_temp(19) <= LCD_DATA19(19);
mipi_tx_data_temp(20) <= LCD_DATA19(20);
mipi_tx_data_temp(21) <= LCD_DATA19(21);
mipi_tx_data_temp(22) <= LCD_DATA19(22);
when 20 =>
mipi_tx_data_width <= 11 ;
mipi_tx_data_temp(0) <= LCD_DATA20(0);
mipi_tx_data_temp(1) <= LCD_DATA20(1);
mipi_tx_data_temp(2) <= LCD_DATA20(2);
mipi_tx_data_temp(3) <= LCD_DATA20(3);
mipi_tx_data_temp(4) <= LCD_DATA20(4);
mipi_tx_data_temp(5) <= LCD_DATA20(5);
mipi_tx_data_temp(6) <= LCD_DATA20(6);
mipi_tx_data_temp(7) <= LCD_DATA20(7);
mipi_tx_data_temp(8) <= LCD_DATA20(8);
mipi_tx_data_temp(9) <= LCD_DATA20(9);
mipi_tx_data_temp(10) <= LCD_DATA20(10);
when 21 =>
mipi_tx_data_width <= 23 ;
mipi_tx_data_temp(0) <= LCD_DATA21(0);
mipi_tx_data_temp(1) <= LCD_DATA21(1);
mipi_tx_data_temp(2) <= LCD_DATA21(2);
mipi_tx_data_temp(3) <= LCD_DATA21(3);
mipi_tx_data_temp(4) <= LCD_DATA21(4);
mipi_tx_data_temp(5) <= LCD_DATA21(5);
mipi_tx_data_temp(6) <= LCD_DATA21(6);
mipi_tx_data_temp(7) <= LCD_DATA21(7);
mipi_tx_data_temp(8) <= LCD_DATA21(8);
mipi_tx_data_temp(9) <= LCD_DATA21(9);
mipi_tx_data_temp(10) <= LCD_DATA21(10);
mipi_tx_data_temp(11) <= LCD_DATA21(11);
mipi_tx_data_temp(12) <= LCD_DATA21(12);
mipi_tx_data_temp(13) <= LCD_DATA21(13);
mipi_tx_data_temp(14) <= LCD_DATA21(14);
mipi_tx_data_temp(15) <= LCD_DATA21(15);
mipi_tx_data_temp(16) <= LCD_DATA21(16);
mipi_tx_data_temp(17) <= LCD_DATA21(17);
mipi_tx_data_temp(18) <= LCD_DATA21(18);
mipi_tx_data_temp(19) <= LCD_DATA21(19);
mipi_tx_data_temp(20) <= LCD_DATA21(20);
mipi_tx_data_temp(21) <= LCD_DATA21(21);
mipi_tx_data_temp(22) <= LCD_DATA21(22);
when 22 =>
mipi_tx_data_width <= 23 ;
mipi_tx_data_temp(0) <= LCD_DATA22(0);
mipi_tx_data_temp(1) <= LCD_DATA22(1);
mipi_tx_data_temp(2) <= LCD_DATA22(2);
mipi_tx_data_temp(3) <= LCD_DATA22(3);
mipi_tx_data_temp(4) <= LCD_DATA22(4);
mipi_tx_data_temp(5) <= LCD_DATA22(5);
mipi_tx_data_temp(6) <= LCD_DATA22(6);
mipi_tx_data_temp(7) <= LCD_DATA22(7);
mipi_tx_data_temp(8) <= LCD_DATA22(8);
mipi_tx_data_temp(9) <= LCD_DATA22(9);
mipi_tx_data_temp(10) <= LCD_DATA22(10);
mipi_tx_data_temp(11) <= LCD_DATA22(11);
mipi_tx_data_temp(12) <= LCD_DATA22(12);
mipi_tx_data_temp(13) <= LCD_DATA22(13);
mipi_tx_data_temp(14) <= LCD_DATA22(14);
mipi_tx_data_temp(15) <= LCD_DATA22(15);
mipi_tx_data_temp(16) <= LCD_DATA22(16);
mipi_tx_data_temp(17) <= LCD_DATA22(17);
mipi_tx_data_temp(18) <= LCD_DATA22(18);
mipi_tx_data_temp(19) <= LCD_DATA22(19);
mipi_tx_data_temp(20) <= LCD_DATA22(20);
mipi_tx_data_temp(21) <= LCD_DATA22(21);
mipi_tx_data_temp(22) <= LCD_DATA22(22);
when 23 =>
mipi_tx_data_width <= 23 ;
mipi_tx_data_temp(0) <= LCD_DATA23(0);
mipi_tx_data_temp(1) <= LCD_DATA23(1);
mipi_tx_data_temp(2) <= LCD_DATA23(2);
mipi_tx_data_temp(3) <= LCD_DATA23(3);
mipi_tx_data_temp(4) <= LCD_DATA23(4);
mipi_tx_data_temp(5) <= LCD_DATA23(5);
mipi_tx_data_temp(6) <= LCD_DATA23(6);
mipi_tx_data_temp(7) <= LCD_DATA23(7);
mipi_tx_data_temp(8) <= LCD_DATA23(8);
mipi_tx_data_temp(9) <= LCD_DATA23(9);
mipi_tx_data_temp(10) <= LCD_DATA23(10);
mipi_tx_data_temp(11) <= LCD_DATA23(11);
mipi_tx_data_temp(12) <= LCD_DATA23(12);
mipi_tx_data_temp(13) <= LCD_DATA23(13);
mipi_tx_data_temp(14) <= LCD_DATA23(14);
mipi_tx_data_temp(15) <= LCD_DATA23(15);
mipi_tx_data_temp(16) <= LCD_DATA23(16);
mipi_tx_data_temp(17) <= LCD_DATA23(17);
mipi_tx_data_temp(18) <= LCD_DATA23(18);
mipi_tx_data_temp(19) <= LCD_DATA23(19);
mipi_tx_data_temp(20) <= LCD_DATA23(20);
mipi_tx_data_temp(21) <= LCD_DATA23(21);
mipi_tx_data_temp(22) <= LCD_DATA23(22);
when 24 =>
mipi_tx_data_width <= 11 ;
mipi_tx_data_temp(0) <= LCD_DATA24(0);
mipi_tx_data_temp(1) <= LCD_DATA24(1);
mipi_tx_data_temp(2) <= LCD_DATA24(2);
mipi_tx_data_temp(3) <= LCD_DATA24(3);
mipi_tx_data_temp(4) <= LCD_DATA24(4);
mipi_tx_data_temp(5) <= LCD_DATA24(5);
mipi_tx_data_temp(6) <= LCD_DATA24(6);
mipi_tx_data_temp(7) <= LCD_DATA24(7);
mipi_tx_data_temp(8) <= LCD_DATA24(8);
mipi_tx_data_temp(9) <= LCD_DATA24(9);
mipi_tx_data_temp(10) <= LCD_DATA24(10);
-- when 25 =>
-- mipi_tx_data_width <= 23 ;
-- mipi_tx_data_temp(0) <= LCD_DATA25(0);
-- mipi_tx_data_temp(1) <= LCD_DATA25(1);
-- mipi_tx_data_temp(2) <= LCD_DATA25(2);
-- mipi_tx_data_temp(3) <= LCD_DATA25(3);
-- mipi_tx_data_temp(4) <= LCD_DATA25(4);
-- mipi_tx_data_temp(5) <= LCD_DATA25(5);
-- mipi_tx_data_temp(6) <= LCD_DATA25(6);
-- mipi_tx_data_temp(7) <= LCD_DATA25(7);
-- mipi_tx_data_temp(8) <= LCD_DATA25(8);
-- mipi_tx_data_temp(9) <= LCD_DATA25(9);
-- mipi_tx_data_temp(10) <= LCD_DATA25(10);
-- mipi_tx_data_temp(11) <= LCD_DATA25(11);
-- mipi_tx_data_temp(12) <= LCD_DATA25(12);
-- mipi_tx_data_temp(13) <= LCD_DATA25(13);
-- mipi_tx_data_temp(14) <= LCD_DATA25(14);
-- mipi_tx_data_temp(15) <= LCD_DATA25(15);
-- mipi_tx_data_temp(16) <= LCD_DATA25(16);
-- mipi_tx_data_temp(17) <= LCD_DATA25(17);
-- mipi_tx_data_temp(18) <= LCD_DATA25(18);
-- mipi_tx_data_temp(19) <= LCD_DATA25(19);
-- mipi_tx_data_temp(20) <= LCD_DATA25(20);
-- mipi_tx_data_temp(21) <= LCD_DATA25(21);
-- mipi_tx_data_temp(22) <= LCD_DATA25(22);
-- when 26 =>
-- mipi_tx_data_width <= 23 ;
-- mipi_tx_data_temp(0) <= LCD_DATA26(0);
-- mipi_tx_data_temp(1) <= LCD_DATA26(1);
-- mipi_tx_data_temp(2) <= LCD_DATA26(2);
-- mipi_tx_data_temp(3) <= LCD_DATA26(3);
-- mipi_tx_data_temp(4) <= LCD_DATA26(4);
-- mipi_tx_data_temp(5) <= LCD_DATA26(5);
-- mipi_tx_data_temp(6) <= LCD_DATA26(6);
-- mipi_tx_data_temp(7) <= LCD_DATA26(7);
-- mipi_tx_data_temp(8) <= LCD_DATA26(8);
-- mipi_tx_data_temp(9) <= LCD_DATA26(9);
-- mipi_tx_data_temp(10) <= LCD_DATA26(10);
-- mipi_tx_data_temp(11) <= LCD_DATA26(11);
-- mipi_tx_data_temp(12) <= LCD_DATA26(12);
-- mipi_tx_data_temp(13) <= LCD_DATA26(13);
-- mipi_tx_data_temp(14) <= LCD_DATA26(14);
-- mipi_tx_data_temp(15) <= LCD_DATA26(15);
-- mipi_tx_data_temp(16) <= LCD_DATA26(16);
-- mipi_tx_data_temp(17) <= LCD_DATA26(17);
-- mipi_tx_data_temp(18) <= LCD_DATA26(18);
-- mipi_tx_data_temp(19) <= LCD_DATA26(19);
-- mipi_tx_data_temp(20) <= LCD_DATA26(20);
-- mipi_tx_data_temp(21) <= LCD_DATA26(21);
-- mipi_tx_data_temp(22) <= LCD_DATA26(22);
--
-- when 27 =>
-- mipi_tx_data_width <= 23 ;
-- mipi_tx_data_temp(0) <= LCD_DATA27(0);
-- mipi_tx_data_temp(1) <= LCD_DATA27(1);
-- mipi_tx_data_temp(2) <= LCD_DATA27(2);
-- mipi_tx_data_temp(3) <= LCD_DATA27(3);
-- mipi_tx_data_temp(4) <= LCD_DATA27(4);
-- mipi_tx_data_temp(5) <= LCD_DATA27(5);
-- mipi_tx_data_temp(6) <= LCD_DATA27(6);
-- mipi_tx_data_temp(7) <= LCD_DATA27(7);
-- mipi_tx_data_temp(8) <= LCD_DATA27(8);
-- mipi_tx_data_temp(9) <= LCD_DATA27(9);
-- mipi_tx_data_temp(10) <= LCD_DATA27(10);
-- mipi_tx_data_temp(11) <= LCD_DATA27(11);
-- mipi_tx_data_temp(12) <= LCD_DATA27(12);
-- mipi_tx_data_temp(13) <= LCD_DATA27(13);
-- mipi_tx_data_temp(14) <= LCD_DATA27(14);
-- mipi_tx_data_temp(15) <= LCD_DATA27(15);
-- mipi_tx_data_temp(16) <= LCD_DATA27(16);
-- mipi_tx_data_temp(17) <= LCD_DATA27(17);
-- mipi_tx_data_temp(18) <= LCD_DATA27(18);
-- mipi_tx_data_temp(19) <= LCD_DATA27(19);
-- mipi_tx_data_temp(20) <= LCD_DATA27(20);
-- mipi_tx_data_temp(21) <= LCD_DATA27(21);
-- mipi_tx_data_temp(22) <= LCD_DATA27(22);
--
-- when 28 =>
-- mipi_tx_data_width <= 23 ;
-- mipi_tx_data_temp(0) <= LCD_DATA28(0);
-- mipi_tx_data_temp(1) <= LCD_DATA28(1);
-- mipi_tx_data_temp(2) <= LCD_DATA28(2);
-- mipi_tx_data_temp(3) <= LCD_DATA28(3);
-- mipi_tx_data_temp(4) <= LCD_DATA28(4);
-- mipi_tx_data_temp(5) <= LCD_DATA28(5);
-- mipi_tx_data_temp(6) <= LCD_DATA28(6);
-- mipi_tx_data_temp(7) <= LCD_DATA28(7);
-- mipi_tx_data_temp(8) <= LCD_DATA28(8);
-- mipi_tx_data_temp(9) <= LCD_DATA28(9);
-- mipi_tx_data_temp(10) <= LCD_DATA28(10);
-- mipi_tx_data_temp(11) <= LCD_DATA28(11);
-- mipi_tx_data_temp(12) <= LCD_DATA28(12);
-- mipi_tx_data_temp(13) <= LCD_DATA28(13);
-- mipi_tx_data_temp(14) <= LCD_DATA28(14);
-- mipi_tx_data_temp(15) <= LCD_DATA28(15);
-- mipi_tx_data_temp(16) <= LCD_DATA28(16);
-- mipi_tx_data_temp(17) <= LCD_DATA28(17);
-- mipi_tx_data_temp(18) <= LCD_DATA28(18);
-- mipi_tx_data_temp(19) <= LCD_DATA28(19);
-- mipi_tx_data_temp(20) <= LCD_DATA28(20);
-- mipi_tx_data_temp(21) <= LCD_DATA28(21);
-- mipi_tx_data_temp(22) <= LCD_DATA28(22);
when 25 =>
mipi_tx_data_width <= 11 ;
mipi_tx_data_temp(0) <= LCD_DATA29(0);
mipi_tx_data_temp(1) <= LCD_DATA29(1);
mipi_tx_data_temp(2) <= LCD_DATA29(2);
mipi_tx_data_temp(3) <= LCD_DATA29(3);
mipi_tx_data_temp(4) <= LCD_DATA29(4);
mipi_tx_data_temp(5) <= LCD_DATA29(5);
mipi_tx_data_temp(6) <= LCD_DATA29(6);
mipi_tx_data_temp(7) <= LCD_DATA29(7);
mipi_tx_data_temp(8) <= LCD_DATA29(8);
mipi_tx_data_temp(9) <= LCD_DATA29(9);
mipi_tx_data_temp(10) <= LCD_DATA29(10);
-- when 30 =>
-- mipi_tx_data_width <= 23 ;
-- mipi_tx_data_temp(0) <= LCD_DATA30(0);
-- mipi_tx_data_temp(1) <= LCD_DATA30(1);
-- mipi_tx_data_temp(2) <= LCD_DATA30(2);
-- mipi_tx_data_temp(3) <= LCD_DATA30(3);
-- mipi_tx_data_temp(4) <= LCD_DATA30(4);
-- mipi_tx_data_temp(5) <= LCD_DATA30(5);
-- mipi_tx_data_temp(6) <= LCD_DATA30(6);
-- mipi_tx_data_temp(7) <= LCD_DATA30(7);
-- mipi_tx_data_temp(8) <= LCD_DATA30(8);
-- mipi_tx_data_temp(9) <= LCD_DATA30(9);
-- mipi_tx_data_temp(10) <= LCD_DATA30(10);
-- mipi_tx_data_temp(11) <= LCD_DATA30(11);
-- mipi_tx_data_temp(12) <= LCD_DATA30(12);
-- mipi_tx_data_temp(13) <= LCD_DATA30(13);
-- mipi_tx_data_temp(14) <= LCD_DATA30(14);
-- mipi_tx_data_temp(15) <= LCD_DATA30(15);
-- mipi_tx_data_temp(16) <= LCD_DATA30(16);
-- mipi_tx_data_temp(17) <= LCD_DATA30(17);
-- mipi_tx_data_temp(18) <= LCD_DATA30(18);
-- mipi_tx_data_temp(19) <= LCD_DATA30(19);
-- mipi_tx_data_temp(20) <= LCD_DATA30(20);
-- mipi_tx_data_temp(21) <= LCD_DATA30(21);
-- mipi_tx_data_temp(22) <= LCD_DATA30(22);
when 26 =>
mipi_tx_data_width <= 4 ;
mipi_tx_data_temp(0) <= LCD_DATA40(0);
mipi_tx_data_temp(1) <= LCD_DATA40(1);
mipi_tx_data_temp(2) <= LCD_DATA40(2);
mipi_tx_data_temp(3) <= LCD_DATA40(3);
when 27 =>
mipi_tx_data_width <= 4 ;
mipi_tx_data_temp(0) <= LCD_DATA41(0);
mipi_tx_data_temp(1) <= LCD_DATA41(1);
mipi_tx_data_temp(2) <= LCD_DATA41(2);
mipi_tx_data_temp(3) <= LCD_DATA41(3);
when 28 =>
mipi_tx_data_width <= 4 ;
mipi_tx_data_temp(0) <= LCD_DATA42(0);
mipi_tx_data_temp(1) <= LCD_DATA42(1);
mipi_tx_data_temp(2) <= LCD_DATA42(2);
mipi_tx_data_temp(3) <= LCD_DATA42(3);
-- when 9 =>
-- mipi_tx_data_width <= 10 ;
-- mipi_tx_data_temp(0) <= LCD_SRC_DATA1(0);
-- mipi_tx_data_temp(1) <= LCD_SRC_DATA1(1);
-- mipi_tx_data_temp(2) <= LCD_SRC_DATA1(2);
-- mipi_tx_data_temp(3) <= LCD_SRC_DATA1(3);
-- mipi_tx_data_temp(4) <= LCD_SRC_DATA1(4);
-- mipi_tx_data_temp(5) <= LCD_SRC_DATA1(5);
-- mipi_tx_data_temp(6) <= LCD_SRC_DATA1(6);
-- mipi_tx_data_temp(7) <= LCD_SRC_DATA1(7);
-- mipi_tx_data_temp(8) <= LCD_SRC_DATA1(8);
-- mipi_tx_data_temp(9) <= LCD_SRC_DATA1(9);
when 29 =>
mipi_tx_data_width <= 10 ;
mipi_tx_data_temp(0) <= LCD_SRC_DATA1(0);
mipi_tx_data_temp(1) <= LCD_SRC_DATA1(1);
mipi_tx_data_temp(2) <= LCD_SRC_DATA1(2);
mipi_tx_data_temp(3) <= LCD_SRC_DATA1(3);
mipi_tx_data_temp(4) <= LCD_SRC_DATA1(4);
mipi_tx_data_temp(5) <= LCD_SRC_DATA1(5);
mipi_tx_data_temp(6) <= LCD_SRC_DATA1(6);
mipi_tx_data_temp(7) <= LCD_SRC_DATA1(7);
mipi_tx_data_temp(8) <= LCD_SRC_DATA1(8);
mipi_tx_data_temp(9) <= LCD_SRC_DATA1(9);
when others =>
mipi_tx_data_width <= 16 ;
mipi_tx_data_temp(0) <= LCD_SRC_DATA0(0);
mipi_tx_data_temp(1) <= LCD_SRC_DATA0(1);
mipi_tx_data_temp(2) <= LCD_SRC_DATA0(2);
mipi_tx_data_temp(3) <= LCD_SRC_DATA0(3);
mipi_tx_data_temp(4) <= LCD_SRC_DATA0(4);
mipi_tx_data_temp(5) <= LCD_SRC_DATA0(5);
mipi_tx_data_temp(6) <= LCD_SRC_DATA0(6);
mipi_tx_data_temp(7) <= LCD_SRC_DATA0(7);
mipi_tx_data_temp(8) <= LCD_SRC_DATA0(8);
mipi_tx_data_temp(9) <= LCD_SRC_DATA0(9);
mipi_tx_data_temp(10) <= LCD_SRC_DATA0(10);
mipi_tx_data_temp(11) <= LCD_SRC_DATA0(11);
mipi_tx_data_temp(12) <= LCD_SRC_DATA0(12);
mipi_tx_data_temp(13) <= LCD_SRC_DATA0(13);
mipi_tx_data_temp(14) <= LCD_SRC_DATA0(14);
mipi_tx_data_temp(15) <= LCD_SRC_DATA0(15);
end case ;
if(mipi_tx_busy = '0')then
mipi_tx_con_state <= tx_con_start;
else
mipi_tx_con_state <= tx_con_load;
end if ;
--tx_con_start
when tx_con_start =>
mipi_tx_en <= '0' ;
delay_cnt:=delay_cnt + 1;
if(delay_cnt > 5)then
mipi_tx_con_state <= tx_con_wait;
else
mipi_tx_con_state <= tx_con_start;
end if ;
--tx_con_wait
when tx_con_wait =>
mipi_tx_en <= '1' ;
delay_cnt:=0;
if(mipi_tx_busy = '0')then
mipi_tx_con_state <= tx_con_ok;
else
mipi_tx_con_state <= tx_con_wait;
end if ;
--tx_con_ok
when tx_con_ok=>
mipi_tx_en <= '1' ;
tx_data_cnt:=tx_data_cnt + 1;
mipi_tx_con_state <= tx_con_dect ;
--tx_con_dect
when tx_con_dect=>
delay_cnt:=0;
mipi_tx_en <= '1' ;
if(tx_data_cnt<30)then
mipi_tx_con_state <= tx_con_idle ;
else
mipi_tx_con_state <= tx_con_end ;
end if ;
--tx_con_end
when tx_con_end=>
mipi_tx_en <= '1' ;
DONE <= '0' ;
delay_cnt:=delay_cnt + 1;
if(delay_cnt > 5)then
mipi_tx_con_state <= tx_con_end_delay;
else
mipi_tx_con_state <= tx_con_end;
end if ;
--tx_con_end_delay
when tx_con_end_delay=>
tx_src_data_cnt:=0 ;
tx_src_data_cnt0:=0 ;
delay_cnt:=0;
mipi_tx_en <= '1' ;
DONE <= '1' ;
mipi_tx_con_state <= tx_con_src_load;
--tx_con_src_load
when tx_con_src_load=>
DONE <= '0' ;
delay_cnt:=0;
mipi_tx_en <= '1' ;
mipi_tx_data_width <= 25 ; --3point;540*960=172800;
if(tx_src_data_cnt0<2)then
mipi_tx_data_temp(0) <= LCD_SRC_DATA4(0);
mipi_tx_data_temp(1) <= LCD_SRC_DATA4(1);
mipi_tx_data_temp(2) <= LCD_SRC_DATA4(2);
mipi_tx_data_temp(3) <= LCD_SRC_DATA4(3);
mipi_tx_data_temp(4) <= LCD_SRC_DATA4(4);
mipi_tx_data_temp(5) <= LCD_SRC_DATA4(5);
mipi_tx_data_temp(6) <= LCD_SRC_DATA4(6);
mipi_tx_data_temp(7) <= LCD_SRC_DATA4(7);
mipi_tx_data_temp(8) <= LCD_SRC_DATA4(8);
mipi_tx_data_temp(9) <= LCD_SRC_DATA4(9);
mipi_tx_data_temp(10) <= LCD_SRC_DATA4(10);
mipi_tx_data_temp(11) <= LCD_SRC_DATA4(11);
mipi_tx_data_temp(12) <= LCD_SRC_DATA4(12);
mipi_tx_data_temp(13) <= LCD_SRC_DATA4(13);
mipi_tx_data_temp(14) <= LCD_SRC_DATA4(14);
mipi_tx_data_temp(15) <= LCD_SRC_DATA4(15);
mipi_tx_data_temp(16) <= LCD_SRC_DATA4(16);
mipi_tx_data_temp(17) <= LCD_SRC_DATA4(17);
mipi_tx_data_temp(18) <= LCD_SRC_DATA4(18);
mipi_tx_data_temp(19) <= LCD_SRC_DATA4(19);
mipi_tx_data_temp(20) <= LCD_SRC_DATA4(20);
mipi_tx_data_temp(21) <= LCD_SRC_DATA4(21);
mipi_tx_data_temp(22) <= LCD_SRC_DATA4(22);
mipi_tx_data_temp(23) <= LCD_SRC_DATA4(23);
mipi_tx_data_temp(24) <= LCD_SRC_DATA4(24);
elsif(tx_src_data_cnt0>=2 and tx_src_data_cnt0<4)then
mipi_tx_data_temp(0) <= LCD_SRC_DATA5(0);
mipi_tx_data_temp(1) <= LCD_SRC_DATA5(1);
mipi_tx_data_temp(2) <= LCD_SRC_DATA5(2);
mipi_tx_data_temp(3) <= LCD_SRC_DATA5(3);
mipi_tx_data_temp(4) <= LCD_SRC_DATA5(4);
mipi_tx_data_temp(5) <= LCD_SRC_DATA5(5);
mipi_tx_data_temp(6) <= LCD_SRC_DATA5(6);
mipi_tx_data_temp(7) <= LCD_SRC_DATA5(7);
mipi_tx_data_temp(8) <= LCD_SRC_DATA5(8);
mipi_tx_data_temp(9) <= LCD_SRC_DATA5(9);
mipi_tx_data_temp(10) <= LCD_SRC_DATA5(10);
mipi_tx_data_temp(11) <= LCD_SRC_DATA5(11);
mipi_tx_data_temp(12) <= LCD_SRC_DATA5(12);
mipi_tx_data_temp(13) <= LCD_SRC_DATA5(13);
mipi_tx_data_temp(14) <= LCD_SRC_DATA5(14);
mipi_tx_data_temp(15) <= LCD_SRC_DATA5(15);
mipi_tx_data_temp(16) <= LCD_SRC_DATA5(16);
mipi_tx_data_temp(17) <= LCD_SRC_DATA5(17);
mipi_tx_data_temp(18) <= LCD_SRC_DATA5(18);
mipi_tx_data_temp(19) <= LCD_SRC_DATA5(19);
mipi_tx_data_temp(20) <= LCD_SRC_DATA5(20);
mipi_tx_data_temp(21) <= LCD_SRC_DATA5(21);
mipi_tx_data_temp(22) <= LCD_SRC_DATA5(22);
mipi_tx_data_temp(23) <= LCD_SRC_DATA5(23);
mipi_tx_data_temp(24) <= LCD_SRC_DATA5(24);
else
mipi_tx_data_temp(0) <= LCD_SRC_DATA6(0);
mipi_tx_data_temp(1) <= LCD_SRC_DATA6(1);
mipi_tx_data_temp(2) <= LCD_SRC_DATA6(2);
mipi_tx_data_temp(3) <= LCD_SRC_DATA6(3);
mipi_tx_data_temp(4) <= LCD_SRC_DATA6(4);
mipi_tx_data_temp(5) <= LCD_SRC_DATA6(5);
mipi_tx_data_temp(6) <= LCD_SRC_DATA6(6);
mipi_tx_data_temp(7) <= LCD_SRC_DATA6(7);
mipi_tx_data_temp(8) <= LCD_SRC_DATA6(8);
mipi_tx_data_temp(9) <= LCD_SRC_DATA6(9);
mipi_tx_data_temp(10) <= LCD_SRC_DATA6(10);
mipi_tx_data_temp(11) <= LCD_SRC_DATA6(11);
mipi_tx_data_temp(12) <= LCD_SRC_DATA6(12);
mipi_tx_data_temp(13) <= LCD_SRC_DATA6(13);
mipi_tx_data_temp(14) <= LCD_SRC_DATA6(14);
mipi_tx_data_temp(15) <= LCD_SRC_DATA6(15);
mipi_tx_data_temp(16) <= LCD_SRC_DATA6(16);
mipi_tx_data_temp(17) <= LCD_SRC_DATA6(17);
mipi_tx_data_temp(18) <= LCD_SRC_DATA6(18);
mipi_tx_data_temp(19) <= LCD_SRC_DATA6(19);
mipi_tx_data_temp(20) <= LCD_SRC_DATA6(20);
mipi_tx_data_temp(21) <= LCD_SRC_DATA6(21);
mipi_tx_data_temp(22) <= LCD_SRC_DATA6(22);
mipi_tx_data_temp(23) <= LCD_SRC_DATA6(23);
mipi_tx_data_temp(24) <= LCD_SRC_DATA6(24);
end if ;
if(mipi_tx_busy= '0')then
mipi_tx_con_state <= tx_con_src_start;
else
mipi_tx_con_state <= tx_con_src_load;
end if ;
--tx_con_src_start
when tx_con_src_start=>
DONE <= '0' ;
mipi_tx_en <= '0' ;
delay_cnt:=delay_cnt + 1;
if(delay_cnt > 5)then
mipi_tx_con_state <= tx_con_src_wait;
else
mipi_tx_con_state <= tx_con_src_start;
end if ;
--tx_con_src_wait
when tx_con_src_wait =>
mipi_tx_en <= '1' ;
delay_cnt:=0;
if(mipi_tx_busy = '0')then
mipi_tx_con_state <= tx_con_src_ok;
else
mipi_tx_con_state <= tx_con_src_wait;
end if ;
--tx_con_src_ok
when tx_con_src_ok=>
mipi_tx_en <= '1' ;
tx_src_data_cnt:=tx_src_data_cnt + 1;
mipi_tx_con_state <= tx_con_src_dect ;
--tx_con_src_dect
when tx_con_src_dect=>
delay_cnt:=0;
mipi_tx_en <= '1' ;
if(tx_src_data_cnt<14400)then
mipi_tx_con_state <= tx_con_src_load ;
else
mipi_tx_con_state <= tx_con_src_end ;
end if ;
--tx_con_src_end
when tx_con_src_end=>
tx_src_data_cnt0:= tx_src_data_cnt0 + 1;
tx_src_data_cnt:=0 ;
mipi_tx_en <= '1' ;
DONE <= '0' ;
if(tx_src_data_cnt0<6)then
mipi_tx_con_state <= tx_con_src_load;
else
mipi_tx_con_state <= tx_con_src_end0;
end if ;
--tx_con_src_end0
when tx_con_src_end0=>
tx_src_data_cnt:=0 ;
tx_src_data_cnt0:=0;
mipi_tx_en <= '1' ;
DONE <= '1' ;
mipi_tx_con_state <= tx_con_src_end0;
--others
when others =>
mipi_tx_con_state <= tx_con_src_end0;
end case;
end if;--if (S_CLK'event and S_CLK ='0')
end if;--if (RESET='0')
end process;
4、点屏效果:
4、FPGA/CPLD支持LATTIEC、ALTERA、XILINX厂家。
5、详细联系:
微信:moning_hello
QQ:306612835