ADC模数转换(一)——独立模式单通道电压采集实验

摩尔学堂 2024-05-24 13:51

ADC即模数转换器,一般可用于采集电压,将电压的模拟信号转换为数字信号,经过计算以获得肉眼可读的电压值。

图21-1(截自stm32f103参考手册)

图21-1为ADC的功能框图,下面将围绕这个框图进行解析。

电压输入范围

图21-2(截自stm32f103参考手册)

ADC一般用于采集小电压,其输入值不能超过 𝑉𝐷𝐷𝐴 ,即:𝑉𝑅𝐸𝐹𝑉𝑖𝑛𝑉𝑅𝐸𝐹𝑓+ 。相关的定义见图21-2。一般把 𝑉𝑆𝑆𝐴 和 𝑉𝑅𝐸𝐹 接地,𝑉𝐷𝐷𝐴 和 𝑉𝑅𝐸𝐹+ 接3V3,那么ADC的输入范围是0~3.3V。

如果想采集到超过阈值的模拟电压,则可改善电路,使其输入ADC的电压在有效范围内即可。

输入通道

电压经过输入通道进入ADC。stm32的ADC共有18个通道,其中16个是外部通道,ADCx_IN0~ADCx_IN15。还有两个内部通道。相关的引脚定义和描述可在开发板的数据手册里找。

而外部的16个通道又分为规则通道(最多16路)和注入通道(最多4路)。一般情况下我们使用规则通道,而注入通道需要在规则通道转换过程中强行插入的,一旦插入后得先等注入通道转换完成再继续规则通道的转换。类似于中断服务。

转换顺序

三个规则序列寄存器ADC_SQR1、ADC_SQR2、ADC_SQR3,分别定义着第13~16、第7~12、第1~6个转换,哪个通道想要哪个转换,即可赋值对应通道给相应的转换位。例如,通道0想要第9个转换,则在SQ9[4:0]写0即可。而具体的转换数目则由ADC_SQR1 的L[3:0]决定,最多16个转换。

而注入序列寄存器只有ADC_JSQR一个,最多支持4个通道,具体转换数目由JL[1:0]位决定。需要注意的是,如果JL位的值小于4(不含4),则转换顺序刚好相反,即第一次转换的是JSQx[4:0](x=4-JL),而不是JSQ1[4:0]。

触发源

除了可以用ADC_CR2寄存器的ADON位控制转换的开始与停止,还可以支持触发转换。包括内部定时器触发和外部IO触发。具体的触发源由ADC_CR2的EXTSEL[2:0]位(规则通道触发源)和JEXTSEL[2:0]位(注入通道触发源)控制。

转换时间

ADC的输入时钟ADCCLK由PCLK2分频产生,分频因子由RCC_CFGR的ADCPRE[1:0]配置,可配置2/4/6/8分频,分频后的ADCCLK最大应不超过14MHz。

在进行输入电压的采样时,可以配置ADC_SMPR1(通道0~9)、ADC_SMPR2(通道10~17)寄存器的SMP[2:0]位,来控制采样周期。每个通道可以配置不同的采样周期,最小周期是1.5个。那么,ADC的转换时间为(参考手册里有公式表述):

T = 采样时间 + 12.5个周期,其中1周期为1/ADCCLK

例如,ADCCLK分频后为12MHz(PCLK2为72MHz,6分频),采样时间为1.5个周期,则T=14个周期=1.17us。

ADC_DR和ADC_JDRx

ADC_DR和ADC_JDRx分别是规则数据寄存器和注入数据寄存器。ADC_DR只有一个,有32位,低16位在单ADC时使用,高16位在ADC1中双模式下保存ADC2转换的规则数据(双模式就是ADC1和ADC2同时使用)。

规则通道多达16个,而ADC_DR只有一个,在多通道转换的情况下,就需要将前一个时间点转换的数据快速移出,否则会被下一个时间点转换的数据覆盖。这里用到DMA模式,可将数据传输到内存。如图21-3是ADC_DR的寄存器描述。

图21-3

注入通道最多只有4个,刚好ADC_JDRx也有4个,每个通道都有对应的寄存器,不会产生数据覆盖问题。如图21-4为ADC_JDRx的寄存器描述。

