WWW.21CONTROL.COM 康草科技
J 6 Alalon 流模式 VGA 控制器
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
6.1 VGA 时序及显示原理
常见的彩色显示器,一般由 CRT(阴极射线管)构成,彩色是由 G、R、B
(绿:Green,红:Red,蓝:Blue)三基色组成。显示是用逐行扫描的方式解决,
阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生 GRB 三基色,合成一
个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,进行扫描,每扫
完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT 对电子束
进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信
号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫
描。
对于普通的 VGA 显示器,其引出线共含 5 个信号:G、R、B:三基色信号;
HS:行同步信号;VS:场同步信号。
对于 5 个信号的时序驱动,对于 VGA 显示器要严格遵循“VGA 工业
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
”,
即 640×480×60Hz 模式。通常我们用的显示器都满足工业标准,因此我们设计
VGA 控制器时要参考显示器的技术规格。
图 6.1 是 VGA 行扫描、场扫描的时序图:
图 6.1 VGA 行扫描、场扫描时序图
VGA 工业标准所要求的频率:
● 时钟频率(Clock frequency):25.175MHz(像素输出的频率);
● 行频(Line frequency):31469Hz;
● 场频(Field frequency):59.94Hz(每秒图像刷新频率)。
WWW.21CONTROL.COM 康草科技
行扫描时序要求:(单位:像素,即每秒图像刷新频率)
行同步头 行图像 行周期
对应位置 Tf Ta Tb Tc Td Te Tg
时间(Pixels) 8 96 40 8 640 8 800
场扫描时序要求:(单位:行,即输出一行 Line 的时间间隔)
场同步头 场图像 场周期
对应位置 Tf Ta Tb Tc Td Te Tg
时间(Lines) 2 2 25 8 480 8 525
6.2 VGA 时序发生器的设计源程序
6.2.1 时序发生器 vga_timing.vhd 设计:
--vga_timing.vhd;//VGA 时序控制逻辑
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity VGA_time is
PORT(reset : in STD_LOGIC; //VGA 控制器复位信号
vga_clk : in STD_LOGIC; //VGA 控制器时钟输入
hsync : out STD_LOGIC; //VGA 水平同步信号,送 VGA 显示器
vsync : out STD_LOGIC; //VGA 垂直同步信号,送 VGA 显示器
//VGA 红绿蓝数据,用 8 位值来
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示 256 色,但在本设计中仅仅使用了其中 3
位表示 8 色
RGB : out STD_LOGIC_VECTOR(7 DOWNTO 0);
pix_val : in STD_LOGIC_VECTOR(7 DOWNTO 0);
read_next_pixel: out STD_LOGIC;
end_of_picture : out STD_LOGIC);
end entity VGA_time;
ARCHITECTURE translated of VGA_time IS
SIGNAL hcnt,vcnt:STD_LOGIC_VECTOR(9 DOWNTO 0);
SIGNAL hs,vs :STD_LOGIC;
//VGA 640*480 时序参数:--水平时序参数
CONSTANT hsync_end : integer := 96;
CONSTANT hblank_begin : integer := 144;
CONSTANT hblank_end : integer := 784;
CONSTANT hline_end : integer := 800;
//VGA 640*480 时序参数:--垂直时序参数
CONSTANT vsync_end : integer := 2;
CONSTANT vblank_begin : integer := 34;
CONSTANT vblank_end : integer := 514;
CONSTANT vframe_end : integer := 525;
BEGIN
hsync<=hs;vsync<=vs;
process(vga_clk)
begin
if(rising_edge(vga_clk)) then
if(hcnt<800) then hcnt <= hcnt+1;
else hcnt<=(others=>'0');
WWW.21CONTROL.COM 康草科技
end if;
end if;
end process;
process(vga_clk) //水平同步脉冲产生
begin
if(rising_edge(vga_clk)) then
if (hcnt=640+8) then
if (vcnt<525) then vcnt <= vcnt+1;
else vcnt<=(others=>'0');
end if;
end if;
end if;
end process;
process(vga_clk)
begin
if(rising_edge(vga_clk)) then
if((hcnt>=640+8+8) and (hcnt<640+8+8+96)) then hs<='0';
else hs<='1';
end if;
end if;
end process;
PROCESS(vcnt) //垂直同步脉冲产生
begin
if ((vcnt>=480+8+2) and (vcnt<480+8+2+2)) then vs<='0';
else vs<='1';
end if;
end process;
process(vga_clk) //像素输出及消隐
begin
if(rising_edge(vga_clk)) then
if (hcnt<640 and vcnt<480) then RGB<=pix_val;
else RGB<=(others=>'0');
end if;
end if;
end process;
process(vga_clk) //下个像素读取有效信号发生
begin
if(rising_edge(vga_clk)) then
if (hcnt<640 and vcnt<480) then read_next_pixel<='1';
else read_next_pixel<='0';
end if;
end if;
end process;
process(vga_clk) //一帧传输完毕
begin
if(rising_edge(vga_clk)) then
if ((vcnt=480+1) and (hcnt=0)) then end_of_picture<='1';
else end_of_picture<='0';
end if;
end if;
WWW.21CONTROL.COM 康草科技
end process;
end ARCHITECTURE translated;
6.2.2 FIFO 的设计文件 vga_pixel_fifo.v 设计
Mega Wixard 自动生成需要的 FIFO 文件:如下:
1
2
3
WWW.21CONTROL.COM 康草科技
4
5
WWW.21CONTROL.COM 康草科技
Next 到完成,生成的程序如下(verilog HDL 格式)
module vga_pixel_fifo (
aclr,
data,
rdclk,
rdreq,
wrclk,
wrreq,
q,
wrusedw);
input aclr;
input [7:0] data;
input rdclk;
input rdreq;
input wrclk;
input wrreq;
output [7:0] q;
output [9:0] wrusedw;
wire [9:0] sub_wire0;
wire [7:0] sub_wire1;
wire [9:0] wrusedw = sub_wire0[9:0];
wire [7:0] q = sub_wire1[7:0];
dcfifo dcfifo_component (
.wrclk (wrclk),
.rdreq (rdreq),
.aclr (aclr),
.rdclk (rdclk),
.wrreq (wrreq),
.data (data),
.wrusedw (sub_wire0),
.q (sub_wire1)
// synopsys translate_off
WWW.21CONTROL.COM 康草科技
,
.wrfull (),
.wrempty (),
.rdusedw (),
.rdfull (),
.rdempty ()
// synopsys translate_on
);
defparam
dcfifo_component.intended_device_family = "Cyclone II",
dcfifo_component.lpm_numwords = 1024,
dcfifo_component.lpm_showahead = "OFF",
dcfifo_component.lpm_type = "dcfifo",
dcfifo_component.lpm_width = 8,
dcfifo_component.lpm_widthu = 10,
dcfifo_component.overflow_checking = "OFF",
dcfifo_component.rdsync_delaypipe = 4,
dcfifo_component.underflow_checking = "OFF",
dcfifo_component.use_eab = "ON",
dcfifo_component.wrsync_delaypipe = 4;
endmodule
此模块设计一个异步 FIFO 存储器,用于 DMA 与 VGA 的数据缓冲。
6.2.3 VGA 控制器的主文件 vga_controller_stream.v
在这个文件中例化了上面两个块:
module vga_controller_stream (
clk,reset,chipselect,write,writedata,readyfordata,
endofpacket,address,hsync,vsync,rgb);
input address;
input clk;
input reset;
input chipselect;
input write;
input [7:0] writedata;
output readyfordata;
output endofpacket;
output hsync;
output vsync;
//output sync;
output [7:0] rgb;
wire readyfordata;
wire endofpacket;
wire hsync;
wire vsync;
//wire sync;
//wire blank;
wire [7:0] pix_val;
wire read_next_pixel;
wire end_of_picture;
WWW.21CONTROL.COM 康草科技
wire [9:0] fifo_cnt;
wire [7:0] RGB8;
reg [19:0] pixel_count;
reg sync_end_of_picture;
reg vgaclk;
assign readyfordata = ((fifo_cnt<10'd1000) && (pixel_count <(640*480)) &&
(!sync_end_of_picture)) ? 1'b1 : 1'b0;
assign endofpacket = ((pixel_count > ((640*480)-2)) && chipselect && write) ? 1'b1 :
1'b0;
always @ (posedge clk or posedge reset)
begin
if (reset == 1'b1)
begin
pixel_count<=11'h000;
sync_end_of_picture<=1'b0;
end
else
begin
sync_end_of_picture<=end_of_picture;
if(sync_end_of_picture && (pixel_count>((640*480)-1)))
begin
pixel_count<=20'h000;
end
else
begin
if (chipselect && write && readyfordata)
begin
pixel_count<=pixel_count + 1'b1;
end
end
end
end
always @(posedge clk) begin
vgaclk<=~vgaclk;
end
assign rgb=RGB8;
//模块例化
vga_time vga_time_inst(
.reset(reset),
.vga_clk(vgaclk),
.hsync(hsync),
.vsync(vsync),
.RGB(RGB8),
.pix_val(pix_val),
.read_next_pixel(read_next_pixel),
.end_of_picture(end_of_picture));
vga_pixel_fifo vga_pixel_fifo_inst(
.data(writedata),
.wrreq(chipselect & write & readyfordata),
.rdreq(read_next_pixel),
.rdclk(vgaclk),
.wrclk(clk),
WWW.21CONTROL.COM 康草科技
.aclr(sync_end_of_picture),
.q(pix_val),
.wrusedw(fifo_cnt)
);
endmodule
在此,一个 VGA 控制器便设计好了,编译这个主文件,以检查是否有错误,
无误后便可以把它安装到 NiosII 系统中。
6.3 VGA 控制器外设在 SOPC Builder 中的安装
把设计好的 VGA 控制安装到 SOPC Builder 中,其添加步骤如下:
说明:软件版本为最新 QuartusII5.1 版本,其添加方法可能与其它低版本略有不
同。
(1) 在 QuartusII 中点击 SOPC Builder 按钮进入 SOPC Builder 页面后点击
菜单 File->New Component 添加一个新的 Component,如图 6.3.1,然后弹出
Component editor 对话框。
图 6.3.1 在 SOPC 中自定义外设
(2) 在HDL File标签点击Add HDL File按钮加入前面设计好的三个HDL模块,
如图 6.3.2
WWW.21CONTROL.COM 康草科技
图 6.3.2 加入 HDL 文件
加入后软件会自动再检查错误,检查完毕后也会自动把 vga_controller_stream.v
为顶层模块。
(3) 在 Signals 标签内把 VGA 控制器信号与 Avalone 总线信号对应上。如图 6.3.3,
对接上后 VGA 控制器便挂接到 Avalone 总线上了。
图 6.3.3 VGA 控制器挂接到 Avalone 总线
其它选择默认,finish 按键后就完成了自定义外设的添加。
WWW.21CONTROL.COM 康草科技
6.4 定制 Nios II CPU 以及其它外设
因为用到了 SDRAM、DMA 和 FLASH,所以必须也都添加进去,只不过这
些外设 Altera 公司已经设计好并且免费使用的 Component,在 SOPC Builder 左
边窗口双击后弹出相关对话框进行设置完毕后便添加成功。都添加完后生成如图
6.4.1 总体图
图 6.4.1 完成后 NiosII 系统及外设总体图
6.4.3 添加 DMA 控制器
Avalon Modules ->other->DMA Controller,设置如图 6.4.5
图 6.4.5 DMA 模块设置
WWW.21CONTROL.COM 康草科技
6.4.4 模块连接
选择 VGA 控制器为 DMA 的 Write Master,而外接 SDRAM 为 Read Master。操
作方法是选择对应的交叉点。这样设置后,在 VGA 控制器和 SDRAM 之间就建立了
一个 DMA 通道。
如图 6.4.6。
图 6.4.6 模块连接图
注意:因为 SRAM 是挂在三态总线桥 tri_state_bridge_1 上的,所以 DMA 的
read_master 与 tri_state_bridge_1 相连。
7 VGA 控制器软件设计
7.1 VGA 控制器软件设计流程图
Main 主程序入口
程序初始化
DMA 初始化
按键退出?
结束程序
是
否
DMA 中断入口
DMA 传输完成?
是
DMA 中断禁止
清除 DMA 中断
重新开始传输 VGA 数
据关开启 DMA 中断
退出 DMA 中断
否
图 7.1 VGA 控制器软件流程图
WWW.21CONTROL.COM 康草科技
7.2 VGA 控制器测试程序
以下为一个测试 VGA 控制器的 C 程序:
更详细的程序请见光盘相关文件夹,如显示中文,显示汉字,显示图像等
#include "sys/alt_dma.h"
#include "system.h"
#include
#include "altera_avalon_dma.h"
#include "sys/alt_irq.h"
#include "altera_avalon_dma_regs.h"
#define VGA_WIDTH 640
#define VGA_HEIGHT 480
static volatile unsigned char *P_VGA=
(unsigned char *)(VGA_CONTROLLER_STREAM_0_BASE);
static volatile unsigned char *P_VGA_RAM=
(unsigned char *)(SDRAM_0_BASE +0x500000);
const unsigned long TLENGTH=
VGA_WIDTH * VGA_HEIGHT;
void init_dma(void);
void draw_pixel(unsigned int x,unsigned int y,unsigned char color);
void isr_dma(int context);
void init_fk(void);
void clear_bk(unsigned int left,unsigned int top,unsigned int width,unsigned int height,
unsigned char color);
void init_myfk(void);
int main(void)
{
clear_bk(0,0,VGA_WIDTH,VGA_HEIGHT,0);//清除整个屏幕
init_myfk();//设置屏幕信息
init_dma();//DMA 初始化
while(1)//等待中断
{;}
return (0);
};
// draw_pixel 子程序,向屏幕上画一个坐标为(x,y),颜色为 color 的点
void draw_pixel(unsigned int x,unsigned int y,unsigned char color)
{
unsigned long addr;
//边界处理
if (x>VGA_WIDTH)
x%=VGA_WIDTH;
if (y > VGA_HEIGHT)
WWW.21CONTROL.COM 康草科技
y %= VGA_HEIGHT;
//计算该点对应 VGA 控制器 RAM 地址,并写入颜色值
addr=VGA_WIDTH * y + x;
P_VGA_RAM[addr] = color;
};
void init_myfk(void)
{
unsigned int i,j;
for(i=320;i<680;i++)
{
for(j=300;j<480;j++)
{
draw_pixel(j,200,0x07);
draw_pixel(320,i,0x02);
}
}
}
//设置一个矩形区域(left、top)为左上角坐标,(width、height 为矩形宽和高)的颜色子程序
void clear_bk(unsigned int left,unsigned int top,unsigned int width,unsigned int height,
unsigned char color)
{
unsigned long addr;
unsigned int i,j;
for(i=0;i TLENGTH)
addr %=TLENGTH;
P_VGA_RAM[addr]=color;
}
}
}
//DMA 初始化
void init_dma(void)
{
alt_irq_register(DMA_0_IRQ,0,DMA_interrupts); //安装中断服务子程序
IOWR_ALTERA_AVALON_DMA_CONTROL (DMA_0_BASE, 0);//中断禁止
IOWR_ALTERA_AVALON_DMA_STATUS (DMA_0_BASE, 0);//清除中断状态
IOWR_ALTERA_AVALON_DMA_LENGTH (DMA_0_BASE, TLENGTH);//图像信息总字节
数
IOWR_ALTERA_AVALON_DMA_RADDRESS (DMA_0_BASE,(int)P_VGA_RAM);//图像信
WWW.21CONTROL.COM 康草科技
息地址
IOWR_ALTERA_AVALON_DMA_WADDRESS (DMA_0_BASE,(int)P_VGA);//VGA 控制器
地址
IOWR_ALTERA_AVALON_DMA_CONTROL (DMA_0_BASE,
ALTERA_AVALON_DMA_CONTROL_WORD_MSK | //字传输
ALTERA_AVALON_DMA_CONTROL_GO_MSK |//启动 DMA 传输
ALTERA_AVALON_DMA_CONTROL_I_EN_MSK |//中断使能
ALTERA_AVALON_DMA_CONTROL_WCON_MSK |//写地址固定
ALTERA_AVALON_DMA_CONTROL_WEEN_MSK |//包结束停止
ALTERA_AVALON_DMA_CONTROL_LEEN_MSK
);
}
//DMA 中断服务子程序
void DMA_interrupts(void* context, alt_u32 id)
{
int si=IORD_ALTERA_AVALON_DMA_STATUS (DMA_0_BASE);读取 DMA 状态寄存器
if(si&0x1)//判断,如果传输完成,开始新一轮图像信息传送
{
IOWR_ALTERA_AVALON_DMA_CONTROL (DMA_0_BASE, 0);
IOWR_ALTERA_AVALON_DMA_STATUS (DMA_0_BASE, 0);
IOWR_ALTERA_AVALON_DMA_CONTROL (DMA_0_BASE, 0);
IOWR_ALTERA_AVALON_DMA_LENGTH (DMA_0_BASE, TLENGTH);
IOWR_ALTERA_AVALON_DMA_RADDRESS (DMA_0_BASE,(int)P_VGA_RAM);
IOWR_ALTERA_AVALON_DMA_WADDRESS (DMA_0_BASE,(int)P_VGA);
IOWR_ALTERA_AVALON_DMA_CONTROL (DMA_0_BASE,
ALTERA_AVALON_DMA_CONTROL_WORD_MSK |
ALTERA_AVALON_DMA_CONTROL_GO_MSK |
ALTERA_AVALON_DMA_CONTROL_I_EN_MSK |
ALTERA_AVALON_DMA_CONTROL_WCON_MSK |
ALTERA_AVALON_DMA_CONTROL_WEEN_MSK |
ALTERA_AVALON_DMA_CONTROL_LEEN_MSK
);
}
}
注意 :VGA 显示中英文需要使用到字库,使用 flashprogrammer 把 UCDOS 中文版中的中
文字库以及 ASCII 字库下载到 flash 中,下载方法如下:两个字库在保存在 VGA 工程文件
夹中。
在 IDE 中使用一个可以下载 flash 的工程,打开 flashprogrammer,进行如下图设置:
第一项, 第二项都不选择,只选择第三项
WWW.21CONTROL.COM 康草科技
注意:这里的 offset 地址由程序以下两句决定:
WWW.21CONTROL.COM 康草科技
static volatile unsigned char *P_ASC_FLASH= //ASCII码字符表在flash中的地址
(unsigned char *)CFI_FLASH_0_BASE +0x100000;
static volatile unsigned char *P_HZK_FLASH=//汉字字库在flash 的地址
(unsigned char *)CFI_FLASH_0_BASE +0x150000;
如果是这样,那么 offset 就分别是 0x100000 和 0x150000。用户也可以更改到其它地址。
设置好后,点击 apply,然后点击 program flash。分别把 HZK16 和 ASC16 下载到 flash 中程序
中所要求的地址即可。
<<
/ASCII85EncodePages false
/AllowTransparency false
/AutoPositionEPSFiles true
/AutoRotatePages /All
/Binding /Left
/CalGrayProfile (Dot Gain 20%)
/CalRGBProfile (sRGB IEC61966-2.1)
/CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2)
/sRGBProfile (sRGB IEC61966-2.1)
/CannotEmbedFontPolicy /Warning
/CompatibilityLevel 1.4
/CompressObjects /Tags
/CompressPages true
/ConvertImagesToIndexed true
/PassThroughJPEGImages true
/CreateJDFFile false
/CreateJobTicket false
/DefaultRenderingIntent /Default
/DetectBlends true
/DetectCurves 0.0000
/ColorConversionStrategy /LeaveColorUnchanged
/DoThumbnails false
/EmbedAllFonts true
/EmbedOpenType false
/ParseICCProfilesInComments true
/EmbedJobOptions true
/DSCReportingLevel 0
/EmitDSCWarnings false
/EndPage -1
/ImageMemory 1048576
/LockDistillerParams false
/MaxSubsetPct 100
/Optimize true
/OPM 1
/ParseDSCComments true
/ParseDSCCommentsForDocInfo true
/PreserveCopyPage true
/PreserveDICMYKValues true
/PreserveEPSInfo true
/PreserveFlatness true
/PreserveHalftoneInfo false
/PreserveOPIComments false
/PreserveOverprintSettings true
/StartPage 1
/SubsetFonts true
/TransferFunctionInfo /Apply
/UCRandBGInfo /Preserve
/UsePrologue false
/ColorSettingsFile ()
/AlwaysEmbed [ true
]
/NeverEmbed [ true
]
/AntiAliasColorImages false
/CropColorImages true
/ColorImageMinResolution 300
/ColorImageMinResolutionPolicy /OK
/DownsampleColorImages true
/ColorImageDownsampleType /Bicubic
/ColorImageResolution 300
/ColorImageDepth -1
/ColorImageMinDownsampleDepth 1
/ColorImageDownsampleThreshold 1.50000
/EncodeColorImages true
/ColorImageFilter /DCTEncode
/AutoFilterColorImages true
/ColorImageAutoFilterStrategy /JPEG
/ColorACSImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/ColorImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/JPEG2000ColorACSImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/JPEG2000ColorImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/AntiAliasGrayImages false
/CropGrayImages true
/GrayImageMinResolution 300
/GrayImageMinResolutionPolicy /OK
/DownsampleGrayImages true
/GrayImageDownsampleType /Bicubic
/GrayImageResolution 300
/GrayImageDepth -1
/GrayImageMinDownsampleDepth 2
/GrayImageDownsampleThreshold 1.50000
/EncodeGrayImages true
/GrayImageFilter /DCTEncode
/AutoFilterGrayImages true
/GrayImageAutoFilterStrategy /JPEG
/GrayACSImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/GrayImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/JPEG2000GrayACSImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/JPEG2000GrayImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/AntiAliasMonoImages false
/CropMonoImages true
/MonoImageMinResolution 1200
/MonoImageMinResolutionPolicy /OK
/DownsampleMonoImages true
/MonoImageDownsampleType /Bicubic
/MonoImageResolution 1200
/MonoImageDepth -1
/MonoImageDownsampleThreshold 1.50000
/EncodeMonoImages true
/MonoImageFilter /CCITTFaxEncode
/MonoImageDict <<
/K -1
>>
/AllowPSXObjects false
/CheckCompliance [
/None
]
/PDFX1aCheck false
/PDFX3Check false
/PDFXCompliantPDFOnly false
/PDFXNoTrimBoxError true
/PDFXTrimBoxToMediaBoxOffset [
0.00000
0.00000
0.00000
0.00000
]
/PDFXSetBleedBoxToMediaBox true
/PDFXBleedBoxToTrimBoxOffset [
0.00000
0.00000
0.00000
0.00000
]
/PDFXOutputIntentProfile ()
/PDFXOutputConditionIdentifier ()
/PDFXOutputCondition ()
/PDFXRegistryName ()
/PDFXTrapped /False
/Description <<
/CHS
/CHT
/DAN
/DEU
本文档为【VGA文档】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。