免费预览已结束,剩余30页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C2000系列DSP是TI公司TMS320 DSP的3大系列之一,既具有一般DSP芯片的告诉运算能力和信号处理能力,又和单片机一样,在片内集成了丰富的外设,因而特别适用于高性能数字控制系统。TMS320X281X是C2000系列中到目前为止功能最为强大的一代芯片。TMS320X281X是一款32位定点数字信号处理器,具体的型号包括:TMS320F2810, TMS320F2811, TMS320F2812, TMS320C2810, TMS320C2811, TMS320C2811,其中F系列的是FLASH型,C系列的是ROM型。TMS320F281X系列DSP的性能: 高性能静态CMOS技术 150 MHz(6.67ns 周期时间) 低功率(1.8V核心135 MHz、1.9V核心150 MHz、3.3V I/O)FLASH编程电压3.3V 支持JTAG边界扫描 高性能32位CPU o 16 x 16以及32 x 32乘法和累加操作(这个就是它内部有硬件乘法器,加快了它的运算速度)o 16 x 16双乘加单元MAC o 哈佛总线架构 o 强大的操作能力o 快速中断响应与处理 (最多9个CPU周期响应中断)o 统一存储器编程模型 o 4M线性程序/数据地址范围 o 代码效率高(C语言/C+以及汇编语言) o 在代码和引脚方面与F2810、F2811以及F2812设备兼容 o TMS320F24x/LF240x处理器源代码兼容 片上存储器 o 多达128K X 16的FLASH存储器(2810是64K X 16)L0以及L1: 每个SARAM具备两个4K x 16存储区 H0: 一个8K x 16 SARAM存储区 M0以及M1: 每个SARAM具备两个1K x 16存储区 引导ROM(4K x 16) o 具备软件引导模式 o 标准数学表格 SPI、SCI以及GPIO引导载入程序模式支持从片外源向片上RAM载入代码。 SPI引导模式支持从外部串行EEPROM上载入。 o 外部接口(2812)(2811/2810没有外部总线接口) o 存储器总容量最高1.5 X 16M o 可编程等待状态 o 可编程读/写选通脉冲定时(Strobe Timing) o 三个单独芯片选择 时钟以及系统控制 o 支持动态PLL比率变化 o 片上振荡器 o 看门狗定时器模块 三个外部中断 (三个外部引脚) 外设中断扩展(PIE)区块支持45个外设中断 三个32位CPU定时器 马达控制外设 o 两个事件管理器(EVA、EVB) o 兼容240xA设备 串行端口外设 o 串行外设接口(SPI) o 两个串行通信接口(SCI)、标准UART o 增强的控制器区域网络(eCAN) o 多通道缓冲串行端口(McBSP) 12位模数转换器,16通道 o 2 x 8通道输入多路器 o 两个采样和保持 o 单个/同时转换 o 快速转换率: 80 ns/12.5 MSPS 最多56个通用I/O(GPIO)引脚 先进的仿真特性 o 分析与断点功能 o 通过硬件实时调试 开发工具包括 o ANSI C语言/C+编译器/汇编器/链接器 o Code Composer Studio IDE o DSP/BIOS o JTAG扫描控制器 低功率模式以及节电功能 o 支持空闲、待机以及停机模式(HALT Mode) o 可禁止单个外设时钟 封装选项 o 179球MicroStar BGA封装,具有外部存储器接口(GHH)、(ZHH)(2812) o 176针小型四侧引脚扁平封装(LQFP),具有外部存储器接口(PGF)(2812) o 128针LQFP封装,无外部存储器接口(PBK)(2811) 温度选项: o A: 40C 至 85C(GHH、ZHH、PGF、PBK) o S: 40C 至 125C(GHH、ZHH、PGF、PBK) o Q: -40C 至 125C(PGF、PBK) 以上这些就是281X的一个基本简介,看过资料的朋友看了肯定会感到非常熟悉,这些就是我们看资料整理出来了,这个不允许自创,都是TI的原创。在自己制作的时候注意的是:281x在生产的时候存在一个BUG,就是通电有先后顺序,必须先给内核供电,再给IO通电。设计DSP281X的电源推荐用电源芯片TPS767D318,这个可以在TI官网上申请。281x的IO口是非常脆弱的,一定不能有5V接到IO口上,否则轻则烧毁单个IO,重则整个片子都废了。再说一下TMS320F2810, TMS320F2811, TMS320F2812的区别:TMS320F2812有外部总线,TMS320F2810, TMS320F2811没有外部总线;TMS320F2811, TMS320F2812的FLASH存储器是128K X 16,而TMS320F2810是64KX 16。TMS320F2810, TMS320F2811引脚完全兼容,与TMS320F2812不兼容。其他在使用上完全一样。我们小组使用的是自己的MiniDSP,上面的芯片是TMS320F2810/TMS320F2811,以后应用的实例和课外小活动都是基于这个开发的。使用2812的朋友也不必担心,在不涉及外部总线以及在仿真的情况下,三者代码完全兼容时钟在开始学习GPIO前,我们先了解一下DSP281x的时钟,因为只有在时钟的驱动下,它才能跑起来。大家打开任何一个281X的工程都会看到主函数里最前面有这么几句:void main()InitSysCtrl();DINT;IER = 0x0000;IFR = 0x0000;InitPieCtrl();InitPieVectTable();既然每一个工程的主函数中都包括这几句,那么这几句必然是非常重要的。那么第一句肯定是这里面最最重要的,下面我们就开始学习InitSysCtrl()。 InitSysCtrl()是一个函数调用,这个子函数在DSP281X_SysCtrl.c中,它的功能是完成DSP的时钟及看门狗的初始化。一、281x的时钟图1 DSP281X时钟图281X的时钟如图1所示,这个图是从TI的官方文档上截下来的,朋友们也可以看推荐的教材上的图。对这个图我进行以下分析,就会明白它的时钟结构。1、外部晶振时钟首先输入到锁相环倍频,倍频后的时钟给CPU,同时CPU输出与输入频率一样的时钟,供给外设,即外设时钟是CPU的输出时钟2、每一个外设都有自己的时钟控制单元,受EALLOW保护,应用到哪一个外设一定要把它的时钟控制位使能。3、高速时钟、低速时钟高速时钟HSPCLK:控制的外设有事件管理器EVA/B,ADC低速时钟LSPCLK:控制SCIA/B,SPI,McBSPeCAN直接由CPU输出时钟SYSCLKOUT驱动4、外设时钟时能C代码,代码段在DSP281X_SysCtrl.cvoid InitPeripheralClocks(void) EALLOW;/ HISPCP/LOSPCP prescale register settings, normally it will be set to default values SysCtrlRegs.HISPCP.all = 0x0003;/*HSPCLK=SYSCLKOUT/(2xHISPCP),如果HISPCP=0的话,HSPCLK=SYSCLKOUT。HISPCP是3位有效,此例HSPCLK=SYSCLKOUT/(2x3)*/ SysCtrlRegs.LOSPCP.all = 0x0002;/*LSPCLK=SYSCLKOUT/(2xLOSPCP),如果LOSPCP=0的话,LSPCLK=SYSCLKOUT。LOSPCP是3位有效,此例LSPCLK=SYSCLKOUT/(2x2)*/ Peripheral clock enables set for the selected peripherals. SysCtrlRegs.PCLKCR.bit.EVAENCLK=1; SysCtrlRegs.PCLKCR.bit.EVBENCLK=1; SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1; SysCtrlRegs.PCLKCR.bit.SCIBENCLK=1; SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=1; SysCtrlRegs.PCLKCR.bit.SPIENCLK=1; SysCtrlRegs.PCLKCR.bit.ECANENCLK=1; SysCtrlRegs.PCLKCR.bit.ADCENCLK=1; EDIS;5、振荡器和锁相环CPU时钟输入引脚是X1/XCLKIN和X2,有两种模式,一种是外部时钟,一种是晶振工作方式,靠GPIOF14接高低电平来选择。GPIOF14复位后为低电平,选择外部钟源,X2引脚没有用,悬空;GPIOF14复位后为高电平,选择晶振模式,X1/XCLKIN和X2连接到无源晶振的两个引脚,2812选择30M,负载电容选择10P.内部振荡器和外部晶振一起工作产生CPU时钟。在外部时钟源的模式下,内部PLL被禁止,外部时钟直接输入到CPU.在晶振模式下,晶振时钟先过PLL倍频,然后给CPU.CPU再把相同频率的时钟输出给外设,这就和上面外设时钟设置先联系了。6、PLL倍频初始化C代码void InitPll(Uint16 val)输入的是倍频的一半,即val=10,就是5倍频,150M. volatile Uint16 iVol; if (SysCtrlRegs.PLLCR.bit.DIV != val) EALLOW; SysCtrlRegs.PLLCR.bit.DIV = val;/*PLLCR寄存器的DIV最后三位是设置倍频的,CPU的时钟CLKIN=F X(DIV/2),DIV=0时,CLKIN=F,F是外部晶振的频率*/ EDIS; for(iVol= 0; iVolCPUFreqInMHz = Freq;Timer-;PeriodInUSec = Period;temp = (long) (Freq * Period);Timer-RegsAddr-;PRD.all = temp;/*temp周期寄存器的值*/ Set pre-scale counter to divide by 1 (SYSCLKOUT):分频设置 Timer-RegsAddr-TPR.all= 0;Timer-RegsAddr-TPRH.all= 0;/ Initialize timer control register:Timer-RegsAddr-TCR.bit.TSS = 1;/ 1 = Stop timer, 0 = Start/Restart Timer Timer-RegsAddr-TCR.bit.TRB = 1;/ 1 = reload timerTimer-RegsAddr-TCR.bit.SOFT = 1;Timer-RegsAddr-TCR.bit.FREE = 1;/ Timer Free RunTimer-RegsAddr-TCR.bit.TIE = 1;/ 0 = Disable/ 1 = Enable Timer Interrupt/ Reset interrupt counter:Timer-InterruptCount = 0;这个代码是配置定时器的周期的,即定时的时间,它的输入参数有三个:truct CPUTIMER_VARS *Timer:选择哪个定时器,即是选择TIME0还是TIME1、TIME2.如果选择TIME0的话应该在调用这个还是的时候的实参是&CpuTimer0float Freq:这个是你的系统频率,即SYSCLKOUT的值float Period:这个是定时计数器的周期寄存器的值,即影子寄存器的值,也就是记多少个数。这个默认状态下分频倍数是1,也就是 Period的就是定时器定时的时间,但是单位是微秒。6、在主函数中怎么调用以TIME0,100M的系统频率,定时1S为例:ConfigCpuTimer(&CpuTimer0, 100, 1000000)配置完之后,还要开计数StartCpuTimer0();/启动定时器0 “简简单单DSP”系列学习活动第六期AD学习及使用“简简单单DSP”系列学习活动第六期AD学习及使用2812的AD是一个12位的,实际只有一个AD转换器,但是有16个输入通道,通过内部模拟开关选择。这16个通道可以分为两个8通道的,也可以级联为一个16通道的。ADC功能包括:1、ADC时钟外部高速时钟HSPCLK经过变换后作为AD的时钟。HSPCLK先要被控制寄存器3ADCTRL3寄存器中的ADCCLKPS3:0位除,随后经过2分频(当ADCTRL1寄存器中的位CPS=1)或不分频(当ADCTRL1寄存器中的位CPS=0)就得到ADC的时钟基准,但是最大为25M。ADCCLKPS=0时,ADCCLK=HSPCLK/(ADCTRL17+1)ADCCLKPS!=0时,ADCCLK=HSPCLK/2x(ADCCLKPS)x(ADCTRL17+1)例如:外部晶振时钟30M,PLL倍频后为150M,HSPCLK=25M,ADCCLKPS=5,ADCTRL17=1,则ADCCLK=25/2X5x(1+1)=1.25M2、采样频率ADC转换包括采样、保持、量化、编码四个阶段,他把连续的模拟量量化为开关数字量,就相当于在模拟量和AD引脚中间有一个开关,开关闭合,模拟量就输入到AD采样引脚,开关断开,ADC引脚上的模拟量就没有了,采样频率就是采样和保持的时间,就是这个开关闭合的时间。采样时间长短不影响其他操作,这个采样时间控制SOC脉冲宽度。由ADC时钟和ADC控制寄存器1ADCTRL1中的ACQ_PS11:8位决定。Fsoc=ADCCLK/(ACQ_PS11:8+1)。3、ADC采样模式ADC采样有顺序采样和同时采样两种模式。顺序采样就是按照自动排序器的设置一个通道一个通道采样,而同时采样是按照顺序排序器的设置一对一对的采样,但是这一对的编号要一样,即ADCINA0 与ADCINB0,ADCINA1和ADCINB1同时采样。2812的ADC是12位16通道的,可以分两个8通道的也可以级联为一个16通道的,这样的话就有4种工作模式,即:a、双通道顺序采样b、双通道同步采样c、级联模式顺序采样d、级联模式同步采样就每种工作模式进行介绍,不对C代码进行详解,在讲这些之前,先说一下涉及到的比较重要而且难理解的寄存器第一个:最大转换通道寄存器ADCMAXCONVADCMAXCONV中能用的位是最后七位,在双通道采样模式下,自动排序寄存器SEQ1(A通道)用到的是MAXCONV1_2-0,就是低三位,采样的通道数=MAXCONV1_2-0+1;自动排序寄存器SEQ2(B通道)用到的是MAXCONV2_2-0,就是高三位,采样的通道数=MAXCONV2_2-0+1;在级联模式下,自动排序器SEQ用到的是MAXCONV1_3-0,采样的通道数=MAXCONV1_3-0+1。第二个:自动排序器SEQ1 SEQ2 SEQ自动排序器就是管理在什么时间A、B通道的哪一个通道进行采样,就是把这16个通道排列顺序。在双通道模式下,SEQ1管理的是A通道的那8个输入,SEQ2管理的是B通道的那8个输入,在级联模式下SEQ(即SEQ1)管理16个通道。第三个:四个输入通道选择排序寄存器ADCCHSELSEQx(X=1、2、3、4),都是16位的寄存器,每个寄存器中的4位确定一个采样通道(因为4位最大值正好是16,这样每个4位就可以确定16个通道的任一个),这样一个寄存器确定4个通道,4个寄存器正好是确定16个通道。每个寄存器可以确定4个通道,这4个通道可以是一样的,甚至4个寄存器确定的都是一样的,这样就实现了过采样技术。a、双通道顺序采样双通道顺序采样,用到的自动排序器是SEQ1,SEQ2,其中SEQ1将用到ADCADCCHSELSEQ1和ADCADCCHSELSEQ2,ADCCHSELSEQx中的每4位的最高位设置为0;SEQ2将用到ADCADCCHSELSEQ3和ADCADCCHSELSEQ4,ADCCHSELSEQx中的每4位的最高位设置为1;用到ADCMAXCONV中最后七位的低三位和高三位。低三位MAXCONV1_2-0决定SEQ1中的采样次数;高三位MAXCONV2_2-0决定SEQ2中的采样次数.转换顺序是从ADCADCCHSELSEQ1的最低4位开始一直到ADCADCCHSELSEQ4的最高4位这个顺序来的。C代码分析:这个是16个顺序采样的,每个通道都采样一次/*双通道发生器模式 */AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /*设置顺序采样模式*/AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /*每个序列发生器最大采样通道数为 8,总共可采样 16 通道 , SEQ1 将用到 ADCADCCHSELSEQ1、ADCADCCHSELSEQ2,SEQ2 将用到 ADCADCCHSELSEQ3、ADCADCCHSELSEQ4 */AdcRegs.MAX_CONV.all=0x0077; /*采样 ADCINA0*/AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; /*采样 ADCINA1*/AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1; /*采样 ADCINA2*/AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2; /*采样 ADCINA3*/AdcRegs.ADCCHSELSEQ1.bit.CONV03=0x3; /*采样 ADCINA4*/AdcRegs.ADCCHSELSEQ2.bit.CONV04=0x4; /*采样 ADCINA5*/AdcRegs.ADCCHSELSEQ2.bit.CONV05=0x5; /*采样 ADCINA6*/AdcRegs.ADCCHSELSEQ2.bit.CONV06=0x6; /*采样 ADCINA7*/AdcRegs.ADCCHSELSEQ2.bit.CONV07=0x7; /*ADCCHSELSEQx中的每4位的最高位为0*/*采样 ADCINB0*/AdcRegs.ADCCHSELSEQ3.bit.CONV08=0x8; /*采样 ADCINB1*/AdcRegs.ADCCHSELSEQ3.bit.CONV09=0x9; /*采样 ADCINB2*/AdcRegs.ADCCHSELSEQ3.bit.CONV10=0xA; /*采样 ADCINB3*/AdcRegs.ADCCHSELSEQ3.bit.CONV11=0xB; /*采样 ADCINB4*/AdcRegs.ADCCHSELSEQ4.bit.CONV12=0xC; /*采样 ADCINB5*/AdcRegs.ADCCHSELSEQ4.bit.CONV13=0xD; /*采样 ADCINB6*/AdcRegs.ADCCHSELSEQ4.bit.CONV14=0xE; /*采样 ADCINB7*/AdcRegs.ADCCHSELSEQ4.bit.CONV15=0xF; /*ADCCHSELSEQx中的每4位的最高位为1*/转换完成后,结果存放在结果缓冲寄存器ADCRESULTn(x=116)中,结果排序如下如果 SEQ1 和 SEQ2 两者都已经完成了转换,那么,结果如图 8 所示: ADCINA0-ADCRESULT0ADCINA1-ADCRESULT1ADCINA2-ADCRESULT2ADCINA3-ADCRESULT3ADCINA4-ADCRESULT4ADCINA5-ADCRESULT5ADCINA6-ADCRESULT6ADCINA7-ADCRESULT7ADCINB0-ADCRESULT0ADCINB1-ADCRESULT8ADCINB2-ADCRESULT9ADCINB3-ADCRESULT10ADCINB4-ADCRESULT11ADCINB5-ADCRESULT13ADCINB6-ADCRESULT14ADCINB7-ADCRESULT15b、双通道同步采样双通道同步采样,就是一次有一对通道采样,像上面说的这一对是对应的。用到的自动排序器是SEQ1,SEQ2。其中SEQ1将用到ADCADCCHSELSEQ1,ADCADCCHSELSEQ1中的每4位的最高位设置为0;SEQ2将用到ADCADCCHSELSEQ3,ADCADCCHSELSEQ3中的每4位的最高位设置为1;用到ADCMAXCONV中最后七位的低2位和高2位。低2位MAXCONV1_1-0决定SEQ1中的采样次数,每一次是一对,列如MAXCONV1_1-0=3,那么就是4对;高2位MAXCONV2_1-0决定SEQ2中的采样次数.转换顺序是从ADCADCCHSELSEQ1的最低4位开始一直到ADCADCCHSELSEQ3的最高4位这个顺序来的.C代码分析:这个是8对同步采样的,每个通道都采样一次/*双通道发生器模式 */AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /*设置顺序采样模式*/AdcRegs.ADCTRL3.bit.SMODE_SEL=1; /*每个序列发生器最大采样通道数为 4,总共可采样 8对通道 , SEQ1 将用到 ADCADCCHSELSEQ1、,SEQ2 将用到 ADCADCCHSELSEQ3、 */AdcRegs.MAX_CONV.all=0x0033; /*采样 ADCINA0,ADCINB0*/AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; /*采样 ADCINA1,ADCINB1*/AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1; /*采样 ADCINA2,ADCINB2*/AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2; /*采样 ADCINA3,ADCINB3*/AdcRegs.ADCCHSELSEQ1.bit.CONV03=0x3; /*采样 ADCINA4,ADCINB4*/AdcRegs.ADCCHSELSEQ3.bit.CONV08=0x4; /*采样 ADCINA5,ADCINB5*/AdcRegs.ADCCHSELSEQ3.bit.CONV09=0x5; /*采样 ADCINA6,ADCINB6*/AdcRegs.ADCCHSELSEQ3.bit.CONV10=0x6; /*采样 ADCINA7,ADCINB7*/AdcRegs.ADCCHSELSEQ3.bit.CONV11=0x7; 如果 SEQ1 和 SEQ2 两者都已经完成了转换,那么,结果如图 8 所示: ADCINA0-ADCRESULT0ADCINB0-ADCRESULT1ADCINA1-ADCRESULT2ADCINB1-ADCRESULT3ADCINA2-ADCRESULT4ADCINB2-ADCRESULT5ADCINA3-ADCRESULT6ADCINB3-ADCRESULT7ADCINA4-ADCRESULT8ADCINB4-ADCRESULT9ADCINA5-ADCRESULT10ADCINB5-ADCRESULT11ADCINA6-ADCRESULT12ADCINB6-ADCRESULT13ADCINA7-ADCRESULT14ADCINB7-ADCRESULT15c、级联模式顺序采样级联模式顺序采样,就是两个8通道的合并为一个16通道的,只用到一个排序器SEQ。顺序采样,就是一次采一个通道,最多采样16通道。SEQ 将用到 ADCADCCHSELSEQ1、ADCADCCHSELSEQ2、ADCADCCHSELSEQ3、ADCADCCHSELSEQ4 ,用到ADCMAXCONV中最后七位的低4位。转换顺序是从ADCADCCHSELSEQ1的最低4位开始一直到ADCADCCHSELSEQ3的最高4位这个顺序来的.C代码分析:这个是顺序采样16通道/*级联模式 */AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /*设置顺序采样模式*/AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /*序列发生器最大采样通道数为 16, SEQ 将用到 ADCADCCHSELSEQ1、ADCADCCHSELSEQ2,ADCADCCHSELSEQ3、ADCADCCHSELSEQ4 ,用到ADCMAXCONV的低4位*/AdcRegs.MAX_CONV.all=0x000F; /*采样 ADCINA0*/AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; /*采样 ADCINA1*/AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1; /*采样 ADCINA2*/AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2; /*采样 ADCINA3*/AdcRegs.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属焊接与切割作业防火防爆安全培训
- 移动模架施工安全措施培训
- 江西省赣州市定南县2026-2027学年数学七年级第一学期期末经典模拟试题含解析
- 好警记事考试题及答案
- 2026届江西吉安市高三下学期一模英语试题2026.3高三英语模考答案
- 2026年中职模具设计与制造(模具加工)试题及答案
- 去年对口考试题及答案解析
- 江苏省连云港市东海县2026-2027学年八上物理期末预测试题含解析
- 江西省吉安市2026年物理八上期末联考试题含解析
- 线性基础考试题目及答案
- 临床护理实践指南2025
- 2025版临床用血技术规范解读课件
- 《钢质海船入级规范》
- 特殊作业监护员培训大纲
- 地方政府债务风险的识别与管控机制
- 林下经济土地利用规划与设计方案
- 2025及未来5年中国塑料鼠板市场调查、数据监测研究报告
- 新解读(2025)《JB-T 7662-2007容积式压缩机术语 回转压缩机》
- 青桐鸣大联考2025-2026学年高一上学期10月月考物理试卷
- GB/T 46166-2025洁净室用天然胶乳手套
- 智驭未来:AI工具辅助高效学习与科研(天津师范大学)学习通网课章节测试答案
评论
0/150
提交评论