图21-4

由于ADC精度为12位,所以无论在低16位或高16位,都无法完全放满,这时由ADC_CR2的ALIGN位配置转换结果的左对齐或右对齐。

中断

分为三种:规则通道转换结束中断、注入通道转换结束中断和模拟看门狗中断。前两种转换结束中断就是普通的根据中断标志位和使能位判断执行。这里说明下模拟看门狗中断。

使能模拟看门狗中断后,当被ADC转换的模拟电压值低于低阈值或高于高阈值时,便会产生中断。阈值的高低值由ADC_LTR和ADC_HTR配置。

DMA请求

规则和注入通道转换结束后会产生DMA请求,用于将转换好的数据传输到内存。需要注意的是,只有ADC1和ADC3可以产生DMA请求。(有关DMA请求可移步stm32:DMA数据传输)

电压转换

模拟电压转换后是一个12位的数字值,坦诚地讲,这个值人类是看不懂的,所以需要再次转换成可读性较好的电压值,也就是用万用表量到的电压值。

一般情况下,ADC的输入电压范围在0~3.3v,所以12位满量程对应的电压值为3.3v,数字值为2^12。我们假设ADC转换后的12位的值为x,其对应的电压值为y,那么,

212/3.3=𝑥/𝑦 ,即 𝑦=(3.3𝑥)/212

所求得的y值便是我们需要的电压值,也就是用万用表测得的值。


ADC_InitTypeDef

至此,ADC的基础部分大概清楚了,可以开始进行程序的说明了。先讲讲ADC_InitTypeDef结构体。

图21-5

图21-5的结构体截图自stm32f10x_adc.h文件,下面对其结构体成员逐一分析。

  • ADC_Mode:ADC模式,使用一个ADC为独立模式,使用两个ADC为双模式等等。由ADC_CR1寄存器的DUALMOD[3:0]位配置;

  • ADC_ScanConvMode:配置是否使能扫描。如果是单通道AD转换则DISABLE,如果是多通道AD转换则ENABLE。具体由ADC_CR1寄存器的SCAN位配置;

  • ADC_ContinuousConvMode:配置是否自动连续转换。ENABLE为使能自动连续转换,DISABLE为单次转换(转换一次后需要手动控制才能重新启动转换)。具体由ADC_CR2寄存器的CONT位配置;

  • ADC_ExternalTrigConv:外部触发转换,图21-1列出了很多外部触发条件,可根据项目需求配置触发来源。不过我们一般使用软件触发;

  • ADC_DataAlign:转换结果数据对齐模式,可选ADC_DataAlign_Right和ADC_DataAlign_Left,我们一般选择右对齐模式;

  • ADC_NbrOfChannel:AD转换通道数量,根据项目实际配置即可。

独立模式单通道采集实验

这个实验被用来实现电位器(滑动变阻器)电压的采集,通过串口将采集到的电压值打印到串口调试助手。这里使用AD转换完成中断,在中断服务函数中读取数据,不使用DMA传输,在多通道采集时才使用DMA传输。

ADC的GPIO配置

使能ADC外设的GPIO时钟,将ADC的引脚配置为模拟输入模式。

查阅数据手册的引脚定义说明(Table 5. High-density STM32F103xx pin definitions),我们可以选择PC1引脚,该引脚支持ADC1/2/3_IN11,后面的ADC配置程序会用到,如图21-6。关于外设引脚模式的配置可查阅参考手册的8.1.11外设的GPIO配置章节,如图21-7。

图21-6

图21-7

ADC配置

其实就是配置ADC_InitTypeDef结构体的成员,配置成项目需要的。直接贴出代码,比较直观。

/**
* @brief 配置ADC工作模式
* @param 无
* @retval 无
*/
static void ADC_Mode_Config(void)
{
ADC_InitTypeDef ADC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; // 独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; // 这是单通道实验,不使用扫描
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; // 连续转换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; // 不使用外部触发,使用软件触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; // 转化结果右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; // 通道数量,这是单通道,所以为1
ADC_Init(ADC1, &ADC_InitStructure);

RCC_ADCCLKConfig(RCC_PCLK2_Div8); // 配置ADC时钟为8分频,即9MHz
// 转换通道、转换顺序、采样时间(这里是55.5个周期)
ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 1, ADC_SampleTime_55Cycles5);
ADC_ITConfig(ADC1, ADC_IT_EOC, ENABLE); // 转换结束中断

