CN116736767A - 一种基于单片机的整周期循环波形信号生成方法 - Google Patents
一种基于单片机的整周期循环波形信号生成方法 Download PDFInfo
- Publication number
- CN116736767A CN116736767A CN202310673309.6A CN202310673309A CN116736767A CN 116736767 A CN116736767 A CN 116736767A CN 202310673309 A CN202310673309 A CN 202310673309A CN 116736767 A CN116736767 A CN 116736767A
- Authority
- CN
- China
- Prior art keywords
- waveform
- singlechip
- signal
- digital
- discrete values
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 title claims abstract description 12
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24215—Scada supervisory control and data acquisition
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开了一种基于单片机的整周期循环波形信号生成方法,包括:设定生成波形信号的频率和最大相对频偏;设定单片机定时器时钟周期、数模转换器的最小触发时间间隔和数模转换器的分辨率;基于频偏要求估计波形离散值个数;估计波形离散值对应的信号周期数和时间离散间隔对应的时钟周期数;基于实际采用的信号周期数和时间离散间隔更新波形离散值个数;计算信号在预估的整数个周期内的波形离散值并预存于存储器中;启动单片机的定时器、直接存储器存取控制器与数模转换器,单片机将在直接存储器存取控制器的控制下自动生成预设的波形信号,无需扩展单片机外围器件,直接由单片机生成高质量波形信号,节省电路、降低成本并提高系统的可靠性。
Description
技术领域
本发明属于信号生成技术领域,具体涉及一种基于单片机的整周期循环波形信号生成方法。
背景技术
基于信号生成技术产生各种指定参数的波形信号,在通信、导航、航空航天、雷达、医疗、仪器仪表等领域有着极其广泛的应用。直接数字频率合成(DDS)技术能够对信号的频率与相位进行精确控制,是目前普遍采用的波形信号生成技术。目前基于DDS技术生成高质量的波形信号主要有两种实现方案,一是利用DDS专用芯片直接生成波形信号,二是借助FPGA实现DDS而生成波形信号。
随着微电子技术的发展,单片机的主频和CPU的数据处理位数越来越高、存储器的容量越来越大、片内集成的外设也越来越丰富,电子装置的诸多功能由单片机直接实现已成为必然趋势。但是,由于片内集成有DDS波形信号生成模块的单片机尚未出现,现有的能够对频率与相位进行精确控制的波形信号生成方法均需利用专用DDS芯片或FPGA器件,不能由单片机直接实现。正是在此背景下,本专利给出一种直接由单片机实现波形信号生成的技术方案。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种基于单片机的整周期循环波形信号生成方法,无需扩展单片机外围器件,直接由单片机生成频率与相位精确可控的高质量波形信号。
为了实现上述目的,本发明采用以下技术方案予以实现:
一种基于单片机的整周期循环波形信号生成方法,包括以下步骤:
步骤一、设定生成波形信号的频率fs和最大相对频偏em;
选取片内集成有静态数据存储器、直接存储器存取控制器、定时器和数模转换器的单片机,设定定时器时钟周期tc、数模转换最小触发时间间隔tmin和数模转换分辨率q;
步骤二、基于频偏要求估计波形离散值个数Ns;
步骤三、估计波形离散值对应的信号周期数NT和时间离散间隔对应的时钟周期数Ar;
步骤四、基于实际采用的信号周期数和时间离散间隔更新波形离散值个数Ns;
步骤五、计算信号在NT个周期内的Ns个波形离散值并预存于存储器中;
步骤六、启动单片机的定时器、直接存储器存取控制器与数模转换器,单片机将在直接存储器存取控制器的控制下自动生成预设的波形信号。
优选的,步骤二中所述的波形离散值个数Ns的计算公式为:Ns=round(1/em),其中,函数round(·)为4舍5入取整函数。
优选的,步骤三中所述的信号周期数NT的计算公式为:NT=ceil(Ns tmin fs),其中,函数ceil(·)为向上取整函数;
时钟周期数Ar的计算公式为:Ar=round(NT/(Ns fs tc))。
优选的,步骤四中更新的波形离散值个数Ns的计算公式为:Ns=round(NT/(Ar fstc))。
优选的,步骤五中信号在NT个周期内的Ns个波形离散值的计算公式为:
Vs[n]=round[(2q-1-1)sin(2πnNT/Ns)+2q-1」(n=0,1,……,Ns-1);
式中,q为单片机片上数模转换器的分辨率,用二进制位数表示。
本发明与现有技术相比,具有如下技术效果:
本发明借助片内集成有静态数据存储器、定时器、直接存储器存取控制器和数模转换器的单片机,无需引入专用DDS或FPGA等外围器件即可生成预设的波形信号,节省电路、降低成本并提高系统的可靠性;
本发明中波形信号的生成是在单片机片内直接存储器存取控制器的控制下自动将预存的波形数据顺序、循环地传送至数模转换器而实现的,完全不占用CPU时间;
本发明通过在多个整周期内对预设波形信号进行等分离散,增大了波形信号的离散值个数Ns,保证了生成信号的频率与相位精确可控。
附图说明
图1为预设频率fs为10KHz时整周期循环法生成正弦信号的显示波形;
图2为预设频率fs为100KHz时整周期循环法生成正弦信号的显示波形。
具体实施方式
以下结合实施例对本发明的具体内容做进一步详细解释说明。
本实施例给出一种基于单片机的整周期循环波形信号生成方法,包括以下步骤:
步骤一、设定生成波形信号的频率fs和最大相对频偏em;综合考虑预设波形信号的最大相对频偏em、最大频率fs和波形质量等指标要求,对单片机进行选型。所选单片机的片内必须集成有静态数据存储器、直接存储器存取控制器、定时器和数模转换器。其次,依据所选的单片机确定定时器的时钟周期tc、最小数模转换器时间间隔tmin以及数模转换器分辨率q等参数。单片机以自动循环直接存储器存取方式顺序读取预存的波形数据并送至数模转换器,触发相邻两次直接存储器存取操作的时间间隔不得小于tmin。
步骤二、基于频偏要求估计波形离散值个数Ns;Ns=round(1/em),其中,函数round(·)为4舍5入取整函数。例如,当要求相对频偏在±1%之内时,取Ns=100。
步骤三、估计波形离散值对应的信号周期数NT和时间离散间隔对应的时钟周期数Ar;
NT=ceil(Ns tminfs),其中,函数ceil(·)为向上取整函数;
Ar=round(NT/(Ns fs tc))。
步骤四、基于实际采用的信号周期数和时间离散间隔更新波形离散值个数Ns;
Ns=round(NT/(Arfs tc))
步骤五、计算信号在NT个周期内的Ns个波形离散值并预存于存储器中;
Vs[n]=round[(2q-1-1)sin(2πnNT/Ns)+2q-1」(n=0,1,……,Ns-1);
式中,q为单片机片内数模转换器的分辨率,用二进制位数表示。
步骤六、启动单片机的定时器、直接存储器存取控制器与数模转换器,单片机将在直接存储器存取控制器的控制下自动生成预设的波形信号。
测试中采用型号为STM32F407ZGT的中高端单片机。该单片机的主要特色有:系统时钟频率fsys=168MHz,容量为192KB的SRAM,支持最大64K个离散值循环传送的直接存储器存取控制器,12位的高速数模转换器。采用输入时钟频率fc=84MHz的基本定时器触发直接存储器存取控制器,进而自动完成预存波形数据至数模转换器的传送并生成波形信号。
图1和图2分别给出了Ns=10000时预设频率fs分别为10KHz与100KHz时生成正弦信号的示波器测量结果。可以看出生成信号的波形好,实际频率(见图右上角)分别为10.000KHz和100.01KHz,频率精度高。
以上具体实施例仅是为清楚地说明本发明所能达到的效果所选出的例子,不能简单认为是本发明的全部实施方案。对于所属领域的从业人员来说,在以上方案说明的基础上还可以做出其他变动,在此无法进行穷举。凡在本发明的设计原则下引申出的任何数值上的改变依然属于本发明权利要求保护范围内。
Claims (5)
1.一种基于单片机的整周期循环波形信号生成方法,其特征在于,包括以下步骤:
步骤一、设定生成波形信号的频率fs和最大相对频偏em;
选取片内集成有静态数据存储器、直接存储器存取控制器、定时器和数模转换器的单片机,设定定时器时钟周期tc、数模转换最小触发时间间隔tmin和数模转换分辨率q;
步骤二、基于频偏要求估计波形离散值个数Ns;
步骤三、估计波形离散值对应的信号周期数NT和时间离散间隔对应的时钟周期数Ar;
步骤四、基于实际采用的信号周期数和时间离散间隔更新波形离散值个数Ns;
步骤五、计算信号在NT个周期内的Ns个波形离散值并预存于存储器中;
步骤六、启动单片机的定时器、直接存储器存取控制器与数模转换器,单片机将在直接存储器存取控制器的控制下自动生成预设的波形信号。
2.如权利要求1所述的基于单片机的整周期循环波形信号生成方法,其特征在于,步骤二中所述的波形离散值个数Ns的计算公式为:Ns=round(1/em),其中,函数round(·)为4舍5入取整函数。
3.如权利要求1所述的基于单片机的整周期循环波形信号生成方法,其特征在于,步骤三中所述的信号周期数NT的计算公式为:NT=ceil(Nstminfs),其中,函数ceil(·)为向上取整函数;
时钟周期数Ar的计算公式为:Ar=round(NT/(Nsfstc))。
4.如权利要求1所述的基于单片机的整周期循环波形信号生成方法,其特征在于,步骤四中更新的波形离散值个数Ns的计算公式为:Ns=round(NT/(Arfstc))。
5.如权利要求1所述的基于单片机的整周期循环波形信号生成方法,其特征在于,步骤五中信号在NT个周期内的Ns个波形离散值的计算公式为:
Vs[n]=round[(2q-1-1)sin(2πnNT/Ns)+2q-1」(n=0,1,……,Ns-1);
式中,q为单片机片内数模转换器的分辨率,用二进制位数表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310673309.6A CN116736767A (zh) | 2023-06-08 | 2023-06-08 | 一种基于单片机的整周期循环波形信号生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310673309.6A CN116736767A (zh) | 2023-06-08 | 2023-06-08 | 一种基于单片机的整周期循环波形信号生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116736767A true CN116736767A (zh) | 2023-09-12 |
Family
ID=87912688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310673309.6A Pending CN116736767A (zh) | 2023-06-08 | 2023-06-08 | 一种基于单片机的整周期循环波形信号生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116736767A (zh) |
-
2023
- 2023-06-08 CN CN202310673309.6A patent/CN116736767A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1548543B1 (en) | Low jitter direct digital synthesizer | |
US5588004A (en) | Bus synchronizing method and system based thereon | |
CN102195648A (zh) | 输出装置及测试装置 | |
JP2016538538A (ja) | エッジステアリングを備えた自動試験システム | |
CN113949378A (zh) | 面积小和功耗低的时间数字转换器 | |
US20050248374A1 (en) | Method and apparatus for improving the frequency resolution of a direct digital synthesizer | |
CN113434006A (zh) | 一种基于dds的高分辨率脉冲波形产生装置 | |
JP4425537B2 (ja) | 試験装置、及び試験方法 | |
US20130246831A1 (en) | Selection device, selection method and information processing device | |
CN116736767A (zh) | 一种基于单片机的整周期循环波形信号生成方法 | |
US7760119B2 (en) | Waveform generator and test apparatus | |
KR940001682B1 (ko) | 타이밍신호 발생기 | |
CN210136298U (zh) | 一种航空保障装备电学参数通用校准装置 | |
CN107271891B (zh) | 一种序列脉冲上升沿加抖的装置 | |
CN107276568B (zh) | 一种序列脉冲下降沿加抖的装置 | |
CN116483161A (zh) | 芯片内部时钟源调节方法、装置、设备及存储介质 | |
CN112649666B (zh) | 芯片的扫频装置、方法和电子设备 | |
US7114092B2 (en) | Method of supplying a required clock frequency by a clock generator module through interface communication with a mainboard | |
CN114489233A (zh) | 一种相位可调任意波形发生器 | |
JP5332972B2 (ja) | デカップリング容量決定方法、デカップリング容量決定装置およびプログラム | |
JP4721919B2 (ja) | 補正方法および補正装置 | |
CN108572345A (zh) | 示波器,基于欠采样对频率准确度进行校正的方法、系统 | |
CN112649667B (zh) | 芯片的扫频装置、方法和电子设备 | |
Loskutov et al. | Testing system for analog devices direct digital synthesizer | |
CN1376931A (zh) | 基于事件的半导体测试系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |