摘 要:信號(hào)發(fā)生器在當(dāng)今通信、電子測量儀表等電子系統(tǒng)中起著至關(guān)重要的作用,它用于產(chǎn)生穩(wěn)定的頻率和幅度信號(hào)。為了契合目前電子設(shè)計(jì)研究的發(fā)展目標(biāo)與要求,信號(hào)發(fā)生器系統(tǒng)應(yīng)朝著簡單化、便攜化、可控化的方向發(fā)展。文中實(shí)現(xiàn)了一種基于物聯(lián)網(wǎng)的信號(hào)發(fā)生器。該信號(hào)發(fā)生器系統(tǒng)主要由STM32單片機(jī)主控模塊、AD9833信號(hào)發(fā)生器模塊、HC-05藍(lán)牙模塊、LCD液晶屏顯示模塊構(gòu)成。其中,AD9833芯片的功能是使信號(hào)發(fā)生器模塊產(chǎn)生三角波、正弦波和方波信號(hào)。STM32單片機(jī)主控模塊與信號(hào)發(fā)生器模塊相連,從而實(shí)現(xiàn)對(duì)信號(hào)波形的調(diào)制功能。而后,借助HC-05藍(lán)牙模塊,上位機(jī)能夠?qū)π盘?hào)發(fā)生器產(chǎn)生的波形進(jìn)行遠(yuǎn)程控制調(diào)節(jié)。采用這種設(shè)計(jì)方法的信號(hào)發(fā)生器系統(tǒng)可工作于調(diào)制狀態(tài),它不但能調(diào)節(jié)輸出電平,而且可輸出各種波形,從而能夠適應(yīng)大多數(shù)應(yīng)用場合。
關(guān)鍵詞:物聯(lián)網(wǎng);信號(hào)發(fā)生器;STM32;AD9833;藍(lán)牙;調(diào)制波形
中圖分類號(hào):TP39;TN923 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2025)07-0-04
0 引 言
信號(hào)發(fā)生器能夠產(chǎn)生穩(wěn)定的頻率和幅度信號(hào),具備高精確度、高性能和便攜性等特點(diǎn)。在當(dāng)今的通信、電子測量儀表等電子系統(tǒng)里,它發(fā)揮著極為重要的作用。幾乎在對(duì)所有電子設(shè)備電參數(shù)值進(jìn)行檢測時(shí),都會(huì)用到信號(hào)發(fā)生器,比如在生物醫(yī)學(xué)電子信息領(lǐng)域,它可作為模擬生物醫(yī)學(xué)電信號(hào)的設(shè)備[1]。DDS技術(shù)的誕生改變了傳統(tǒng)信號(hào)發(fā)生的方式,它采用數(shù)字頻率合成技術(shù),根據(jù)奈奎斯特采樣定理從連續(xù)信號(hào)的相位出發(fā),對(duì)信號(hào)進(jìn)行取樣、編碼,形成對(duì)應(yīng)的函數(shù)表存放在系統(tǒng)ROM中;在合成時(shí),利用頻率控制字改變相位的增量(即步長),不同的相位增量可產(chǎn)生不同頻率的信號(hào)。采用這種方法設(shè)計(jì)的信號(hào)發(fā)生芯片大大簡化了電路結(jié)構(gòu),且有較高的靈活性[2]。在傳統(tǒng)信號(hào)發(fā)生器的研究中,基本都著眼于提高其精度,少有對(duì)信號(hào)發(fā)生器的數(shù)據(jù)傳輸和遠(yuǎn)程調(diào)制進(jìn)行研究。在一些特殊的使用環(huán)境下,這會(huì)極大地增加信號(hào)發(fā)生器的使用困難和成本。因此,本文設(shè)計(jì)了一款基于物聯(lián)網(wǎng)的信號(hào)發(fā)生器,通過與物聯(lián)網(wǎng)技術(shù)相結(jié)合,可實(shí)現(xiàn)對(duì)輸出信號(hào)的遠(yuǎn)程調(diào)制功能。
1 總體設(shè)計(jì)
該信號(hào)發(fā)生器系統(tǒng)以STM32F103RCT6單片機(jī)為主控模塊,該模塊的主要作用為分析處理數(shù)據(jù)信息。AD9833被用作信號(hào)發(fā)生器模塊,重點(diǎn)實(shí)現(xiàn)正弦波、三角波、方波的輸出功能。HC-05藍(lán)牙模塊是系統(tǒng)無線通信的基礎(chǔ),它將單片機(jī)與手機(jī)或其他上位機(jī)相連以進(jìn)行通信,使系統(tǒng)具備物聯(lián)網(wǎng)功能,進(jìn)而實(shí)現(xiàn)遠(yuǎn)端調(diào)控波形參數(shù)的功能。LCD液晶顯示屏作為系統(tǒng)的顯示模塊,用于顯示從上位機(jī)接收的數(shù)據(jù)信息和藍(lán)牙連接狀態(tài),如此便實(shí)現(xiàn)了信號(hào)源的遠(yuǎn)程調(diào)制。系統(tǒng)的設(shè)計(jì)框圖如圖1所示。
2 信號(hào)發(fā)生器模塊
信號(hào)發(fā)生器模塊采用AD9833芯片集成模塊。AD9833是一款可編程波形發(fā)生器,具有高精度、低功耗、結(jié)構(gòu)簡單、體積小等特點(diǎn),具備串行接口功能[3]。它板載25 MHz有源晶振、100 Mb/s高速放大器,還具備低通濾波功能。該模塊能產(chǎn)生0~12.5 MHz的正弦波、三角波、方波信號(hào),信號(hào)頻率分辨率可達(dá)0.1 Hz。通過單片機(jī)可對(duì)其進(jìn)行數(shù)控調(diào)頻、調(diào)幅和波形切換,易于調(diào)節(jié)[4]。AD9833適用于各種簡單和復(fù)雜的調(diào)制方案,運(yùn)用DSP技術(shù)能簡化復(fù)雜的調(diào)制算法且保證精確性,這一調(diào)制方案在各個(gè)設(shè)計(jì)領(lǐng)域得到了廣泛應(yīng)用。
為控制AD9833輸出正弦波與三角波的峰峰值,引入數(shù)字電位器MCP41010以實(shí)現(xiàn)對(duì)輸出信號(hào)的分壓。通過調(diào)節(jié)數(shù)字電位器的抽頭位置來改變抽頭電壓值[5]。如此一來,單片機(jī)只需向AD9833發(fā)送頻率和波形數(shù)據(jù),再向MCP41010數(shù)字電位器發(fā)送幅值數(shù)據(jù),就能對(duì)輸出信號(hào)的參數(shù)進(jìn)行調(diào)節(jié)與控制。AD9833芯片和MCP41010電位器共用數(shù)據(jù)口與時(shí)鐘口,且各自采用不同的片選,因此單片機(jī)只需4個(gè)I/O接口即可。AD9833信號(hào)發(fā)生器模塊原理圖如圖2所示。
STM32單片機(jī)與信號(hào)發(fā)生器模塊的硬件連接如下:將AD9833的VDD引腳連接到3.3 V電源,GND引腳接地;AD9833的SDATA、SCLK和FSYNC引腳連接到SPI接口對(duì)應(yīng)的引腳,其中SDATA引腳連接到STM32的SPI數(shù)據(jù)線,SCLK引腳連接到STM32的SPI時(shí)鐘線,F(xiàn)SYNC連接任意GPIO引腳用于選擇頻率或相位寄存器。AD9833芯片的管腳定義如圖3所示,信號(hào)發(fā)生器模塊與STM32單片機(jī)連接線如圖4所示。
3 主控模塊
STM32F103RCT6主控模塊具備以下特點(diǎn):其一,高性能。STM32F103系列單片機(jī)采用ARM Cortex-M3內(nèi)核,運(yùn)算速度快,處理能力強(qiáng)大,可迅速處理各類復(fù)雜算法與任務(wù)。其二,低功耗。該系列單片機(jī)擁有多種低功耗模式,既能有效延長設(shè)備使用壽命,又能確保芯片的穩(wěn)定性與可靠性。其三,豐富的外設(shè)接口。STM32F103系列單片機(jī)集成了諸如SPI接口、I2C接口、UART接口等多種外設(shè)接口,便于與外部設(shè)備通信和控制?;谝陨咸攸c(diǎn),選擇STM32F103RCT6作為主控芯片。目前,該芯片在醫(yī)療設(shè)備、智能家居、智能儀表、電子產(chǎn)品等各種嵌入式應(yīng)用中被廣泛使用。STM32的I/O口管腳圖如圖5所示。
STM32F103RCT6可以與ATK-MD0280液晶顯示屏直接連接,ATK-MD0280模塊屬于模塊化數(shù)字化電子產(chǎn)品,專為嵌入式系統(tǒng)設(shè)計(jì),是一款高性能2.8英寸TFTLCD電阻觸摸屏模塊,其擁有320×240的分辨率,支持16位色顯示;該模塊的性能和穩(wěn)定性非常好,被廣泛應(yīng)用于工業(yè)控制、通信、醫(yī)療設(shè)備等領(lǐng)域。它采用先進(jìn)的技術(shù),具有強(qiáng)大的處理能力和豐富的接口,可以方便地與其他設(shè)備進(jìn)行連接和通信[6]。
4 藍(lán)牙模塊
本設(shè)計(jì)選用HC-05藍(lán)牙模塊,這是一種主從一體的藍(lán)牙串口模塊[7]。它能夠與各類帶有藍(lán)牙功能的上位機(jī)(如電腦、手機(jī)等)配對(duì),并且兼容5 V或3.3 V的單片機(jī)系統(tǒng)。它通過串口與單片機(jī)進(jìn)行數(shù)據(jù)交互,通過設(shè)定特定的波特率,可與STM32單片機(jī)進(jìn)行串口連接[8]。該藍(lán)牙模塊配對(duì)連接成功后可當(dāng)作全雙工串口使用。具體操作流程為:首先將藍(lán)牙參數(shù)設(shè)置為該設(shè)計(jì)的對(duì)應(yīng)參數(shù),然后把STM32單片機(jī)與藍(lán)牙連接,接著將藍(lán)牙與上位機(jī)進(jìn)行配對(duì)連接,如此便能夠?qū)崿F(xiàn)單片機(jī)與上位機(jī)的無線通信功能。此功能就如同在STM32單片機(jī)和上位機(jī)之間虛擬出一根串口線,以進(jìn)行串口通信。
HC-05藍(lán)牙模塊存在命令響應(yīng)工作(AT)和自動(dòng)連接這兩種工作模式。在本次設(shè)計(jì)中,首先在命令響應(yīng)工作模式下把藍(lán)牙模塊設(shè)定為從機(jī)工作模式,并選擇波特率為9 600;接著,在自動(dòng)連接工作模式下讓藍(lán)牙模塊與單片機(jī)連接,且與上位機(jī)配對(duì)。之后,上位機(jī)向HC-05藍(lán)牙模塊發(fā)送簡單指令,HC-05藍(lán)牙模塊通過串口把數(shù)據(jù)傳輸給單片機(jī),以供單片機(jī)進(jìn)行分析處理。單片機(jī)分析完成后,依據(jù)分析出的結(jié)果控制AD9833產(chǎn)生波形信號(hào),從而實(shí)現(xiàn)輸出信號(hào)的遠(yuǎn)程調(diào)制。HC-05藍(lán)牙模塊引腳功能詳述見表1。HC-05藍(lán)牙模塊與開發(fā)板相應(yīng)端口的連接關(guān)系見表2。
5 程序設(shè)計(jì)
在該信號(hào)發(fā)生器系統(tǒng)的設(shè)計(jì)過程中,開發(fā)工具選用Keil μVision5,編程使用C語言庫函數(shù)。程序主要包含三個(gè)模塊:AD9833芯片寫入模塊、HC-05藍(lán)牙模塊以及LCD顯示模
塊[9]。其內(nèi)容涵蓋單片機(jī)的時(shí)鐘初始化、端口初始化、AD9833初始化、LCD初始化和藍(lán)牙初始化等。首先,將編寫無誤的程序燒錄進(jìn)單片機(jī)。接著,在斷電狀態(tài)下把STM32單片機(jī)與各模塊的硬件進(jìn)行連接,連接無誤后給STM32單片機(jī)上電。上電后,要依次完成藍(lán)牙模塊與STM32單片機(jī)的連接以及藍(lán)牙模塊與上位機(jī)的配對(duì)連接。上位機(jī)向HC-05藍(lán)牙模塊發(fā)送簡單指令,HC-05藍(lán)牙模塊通過串口將數(shù)據(jù)傳輸給單片機(jī),STM32單片機(jī)對(duì)接收到的指令進(jìn)行分析,然后根據(jù)分析結(jié)果控制AD9833產(chǎn)生波形信號(hào),從而實(shí)現(xiàn)上位機(jī)遠(yuǎn)端控制AD9833產(chǎn)生波形的功能。軟件設(shè)計(jì)流程如圖6所示。
6 系統(tǒng)測試
為保障該系統(tǒng)后續(xù)穩(wěn)定運(yùn)作并避免可能出現(xiàn)的故障,針對(duì)該系統(tǒng)設(shè)計(jì)了一個(gè)功能實(shí)現(xiàn)實(shí)驗(yàn),以觀察該設(shè)計(jì)的功能能否達(dá)到設(shè)計(jì)要求。
在本次測試中,需要不斷改變波形的頻率和幅值,具體方式為:本次試驗(yàn)程序設(shè)置上位機(jī)向藍(lán)牙發(fā)送指令“1~25”表示產(chǎn)生頻率范圍為1~25 kHz、幅值為100 mV的正弦波/三角波;發(fā)送指令“20~255”表示將波形幅值調(diào)節(jié)為296~3 580 mV(該數(shù)據(jù)由后續(xù)測試得出,程序輸入可調(diào)幅值范圍為0~255,即0~3 580 mV)。然后將示波器檢測到的波形參數(shù)記錄下來與程序編寫的參數(shù)值進(jìn)行對(duì)比。
正弦波的測試結(jié)果見表3;三角波的測試結(jié)果見表4。
從測試結(jié)果來看,本信號(hào)發(fā)生器系統(tǒng)所實(shí)現(xiàn)的功能基本符合預(yù)期。盡管其上位機(jī)控制產(chǎn)生的實(shí)際波形參數(shù)和實(shí)際程序輸入的參數(shù)值之間存在微小誤差,但就總體的驗(yàn)證與測試結(jié)果而言,本次設(shè)計(jì)的信號(hào)發(fā)生器系統(tǒng)基本滿足預(yù)期要求。
7 結(jié) 語
本文介紹了一種基于物聯(lián)網(wǎng)的信號(hào)發(fā)生器。該信號(hào)發(fā)生器可工作于調(diào)制狀態(tài),不僅可以控制輸出波形信號(hào)的類型,也可以遠(yuǎn)端調(diào)制輸出波形信號(hào)的幅值,具有工作穩(wěn)定、頻率精確度高、結(jié)構(gòu)簡單、體積小等優(yōu)點(diǎn)[10],更能適應(yīng)大多數(shù)應(yīng)用場合,具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] 劉鵬霄. 基于DDS的心電圖機(jī)檢測儀的研究[D].沈陽:東北大學(xué),2016.
[2] 沈輝,薛兵,唐朝陽,等.基于DDS技術(shù)的信號(hào)發(fā)生器設(shè)計(jì)[J].電子測量技術(shù),2020,43(20):160-164.
[3] 申慶華.基于AD9833的高精度函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)[J].電子測試,2021(19):38-40.
[4] 張萍.基于DDS的低頻信號(hào)發(fā)生器的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2016,35(6):106-109.
[5] 黃斌,洪嬴政,朱康生.基于AD9833的高精度可編程波形發(fā)生器系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,17(5):6-7.
[6] 意法半導(dǎo)體(中國)投資有限公司. STM32F103XC/STM32 F103XD/STN32F103XE 數(shù)據(jù)手冊(cè)[EB/OL].(2014-09-30)[2015-04-17]. https://www.st.com/resource/en/datasheet/stm32f103ze.pdf.
[7] 郭慧敏,孟游,遲少華,等.基于Android手機(jī)手勢和語音控制的人機(jī)交互系統(tǒng)設(shè)計(jì)[J].南京信息工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,11(2):216-220.
[8] 朱志平.基于MSP430的藍(lán)牙智能家居系統(tǒng)[J].渭南師范學(xué)院學(xué)報(bào),2016,31(4):324-325.
[9] 陳孟臻,陳瑩.基于DDS技術(shù)的函數(shù)信號(hào)發(fā)生器設(shè)計(jì)[J].沿海企業(yè)與科技,2018(6):18-21.
[10] 孫瑩瑩,盧京陽,劉思久,等.基于DDS與數(shù)字電位器的正弦信號(hào)發(fā)生器設(shè)計(jì)[J].電測與儀表,2012,49(7):93-96.
收稿日期:2024-05-10 修回日期:2024-06-13
基金項(xiàng)目:廣西醫(yī)科大學(xué)“未來學(xué)術(shù)之星-大學(xué)生課外創(chuàng)新科研課題”(WLXSZX23077)
作者簡介:周詩玲(2001—),女,研究方向?yàn)獒t(yī)學(xué)圖像處理與物聯(lián)網(wǎng)應(yīng)用。