CN103684263B - 一种基于单片机实现简易混合信号发生器的方法 - Google Patents
一种基于单片机实现简易混合信号发生器的方法 Download PDFInfo
- Publication number
- CN103684263B CN103684263B CN201310568079.3A CN201310568079A CN103684263B CN 103684263 B CN103684263 B CN 103684263B CN 201310568079 A CN201310568079 A CN 201310568079A CN 103684263 B CN103684263 B CN 103684263B
- Authority
- CN
- China
- Prior art keywords
- signal
- stitch
- chip microcomputer
- output
- dac0832
- 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.)
- Expired - Fee Related
Links
Landscapes
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Microcomputers (AREA)
Abstract
本发明公开了一种基于单片机实现简易混合信号发生器的方法。本发明利用单片机可实现混沌伪随机信号、正弦信号、方波信号、三角波信号及锯齿波信号的数字输出,通过DAC数模转换器实现模拟输出,经过运算放大器实现将DAC数模转换器输出的电流型信号转换为电压型信号。通过按键可以切换输出的信号类型以及信号频率。作为混沌信号发生器时,单片机的数据输出口P1口还可以作为一个有8路输出的随机序列发生器。该方法可以实现频率范围为0.1Hz到500Hz、幅度为0V到4.5V的信号输出。该电路结构简单,调试方便,稳定性好,能够很好地实现不同信号、不同频率的波形输出。
Description
技术领域
本发明属于电子通信领域,涉及一种基于单片机产生混合信号的方法,利用该方法可以产生混沌伪随机信号、正弦信号、方波信号、三角波信号以及锯齿波信号。具体涉及一种基于单片机的多用途简易混合信号发生器的实现方法。
背景技术
混沌信号具有随机性,可用以产生性能良好的伪随机序列而应用于通信、计算机、密码、科学研究和实验室等领域之中。目前已有一些混沌信号发生器模型,一般分为模拟电路和数字电路两种实现方法。其中模拟电路实现较为复杂,电路易受参数难以匹配的影响,混沌信号频率很难做大范围的调整。数字方式实现方法一般借助于嵌入式系统、FPGA和DSP等专用数字信号处理器实现,这些数字实现方法电路也较为复杂,成本较高,体积较大,一般不适合于要求便携等简单应用场合。另外,目前的混沌信号发生器往往只是产生单一混沌伪随机信号,而传统的函数信号发生器又往往仅产生一些诸如正弦波、三角波、方波等模拟或离散信号。
针对这些情况,该发明采用成本低廉的单片机作为核心处理芯片,用以实现一个简易的多用途混合信号发生器,除能够产生模拟和数字的混沌伪随机序列外,还能够产生正弦波、方波、三角波及锯齿波信号,结构简单,体积轻小,成本低廉,通过按键实现波形输出切换和频率改变,非常适合野外或运动途中的便携与实验研究,学生课外分散实验以及需要多种混合信号的其它场所。
发明内容
本发明针对现有技术的不足,提供了一种以单片机作为核心处理和控制芯片的多用途混合信号发生器。
本发明的理论基础:
(1)产生混沌信号的理论方法:依据新设计的一种离散迭代数学模型:
a
当时其迭代解是混沌的。
(2)产生正弦信号的方法:为克服单片机处理速度的限制,在此采用查找表法实现正弦信号的输出,即先将一个周期的正弦信号进行256等份离散,将每个离散点的值存贮在一个数据表中,在需要输出正弦信号时依次输出该表中的数据即可。
(3)产生方波信号的理论方法:依据的数学模型方程为:
b
(4)产生三角波信号的方法:依据的数学模型方程为:
c
(5)产生锯齿波信号的方法:依据的数学模型方程为:
d
混沌信号发生器由51单片机、DAC数模转换器、按键切换电路和运算放大器组成。由单片机计算产生五种数字信号数据(混沌信号、正弦信号、三角波信号、方波信号和锯齿波信号),该数字信号通过单片机输出后经DAC转换器转换为模拟信号,再由运算放大器将数模转换器输出的电流信号转换为电压信号,电压信号再经过一个增益可调的反相比例电路输出。
单片机上电后默认输出混沌信号,首先单片机产生一个随机数,将该随机数通过数学变换让这一随机数的值落在离散混沌方程X(n+1)=aX(n)-b(X(n))3的值域范围(0,1)内。变换后的随机数作为该混沌方程的初始值进行迭代运算,即可得到一个X(n)混沌序列,由于X(n)的值域在(0,1)之间,因此再对X(n)序列进行数学变换让其值落在[0,255)之间的整数点上。最后通过单片机的P1口将数据送出,此时可以得到一个8路输出的数字混沌序列,P1口和DAC转换器连接,亦可通过DAC数模转换器输出一个模拟的混沌信号。
通过按键切换可以选择输出一个正弦信号。由于51单片机是一个8位的低端处理器,做正弦运算时很低效,在此通过先存储一个周期的正弦表在单片机中,然后利用查表输出的方式产生正弦信号。单片机输出的正弦表数据经过DAC转换器后即可输出正弦信号,通过按键切换可以选择输出一个方波信号。利用单片机处理器实现方波信号输出比较简单,只需要交替输出0x0和0xFF两个数即可实现,通过按键切换可以选择输出一个三角波信号。首先利用单片机根据方程X(n)=n(n=0,1,2…255) 输出256个点;再根据方程X(n)=255-n(n=0,1,2…255)输出256个点即可得到一个周期的三角波信号;最后再周期输出三角波信号,通过按键切换可以选择输出一个锯齿波信号。利用单片机根据方程X(n)=n(n=0,1,2…255)输出256个点即可得到一个周期的锯齿波信号;最后再周期输出锯齿波信号。
通过按键可以选择输出信号的频率。单片机在每次输出信号的一组数据后都需要延时一段时间t,然后再输出下一组数据。根据频率设置键增加或者减小延时时间t即可改变信号输出的频率。
单片机正常工作时采用外部晶振提供工作频率,单片机STC12C2052AD的第4针脚XTAL2、第5针脚XTAL1之间连接一个11.0592MHz的石英晶体振荡器,且这两个针脚分别通过一个20pF的独石电容连接到地,对晶振提供简单的滤波处理;单片机的第1针脚RST和一个电阻R3、电容C1连接,电阻R3另一端接地,电容C1另一端接5V电源,组成一个RC充放电电路,为单片机提供一个上电复位脉冲;单片机的第10针脚接地;第20针脚接5V电源;采用单片机STC12C2052AD实现所需信号的数据计算,并把计算后的数据通过单片机的P1口送至数模转换芯片。单片机的第12、13、14、15、16、17、18、19针脚和DAC0832 的第7、6、5、4、16、15、14、13针脚连接。单片机的第7针脚和DAC0832的第2、18针脚相连,单片机的第8针脚和DAC0832的第19针脚相连,单片机第9针脚和DAC0832的第17针脚连接,单片机第11针脚和DAC0832的第1针脚连接。DAC0832的第8针脚转换参考电压Vref接+5V电源。DAC0832的第10针脚接地,第20针脚接+5V电源。
运算放大器TL082的第8针脚接+5V电源,第4针脚接-5V电源。DAC0832的第11、12针脚和TL082的第6、5针脚连接,第9针脚和TL082的第7针脚连接,TL082的第5针脚接地,此时TL082的第7针脚OutB即为DAC0832转换器的模拟信号输出端;TL082的第7针脚和第2针脚之间连接一个电阻R5,第2针脚和第1针脚之间连接一个可调电阻R6,第3针脚接地;此时通过第1针脚输出的信号幅度可由可变电阻R6调节。
由R1、R2、R4分别和K1、K2、K3构成三个开关电路,其中单片机STC12C2052AD的第2针脚P3.0和电阻R1、K1相连;第3针脚P3.1和电阻R2、K2相连;第6引脚和电阻R4、K3相连;电阻R1、R2、R4的另一端接+5V电源,开关K1、K2、K3的另一端接地;正常情况下,单片机第2、3、6针脚为高电平,当有按键按下后变为低电平;单片机根据此电平信号判断选择波形输出以及改变输出信号频率。
本发明的有益效果:
本发明提供了一种基于单片机实现简易混合信号发生器的方法,利用单片机可实现混沌信号、正弦信号、方波信号、三角波信号及锯齿波信号的数字输出,通过DAC数模转换器实现模拟输出,经过运算放大器实现将DAC数模转换器输出的电流型信号转换为电压型信号。通过按键可以切换输出的信号类型以及信号频率。作为混沌信号发生器时,单片机的数据输出口P1口还可以作为一个有8路输出的随机序列发生器。该电路可以实现频率范围为0.1Hz到500Hz、幅度为0V到4.5V的信号输出。该电路结构简单,成本很低,调试方便,稳定性好,其最大的优势是能够实现不同信号、不同频率的波形输出,即可产生模拟和数字的混沌伪随机信号,又可产生正弦波、方波、三角波及锯齿波信号,可广泛使用在需要提供多种信号的场所,适合野外或运动途中的便携与实验研究,学生课外分散实验等其它场所。
附图说明
图1本发明的电路结构图。
图2本发明的关键电路原理图。
图3本发明的关键软件流程图。
图4本发明的按键部分软件流程图。
具体实施方式
下面结合附图对本发明更进一步的详细说明。
一种基于单片机实现简易混合信号发生器的方法,如图1所示,由51单片机、DAC数模转换器、按键切换电路和运算放大器组成。由单片机计算产生五种数字信号数据(混沌信号、正弦信号、三角波信号、方波信号和锯齿波信号),该数字信号通过单片机输出后经DAC转换器转换为模拟信号,再由运算放大器将数模转换器输出的电流信号转换为电压信号,电压信号再经过一个增益可调的反相比例电路输出。
如图3所示,单片机上电后默认输出混沌信号,首先单片机产生一个随机数,将该随机数通过数学变换让这一随机数的值落在离散混沌方程X(n+1)=aX(n)-b(X(n))3的值域范围(0,1)内。变换后的随机数作为该混沌方程的初始值进行迭代运算,即可得到一个X(n)混沌序列,由于X(n)的值域在(0,1)之间,因此再对X(n)序列进行数学变换让其值落在[0,255)之间的整数点上。最后通过单片机的P1口将数据送出,此时可以得到一个8路输出的数字混沌序列, P1口和DAC转换器连接,亦可通过DAC数模转换器输出一个模拟的混沌信号。
通过按键切换可以选择输出一个正弦信号。由于51单片机是一个8位的低端处理器,做正弦运算时很低效,在此通过先存储一个周期的正弦表在单片机中,然后利用查表输出的方式产生正弦信号。单片机输出的正弦表数据经过DAC转换器后即可输出正弦信号,通过按键切换可以选择输出一个方波信号。利用单片机处理器实现方波信号输出比较简单,只需要交替输出0x0和0xFF两个数即可实现,通过按键切换可以选择输出一个三角波信号。首先利用单片机根据方程X(n)=n (n=0,1,2…255) 输出256个点;再根据方程X(n)=255-n(n=0,1,2…255)输出256个点即可得到一个周期的三角波信号;最后再周期输出三角波信号,通过按键切换可以选择输出一个锯齿波信号。利用单片机根据方程X(n)=n (n=0,1,2…255) 输出256个点即可得到一个周期的锯齿波信号;最后再周期输出锯齿波信号。
通过按键可以选择输出信号的频率。单片机在每次输出信号的一组数据后都需要延时一段时间t,然后再输出下一组数据。根据频率设置键增加或者减小延时时间t即可改变信号输出的频率。
如图2所示,单片机正常工作时采用外部晶振提供工作频率,单片机STC12C2052AD的第4针脚XTAL2、第5针脚XTAL1之间连接一个11.0592MHz的石英晶体振荡器,且这两个针脚分别通过一个20pF的独石电容连接到地,对晶振提供简单的滤波处理;单片机的第1针脚RST和一个电阻R3、电容C1连接,电阻R3另一端接地,电容C1正极性一端接5V电源,组成一个RC充放电电路,为单片机提供一个上电复位脉冲;单片机的第10针脚接地;第20针脚接5V电源;采用单片机STC12C2052AD实现所需信号的数据计算,并把计算后的数据通过单片机的P1口送至数模转换芯片。单片机的第12、13、14、15、16、17、18、19针脚和DAC0832 的第7、6、5、4、16、15、14、13针脚连接。单片机的第7针脚和DAC0832的第2、18针脚相连,单片机的第8针脚和DAC0832的第19针脚相连,单片机第9针脚和DAC0832的第17针脚连接,单片机第11针脚和DAC0832的第1针脚连接。DAC0832的第8针脚转换参考电压Vref接+5V电源。DAC0832的第10针脚接地,第20针脚接+5V电源。
所述一种基于单片机实现简易混合信号发生器的方法,其特征在于:运算放大器TL082的第8针脚接+5V电源,第4针脚接-5V电源。DAC0832的第11、12针脚和TL082的第6、5针脚连接,第9针脚和TL082的第7针脚连接,TL082的第5针脚接地,此时TL082的第7针脚OutB即为DAC0832转换器的模拟信号输出端;TL082的第7针脚和第2针脚之间连接一个电阻R5,第2针脚和第1针脚之间连接一个可调电阻R6,第3针脚接地;此时通过第1针脚输出的信号幅度可由可变电阻R6调节。
由R1、R2、R4分别和K1、K2、K3构成三个开关电路,其中单片机STC12C2052AD的第2针脚P3.0和电阻R1、K1相连;第3针脚P3.1和电阻R2、K2相连;第6引脚和电阻R4、K3相连;电阻R1、R2、R4的另一端接+5V电源,开关K1、K2、K3的另一端接地;正常情况下,单片机第2、3、6针脚为高电平,当有按键按下后变为低电平;单片机根据此电平信号判断选择波形输出以及改变输出信号频率。
当然,上述说明并非对发明的限制,本发明也不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也属于本发明的保护范围。
Claims (2)
1.一种基于单片机实现简易混合信号发生器的方法,该信号发生器由单片机、DAC转换器、按键切换电路和运算放大器组成;由单片机计算产生五种数字信号数据,该数字信号通过单片机输出后经DAC转换器转换为模拟信号,再由运算放大器将数模转换器输出的电流信号转换为电压信号,电压信号再经过一个增益可调的反相比例电路输出;
所述的五种数字信号数据分别是:混沌信号、正弦信号、三角波信号、方波信号和锯齿波信号;
所述的单片机型号为STC12C2052AD;
其特征在于:
产生混沌信号具体是:单片机上电后默认输出混沌信号,首先单片机产生一个随机数,将该随机数通过数学变换让这一随机数的值落在离散混沌方程X(n+1)=aX(n)-b(X(n))3的值域范围(0,1)内,b>0,a∈(1,3),n=0,1,2...N,N为自然数,当a∈(2.3,3.0)时其迭代解是混沌的;变换后的随机数作为该混沌方程的初始值进行迭代运算,即可得到一个X(n)混沌序列,由于X(n)的值域在(0,1)之间,因此再对X(n)序列进行数学变换让其值落在[0,255)之间的整数点上;最后通过单片机的P1口将数据送出,此时可以得到一个8路输出的数字混沌序列,P1口和DAC转换器连接,通过DAC转换器输出一个模拟的混沌信号;
产生正弦信号具体是:通过按键切换电路选择输出一个正弦信号,通过先存储一个周期的正弦表在单片机中,然后利用查表输出的方式产生正弦信号;单片机输出的正弦表数据经过DAC转换器后即可输出正弦信号;
产生三角波信号具体是:通过按键切换电路选择输出一个三角波信号;首先利用单片机根据方程X(m)=m;m=0,1,2…255输出256个点;再根据方程X(m)=255-m输出256个点即可得到一个周期的三角波信号;最后再周期输出三角波信号;
产生方波信号具体是:通过按键切换电路选择输出一个方波信号;利用单片机交替输出0x0和0xFF两个数即可实现输出方波信号;
产生锯齿波信号具体是:通过按键切换电路选择输出一个锯齿波信号;利用单片机根据方程X(m)=m输出256个点即可得到一个周期的锯齿波信号;最后再周期输出锯齿波信号;
通过按键切换电路选择输出信号的频率;单片机在每次输出信号的一组数据后延时一段时间t,然后再输出下一组数据;根据频率设置键增加或者减小延时时间t即可改变信号输出的频率;
单片机正常工作时采用外部晶振提供工作频率,单片机的第4针脚XTAL2、第5针脚XTAL1之间连接一个11.0592MHz的石英晶体振荡器,且这两个针脚分别通过一个20pF的独石电容连接到地,对晶振提供简单的滤波处理;单片机的第1针脚RST和一个电阻R3、电容C1连接,电阻R3另一端接地,电容C1另一端接5V电源,组成一个RC充放电电路,为单片机提供一个上电复位脉冲;单片机的第10针脚接地;第20针脚接5V电源;采用单片机实现所需信号的数据计算,并把计算后的数据通过单片机的P1口送至数模转换芯片;单片机的第12、13、14、15、16、17、18、19针脚和DAC0832的第7、6、5、4、16、15、14、13针脚连接;单片机的第7针脚和DAC0832的第2、18针脚相连,单片机的第8针脚和DAC0832的第19针脚相连,单片机第9针脚和DAC0832的第17针脚连接,单片机第11针脚和DAC0832的第1针脚连接;DAC0832的第8针脚转换参考电压Vref接+5V电源;DAC0832的第10针脚接地,第20针脚接+5V电源;
运算放大器TL082的第8针脚接+5V电源,第4针脚接-5V电源;DAC0832的第11、12针脚和运算放大器TL082的第6、5针脚连接,第9针脚和运算放大器TL082的第7针脚连接,运算放大器TL082的第5针脚接地,此时TL082的第7针脚OutB即为DAC0832的模拟信号输出端;运算放大器TL082的第7针脚和第2针脚之间连接一个电阻R5,第2针脚和第1针脚之间连接一个可调电阻R6,第3针脚接地;此时通过第1针脚输出的信号幅度可由可变电阻R6调节;所述DAC0832为DAC转换器的主芯片。
2.根据权利要求1所述的一种基于单片机实现简易混合信号发生器的方法,其特征在于:由电阻R1、R2、R4分别和开关K1、K2、K3构成三个开关电路,其中单片机STC12C2052AD的第2针脚P3.0和电阻R1、K1相连;第3针脚P3.1和电阻R2、K2相连;第6引脚和电阻R4、K3相连;电阻R1、R2、R4的另一端接+5V电源,开关K1、K2、K3的另一端接地;正常情况下,单片机第2、3、6针脚为高电平,当有按键按下后变为低电平;单片机根据此电平信号判断选择波形输出以及改变输出信号频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310568079.3A CN103684263B (zh) | 2013-11-14 | 2013-11-14 | 一种基于单片机实现简易混合信号发生器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310568079.3A CN103684263B (zh) | 2013-11-14 | 2013-11-14 | 一种基于单片机实现简易混合信号发生器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103684263A CN103684263A (zh) | 2014-03-26 |
CN103684263B true CN103684263B (zh) | 2017-06-06 |
Family
ID=50320783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310568079.3A Expired - Fee Related CN103684263B (zh) | 2013-11-14 | 2013-11-14 | 一种基于单片机实现简易混合信号发生器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684263B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106774626B (zh) * | 2016-12-16 | 2018-04-13 | 山东大学 | 复合式信号产生系统及方法 |
CN108768609B (zh) * | 2018-05-29 | 2020-12-08 | 杭州电子科技大学 | 一种类似频率相关时延电光相位混沌动力学的分析方法 |
CN108833078A (zh) * | 2018-07-06 | 2018-11-16 | 顺德职业技术学院 | 频率混沌变化的锯齿波发生器 |
CN114035480A (zh) * | 2021-11-16 | 2022-02-11 | 西安西电电力系统有限公司 | 基于c51单片机的脉冲发生器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564459A (zh) * | 2004-04-20 | 2005-01-12 | 王林泽 | 混沌定时序列信号产生的方法 |
JP4493145B2 (ja) * | 2000-02-24 | 2010-06-30 | ヴェリジー(シンガポール) プライベート リミテッド | 任意波形発生器 |
-
2013
- 2013-11-14 CN CN201310568079.3A patent/CN103684263B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4493145B2 (ja) * | 2000-02-24 | 2010-06-30 | ヴェリジー(シンガポール) プライベート リミテッド | 任意波形発生器 |
CN1564459A (zh) * | 2004-04-20 | 2005-01-12 | 王林泽 | 混沌定时序列信号产生的方法 |
Non-Patent Citations (1)
Title |
---|
基于AT89S52单片机的混沌信号发生器设计;吕恩胜;《现代商贸工业》;20111231(第21期);第314-315页,图3 * |
Also Published As
Publication number | Publication date |
---|---|
CN103684263A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103684263B (zh) | 一种基于单片机实现简易混合信号发生器的方法 | |
CN104252550A (zh) | 一种基于fpga的高性能实时仿真方法 | |
Li et al. | Application of multisim simulation software in teaching of analog electronic technology | |
CN106200759A (zh) | 一种快速响应的混合信号发生器及其实现方法 | |
CN203054516U (zh) | 一种基于fpga的多波形信号发生器 | |
CN106444963A (zh) | 一种可编程dds任意波形信号发生器 | |
CN203708197U (zh) | 一种基于单片机的简易混合信号发生器电路 | |
CN102324887A (zh) | 一种基于混合神经网络的风力发电机稳定控制方法 | |
CN206058028U (zh) | 基于fpga的dds信号发生器 | |
CN205720332U (zh) | 一种多功能可编程信号发生器 | |
Gong et al. | Design and implementation of multifunctional virtual oscilloscope using USB data-acquisition card | |
CN203287407U (zh) | 一种高压大功率多次谐波发生装置 | |
CN203149428U (zh) | 一种三相程控精密测试电源 | |
CN110224809A (zh) | 一种基于pi型忆阻器的三阶非自治混沌信号发生器 | |
CN204993279U (zh) | 一种波形发生器 | |
CN105511353A (zh) | 低频信号发生器及信号调试方法 | |
CN201331862Y (zh) | 一种旋转矢量演示仪 | |
CN205844830U (zh) | 一种基于dsp的任意信号发生器 | |
CN205899431U (zh) | 一种基于单片机的函数信号发生器 | |
CN109030947B (zh) | 电子负载模拟直流电机等效阻抗的计算方法 | |
CN203104385U (zh) | 一种适用于电力系统的多谐波信号发生装置 | |
CN204946442U (zh) | 一种用于电子设计的创新实验平台 | |
CN203013026U (zh) | 一种数字逻辑及系统设计实验箱 | |
Nair et al. | Portable Wireless Multipurpose Signal Viewer, Analyzer and Generator Using ATMEGA328P MCU and Android | |
Limin | Function signal generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170606 Termination date: 20181114 |