FPG—VGA显示器字符显示(附代码)

2023-11-20

目录

1.实操

1.1 字符取模

1.2 顶层模块

1.3 图像数据生成模块

1.3.1 模块框图

1.3.2 波形图绘制

1.3.3 代码编写

1.3.4 仿真验证

2.总结

      本例程大部分与VGA显示驱动内容相同,只是显示部分改变了,故此主要讲显示字符的方法。如有对VGA显示驱动不了解的朋友,建议先看这篇 http://t.csdn.cn/QqQzi 。

      由之前讲VGA显示彩条的原理可知显示的本质就是点阵,将有用信息与背景色区分就可以显示信息,例如军训时很火的方阵以及平时见到的广告牌。

      实验目标:在 VGA 显示器中心位置显示金色“天天向上”四个字,字符外的背景颜色为黑色。每个汉字大小为 56*56, 字模点阵为 64*64, VGA 显示模式为 640*480@60。

1.实操

1.1 字符取模

字符取模的基本原理

      一般使用 0、 1 的组合来描述点阵,点阵中的每一个数据项表示单个像素点,我们使用单比特来表示,字符显示部分的数据项赋值为 1,非字符显示部分的数据项赋值为 0。这种赋值方式不包含颜色信息,只是区分点阵背景和字符信息。字符点阵示例,具体见下图。

字符取模操作流程

1. 生成一个整体字模

      打开字符取模软件“PCtoLCD2002”,设置相关参数,将点阵大小设置为 64*64,字宽*字高设置为 56*56,字体随意;在下方文字输入框中输入要显示字符“天天向上”;注意,此处先不要进行字模生成,因为此处生成字模会得到四个字符各自对应的字模,不方便后续代码编写。

      将生成的字符点阵保存为 BMP 图片格式,保存为 BMP格式的目的就是为了将四个单独字符合成一个整体。

    再返回读取保存的 BMP 图片,四个字符已合为一个整体。

2. 设置字模输出的相关参数,生成字模、保存字模

     将模式调为图形模式后,在点击 “选项” 按照下图所示, 设置字模输出的相关参数。

     生成字模、保存字模

 字模保存完毕,字模点阵大小为 256*64。

       注意(1)进行下一次的字模生成,要将模式调回 字符模式 后再进行相关参数设置,否则无法修改参数设置,(2)汉字占两个字节,数字、字母和特殊符号占两个字节,在配置点阵大小时需注意。

1.2 顶层模块

       顶层模块设计如下图。

       以上模块除图像数据生成模块,其他模块在前面发布的VGA 显示器驱动设计与验证文章中已经详细说明,故不重复。

1.3 图像数据生成模块

1.3.1 模块框图

        图像数据生成模块,模块功能是以 VGA 时序控制模块传入的图像有效显示区域像素点坐标(pix_x,pix_y)为约束条件, 产生 VGA 图像像素点色彩信息 pix_data 并回传给 VGA 时序控制模块。在字符显示区域 pi_data 赋值为金色,其他区域均为黑色。模块框图,具体见下图。
 

   图像数据生成模块包含 4 路输入、 1 路输出,共 5 路信号,输入输出信号简介,具体见下表。

1.3.2 波形图绘制

第一部分:输入信号

      本模块的输入信号包括四路,时钟信号、复位信号和 VGA 驱动控制模块传入的有效显示区域的坐标信号 pix_x、 pix_y。时钟信号和复位信号无需多说,对于坐标信号 pix_x、pix_y,在之前的文章有详细讲解,在此不再过多叙述。
  第二部分:字符点阵显示区域坐标信号的设计与实现
      首先确定字符有效显示区域,区域大小与字符点阵大小相同,显示区域的像素点与字模点阵中数据项对应,当字模点阵中的数据项数值为“1”时,赋值字符颜色给对应像素点;当字模点阵中的数据项数值为“0”时,赋值点阵背景颜色给对应像素点。所以为了确定字符点阵显示区域256*64
声明两个变量 char_x、 char_y,两变量组成字符点阵显示区域坐标,在字符点阵有效显示区域内, char_x 信号 0-255 循环计数, char_y信号 0-63 循环计数 ,根据坐标(char_x,char_y)寻找字符点阵对应的数据项,根据数据项的数值,赋予对应坐标像素点颜色信息。 char_x、 char_y 信号波形具体见下图。

 第三部分: 输出图像数据信号的波形设计与实现

       设计本模块的目的是生成 VGA 图像像素点色彩信息回传给 VGA 时序控制模块,我们声明像素点色彩信息 pix_data 信号。在字符点阵显示区域内、字符点阵数据项数值为“1”时, pix_data 根据为字符颜色;其他区域均赋值为背景色。

