版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 JIANGSU UNIVERSITY OF TECHNOLOGYFPGA综合训练报告题 目: 基于FPGA的波形生成器 专 业: 电子信息工程_ 班 级: 11电子2 姓 名: 小龙人 学 号: 12311222_ 指导教师: _陈海忠 _ _ 时 间: 2015年9月 _ 目录1基于DDS技术的信号发生器设计-21.1 功能要求-21.2 整体设计-21.3 DDS技术的基本原理-32 FPGA硬件系统设计-42.1 功能要求 -42.2 FPGA硬件系统组成-52.3 FPGA最小系统简介-62.4 FPGA外围电路设计-72.5 程序设计-82.5.1 锯齿波产生程序设计及仿真-92.
2、5.2 三角波产生程序设计及仿真-102.5.3 正弦波产生程序设计及仿真-112.5.4 顶层程序设计及仿真-122.5.5分频程序及作用-132.6 硬件测试及结果分析-143设计分析与总结-153.1 故障分析-153.3 设计总结及感想-154 参考文献-165 附录-171基于DDS技术的信号发生器设计1.1 功能要求具有产生正弦波、三角波、锯齿波3种周期性波形的功能。1.2 整体设计如图1.1所示:图1.1相位累加器的作用:在时钟的作用下,进行相位累加。波形存储器的作用:进行波形的相位幅值转换。频率预置与调节电路的作用:实现频率控制量的输入。D/A转换器的作用:把已经合成的正弦波的
3、数字量转换成模拟量。滤除生成的阶梯形正弦波中的高频成分,将其变成光滑的正弦波。 如图1.2所示:图1.21.3 DDS技术的基本原理DDS这种结构主要由相位累加器、 相位调制器、 波形 ROM 查找表、 D/ A 构成。其中相位累加器、 相位调制器、 波形 ROM 查找表是 DDS 结构中的数字部分 ,由于具有数控频率合成的功能 ,又合称为 NCO2。它的工作原理是:将要产生的波形数据存入波形存储器 ,然后在参考时钟的作用下 ,对输入的频率数据进行累加 ,并且将累加器的输出一部分作为读取波形存储器的地址 ,将读出的波形数据经D/A转换为相应的模拟电压信号。本研究的重点就是用VHDL来实现DDS
4、的功能 ,能够达到高精度的输出 ,同时标准波形数据生成存放在 ROM 中 ,可以简化运算过程 ,提高运算速度 ,加快反应时间。2 FPGA硬件系统设计2.1 功能要求在本设计中,利用FPGA,采用EDA(Electronic Design Automation)中自顶向下(top-to-down)的设计方法,选用基于相位累加器的直接数字合成/ DDS技术来完成数字信号发生器各功能模块的设计。本设计主要通过VHDL语言实现频率控制、波形控制、 波形数据的提取、 波形的产生工作。其中 ,波形数据运用VHDL语言编写 。控制部分主要采用产生高低电平的拨码开关控制。程序下载到 FPGA 上实现 ,经过
5、D/ A 输出波形。并通过Altera公司QuartusII9.0软件进行波形的仿真,从而完成整个设计。本设计的任务是设计一个基于FPGA的数字信号发生器,根据任务书要求必须达到以下要求:1.利用EDA开发系统、Quartus II 9.0软件实现数字信号发生器的设计;2.根据整体电路的工作原理,完成各个子模块的设计及实现;3.对数字信号发生器完成VHDL语言描述;4.该数字信号发生器能够产生正弦波、方波、三角波、锯齿波信号;5.产生的波形信号频率和幅度可通过按键进行调节;6.用按键调节实现各种波形的转换。2.2 FPGA最小系统简介本设计使用是FPGA芯片,其典型逻辑门数(包括逻辑门和RAM
6、)为50000门,最大可用系统门数为116000门,逻辑单元(Logic elements)为2880个,逻辑阵列模块(Logic array blocks)为360个,嵌入式阵列模块(Embedded array blocks)为10个,RAM总容量为20480字节,用户可用的I/O引脚最多为310个。芯片的工作电压为+5V。其内部结构如图2.1所示。图2.1 芯片结构图通常情况下在硬件调试的过程中一般使用下载电缆进行下载,而当调试完成以后要用配置芯片对FPGA进行配置。配置芯片在每次系统上电以后自动将配置文件加载到FPGA中形成电路。2.3 FPGA硬件系统组成该数字信号发生器系统主要由输
7、入部分、FPGA部分、D/A转换部分、频率、幅值调节和波形转换部分组成。原理图如图2.2所示。分频器FPGA部分系 统 控 制 器时钟复位波形调幅调频正弦波三角波锯齿波其他波型波 形 DA 转 换滤波输出 图2.2 数字信号发生器系统原理图2.4 FPGA外围电路设计D/A转换器电路的设计:从波形RAM中读出的幅度量化数据还只是一个数字信号,要得到最后的输出信号必须经过数模转换器。因此在波形RAM之后要设计一个D/A转换电路。数模(D/A)转换电路的作用是把已经合成的波形幅值的数字量转换成模拟量,其速度和特性直接影响整个系统的性能。D/A转换器件的首要特性要求是高速,其次是转换位数,本设计中选
8、用8位的D/A芯片DAC0832。波形幅度量化序列经D/A转换后成为阶梯波。频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的波形台阶数就越多输出的波形的精度也就越高。D/A的输出用电压形式表示一般应为: 式中D为D/A的输入数据值,N为D/AC的位数,即通常所指的D/AC的分辨率,为输入D/A的参考电压。D/A转换电路的设计首先是要选择一款合适的D/A转换芯片。D/A转换芯片种类繁多。选择D/A转换芯片要根据很多因素来确定,最主要的就是要考虑字长和转换速度。本设计采用DAC0832 作为D/A 转换器件,其具有数字量的输入锁存功能,DAC0832芯片的输出通过放大
9、器OP07,即可用示波器观察。100K的电位器在+5V和0V电压间为DAC0832提供参考电压。D/A转换电路的原理图如图2.3所示:图2.3 D/A转换电路的原理图2.5 程序设计mif文件生成使用C程序:#include <stdio.h>#include "math.h"main()int i;float s;for(i=0;i<1024;i+) s = sin(atan(1)*8*i/1024); printf("%d : %d;n",i,(int)(s+1)*1023/2); 生成该mif文件后需要创建该rom对应的eda程序
10、,即创建对应的.vhd文件,创建完成后要注意程序内访问rom文件的地址是否正确。同时对这vhd文件另存为一个新的工程,再编译,生成对应的bsf。2.5.1 锯齿波产生程序设计及仿真锯齿波模块锯齿波生成程序如下:Q <= SUB_WIRE0(9 DOWNTO 0);ALTSYNCRAM_COMPONENT : ALTSYNCRAMGENERIC MAP (PORT MAP (CLOCK0 => CLOCK,ADDRESS_A => ADDRESS,Q_A => SUB_WIRE0);END SYN;程序详见附录仿真图形如图2.4.1:图2.4.12.5.2 三角波产生程序
11、设计及仿真三角波模块三角波产生程序如下:PORT MAP (CLOCK0 => CLOCK,ADDRESS_A => ADDRESS,Q_A => SUB_WIRE0);END SYN;程序详见附录仿真图形如图2.4.2:图2.4.22.5.3 正弦波产生程序设计及仿真正弦波模块正弦波程序如下:BEGINQ <= SUB_WIRE0(9 DOWNTO 0);ALTSYNCRAM_COMPONENT : ALTSYNCRAMGENERIC MAP (CLOCK_ENABLE_INPUT_A => "BYPASS",CLOCK_ENABLE_OUT
12、PUT_A => "BYPASS"程序详见附录仿真图形如图2.4.3:图2.4.32.5.4 顶层程序设计及仿真(1) 程序的功能整合所有的子程序,产生所需要的波形(2) 结构图或实体图(3) 顶层程序(输出方案)U1:ADDER32B PORT MAP(A=>F32B,B=>D32B,S=>DIN32B);U2:REG32B PORT MAP(DOUT=>D32B,DIN=>DIN32B,LOAD=>CLK1);U3:ADDER10B PORT MAP(A=>P10B,B=>D32B(31 DOWNTO 22),S=&
13、gt;LIN10B);U4:REG10B PORT MAP(DOUT=>SIN10B,DIN=>LIN10B,LOAD=>CLK1);U5:SIN_ROM PORT MAP(ADDRESS=>SIN10B,Q=>V1,CLOCK=>CLK1);U6:SJBROM PORT MAP(ADDRESS=>SIN10B,Q=>V2,CLOCK=>CLK1);U7:JCBROM PORT MAP(ADDRESS=>SIN10B,Q=>V3,CLOCK=>CLK1);U8:XZQ PORT MAP(SEL1=>SEL,D1=&g
14、t;V1,D2=>V2,D3=>V3,Q=>FOUT);U9:FPQ PORT MAP(INCLK=>CLK,OUTCLK=>CLK1);END ;程序详见附录(4) 仿真波形及分析2.5.5 分频程序及作用(1)程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ONEMHZ ISPORT( CLKIN:IN STD_LOGIC; -时钟信号输入CLKOUT:OUT STD_LOGIC); -时钟信号输出END ONEMHZ;ARCHITECTURE ONEMHZ OF ONEMHZ ISSIGNAL DATA:I
15、NTEGER RANGE 0 TO 149;SIGNAL Q:STD_LOGIC;BEGINPROCESS(CLKIN)BEGINIF RISING_EDGE(CLKIN) THENIF(DATA=50) THEN -此句为你想要的分频比,DATA=0,1,2,3,4.9的分频比为1,2,3,,10DATA<=0;Q<=NOT Q;ELSEDATA<=DATA+1;END IF;END IF;CLKOUT<=Q;END PROCESS;END ONEMHZ;程序详见附录(2)作用由于FPGA提供的频率为50MHz,在不加处理的情况下,DAC无法分辨,且调频无法实现。(3
16、)频率区间先对其500分频,故而为50MHz/500由于有公式: DAC内N=10;故 ;在所能产生的各个频率包括97.65*(000001B111111B)Hz2.5 硬件测试及结果分析通过杜邦线接高低电平于FPGA,频率控制与相位控制接0上电,进行调试。可以产生正弦、锯齿、三角波,但是在放大后,图形不光滑,有许多尖刺出现。接上滤波后,大为缓解。3设计分析与总结3.1 故障分析设计过程中出现的故障分析故障一:(1)现象:只能产生一种波形原因分析:FPGA芯片烧录错误、引脚使用错误。(2)现象:波形不光滑。 原因分析:没有接滤波,波形为直接合成,接上滤波后大为缓解。3.2功能分析采用杜邦线来选
17、择波形,01是正弦波,10是三角波,11锯齿波。(1为高电平,0接地)3.3 设计总结及感想在这里感谢指导老师给我耐心的指导,在这次设计期间,碰到许多专业方面的难题,李老师都一一予以解答,特别在教学繁忙的情况下,还为我们提供了许多宝贵的资料和意见,对我们进行了详细的分析,使我们更加顺利地完成此次课程设计。通过这一个多月的时间,使我学到许多知识,明白了许多以前上课时无法理解的知识,还积累了一些较简单的问题解决方案。与此同时也感谢同组做课题设计的同学,在设计过程中,有许多东西我不懂,他们都耐心地给我讲解,给予我技术支援,帮助我解决了不少难题。4 参考文献1朱小斌电子测量仪器北京:电子工业出版社,1
18、9962Michael Lauterbach Artpin任意波形发生器在通讯测试中的应用电子产品世界,19973史海明个人仪器多功能任意波形发生器的研制仪表技术,19884林青DDS在数字调制中的应用无线电工程,20015张开增,张迎新,王尚忠高分辨率高稳度宽带函数发生器的研制华北工学院学报6华清远见嵌入式培训中心FPGA应用开发入门与典型实例北京:人民邮电出版社,20087薛刚基于DDS技术的任意信号发生器自动化与仪器仪表,19958陈冠百锁相与频率合成北京:电子工业出版社,19959赵新民智能化仪器设计基础哈尔滨:哈尔滨工业大学出版社,199910MS高西,KR赖克现代滤波器设计北京:科
19、学出版社,19895 附录 硬件原理图实验波形图。最低值理论值三个频率分别为97.65Hz 97.60Hz 97.63Hz,相对误差为:-0.027%理论输出三个频率分别为488.30Hz 488.23Hz 488.36Hz,相对误差为:+0.0102%理论输出三个频率分别为683.51Hz、 683.51Hz、 683.58Hz,相对误差为:-0.0072%均在范围,十分精确。详细程序主程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DDS ISPORT(CLK:IN STD_
20、LOGIC; SEL:IN STD_LOGIC_VECTOR(1 DOWNTO 0); FWORD:IN STD_LOGIC_VECTOR(7 DOWNTO 0); PWORD:IN STD_LOGIC_VECTOR(7 DOWNTO 0); FOUT:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF DDS ISCOMPONENT REG32B PORT (LOAD:IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT:OUT STD_LOGIC_VEC
21、TOR(31 DOWNTO 0);END COMPONENT;COMPONENT REG10B PORT (LOAD:IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(9 DOWNTO 0); DOUT:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END COMPONENT;COMPONENT ADDER32BPORT(A:IN STD_LOGIC_VECTOR(31 DOWNTO 0); B:IN STD_LOGIC_VECTOR(31 DOWNTO 0); S: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END C
22、OMPONENT;COMPONENT ADDER10BPORT(A:IN STD_LOGIC_VECTOR(9 DOWNTO 0); B:IN STD_LOGIC_VECTOR(9 DOWNTO 0); S: OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END COMPONENT;COMPONENT SIN_ROMPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0); CLOCK: IN STD_LOGIC ; Q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END COMPONENT;COMPONENT
23、SJBROMPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0); CLOCK: IN STD_LOGIC ; Q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END COMPONENT;COMPONENT JCBROMPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0); CLOCK: IN STD_LOGIC ; Q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END COMPONENT;COMPONENT XZQPORT(SEL1:IN STD_LOGIC_
24、VECTOR(1 DOWNTO 0); D1,D2,D3:IN STD_LOGIC_VECTOR(9 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END COMPONENT;COMPONENT FPQPORT(INCLK:IN STD_LOGIC; OUTCLK:OUT STD_LOGIC);END COMPONENT;SIGNAL F32B,D32B,DIN32B:STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL P10B,LIN10B,SIN10B:STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL
25、 V1,V2,V3:STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL CLK1:STD_LOGIC;BEGINF32B(27 DOWNTO 20)<=FWORD; F32B(31 DOWNTO 28)<="0000"F32B(19 DOWNTO 0)<="00000000000000000000"P10B(9 DOWNTO 2)<=PWORD;P10B(1 DOWNTO 0)<="00"U1:ADDER32B PORT MAP(A=>F32B,B=>D32B,S=>
26、DIN32B);U2:REG32B PORT MAP(DOUT=>D32B,DIN=>DIN32B,LOAD=>CLK1);U3:ADDER10B PORT MAP(A=>P10B,B=>D32B(31 DOWNTO 22),S=>LIN10B);U4:REG10B PORT MAP(DOUT=>SIN10B,DIN=>LIN10B,LOAD=>CLK1);U5:SIN_ROM PORT MAP(ADDRESS=>SIN10B,Q=>V1,CLOCK=>CLK1);U6:SJBROM PORT MAP(ADDRESS=&g
27、t;SIN10B,Q=>V2,CLOCK=>CLK1);U7:JCBROM PORT MAP(ADDRESS=>SIN10B,Q=>V3,CLOCK=>CLK1);U8:XZQ PORT MAP(SEL1=>SEL,D1=>V1,D2=>V2,D3=>V3,Q=>FOUT);U9:FPQ PORT MAP(INCLK=>CLK,OUTCLK=>CLK1);END ;三角波LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY ALTERA_MF;USE ALTERA_MF.ALL;
28、ENTITY SJBROM ISPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0);CLOCK: IN STD_LOGIC ;Q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END SJBROM;ARCHITECTURE SYN OF SJBROM ISSIGNAL SUB_WIRE0: STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT ALTSYNCRAMGENERIC (CLOCK_ENABLE_INPUT_A: STRING;CLOCK_ENABLE_OUTPUT_A: STRING;INI
29、T_FILE: STRING;INTENDED_DEVICE_FAMILY: STRING;LPM_HINT: STRING;LPM_TYPE: STRING;NUMWORDS_A: NATURAL;OPERATION_MODE: STRING;OUTDATA_ACLR_A: STRING;OUTDATA_REG_A: STRING;WIDTHAD_A: NATURAL;WIDTH_A: NATURAL;WIDTH_BYTEENA_A: NATURAL);PORT (CLOCK0: IN STD_LOGIC ;ADDRESS_A: IN STD_LOGIC_VECTOR (9 DOWNTO 0
30、);Q_A: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END COMPONENT;BEGINQ <= SUB_WIRE0(9 DOWNTO 0);ALTSYNCRAM_COMPONENT : ALTSYNCRAMGENERIC MAP (CLOCK_ENABLE_INPUT_A => "BYPASS",CLOCK_ENABLE_OUTPUT_A => "BYPASS",INIT_FILE => "C:USERSADMINISTRATORDESKTOPDDSSANJIAO.MIF",I
31、NTENDED_DEVICE_FAMILY => "CYCLONE II",LPM_HINT => "ENABLE_RUNTIME_MOD=NO",LPM_TYPE => "ALTSYNCRAM",NUMWORDS_A => 1024,OPERATION_MODE => "ROM",OUTDATA_ACLR_A => "NONE",OUTDATA_REG_A => "UNREGISTERED",WIDTHAD_A => 10,W
32、IDTH_A => 10,WIDTH_BYTEENA_A => 1)PORT MAP (CLOCK0 => CLOCK,ADDRESS_A => ADDRESS,Q_A => SUB_WIRE0);END SYN;正弦波LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY ALTERA_MF;USE ALTERA_MF.ALL;ENTITY SIN_ROM ISPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0);CLOCK: IN STD_LOGIC ;Q: OUT STD_LO
33、GIC_VECTOR (9 DOWNTO 0);END SIN_ROM;ARCHITECTURE SYN OF SIN_ROM ISSIGNAL SUB_WIRE0: STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT ALTSYNCRAMGENERIC (CLOCK_ENABLE_INPUT_A: STRING;CLOCK_ENABLE_OUTPUT_A: STRING;INIT_FILE: STRING;INTENDED_DEVICE_FAMILY: STRING;LPM_HINT: STRING;LPM_TYPE: STRING;NUMWORDS_A: NAT
34、URAL;OPERATION_MODE: STRING;OUTDATA_ACLR_A: STRING;OUTDATA_REG_A: STRING;WIDTHAD_A: NATURAL;WIDTH_A: NATURAL;WIDTH_BYTEENA_A: NATURAL);PORT (CLOCK0: IN STD_LOGIC ;ADDRESS_A: IN STD_LOGIC_VECTOR (9 DOWNTO 0);Q_A: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END COMPONENT;BEGINQ <= SUB_WIRE0(9 DOWNTO 0);ALTSY
35、NCRAM_COMPONENT : ALTSYNCRAMGENERIC MAP (CLOCK_ENABLE_INPUT_A => "BYPASS",CLOCK_ENABLE_OUTPUT_A => "BYPASS",INIT_FILE => "C:USERSADMINISTRATORDESKTOPDDSSIN.MIF",INTENDED_DEVICE_FAMILY => "CYCLONE II",LPM_HINT => "ENABLE_RUNTIME_MOD=NO"
36、,LPM_TYPE => "ALTSYNCRAM",NUMWORDS_A => 1024,OPERATION_MODE => "ROM",OUTDATA_ACLR_A => "NONE",OUTDATA_REG_A => "UNREGISTERED",WIDTHAD_A => 10,WIDTH_A => 10,WIDTH_BYTEENA_A => 1)PORT MAP (CLOCK0 => CLOCK,ADDRESS_A => ADDRESS,Q_A =&
37、gt; SUB_WIRE0);END SYN;锯齿波LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY ALTERA_MF;USE ALTERA_MF.ALL;ENTITY JUCHI ISPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0);CLOCK: IN STD_LOGIC ;Q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END JUCHI;ARCHITECTURE SYN OF JUCHI ISSIGNAL SUB_WIRE0: STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT ALTSYNCRAMGENERIC (CLOCK_ENABLE_INPUT_A: STRING;CLOCK_ENABLE_OUTPUT_A: STRING;INIT_FILE: STRING;INTENDED_DEVICE_FAMILY: STRING;LPM_HINT: STRING;LPM_TYPE: STRING;NUMWORDS_A: NATURAL;OPERATION_MODE: STRING;OUTDATA_ACLR_A: STRING;OUTDATA_REG_A: S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汽车抵押借款的合同范本
- 2025年绘本项目规划申请报告模式
- 2025样品测试分析委托管理合同
- 2025仓储合同签订格式
- 2025年镂铣机械项目规划申请报告模稿
- 2025高速公路承包合同
- 2025年表面涂镀材料项目立项申请报告
- 2025房地产商品房预售合同范本
- 2025年铬氧化铝陶瓷材料项目申请报告模范
- 春节传统习俗有哪些4篇
- 人力资源服务公司章程
- (正式版)CB∕T 4552-2024 船舶行业企业安全生产文件编制和管理规定
- 病案管理质量控制指标检查要点
- 2024年西藏中考物理模拟试题及参考答案
- 九型人格与领导力讲义
- 药品经营和使用质量监督管理办法培训试题及答案2023年9月27日国家市场监督管理总局令第84号公布
- 人教版五年级上册数学脱式计算练习200题及答案
- 卵巢黄体囊肿破裂教学查房
- 医院定岗定编
- 2023年大学物理化学实验报告化学电池温度系数的测定
- 脑出血的护理课件脑出血护理查房PPT
评论
0/150
提交评论