ADC_Cmd(ADC1, ENABLE);

ADC_ResetCalibration(ADC1); // 初始化ADC校准寄存器
while(ADC_GetResetCalibrationStatus(ADC1)); // 等待校准寄存器初始化完成
ADC_StartCalibration(ADC1); // ADC开始校准
while(ADC_GetCalibrationStatus(ADC1)); // 等待校准完成

ADC_SoftwareStartConvCmd(ADC1, ENABLE); // 软件触发ADC转换
}

相关的分析都在程序注释里了,很容易读懂。这里只说明一个关键点。ADC_RegularChannelConfig()函数用来配置ADC的转换顺序和采样时间等,关于采样时间的周期选择,周期越长,采样精度越高,反之则反。

中断配置

关于中断的配置,在之前的文章也介绍了,可移步阅读。这里直接贴出配置代码。

/**
* @brief ADC中断配置
* @param 无
* @retval 无
*/
static void ADC_NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

NVIC_InitStructure.NVIC_IRQChannel = ADC1_2_IRQn; // ADC中断源
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; // 抢占优先级为1
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; // 子优先级为1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);
}

中断服务函数

中断函数一般定义在stm32f10x_it.c文件里,进入中断服务函数后,在函数内直接读取ADC转换结果,并保存在ADC_ConvertedValue变量里,该变量是在main.c文件里定义的。

extern __IO uint16_t ADC_ConvertedValue;                         // 该变量在main.c文件定义,所以需添加extern关键字

void
ADC1_2_IRQHandler()
{
if (ADC_GetITStatus(ADC1, ADC_IT_EOC) == SET)
{
ADC_ConvertedValue = ADC_GetConversionValue(ADC1); // 读取ADC的转换值
}
ADC_ClearITPendingBit(ADC1, ADC_IT_EOC);
}

ADC_GetConversionValue()库函数直接读取ADC_DR寄存器的值。

最后在main()函数里执行电压转换的公式即可得出我们需要的电压值了。

ADC_ConvertedValueLocal = (float)ADC_ConvertedValue / 4096 * 3.3;

那么ADC_ConvertedValueLocal 即为我们需要的值了,可以和万用表测量到的值做对比。

本文转自:知乎专栏 - stm32,谢谢作者。





6月20日-21日将在上海举办一期高级电源管理芯片设计课程,本课程将讲述电源管理电路中最常见的模块LDO和DC-DC的相关知识、设计技巧和前沿揭秘,包括模拟LDO,数字LDO,电感型DC-DC,电容型DC-DC和最近关注度很高的混合型DC-DC。

--点击图片即转至课程页面




7月16日-17日将在上海举办一期高级数模转换器(ADC)课程,本次课程首先深入探讨大规模时间交织 ADC 的交织器拓扑结构,探讨非理想情况、设计注意事项、建模技术和详细案例研究。随后,特别关注对高性能大规模 TI ADC 至关重要的外设块的设计挑战和解决方案,包括输入缓冲器和参考缓冲器。此外,还研究了极限采样器、残差放大器和时钟等关键 SAR ADC 块,通过全面的案例研究介绍了基本概念和先进技术。





--------------------


今天小编带来了:ISSCC2024套餐,里面有文章、Short Course、PPT、Tutorial等,同学可以拿回去自己学习研究。

ISSCC2024完整资料领取方式如下   


识别关注下方公众号
公众号对话框输入 2024 
由于公众号后台资料容量有限
每份资料有效期为30天,过期会被更新删除
资料仅供个人学习使用,禁止分享与转发!
大家如果需要,请及时下载!

1、深入理解SerDes(Serializer-Deserializer)之一

2、深入理解SerDes(Serializer-Deserializer)之二

3、科普:深入理解SerDes(Serializer-Deserializer)之三

4、资深工程师的ESD设计经验分享

5、干货分享,ESD防护方法及设计要点!

6、科普来了,一篇看懂ESD(静电保护)原理和设计!

7、锁相环(PLL)基本原理 及常见构建模块

8、当锁相环无法锁定时,该怎么处理的呢?

9、高性能FPGA中的高速SERDES接口

10、什么是毫米波技术?它与其他低频技术相比有何特点?

11、如何根据数据表规格算出锁相环(PLL)中的相位噪声

12、了解模数转换器(ADC):解密分辨率和采样率

13、究竟什么是锁相环(PLL)

14、如何模拟一个锁相环

15、了解锁相环(PLL)瞬态响应

16、如何优化锁相环(PLL)的瞬态响应

17、如何设计和仿真一个优化的锁相环

18、锁相环(PLL) 倍频:瞬态响应和频率合成

19、了解SAR ADC

20、了解 Delta-Sigma ADC

21、什么是数字 IC 设计?

22、什么是模拟 IC 设计?

23、什么是射频集成电路设计?

24、学习射频设计:选择合适的射频收发器 IC

25、连续时间 Sigma-Delta ADC:“无混叠”ADC

26、了解电压基准 IC 的噪声性能

27、数字还是模拟?I和Q的合并和分离应该怎么做?

28、良好通信链路性能的要求:IQ 调制和解调

29、如何为系统仿真建模数据转换器?

30、干货!CMOS射频集成电路设计经典讲义(Prof. Thomas Lee)

31、使用有效位数 (ENOB) 对 ADC 进行建模

32、以太网供电 (PoE) 的保护建议

33、保护高速接口的设计技巧

34、保护低速接口和电源电路设计技巧

35、使用互调多项式和有效位数对 ADC 进行建模

36、向 ADC 模型和 DAC 建模添加低通滤波器

37、揭秘芯片的内部设计原理和结构

38、Delta-Sigma ADCs中的噪声简介(一)

39、Delta-Sigma ADCs中的噪声简介(二)

40、Delta-Sigma ADCs 中的噪声简介(三)

41、了解Delta-Sigma ADCs 中的有效噪声带宽(一)

42、了解Delta-Sigma ADCs 中的有效噪声带宽(二)

43、放大器噪声对 Delta-Sigma ADCs 的影响(一)

44、放大器噪声对 Delta-Sigma ADCs 的影响(二)

45、参考电压噪声如何影响 Delta Sigma ADCs

46、如何在高分辨率Delta-Sigma ADCs电路中降低参考噪声

47、时钟信号如何影响精密ADC

48、了解电源噪声如何影响 Delta-Sigma ADCs

49、运算放大器简介和特性

50、使用 Delta-Sigma ADCs 降低电源噪声的影响

51、如何设计带有运算放大器的精密电流泵

52锁定放大器的基本原理

53了解锁定放大器的类型和相关的噪声源

54、用于降低差分 ADC 驱动器谐波失真的 PCB 布局技术

55、干货!《实用的RFIC技术》课程讲义

56、如何在您的下一个 PCB 设计中消除反射噪声

57、硅谷“八叛徒”与仙童半导体(Fairchild)的故事!   

58、帮助你了解 SerDes!                                    

往期精彩课程分享

1、免费公开课ISCAS 2015 :The Future of Radios_ Behzad Razavi

2、免费公开课:从 5 微米到 5 纳米的模拟 CMOS(Willy Sansen)

3、免费公开课:变革性射频毫米波电路(Harish Krishnaswamy)

4、免费公开课:ESSCIRC2019-讲座-Low-Power SAR ADCs

5免费公开课:ESSCIRC2019-讲座-超低功耗接收器(Ultra-Low-Power Receivers)

6、免费公开课:CICC2019-基于 ADC 的有线收发器(Yohan Frans Xilinx)

7、免费公开课:ESSCIRC 2019-有线与数据转换器应用中的抖动

8、免费公开课:ISSCC2021 -锁相环简介-Behzad Razavi

9、免费公开课:ISSCC2020-DC-DC 转换器的模拟构建块

10、免费公开课:ISSCC2020-小数N分频数字锁相环设计

11、免费公开课:ISSCC2020-无线收发器电路和架构的基础知识(从 2G 到 5G)