1.3.3 代码编写

`timescale  1ns/1ns

module  vga_pic
(
    input   wire            vga_clk     ,   
    input   wire            sys_rst_n   ,   
    input   wire    [9:0]   pix_x       ,   //输入有效显示区域像素点X轴坐标
    input   wire    [9:0]   pix_y       ,   //输入有效显示区域像素点Y轴坐标

    output  reg     [15:0]  pix_data        //输出像素点色彩信息
);

parameter   CHAR_B_H=   10'd192 ,   //字符开始X轴坐标
            CHAR_B_V=   10'd208 ;   //字符开始Y轴坐标

parameter   CHAR_W  =   10'd256 ,   //字符宽度
            CHAR_H  =   10'd64  ;   //字符高度

parameter   BLACK   =   16'h0000,   //黑色
            WHITE   =   16'hFFFF,   //白色
            GOLDEN  =   16'hFEC0;   //金色

wire    [9:0]   char_x  ;   //字符显示X轴坐标
wire    [9:0]   char_y  ;   //字符显示Y轴坐标

//reg   define
reg     [255:0] char    [63:0]  ;   //位宽  与  列高

//字符显示坐标,组合逻辑0-255
assign  char_x  =   (((pix_x >= CHAR_B_H) && (pix_x < (CHAR_B_H + CHAR_W)))   //pix_x < (CHAR_B_H + CHAR_W)也可以写成 pix_x <= (CHAR_B_H + CHAR_W -1'b1)
                    && ((pix_y >= CHAR_B_V) && (pix_y < (CHAR_B_V + CHAR_H))))  
                    ? (pix_x - CHAR_B_H) : 10'h3FF;
assign  char_y  =   (((pix_x >= CHAR_B_H) && (pix_x < (CHAR_B_H + CHAR_W)))
                    && ((pix_y >= CHAR_B_V) && (pix_y < (CHAR_B_V + CHAR_H))))
                    ? (pix_y - CHAR_B_V) : 10'h3FF;

//char:“天天向上”字符数据(粘贴字模提取其中生成的数据)
always@(posedge vga_clk)
    begin
        char[0]     <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[1]     <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[2]     <=  256'h0000000000000000000000000000000000000080000000000000000000000000;
        char[3]     <=  256'h00000000000000000000000000000000000001E0000000000000008000000000;
        char[4]     <=  256'h00000000003000000000000000200000000001F000000000000000E000000000;
        char[5]     <=  256'h00000000007800000000000000300000000001E000000000000000FC00000000;
        char[6]     <=  256'h0000000000FC00000000000000780000000001C000000000000000F000000000;
        char[7]     <=  256'h00FFFFFFFFFE00000000000000FC00000000038000000000000000E000000000;
        char[8]     <=  256'h007FFFFFFFFF0000007FFFFFFFFE00000000038000000000000000E000000000;
        char[9]     <=  256'h003C00F80000000000200078000000000000030000000000000000E000000000;
        char[10]    <=  256'h000000F80000000000000078000000000000020000020000000000E000000000;
        char[11]    <=  256'h000000F80000000000000078000000000080060000030000000000E000000000;
        char[12]    <=  256'h000000F800000000000000700000000000E0040000078000000000E000000000;
        char[13]    <=  256'h000000F800000000000000700000000000FFFFFFFFFFC000000000E000000000;
        char[14]    <=  256'h000000F800000000000000700000000000E0000000078000000000E000000000;
        char[15]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000000000;
        char[16]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000000000;
        char[17]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000000000;
        char[18]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000100000;
        char[19]    <=  256'h000000F800000000000000700000000000E0000000070000000000E000380000;
        char[20]    <=  256'h000000F800070000000000700002000000E0000000070000000000E0007C0000;
        char[21]    <=  256'h000000F8000F8000000000700007000000E0000000070000000000E000FE0000;
        char[22]    <=  256'h000000F8001FC00000000070000F800000E0300010070000000000FFFFFF0000;
        char[23]    <=  256'h1FFFFFFFFFFFE00000000070001FC00000E038003C070000000000E000000000;
        char[24]    <=  256'h1FFFFFFFFFFFF0000FFFFFFFFFFFE00000E01FFFFC070000000000E000000000;
        char[25]    <=  256'h0F8001F700000000040000E20000000000E01C0038070000000000E000000000;
        char[26]    <=  256'h000001F700000000000000E20000000000E01C0038070000000000E000000000;
        char[27]    <=  256'h000001F700000000000000E20000000000E01C0038070000000000E000000000;
        char[28]    <=  256'h000001F380000000000001E30000000000E01C0038070000000000E000000000;
        char[29]    <=  256'h000003E380000000000001E10000000000E01C0038070000000000E000000000;
        char[30]    <=  256'h000003E380000000000001C18000000000E01C0038070000000000E000000000;
        char[31]    <=  256'h000003E1C0000000000001C18000000000E01C0038070000000000E000000000;
        char[32]    <=  256'h000007C1C0000000000003C0C000000000E01C0038070000000000E000000000;
        char[33]    <=  256'h000007C1E000000000000380C000000000E01C0038070000000000E000000000;
        char[34]    <=  256'h00000780E0000000000007806000000000E01C0038070000000000E000000000;
        char[35]    <=  256'h00000F80F0000000000007006000000000E01C0038070000000000E000000000;
        char[36]    <=  256'h00000F807800000000000F003000000000E01FFFF8070000000000E000000000;
        char[37]    <=  256'h00001F007800000000000E003800000000E01C0038070000000000E000000000;
        char[38]    <=  256'h00003E003C00000000001E001800000000E03C0038070000000000E000000000;
        char[39]    <=  256'h00003E003E00000000001C001C00000000E03C0038070000000000E000000000;
        char[40]    <=  256'h00007C001F000000000038000E00000000E0380000070000000000E000000000;
        char[41]    <=  256'h0000F8000F800000000070000F00000000E0200000070000000000E000000000;
        char[42]    <=  256'h0001F0000FC000000000E00007C0000000E0000000070000000000E000000000;
        char[43]    <=  256'h0003E00007F000000001E00003E0000000E0000000070000000000E000000000;
        char[44]    <=  256'h0007C00003F800000003800001F0000000E0000000070000000000E000008000;
        char[45]    <=  256'h000F800001FE00000007000000FC000000E0000000070000000000E00001C000;
        char[46]    <=  256'h001F000000FF8000000E0000007F000000E0000000070000000000E00003E000;
        char[47]    <=  256'h003E0000007FF000001C0000003FE00000E000000FFF0000000000E00007F000;
        char[48]    <=  256'h00780000003FFC0000300000001FF80000E0000003FF00001FFFFFFFFFFFF800;
        char[49]    <=  256'h01F00000001FF80000E00000000FE00000E00000007F00000800000000000000;
        char[50]    <=  256'h07C000000007C000018000000003C00000E00000003E00000000000000000000;
        char[51]    <=  256'h0F00000000038000060000000001800000E00000001C00000000000000000000;
        char[52]    <=  256'h1C00000000000000180000000000000000800000000000000000000000000000;
        char[53]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[54]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[55]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[56]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[57]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[58]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[59]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[60]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[61]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[62]    <=  256'h0000000000000000000000000000000000000000000000000000000000000000;
        char[63]    <=  256'h0000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000;
    end

//pix_data:输出像素点色彩信息,根据当前像素点坐标指定当前像素点颜色数据
always@(posedge vga_clk or negedge sys_rst_n)
    if(sys_rst_n == 1'b0)
        pix_data    <= BLACK;
    else    if((((pix_x >= (CHAR_B_H ))  
                && (pix_x < (CHAR_B_H + CHAR_W )))  //pix_x提前打一拍 【191-446】
                && ((pix_y >= CHAR_B_V) && (pix_y < (CHAR_B_V + CHAR_H))))
                && (char[char_y][10'd255 - char_x] == 1'b1))  //二维数组,当像素点为1时给金色
        pix_data    <=  GOLDEN;
    else
        pix_data    <=  BLACK;

endmodule

代码重难点积累:

(1)复制字模时,以notepad++打开 .txt 文件,复制格式不会出错。

(2)2char[char_y][10'd255 - char_x] == 1'b1 使用二位数组定位要显示的像素点。

1.3.4 仿真验证

`timescale  1ns/1ns

