91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA實(shí)現(xiàn)一個(gè)VGA/LCD顯示控制器的實(shí)例

FPGA技術(shù)江湖 ? 來(lái)源:FPGA技術(shù)江湖 ? 作者:FPGA技術(shù)江湖 ? 2022-08-01 10:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天給大俠帶來(lái)基于FPGA的VGA/LCD顯示控制器設(shè)計(jì),由于篇幅較長(zhǎng),分三篇。今天帶來(lái)第三篇,下篇,程序的仿真與測(cè)試以及總結(jié),話不多說(shuō),上貨。

導(dǎo)讀

VGA (Video Graphics Array) 即視頻圖形陣列,是IBM于1987年隨PS/2機(jī)(PersonalSystem 2)一起推出的使用模擬信號(hào)的一種視頻傳輸標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)對(duì)于現(xiàn)今的個(gè)人電腦市場(chǎng)已經(jīng)十分過(guò)時(shí)。但在當(dāng)時(shí)具有分辨率高、顯示速率快、顏色豐富等優(yōu)點(diǎn),在彩色顯示器領(lǐng)域取得了廣泛的應(yīng)用,是眾多制造商所共同支持的一個(gè)低標(biāo)準(zhǔn)。

LCD ( Liquid Crystal Display 的簡(jiǎn)稱)液晶顯示器。LCD 的構(gòu)造是在兩片平行的玻璃基板當(dāng)中放置液晶盒,下基板玻璃上設(shè)置TFT(薄膜晶體管),上基板玻璃上設(shè)置彩色濾光片,通過(guò)TFT上的信號(hào)與電壓改變來(lái)控制液晶分子的轉(zhuǎn)動(dòng)方向,從而達(dá)到控制每個(gè)像素點(diǎn)偏振光出射與否而達(dá)到顯示目的。按照背光源的不同,LCD可以分為CCFL顯示器和LED顯示器兩種。LCD已經(jīng)替代CRT成為主流,價(jià)格也已經(jīng)下降了很多,并已充分普及。

在之前的文章中介紹了如何獲取、處理攝像頭提供的視頻信號(hào),在實(shí)際應(yīng)用中還需要將經(jīng)過(guò)處理的信號(hào)顯示在顯示器上。這個(gè)過(guò)程與信號(hào)處理中的過(guò)程上是相反的,將數(shù)字信號(hào)按照電視信號(hào)的制式組成合乎時(shí)序、格式要求的信號(hào),并加入用于控制的各種同步信號(hào)。本篇將通過(guò) FPGA實(shí)現(xiàn)一個(gè) VGA/LCD 顯示控制器的實(shí)例,并詳細(xì)介紹實(shí)現(xiàn)過(guò)程。

第三篇內(nèi)容摘要:本篇會(huì)介紹程序的仿真與測(cè)試以及總結(jié)等相關(guān)內(nèi)容。

四、程序的仿真與測(cè)試

為了檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)先設(shè)定的功能,需要編寫仿真程序。仿真程序的主要代碼如下:


module test;    //寄存器    reg clk;    reg rst;    //參數(shù)    parameter LINE_FIFO_AWIDTH = 7;    //wire 申明    wire int;    wire [31:0] wb_addr_o;    wire [31:0] wb_data_i;    wire [31:0] wb_data_o;    wire [3:0] wb_sel_o;    wire wb_we_o;    wire wb_stb_o;    wire wb_cyc_o;    wire [2:0] wb_cti_o;    wire [1:0] wb_bte_o;    wire wb_ack_i;    wire wb_err_i;    wire [31:0] wb_addr_i;    wire [31:0] wbm_data_i;    wire [3:0] wb_sel_i;    wire wb_we_i;    wire wb_stb_i;    wire wb_cyc_i;    wire wb_ack_o;    wire wb_rty_o;    wire wb_err_o;    reg pclk_i;    wire pclk;    wire hsync;    wire vsync;    wire csync;    wire blanc;    wire [7:0] red;    wire [7:0] green;    wire [7:0] blue;    wire dvi_pclk_p_o;    wire dvi_pclk_m_o;    wire dvi_hsync_o;    wire dvi_vsync_o;    wire dvi_de_o;    wire [11:0] dvi_d_o;    wire vga_stb_i;    wire clut_stb_i;    reg scen;        // 測(cè)試程序變量    integer wd_cnt;    integer error_cnt;        reg [31:0] data;    reg [31:0] pattern;    reg int_warn;        integer n;    integer mode;        reg [7:0] thsync, thgdel;    reg [15:0] thgate, thlen;    reg [7:0] tvsync, tvgdel;    reg [15:0] tvgate, tvlen;    reg hpol;    reg vpol;    reg cpol;    reg bpol;    integer p, l;    reg [31:0] pn;    reg [31:0] pra, paa, tmp;    reg [23:0] pd;    reg [1:0] cd;    reg pc;    reg [31:0] vbase;    reg [31:0] cbase;    reg [31:0] vbara;    reg [31:0] vbarb;    reg [7:0] bank;        // 常量定義    `define CTRL 32'h0000_0000    `define STAT 32'h0000_0004    `define HTIM 32'h0000_0008    `define VTIM 32'h0000_000c    `define HVLEN 32'h0000_0010    `define VBARA 32'h0000_0014    `define VBARB 32'h0000_0018    `define USE_VC 1    parameter PCLK_C = 20;        //測(cè)試內(nèi)容    initial        begin            $timeformat (-9, 1, " ns", 12);            $display("

");            $display("******************************************************");            $display("*VGA/LCD Controller Simulation started ... *");            $display("******************************************************");            $display("
");                `ifdef WAVES        $shm_open("waves");        $shm_probe("AS",test,"AS");        $display("INFO: Signal dump enabled ...

");      `endif        scen = 0;        error_cnt = 0;        clk = 0;        pclk_i = 0;        rst = 0;        int_warn=1;        repeat(20) @(posedge clk);        rst = 1;        repeat(20) @(posedge clk);            if(0)        begin                end    else    if(1)        begin            `ifdef VGA_12BIT_DVI        dvi_pd_test;    `endif            end    else        begin                // 測(cè)試區(qū)域    $display("