12、免费公开课:ISSCC2020-从原理到应用的集成变压器基础

13、免费公开课:ISSCC2021-射频和毫米波功率放大器设计的基础

14、免费公开课:ISSCC 2022-高速/高性能数据转换器系列1(Prof. Boris Murmann)

15、免费公开课:ISSCC 2022-高速/高性能数据转换器系列2(Dr. Gabriele Manganaro)

16、免费公开课:ISSCC 2022-高速/高性能数据转换器系列3(Prof. Pieter Harpe

17、免费公开课:ISSCC 2022-高速/高性能数据转换器系列4(Prof. Nan Sun)





专注于半导体人才培训,在线学习服务平台!


人才招聘服务平台

摩尔学堂 摩尔学堂专注于半导体人才培训,在线培训与学习服务平台,泛IC领域MOOC分享互动平台。 www.moorext.com
评论
  •         近日,广电计量在聚焦离子束(FIB)领域编写的专业著作《聚焦离子束:失效分析》正式出版,填补了国内聚焦离子束领域实践性专业书籍的空白,为该领域的技术发展与知识传播提供了重要助力。         随着芯片技术不断发展,芯片的集成度越来越高,结构也日益复杂。这使得传统的失效分析方法面临巨大挑战。FIB技术的出现,为芯片失效分析带来了新的解决方案。它能够在纳米尺度上对芯片进行精确加工和分析。当芯
    广电计量 2025-02-28 09:15 116浏览
  • 在物联网领域中,无线射频技术作为设备间通信的核心手段,已深度渗透工业自动化、智慧城市及智能家居等多元场景。然而,随着物联网设备接入规模的不断扩大,如何降低运维成本,提升通信数据的传输速度和响应时间,实现更广泛、更稳定的覆盖已成为当前亟待解决的系统性难题。SoC无线收发模块-RFM25A12在此背景下,华普微创新推出了一款高性能、远距离与高性价比的Sub-GHz无线SoC收发模块RFM25A12,旨在提升射频性能以满足行业中日益增长与复杂的设备互联需求。值得一提的是,RFM25A12还支持Wi-S
    华普微HOPERF 2025-02-28 09:06 143浏览
  • 应用趋势与客户需求,AI PC的未来展望随着人工智能(AI)技术的日益成熟,AI PC(人工智能个人电脑)逐渐成为消费者和企业工作中的重要工具。这类产品集成了最新的AI处理器,如NPU、CPU和GPU,并具备许多智能化功能,为用户带来更高效且直观的操作体验。AI PC的目标是提升工作和日常生活的效率,通过深度学习与自然语言处理等技术,实现更流畅的多任务处理、实时翻译、语音助手、图像生成等功能,满足现代用户对生产力和娱乐的双重需求。随着各行各业对数字转型需求的增长,AI PC也开始在各个领域中显示
    百佳泰测试实验室 2025-02-27 14:08 252浏览
  • 更多生命体征指标风靡的背后都只有一个原因:更多人将健康排在人生第一顺位!“AGEs,也就是晚期糖基化终末产物,英文名Advanced Glycation End-products,是存在于我们体内的一种代谢产物” 艾迈斯欧司朗亚太区健康监测高级市场经理王亚琴说道,“相信业内的朋友都会有关注,最近该指标的热度很高,它可以用来评估人的生活方式是否健康。”据悉,AGEs是可穿戴健康监测领域的一个“萌新”指标,近来备受关注。如果站在学术角度来理解它,那么AGEs是在非酶促条件下,蛋白质、氨基酸
    艾迈斯欧司朗 2025-02-27 14:50 400浏览
  • RGB灯光无法同步?细致的动态光效设定反而成为产品客诉来源!随着科技的进步和消费者需求变化,电脑接口设备单一功能性已无法满足市场需求,因此在产品上增加「动态光效」的形式便应运而生,藉此吸引消费者目光。这种RGB灯光效果,不仅能增强电脑周边产品的视觉吸引力,还能为用户提供个性化的体验,展现独特自我风格。如今,笔记本电脑、键盘、鼠标、鼠标垫、耳机、显示器等多种电脑接口设备多数已配备动态光效。这些设备的灯光效果会随着音乐节奏、游戏情节或使用者的设置而变化。想象一个画面,当一名游戏玩家,按下电源开关,整
    百佳泰测试实验室 2025-02-27 14:15 137浏览
  • 在2024年的科技征程中,具身智能的发展已成为全球关注的焦点。从实验室到现实应用,这一领域正以前所未有的速度推进,改写着人类与机器的互动边界。这一年,我们见证了具身智能技术的突破与变革,它不仅落地各行各业,带来新的机遇,更在深刻影响着我们的生活方式和思维方式。随着相关技术的飞速发展,具身智能不再仅仅是一个技术概念,更像是一把神奇的钥匙。身后的众多行业,无论愿意与否,都像是被卷入一场伟大变革浪潮中的船只,注定要被这股汹涌的力量重塑航向。01为什么是具身智能?为什么在中国?最近,中国具身智能行业的进
    艾迈斯欧司朗 2025-02-28 15:45 221浏览
  • 1,微软下载免费Visual Studio Code2,安装C/C++插件,如果无法直接点击下载, 可以选择手动install from VSIX:ms-vscode.cpptools-1.23.6@win32-x64.vsix3,安装C/C++编译器MniGW (MinGW在 Windows 环境下提供类似于 Unix/Linux 环境下的开发工具,使开发者能够轻松地在 Windows 上编写和编译 C、C++ 等程序.)4,C/C++插件扩展设置中添加Include Path 5,
    黎查 2025-02-28 14:39 140浏览
  • 美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?‌美国加州CEC能效认证与美国DOE能效认证在多个方面存在显著差异‌。认证范围和适用地区‌CEC能效认证‌:仅适用于在加利福尼亚州销售的电器产品。CEC认证的范围包括制冷设备、房间空调、中央空调、便携式空调、加热器、热水器、游泳池加热器、卫浴配件、光源、应急灯具、交通信号模块、灯具、洗碗机、洗衣机、干衣机、烹饪器具、电机和压缩机、变压器、外置电源、消费类电子设备
    张工nx808593 2025-02-27 18:04 120浏览
  • 振动样品磁强计是一种用于测量材料磁性的精密仪器,广泛应用于科研、工业检测等领域。然而,其测量准确度会受到多种因素的影响,下面我们将逐一分析这些因素。一、温度因素温度是影响振动样品磁强计测量准确度的重要因素之一。随着温度的变化,材料的磁性也会发生变化,从而影响测量结果的准确性。因此,在进行磁性测量时,应确保恒温环境,以减少温度波动对测量结果的影响。二、样品制备样品的制备过程同样会影响振动样品磁强计的测量准确度。样品的形状、尺寸和表面处理等因素都会对测量结果产生影响。为了确保测量准确度,应严格按照规
    锦正茂科技 2025-02-28 14:05 134浏览
  • 一、VSM的基本原理震动样品磁强计(Vibrating Sample Magnetometer,简称VSM)是一种灵敏且高效的磁性测量仪器。其基本工作原理是利用震动样品在探测线圈中引起的变化磁场来产生感应电压,这个感应电压与样品的磁矩成正比。因此,通过测量这个感应电压,我们就能够精确地确定样品的磁矩。在VSM中,被测量的样品通常被固定在一个震动头上,并以一定的频率和振幅震动。这种震动在探测线圈中引起了变化的磁通量,从而产生了一个交流电信号。这个信号的幅度和样品的磁矩有着直接的关系。因此,通过仔细
    锦正茂科技 2025-02-28 13:30 100浏览
  •           近日受某专业机构邀请,参加了官方举办的《广东省科技创新条例》宣讲会。在与会之前,作为一名技术工作者一直认为技术的法例都是保密和侵权方面的,而潜意识中感觉法律有束缚创新工作的进行可能。通过一个上午学习新法,对广东省的科技创新有了新的认识。广东是改革的前沿阵地,是科技创新的沃土,企业是创新的主要个体。《广东省科技创新条例》是广东省为促进科技创新、推动高质量发展而制定的地方性法规,主要内容包括: 总则:明确立法目
    广州铁金刚 2025-02-28 10:14 103浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