module  tb_vga_colorbar();

wire            hsync       ;
wire    [15:0]  rgb         ;
wire            vsync       ;

//reg   define
reg             sys_clk     ;
reg             sys_rst_n   ;

initial
    begin
        sys_clk     =   1'b1;
        sys_rst_n   <=  1'b0;
        #200
        sys_rst_n   <=  1'b1;
    end

//sys_clk:产生时钟
always  #10 sys_clk = ~sys_clk  ;


vga_colorbar    vga_colorbar_inst
(
    .sys_clk    (sys_clk    ),  
    .sys_rst_n  (sys_rst_n  ),  

    .hsync      (hsync      ),  
    .vsync      (vsync      ),  
    .rgb        (rgb        )   
);

endmodule

2.总结

      设计思想在于显示有效区域是传输数据。

说明:

       本人使用的是野火家Xilinx Spartan6系列开发板及配套教程主要用于自我学习,以上内容如有疑惑或错误欢迎评论区指出,或者移步B站观看野火家视频教程。

开发软件:ise14.7     仿真:modelsim 10.5 

如需上述资料私信或留下邮箱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FPG—VGA显示器字符显示(附代码) 的相关文章

  • PRBS笔记

    1 概述 PRBS 伪随机二进制序列 也称为伪随机码 通常被用来测试高速信号的信号质量 伪随机 也说明了该码流并不是真正的随机 而是具有特性属性 码流由 多项式 决定 具有重复周期 PRBS具有多种阶数 如PRBS7 PRBS15 PRBS
  • 【Xilinx Vivado时序分析/约束系列6】FPGA开发时序分析/约束-IO时序输入延时

    目录 源同步FPGA输入时序分析的模型 input delay约束 极限input delay 往期系列博客 源同步FPGA输入时序分析的模型 以下为源同步FPGA输入时序分析的模型的示意图 在之前的文章中介绍过 在此介绍一下各个时钟延时的
  • 数字芯片流程

    芯片设计分为前端设计和后端设计 前端设计 逻辑设计 和后端设计 物理设计 并没有同意严格的界限 这个过程中涉及到了与工艺有关的设计就是后端设计 一 需求分析 产品需要解决的问题 预测3 5年的趋向和走势 确保前瞻性 确保芯片是有卖点的 客户
  • HDLBits — Verilog Practice(每日一题)

    HDLBits Verilog Practice 每日一题 一 Getting Started 1 Getting Started 一 Getting Started 1 Getting Started 问题描述 Build a circu
  • J-Link仿真器与JTAG和SWD下载与接线

    目录 1 JTAG 1 1JTAG今天被用来主要的三大功能 1 2JTAG引脚 1 3可选引脚 2 SWD 2 1 SWD引脚 2 2 可选择引脚 2 3 JTag和SWD模式引脚定义 3 J Link仿真器 4 IAR与MDK配置两种下载
  • 硬件基础知识

    SPI是串行外设接口 Serial Peripheral Interface 的缩写 是一种高速的 全双工 同步的通信总线 SCLK SCLK是一种有固定周期并与运行无关的信号量 CLK CLK是一种脉冲信号 TDNN 时延神经网络 它的两
  • 最详细的Vivado安装教程

    V i v a d o 安 装
  • 数码管电子时钟

    文章目录 前言 一 回顾数码管 二 任务描述 三 系统框图 四 模块调用 五 模块原理图 六 工程源码 6 2 时钟计数模块代码 6 2 数码管驱动模块代码 6 3 顶层模块代码 七 仿真测试 7 1 测试代码 7 2 仿真结果 八 管脚信
  • 小梅哥Xilinx FPGA学习笔记9——语法(阻塞与非阻塞赋值)

    阻塞赋值与非阻塞赋值详解 注意 阻塞赋值 1 设计文件 2 激励文件 3 原理图 4 仿真图 非阻塞赋值 1 设计文件 2 激励文件 3 原理图 4 仿真图 注意 阻塞赋值与非阻塞赋值 只有在时序逻辑中才有 不是阻塞赋值 也不是非阻塞赋值
  • FPGA提示产生latch的报错

    在fpga的设计中有时会遇到 latch 的报错 1 latch是什么 Latch 就是锁存器 是一种在异步电路系统中 对输入信号电平敏感的单元 用来存储信息 锁存器在数据锁存使能时 数据被锁存 输入信号不起作用 这违背了组合逻辑中输出随输
  • Verilog之assign

    Verilog中的关键词assign主要用于如下两个地方 数据流建模 用于数据流建模的显示连续赋值语句语法格式如下
  • 关于xilinx BRAM IP的延迟以及流程

    关于RAM IP的延迟 1 选择了output registers 可以在RAM输出端口添加register 也可以在core的输出添加 在primitives添加 降低clock to out到primitive的延迟 在core添加re
  • xilinx xdma PCIe中断bug

    xilinx xdma PCIe中断存在bug bug1 此中断虽然是msi或者msx中断 但是不中断cpu bug2 此中断不是边沿中断 而是电平中断 在驱动层需要不断地轮训查询中断事件 bug3 此中断持续时间必须长 而且在收到中断应答
  • [HDLBits] Exams/ece241 2014 q7a

    Design a 1 12 counter with the following inputs and outputs Reset Synchronous active high reset that forces the counter
  • PAJ7620U2手势识别——配置0x00寄存器(3)

    文章目录 前言 一 为啥要配置0x00寄存器 二 配置步骤 1 单个读操作步骤图 2 模块状态转移图绘制 3 模块波形图绘制 4 上板验证 5 参考代码 总结 前言 在前面的教程中 小编带领各位读者学习了如何通过I2C协议去唤醒PAJ762
  • 使用七牛云进行文件上传

    目录 一 七牛云入门测试 1 注册七牛云账号 完成后选择对象存储 2 在里面创建空间 一个空间相当于一个文件夹 就是将对象上传到的地方 3 查看个人秘钥 注册完成账号后 会有一个秘钥 上传文件的时候进行授权和认证 4 文件上传测试 二 封装
  • 基于FPGA的AHT10传感器温湿度读取

    文章目录 一 系统框架 二 i2c接口 三 i2c控制模块 状态机设计 状态转移图 START INIT CHECK INIT IDLE TRIGGER WAIT READ 代码 四 数据处理模块 串口 代码 五 仿真 testbench设
  • ALLEGRO等长时如何将PIN DELAY和VIA长度计算在内

    在PCB设计中 对于时序要求严格的线路 Via和IC pin delay的长度必须得到重视 通过下面的操作 可将Via和Pin delay加入到线路长度的计算中 1st 计算Pin delay 打开Constraint Manager 选择
  • 【FPGA】通俗理解从VGA显示到HDMI显示

    注 大部分参考内容来自 征途Pro FPGA Verilog开发实战指南 基于Altera EP4CE10 2021 7 10 上 贴个下载地址 野火FPGA Altera EP4CE10征途开发板 核心板 野火产品资料下载中心 文档 hd
  • Vivado ILA的debug信息保存与读取

    保存 write hw ila data D Project FPGA ILA Debug Data 202401041115 ila upload hw ila data hw ila 1 读取 display hw ila data r

