找回密码
 立即注册
查看: 717|回复: 3

STC单片机ADC数字测量系统的性能指标计算方法

[复制链接]

该用户从未签到

61

主题

622

回帖

1万

积分

荣誉版主

积分
10816
发表于 2023-5-17 01:06:02 | 显示全部楼层 |阅读模式
本帖最后由 杨为民 于 2023-5-17 04:52 编辑

最新的STC8H和STC32G/F系列单片机都带有高精度的ADC部件,并且这两类单片机都有很高的数字计算能力,能够编程实现很多优秀的数字处理方法来提高ADC系统的性能。最近STC官方推出了STC32开源示波器典型范例就是一个很好的例子,它是一个全数字化的示波器,通过高速ADC数字采样,在TFT和串口虚拟屏上进行数字显示,也通过数值处理技术得到输入信号的各种测量值。
具体了解衡量一个用单片机作为核心的ADC数字测量系统的性能指标是什么以及如何计算,对于学习、移植和应用单片机ADC测量系统的应用工程师是很重要的知识点,而对于要新设计一个单片机ADC测量系统的研发工程师更是必须掌握的基本知识。
本文将以STC最新系列的单片机为例来进行介绍。
一、直流信号的ADC测量系统指标
通常对于一个ADC测量器件/系统的性能,可以用ADC的路数、ADC的位数和每秒ADC的变换次数对数(以10为底数)这三个指标来进行衡量。本文下面将用A、B、C、D、E五个类来分别衡量。
对于只用一片单片机作为核心的ADC数字测量系统,这三个指标是互相制约的,因此一般用被称为“ADC的性能体积”的这三个指标的乘积,来综合衡量ADC器件的性能,这个指标越大越好。
(1)ADC路数:A类 大于等于16路, B类12路,C类8路,D类4路,E类小于等于2路。
(2)ADC的位数:A类大于等于16位,B类14位,C类12位,D类10位,E类小于等于8位。
(3)每秒ADC变换次数:A类大于等于100KHz,B类10KHz,C类1KHz,D类100Hz,E类小于等于10Hz。
(4)使用STC8H8K,使用传统的中断定时方法,有两种边界类型的ADC测量系统。
一种是高速产品:ADC路数为2路(指标=2),ADC的位数为12位(指标=12),每秒ADC变换次数为100KHz(指标=5),ADC的性能体积=120。
另一种是低速产品(用于监测):ADC路数为8路(指标=8),ADC的位数为17位(指标=17,注:累加1024次,XDATA=2KB),每秒ADC变换次数为10Hz(指标=1),ADC的性能体积=136。
(5)这两个例子说明:使用传统的中断定时方法,STC8H8K的“ADC的性能体积”应该在150左右,小于这个性能的ADC器件都可以实现。
另外,如果使用STC单片机先进的DMA功能,对于STC8H8K单片机,性能至少应该提高log(20)+1=2.3倍(估计值),“ADC的性能体积”应该达到150*2.3=345以上
(6)如果使用STC32G系列,使用DMA的ADC的性能体积应该提高log(5)+1=1.24倍(估计值)以上,达到428以上。
(7)如果使用STC32F系列,由于可以直接使用单精度浮点数进行累加,ADC的位数可以达到恐怖的20位,这时就看你的外部器件和电路设计以及工艺水平有多高了。因此STC32F系列单片机的ADC的性能体积比STC32G系列单片机的应该再提高20/12=1.25倍(估计值)以上,达到535以上。

(8)以STC32开源示波器为例,其性能指标如下图:
Fig01_STC32开源示波器.jpg
ADC路数为1路(指标=1),ADC的位数为8位(指标=8),每秒ADC变换次数为500KHz(指标=5.7),ADC的性能体积=45.6。
该示波器使用传统的定时采样方法,45.6的指标远未达到186左右的极限指标(整个单片机只进行ADC的测量),因此还剩有足够的CPU时间了进行各种数字处理,包括支持TFT的屏幕刷新,串口数据传输等各种数字示波器功能。
二、交流信号的ADC测量系统指标
(9)以上计算的ADC测量系统的“直流变换”性能,对于像数字示波器这样的交流波形信号测量,上面三个指标对应示波器的测量路数、示波器的测量精度和示波器的交流频带宽度,这三个指标的乘积被也作为衡量示波器的综合性能的指标。
PS:这三个指标的乘积在上个世纪的信息论中也被称为单位时间的“维纳信号体积”。
(10)按照采样定律,对于连续信号采用累加代替积分求面积然后再求平均值会带来误差,因此每个信号周期内对波形必须进行多次采样累加来减少这种采样误差,这样数字示波器的能够正常显示和正确测量的交流信号波形的输入频率就比直流ADC采样率要低许多。比如对于正弦波而言,一个周期至少要采用24个点(每15度采样一个点),这时示波器的信号带宽要比直流ADC采样率低24倍。
因此一般按照比直流ADC采样率低10倍的频率来设计数字示波器这样的交流信号ADC测量系统的模拟频带宽度,或者反过来用模拟频带宽度来计算数字采样率。
(11)同样以上图的STC32开源示波器为例,数字采样率为500KHz,那么可正确测量的模拟信号带宽为50KHz的正弦波。其模拟电路设计和实现100KHz的带宽(2倍冗余),正好与数字采样相匹配。
三、交流低频、中频和高频系统的ADC测量系统指标
(12)由于单片机上的ADC器件都是直流电压测量器件,因此对交流进行ADC测量的单片机系统有两种工作方式,一种是先将交流整流为直流后再与单片机进行,另一种直接对交流信号波形进行ADC数字采样后通过算法进行。如前面介绍,采用后一种方法要求ADC采样率比信号频率要高一个量级。
(13)在通常的机电系统中,ADC测量系统只是机电闭环控制或者开环控制的一个部分,前者比如交流电机或者调速电机的控制,后者比如远程数据采用系统或者数字测量仪器。
如果作为ADC测量系统的单片机同时承担着机电系统的控制,在交流系统中就有两种方法可以选择,具体的可以根据需要测量的“ADC的性能体积”占整个单片机的极限“ADC的性能体积”的比例来选择。
(13)通常的低频系统指50Hz这个量级的交流机电控制系统。在这个级别的系统中,对于用STC单片机进行机电控制,其中ADC测量系统只是整个闭环控制系统一个部分,无论采用哪种方法都是可行的。
比如遥控小车比赛或者是四轴无人机控制。因为这些使用PWM的直流电机控制系统或者使用无刷电机的控制系统,其闭环控制时间在0.01秒范围即可,在这些场景中“ADC的性能体积”很小,甚至STC15系列单片机也就可以了。对于STC8H等高性能单片机,甚至还有足够的计算能力去处理光学等功能,实现一维CCD视觉小车控制。
(14)通常的高频系统是指频率在300~450kHz之间的“高频焊”,频率在50kHz左右的“电阻焊”,以及频率在200kHz — 3MHz之间的“医用高频电刀”。
在这个频率上,用STC单片机做ADC测量系统,只能采用先整流,后ADC采样的技术路线。由于在先整流的系统中,单片机面对的已经是直流信号了,这时可以按照前面的直流系统来计算“ADC的性能体积”,这时的采样频率是实际控制系统的需要的频率,不是高频的工作频率,因此对单片机的性能需求大大降低,而单片机富裕的性能可以用来提高测量的精度。
(15)通常的中频系统是指频率在150~2500Hz之间的“中频感应电炉”。这时的ADC系统采用哪一种方案,就要看具体情况了,不但要看ADC的性能体积,还要看单片机是否承担闭环控制的功能,有时还要看单片机是否要工作在微功耗条件。
(16)比如对于400Hz这样的中频电炉,要求ADC精度为16位(万分之一),需要4路ADC采集,如果不采用先整流的方案,则信号采样率要高达4KHz,这时ADC的性能体积=230,已经超过STC8H8K的传统定时采样的极限指标了。这时不论ADC测量系统每秒钟测量几次,阵发的测量高峰都是不行的了(主要是ADC精度提高4位,ADC采样次数要提高8位=256次,采样频率要达到4KHz*256=1MHz)。
按照这个指标,如果用STC8H8K系列单片机,则只能用DMA的方法,或者采用性能更高的STC32G系列单片机。
四、结论
ADC测量尤其是用DMA进行ADC测量是STC单片机的核心功能之一,学会和掌握直流系统和交流系统中的单片机ADC测量系统的“ADC的性能体积”指标的计算方法,提高自身的理论水平,对于STC单片机应用系统的研发人员是必备的本领之一。

与STC单片机ADC片上设备对应的是STC单片机的特色PWM片上设备,对其也有一些重要的理论指标和计算公式,待后文继续介绍。


回复 送花

使用道具 举报

该用户从未签到

6

主题

16

回帖

821

积分

高级会员

积分
821
发表于 2023-5-17 10:22:22 | 显示全部楼层
非常受用,期待后面的介绍
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:57
  • 签到天数: 143 天

    [LV.7]常住居民III

    13

    主题

    280

    回帖

    3258

    积分

    论坛元老

    积分
    3258
    发表于 2023-5-18 13:52:09 | 显示全部楼层
    对ADC又有了更深层次的了解,太好啦。这个论坛太棒了,知识量太丰富了,感谢各位大佬的分享,
    众辕汽修,专业汽车维修
    回复 支持 0 反对 1 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 05:31
  • 签到天数: 58 天

    [LV.5]常住居民I

    4

    主题

    89

    回帖

    448

    积分

    中级会员

    积分
    448
    发表于 2024-4-11 17:54:28 | 显示全部楼层
    学习中
     
    经常看看,偶尔玩玩——不过都是简单的,难的我也不会呀
     
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-29 04:17 , Processed in 0.059556 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表