");    $display("*****************************************************");    $display("*** XXX Test ***");    $display("*****************************************************
");            s0.fill_mem(1);        repeat(10) @(posedge clk);        //參數(shù)設(shè)置        vbara = 32'h0000_0000;        vbarb = 32'h0001_0000;        m0.wb_wr1( `VBARA, 4'hf, vbara );        m0.wb_wr1( `VBARB, 4'hf, vbarb );        thsync = 0;        thgdel = 0;        thgate = 340;        thlen = 345;        tvsync = 0;        tvgdel = 0;        tvgate = 240;        tvlen = 245;                /*        thsync = 0;        thgdel = 0;        thgate = 63;        thlen = 70;        tvsync = 0;        tvgdel = 0;        tvgate = 32;        tvlen = 36;        */                hpol = 0;        vpol = 0;        cpol = 0;        bpol = 0;        m0.wb_wr1( `HTIM, 4'hf, {thsync, thgdel, thgate} );        m0.wb_wr1( `VTIM, 4'hf, {tvsync, tvgdel, tvgate} );        m0.wb_wr1( `HVLEN, 4'hf, {thlen, tvlen} );
    mode = 2;
    for(bank=0;bank<3;bank=bank + 1)        begin            case(mode)            0:            begin                cd = 2'h2;                pc = 1'b0;            end                        1:            begin                cd = 2'h0;                pc = 1'b0;            end                        2:            begin                cd = 2'h0;                pc = 1'b1;            end                        3:            begin                cd = 2'h1;                pc = 1'b0;            end                    endcase        m0.wb_wr1( `CTRL, 4'hf, {        16'h0, // Reserved        bpol, cpol,        vpol, hpol,        pc, // 1'b0, // PC        cd, // 2'h2, // CD        2'h0, // VBL        1'b0, // Reserved        1'b1, // CBSWE        1'b1, // VBSWE        1'b0, // BSIE        1'b0, // HIE        1'b0, // VIE        1'b1 // Video Enable      });          $display("Mode: %0d Screen: %0d", mode, bank);    //repeat(2) @(posedge vsync);    @(posedge vsync);        // 每一行數(shù)據(jù)    for(l=0;l    // For each Pixel    for(p=0;p        begin            while(blanc) @(posedge pclk);                        if(bank[0]) vbase = vbarb[31:2];            else vbase = vbara[31:2];            if(bank[0]) cbase = 32'h0000_0c00;            else cbase = 32'h0000_0800;                        // 各種顯示模式            //像素?cái)?shù)目 = 行數(shù)* (thgate + 1) + p            pn = l * (thgate + 1) + p;                        case(mode)                0: // 24 位模式                begin                    pra = pn[31:2] * 3;                    paa = pra + vbase; // 像素決定地址                                // 像素?cái)?shù)據(jù)                case(pn[1:0])                    0:                    begin                        tmp = s0.mem[paa];                        pd = tmp[31:8];                    end                    1:                        begin                            tmp = s0.mem[paa];                            pd[23:16] = tmp[7:0];                            tmp = s0.mem[paa+1];                            pd[15:0] = tmp[31:16];                        end                    2:                        begin                            tmp = s0.mem[paa+1];                            pd[23:8] = tmp[15:0];                            tmp = s0.mem[paa+2];                            pd[7:0] = tmp[31:24];                        end                    3:                    begin                        tmp = s0.mem[paa+2];                        pd = tmp[23:0];                    end                endcase            end                        1: // 8 位灰度模式                begin                    pra = pn[31:2]; // 像素相對(duì)地址                    paa = pra + vbase; // 像素絕對(duì)地址                    case(pn[1:0])                        0:                            begin                                tmp = s0.mem[paa];                                pd = { tmp[31:24], tmp[31:24], tmp[31:24] };                            end                        1:                            begin                                tmp = s0.mem[paa];                                pd = { tmp[23:16], tmp[23:16], tmp[23:16] };                            end                        2:                            begin                                tmp = s0.mem[paa];                                pd = { tmp[15:8], tmp[15:8], tmp[15:8] };                            end                        3:                            begin                                tmp = s0.mem[paa];                                pd = { tmp[7:0], tmp[7:0], tmp[7:0] };                            end                    endcase                end            2: // 8 位偽彩色模式                begin                    pra = pn[31:2]; //像素相對(duì)地址                    paa = pra + vbase; //像素絕對(duì)地址                    case(pn[1:0])                        0:                            begin                                tmp = s0.mem[paa];                                tmp = s0.mem[cbase[31:2] + tmp[31:24]];                                pd = tmp[23:0];                            end                        1:                            begin                                tmp = s0.mem[paa];                                tmp = s0.mem[cbase[31:2] + tmp[23:16]];                                pd = tmp[23:0];                            end                        2:                            begin                                tmp = s0.mem[paa];                                tmp = s0.mem[cbase[31:2] + tmp[15:8]];                                pd = tmp[23:0];                            end                        3:                            begin                                tmp = s0.mem[paa];                                tmp = s0.mem[cbase[31:2] + tmp[7:0]];                                pd = tmp[23:0];                            end                    endcase                end                          3: // 16 位模式              begin                  pra = pn[31:1]; //像素相對(duì)地址                  paa = pra + vbase; //像素絕對(duì)地址                  case(pn[0])                      0:                          begin                              tmp = s0.mem[paa];                              tmp[15:0] = tmp[31:16];                              pd = {tmp[15:11], 3'h0, tmp[10:5], 2'h0, tmp[4:0], 3'h0};                          end                      1:                          begin                              tmp = s0.mem[paa];                              pd = {tmp[15:11], 3'h0, tmp[10:5], 2'h0, tmp[4:0], 3'h0};                          end                  endcase              end      endcase      if(pd !== {red, green, blue} )          begin              $display("ERROR: Pixel Data Mismatch: Expected: %h, Got: %h %h %h",              pd, red, green, blue);              $display(" pixel=%0d, line=%0d, (%0t)",p,l,$time);              error_cnt = error_cnt + 1;          end                    @(posedge pclk);      end  end       show_errors;  $display("*****************************************************");  $display("*** Test DONE ... ***");  $display("*****************************************************

");   end        repeat(10) @(posedge clk);      $finish;  end    //同步監(jiān)視    `ifdef VGA_12BIT_DVI    sync_check #(PCLK_C*2) ucheck(    `else    sync_check #(PCLK_C) ucheck(    `endif        .pclk( pclk ),        .rst( rst ),        .enable( scen ),        .hsync( hsync ),        .vsync( vsync ),        .csync( csync ),        .blanc( blanc ),        .hpol( hpol ),        .vpol( vpol ),        .cpol( cpol ),        .bpol( bpol ),        .thsync( thsync ),        .thgdel( thgdel ),        .thgate( thgate ),        .thlen( thlen ),        .tvsync( tvsync ),        .tvgdel( tvgdel ),        .tvgate( tvgate ),        .tvlen( tvlen ) );            // 視頻數(shù)據(jù)監(jiān)視    wb_b3_check u_wb_check (        .clk_i ( clk ),        .cyc_i ( wb_cyc_o ),        .stb_i ( wb_stb_o ),        .cti_i ( wb_cti_o ),        .bte_i ( wb_bte_o ),        .we_i ( wb_we_o ),        .ack_i ( wb_ack_i ),        .err_i ( wb_err_i ),        .rty_i ( 1'b0 ) );
    //看門狗計(jì)數(shù)器    always @(posedge clk)        if(wb_cyc_i | wb_cyc_o | wb_ack_i | wb_ack_o | hsync)            wd_cnt <= #1 0;        else            wd_cnt <= #1 wd_cnt + 1;                always @(wd_cnt)        if(wd_cnt>9000)            begin                $display("

*************************************
");                $display("ERROR: Watch Dog Counter Expired
");                $display("*************************************


");                $finish;            end                always @(posedge int)        if(int_warn)            begin                $display("

*************************************
");                $display("WARNING: Recieved Interrupt (%0t)", $time);                $display("*************************************


");            end        always #2.5 clk = ~clk;    always #(PCLK_C/2) pclk_i = ~pclk_i;        //模塊原型    vga_enh_top #(1'b0, LINE_FIFO_AWIDTH) u0 (        .wb_clk_i ( clk ),        .wb_rst_i ( 1'b0 ),        .rst_i ( rst ),        .wb_inta_o ( int ),        //從信號(hào)        .wbs_adr_i ( wb_addr_i[11:0] ),        .wbs_dat_i ( wb_data_i ),        .wbs_dat_o ( wb_data_o ),        .wbs_sel_i ( wb_sel_i ),        .wbs_we_i ( wb_we_i ),        .wbs_stb_i ( wb_stb_i ),        .wbs_cyc_i ( wb_cyc_i ),        .wbs_ack_o ( wb_ack_o ),        .wbs_rty_o ( wb_rty_o ),        .wbs_err_o ( wb_err_o ),        //主信號(hào)        .wbm_adr_o ( wb_addr_o[31:0] ),        .wbm_dat_i ( wbm_data_i ),        .wbm_sel_o ( wb_sel_o ),        .wbm_we_o ( wb_we_o ),        .wbm_stb_o ( wb_stb_o ),        .wbm_cyc_o ( wb_cyc_o ),        .wbm_cti_o ( wb_cti_o ),        .wbm_bte_o ( wb_bte_o ),        .wbm_ack_i ( wb_ack_i ),        .wbm_err_i ( wb_err_i ),        //VGA 信號(hào)        .clk_p_i ( pclk_i ),    `ifdef VGA_12BIT_DVI        .dvi_pclk_p_o ( dvi_pclk_p_o ),        .dvi_pclk_m_o ( dvi_pclk_m_o ),        .dvi_hsync_o ( dvi_hsync_o ),        .dvi_vsync_o ( dvi_vsync_o ),        .dvi_de_o ( dvi_de_o ),        .dvi_d_o ( dvi_d_o ),    `endif        .clk_p_o ( pclk ),        .hsync_pad_o ( hsync ),        .vsync_pad_o ( vsync ),        .csync_pad_o ( csync ),        .blank_pad_o ( blanc ),        .r_pad_o ( red ),        .g_pad_o ( green ),        .b_pad_o ( blue )    );        wb_mast m0( .clk( clk ),            .rst( rst ),            .adr( wb_addr_i ),            .din( wb_data_o ),            .dout( wb_data_i ),            .cyc( wb_cyc_i ),            .stb( wb_stb_i ),            .sel( wb_sel_i ),            .we( wb_we_i ),            .ack( wb_ack_o ),            .err( wb_err_o ),            .rty( 1'b0 )        );        wb_slv #(24) s0(.clk( clk ),            .rst( rst ),            .adr( {1'b0, wb_addr_o[30:0]} ),            .din( 32'h0 ),            .dout( wbm_data_i ),            .cyc( wb_cyc_o ),            .stb( wb_stb_o ),            .sel( wb_sel_o ),            .we( wb_we_o ),            .ack( wb_ack_i ),            .err( wb_err_i ),            .rty( )        );        `include "tests.v"    endmodule

五、總結(jié)

本篇介紹了一個(gè) VGA/LCD 顯示控制器的實(shí)例。首先介紹了 VGA/LCD 顯示的相關(guān)知識(shí),然后介紹了程序的主要結(jié)構(gòu)和主要功能模塊的實(shí)現(xiàn)過(guò)程。最后用一個(gè)測(cè)試程序驗(yàn)證程序的功能是否滿足要求。本章為各位大俠設(shè)計(jì)自己的 VGA/LCD 顯示控制器提供了一個(gè)可以使用的方案。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22408

    瀏覽量

    636242
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17787

    瀏覽量

    193097
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    36

    文章

    4615

    瀏覽量

    177204

原文標(biāo)題:系統(tǒng)設(shè)計(jì)精選 | 基于FPGA的VGA/LCD顯示控制器設(shè)計(jì)(附代碼)

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TPS65197x系列電平轉(zhuǎn)換LCD顯示應(yīng)用的理想選擇

    和電視等LCD顯示應(yīng)用。它能夠?qū)⒍〞r(shí)控制器(T - CON)的邏輯電平信號(hào)轉(zhuǎn)換為面板內(nèi)柵極(GIP)顯示所需的
    的頭像 發(fā)表于 03-01 10:30 ?540次閱讀

    LCD保護(hù)方案

    LCD 模塊 LCD 模塊是 LCM( LCD Module)即 LCD 顯示模組,是指將玻璃和 LCD
    的頭像 發(fā)表于 02-26 14:57 ?141次閱讀
    <b class='flag-5'>LCD</b>保護(hù)方案

    基于友晶DE10-Nano開發(fā)板的VGA顯示控制器模塊設(shè)計(jì)

    VGA顯示控制器模塊vga_generator.v(位于DemonstrationsFPGAHDMI_TXvpg_source路徑下)可生成
    的頭像 發(fā)表于 02-26 13:43 ?5133次閱讀
    基于友晶DE10-Nano開發(fā)板的<b class='flag-5'>VGA</b><b class='flag-5'>顯示</b><b class='flag-5'>控制器</b>模塊設(shè)計(jì)

    DLPC3433與DLPC3438顯示控制器:小尺寸顯示應(yīng)用的理想之選

    DLPC3433與DLPC3438顯示控制器:小尺寸顯示應(yīng)用的理想之選 在電子工程領(lǐng)域,顯示控制器對(duì)于實(shí)
    的頭像 發(fā)表于 12-15 10:30 ?1242次閱讀

    DLPC3439顯示控制器:小身材大能量,開啟顯示新視界

    DLPC3439顯示控制器:小身材大能量,開啟顯示新視界 在當(dāng)今的顯示技術(shù)領(lǐng)域,DLPC3439顯示控制
    的頭像 發(fā)表于 12-15 10:10 ?1138次閱讀

    DLPC3479顯示和光控制器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)

    DLPC3479顯示和光控制器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn) 在電子工程領(lǐng)域,顯示和光控制技術(shù)的發(fā)展日新月異。德州儀器(TI)的DLPC3479顯示
    的頭像 發(fā)表于 12-11 14:25 ?561次閱讀

    DLPC4420 DLP顯示控制器:高分辨率顯示的理想之選

    DLPC4420 DLP顯示控制器:高分辨率顯示的理想之選 在當(dāng)今的顯示技術(shù)領(lǐng)域,高分辨率、高亮度的顯示需求日益增長(zhǎng)。DLPC4420 DL
    的頭像 發(fā)表于 12-11 10:00 ?450次閱讀

    如何用FPGA控制ADV7513實(shí)現(xiàn)HDMI畫面顯示和音頻播放

    HDMI接口顯示使用DMT時(shí)序+TMDS編碼來(lái)實(shí)現(xiàn)。當(dāng)用FPGA控制HDMI的數(shù)據(jù)傳輸時(shí),通??梢圆捎眉僐TL實(shí)現(xiàn)TMDS算法或者使用專門的
    的頭像 發(fā)表于 12-02 11:05 ?6794次閱讀
    如何用<b class='flag-5'>FPGA</b><b class='flag-5'>控制</b>ADV7513<b class='flag-5'>實(shí)現(xiàn)</b>HDMI畫面<b class='flag-5'>顯示</b>和音頻播放

    ?DLPC4430 DLP顯示控制器技術(shù)解析與應(yīng)用展望

    、DLPA100控制器電源管理設(shè)備以及DLPA300(DMD電源管理設(shè)備)組成。該解決方案非常適合需要高分辨率、高亮度和系統(tǒng)簡(jiǎn)單性的顯示系統(tǒng)。Texas Instruments DLPC4430顯示
    的頭像 發(fā)表于 09-24 10:56 ?707次閱讀
    ?DLPC4430 DLP<b class='flag-5'>顯示</b><b class='flag-5'>控制器</b>技術(shù)解析與應(yīng)用展望

    DLPC4420 DLP顯示控制器技術(shù)解析與應(yīng)用

    Texas Instruments DLPC4420 DLP? 顯示控制器是用于DLP顯示芯片組的數(shù)字顯示控制器。該芯片組由DLPC4420
    的頭像 發(fā)表于 09-23 14:17 ?849次閱讀
    DLPC4420 DLP<b class='flag-5'>顯示</b><b class='flag-5'>控制器</b>技術(shù)解析與應(yīng)用

    RTL級(jí)機(jī)器人電機(jī)控制器FPGA設(shè)計(jì)

    借助Verilog,在FPGA實(shí)現(xiàn)了帶編碼的兩臺(tái)電機(jī)的電機(jī)控制系統(tǒng)的RTL級(jí)設(shè)計(jì)。
    的頭像 發(fā)表于 07-07 14:01 ?2902次閱讀
    RTL級(jí)機(jī)器人電機(jī)<b class='flag-5'>控制器</b>的<b class='flag-5'>FPGA</b>設(shè)計(jì)

    基于stm32和mpu9250的usb hid鍵盤、鼠標(biāo)、游戲控制器實(shí)例打包下載

    基于stm32和mpu9250的usb hid鍵盤、鼠標(biāo)、游戲控制器實(shí)例打包,推薦下載!
    發(fā)表于 05-29 21:44

    中小尺寸彩屏TFT-LCD顯示控制器RA8889ML3N電路原理圖

    中小尺寸彩屏TFT-LCD顯示控制器RA8889ML3N電路原理圖,最高驅(qū)動(dòng)1366*2048分辨率,支持并口/串口(SPI)主控接口,支持圖形繪圖引擎,支持JPEG視頻硬解碼. 原理圖和PCB圖資料如下:*附件:RA8889_
    發(fā)表于 04-03 14:33

    27個(gè)FPGA實(shí)例源代碼

    本資料收集匯總了27個(gè)FPGA實(shí)例源代碼,有需要的可以下載學(xué)習(xí)! 獲取完整文檔資料可下載附件哦!?。?!如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持下哦~
    發(fā)表于 03-14 17:31

    工程機(jī)械控制器如何選型?控制器選型指南 #控制器 #車載控制器 #整車控制器 #控制器選型

    控制器
    長(zhǎng)沙碩博電子科技股份有限公司
    發(fā)布于 :2025年03月14日 10:54:24