随机推荐

  • DevC++如何改成中文?

    DevC 如何改成中文 1 点击Tools工具 2 选择环境选项 3 选择简体中文 4 点击确定
  • 深入理解Google Cast(一)基本概念

    什么是google cast google cast允许用户将手机上的内容投影到TV上 然后用户可以将手机作为遥控器来控制TV上的媒体播放 Google cast SDK用于扩展你的app 使其支持google cast功能 一个Cast
  • 图像验证码识别(九)——训练和识别

    前面讲到已经把所有的字符经过去干扰 分割和归一化得到标准大小的单个字符 接下来要做的就是识别验证码了 现在要做的基本上也就和OCR没什么区别了 因为得到的字符已经是尽可能标准的了 下面的识别分为两个步骤 第一步先是特征值的提取 第二步是SV
  • ROC曲线绘制原理及如何用SPSS绘制ROC曲线

    本文同步发布于 脑之说 微信公众号 欢迎搜索关注 ROC曲线 Receiver operating characteristic curve 即受试者工作特征曲线 主要用来评价某个指标对两类被试 如病人和健康人 分类 诊断的效果 以及寻找最
  • 深入探索并发编程系列(五)-将内存乱序逮个正着

    当用C C 编写无锁代码时 一定要小心谨慎 以保证正确的内存顺序 不然的话 会发生一些诡异的事情 Intel在x86 x64体系结构手册的Volume 3 8 2 3 中列出了一些可能会发生的诡异的事情 这里介绍其中一个最简单的例子 假设在
  • autoware警告The ‘state_publisher‘ executable is deprecated. Please use ‘robot_state_publisher‘ instead

    在运行autoware官方demo autoware ai 的时候 启动my localization launch roslaunch autoware quickstart examples my localization launch
  • C++示例程序,演示如何将两个整数相加并打印结果

    include
  • iOS开发-国际化-配置App多语言

    作者 大慈大悲大熊猫 链接 http www jianshu com p 1edd4bda6fe5 來源 简书 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 基本设置 第一步 先在Project的info里添加所需要支
  • 使用Python对数据的操作转换

    1 列表加值转字典 在Python中 将列表的值转换为字典的键可以使用以下代码 myList name age location myDict k None for k in myList print myDict 输出 name None
  • 百度2012实习生校园招聘笔试题

    1 给一个单词a 如果通过交换单词中字母的顺序可以得到另外的单词b 那么b是a的兄弟单词 比如的单词army和mary互为兄弟单词 现在要给出一种解决方案 对于用户输入的单词 根据给定的字典找出输入单词有哪些兄弟单词 请具体说明数据结构和查
  • vue组件之间传值的几种方式

    这里写目录标题 vue组件传值 父传子 子传父 非父子组件传值 provide 和 inject 传值 事件总线传值 attrs listeners 使用 attrs listeners 进行子往上级传 vueX vue组件传值 父传子 父
  • Qt的基本语法及其使用(一)

    Qt的概念 Qt是通用的C 开发界面框架 C 图形用户界面 应用程序开发框架 既可以开发GUI程序也可以开发开发非GUI程序 Qt是面向对象的框架 使用特殊的代码生成扩展 Qt的历史 1991由QT公司研发 2008年被诺基亚收购 2012
  • C/C++ 引用作为函数的返回值

    语法 类型 函数名 形参列表 函数体 特别注意 1 引用作为函数的返回值时 必须在定义函数时在函数名前将 2 用引用作函数的返回值的最大的好处是在内存中不产生返回值的副本 代码来源 RUNOOB include
  • Microsoft Network Monitor 3.4简要说明

    第一次启动后是一个欢迎界面 左下角可以选择要监控的网络连接 在标签栏上点击右键 可以选择关闭这个页面 或者保留这个页面 关闭其他所有页面 点击工具栏第一个图标 NewCapture 就可以打开一个新的监控界面 点击工具栏上的 Start 按
  • RTSP,RTP,RTCP协议

    一 RTSP 1 简介 实时流传输协议 是一个应用层协议 TCP IP网络体系中 它是一个多媒体播放控制协议 主要用来使用户在播放流媒体时可以像操作本地的影碟机一样进行控制 即可以对流媒体进行暂停 继续 后退和前进等控制 RTSP体系结位于
  • 软件设计说明书模版(申请软件著作权可供参考)

    1 引言 1 1 编写目的 1 2 项目背景 1 2 项目概要 总体要求 2 1 系统功能概述 2 2 系统功能要求 软件开发 3 1 软件需求分析 3 2 软件的概要设计 3 2 1 软件概要设计说明 3 2 3 基本设计概念和处理流程
  • R 语言 基础教程 第6章 分类与预测建模(1)朴素贝叶斯分类,KNN算法,人工神经网络,CART算法,C4.5算法,决策树,回归分析,R语言数据分析

    关注公众号凡花花的小窝 收获更多的考研计算机专业编程相关的资料 分类与测分析是数据挖掘的主要技术手段之一 都属于分析数据的形式 至今已在理论和方法上取得了丰硕的研究成果 1 回归分析 数据分析概念 数据分析是指用适当的分析方法对收集来的大量
  • 液晶电视的MEMC(运动画质补偿技术)的优势不足

    MEMC Motion Estimate and Motion Compensation 即运动估计和运动补偿 液晶电视中用到的运动画质补偿技术 其原理是采用动态映像系统 在传统的两帧图像之间加插一帧运动补偿帧 将普通平板电视的50 60H
  • JDBC连接MySQL数据库

    开发工具与关键技术 IntelliJ IDEA java 撰写时间 2020年9月8日 一 JDBC简介 JDBC全称为 Java Data Base Connectivity java数据库连接 用Java语言操作数据库 可以为多种数据库
  • FPG—VGA显示器字符显示(附代码)

    目录 1 实操 1 1 字符取模 1 2 顶层模块 1 3 图像数据生成模块 1 3 1 模块框图 1 3 2 波形图绘制 1 3 3 代码编写 1 3 4 仿真验证 2 总结 本例程大部分与VGA显示驱动内容相同 只是显示部分改变了 故此