999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32 的程控多路數(shù)字信號(hào)發(fā)生器設(shè)計(jì)

2023-08-24 03:47:22鈺,宋
自動(dòng)化與儀表 2023年8期
關(guān)鍵詞:信號(hào)

李 鈺,宋 建

(1.華南理工大學(xué) 廣東省高分子先進(jìn)制造技術(shù)及裝備重點(diǎn)實(shí)驗(yàn)室,廣州 510640;2.華南理工大學(xué) 聚合物加工工程教育部重點(diǎn)實(shí)驗(yàn)室,廣州 510640)

液壓系統(tǒng)廣泛應(yīng)用于工業(yè)領(lǐng)域,相較于傳統(tǒng)的閥控液壓系統(tǒng),伺服泵液壓系統(tǒng)在能量節(jié)約、高精度與快速反應(yīng)方面擁有巨大優(yōu)勢[1],因而廣泛應(yīng)用于如塑料注塑機(jī)、壓力機(jī)等成型機(jī)械。伺服泵驅(qū)動(dòng)器會(huì)根據(jù)接收到的數(shù)字信號(hào)來控制同步伺服電機(jī)的轉(zhuǎn)速與轉(zhuǎn)矩。為了能夠提高伺服泵液壓系統(tǒng)的穩(wěn)態(tài)控制精度并改善動(dòng)態(tài)性能[2-3],一款能夠精確控制波形幅度并輸出高分辨率波形的程控多路數(shù)字信號(hào)發(fā)生器就顯得尤為重要,同時(shí)配備的通訊接口可以與工業(yè)控制器進(jìn)行通信,以根據(jù)工業(yè)現(xiàn)場需求實(shí)時(shí)對(duì)輸出波形進(jìn)行精確調(diào)控。

本文基于嵌入式系統(tǒng)開發(fā)了一種程控多路數(shù)字信號(hào)發(fā)生器,通過觸摸屏設(shè)定選定振動(dòng)參數(shù),產(chǎn)生多路波形、頻率和幅度均可調(diào)的交流信號(hào)。

1 系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)

信號(hào)發(fā)生器的總體結(jié)構(gòu)框圖如圖1 所示,主要由5 個(gè)部分組成,分別為主控芯片、信號(hào)發(fā)生電路、信號(hào)調(diào)幅電路、RS485 通訊接口電路以及觸摸屏。主控芯片為意法半導(dǎo)體的STM32F103ZET6,這是一款基于Cortex-M3 的32 位處理器。信號(hào)發(fā)生電路與信號(hào)調(diào)幅電路配合產(chǎn)生相應(yīng)波形、頻率、幅值可調(diào)的振動(dòng)交流信號(hào);RS485 通訊接口用于與工業(yè)控制器的通訊連接,能夠通過工業(yè)控制器傳遞的信息實(shí)時(shí)調(diào)節(jié)輸出的振動(dòng)交流信號(hào);觸摸屏用于振動(dòng)交流信號(hào)頻率與幅值參數(shù)的設(shè)定與波形選項(xiàng)的選定。

2 硬件部分

2.1 信號(hào)發(fā)生電路

信號(hào)發(fā)生電路的核心為ADI 公司生產(chǎn)的AD9833芯片,AD9833 生成波形采用了DDS 數(shù)字合成器技術(shù),如圖2 所示為DDS 基本結(jié)構(gòu)示意圖,原理是利用相位累加器在時(shí)鐘信號(hào)的作用下累加頻率控制字,輸出的結(jié)果再與波形控制字相加,作為不同類型波形數(shù)據(jù)分區(qū)塊存儲(chǔ)的地址值,再將地址值與相位控制字相加,從而得到相位不同的波形[4]。

圖2 DDS 基本結(jié)構(gòu)示意圖Fig.2 Basic structure schematic of DDS

STM32 主控芯片與AD9833 的通訊方式為單工SPI 通訊,而后續(xù)使用的MCP41010 芯片也采用單工SPI 通訊,因此為節(jié)省IO 口,采用一主多從的器件布局,所有的從器件共享同一根時(shí)鐘線與數(shù)據(jù)線。主控芯片STM32 為每一個(gè)從機(jī)分配一個(gè)獨(dú)立的NSS 片選引腳,從而實(shí)現(xiàn)各個(gè)從器件的獨(dú)立尋址。本文中使用到STM32F103ZET6 主控芯片的SPI1 接口,由于需要有多個(gè)NSS 片選引腳,因此在配置SPI1 相關(guān)引腳為復(fù)用功能時(shí)需要將固件函數(shù)庫SPI_InitTypeDef 結(jié)構(gòu)體中的SPI_NSS 成員參數(shù)設(shè)置為軟件管理模式[5]。

如圖3 所示為設(shè)計(jì)的信號(hào)發(fā)生電路原理圖,時(shí)鐘線與數(shù)據(jù)線分別為SPI1 的PA-5 與PA-7,片選引腳選用PA-4,外部時(shí)鐘速率選擇為25 MHz。AD9833芯片的輸出端接電容隔離直流分量。此處電壓跟隨器起到隔離緩沖、提高帶載能力的作用,這有助于提高后續(xù)由數(shù)字電位器組成的放大電路的穩(wěn)定。

圖3 信號(hào)發(fā)生電路原理圖Fig.3 Schematic diagram of signal generator circuit

2.2 信號(hào)調(diào)幅電路

傳統(tǒng)的增益可調(diào)節(jié)放大電路中的電阻一般會(huì)采用機(jī)械轉(zhuǎn)鈕式電阻,通過機(jī)械結(jié)構(gòu)的劃片帶動(dòng)以改變電阻值從而改變?cè)鲆娴拇笮6]。這種方式雖然價(jià)格低,結(jié)構(gòu)簡單,但是調(diào)節(jié)時(shí)一般都需要人為或者電機(jī)帶動(dòng),不符合動(dòng)態(tài)注塑信號(hào)調(diào)節(jié)器的應(yīng)用需求。本文采用通用型運(yùn)算放大器與數(shù)字電位器組合成的程控放大器實(shí)現(xiàn)增益的調(diào)節(jié)。

MCP41010 是一款由Microchip 生產(chǎn)的單通道、數(shù)字控制的8 引腳數(shù)字電位器,具有256 位的分辨精度,PA 與PB 為電位器的兩個(gè)終端,PW 為數(shù)字電位器的滑動(dòng)端,在上電時(shí)抽頭復(fù)位到半量程(80 h),即滑動(dòng)端PW 指向PA 與PB 的中間[7]。

信號(hào)調(diào)幅電路的原理圖如圖4 所示,MCP41010用于通訊的時(shí)鐘線與數(shù)據(jù)線掛載在SPI1 的PA-5 與PA-7,片選引腳選擇為PA-6。將數(shù)字電位器MCP41010與運(yùn)算放大器OP07 組成信號(hào)幅值調(diào)節(jié)電路,放大方式采用反相比例放大,其中放大電路的負(fù)反饋電阻采用50 kΩ 的固定電阻,MCP41010 數(shù)字電位器作為輸入電阻,信號(hào)經(jīng)過放大增益后輸出端接電壓跟隨器以提高后續(xù)帶負(fù)載能力。

圖4 信號(hào)調(diào)幅電路原理圖Fig.4 Chematic diagram of signal modulation circuit

2.3 RS485 串口電路

RS485 總線具有布線簡單、通訊方便、價(jià)格低廉、通訊距離長等優(yōu)點(diǎn),被廣泛應(yīng)用于各種工業(yè)場景中[8]。通訊單元的物理層采用RS485 串行總線的方式。

如圖5 所示為RS485 電路原理圖,此處使用SP3485芯片作為TTL 電平與485 電平的轉(zhuǎn)換芯片。其中SP3485 的DE 引腳為發(fā)送使能信號(hào)(高電平有效),RE 引腳為接收使能信號(hào)(低電平有效),因而將其一同與單片機(jī)STM32 的PD7 引腳連接,便可僅需一個(gè)引腳來控制串口數(shù)據(jù)的收發(fā)。R14與R17作為偏置電阻用來保證總線空閑時(shí),A、B 之間的電壓差都不會(huì)大于200 mV,從而避免因?yàn)榭偩€空閑時(shí)由于A、B壓差不定而引起的邏輯混亂,導(dǎo)致可能出現(xiàn)的亂碼。

圖5 RS485 電路原理圖Fig.5 Schematic diagram of RS485 circuit

2.4 觸摸屏

人機(jī)交互界面使用的觸摸屏硬件模塊為ALIEN TEK 第二代7 寸TFTLCD 電容觸摸屏,內(nèi)置有ILI1963 LCD 控制器以及FT5426 電容觸摸芯片,采用的分辨率為800×480,支持16 位的8080 并行接口,可使用565RGB 真彩顯示,內(nèi)部自帶顯存儲(chǔ),正常工作電壓為3.3 V。

根據(jù)LCD 控制器的顯示工作機(jī)理,其內(nèi)部RAM可以看為不帶地址總線的靜態(tài)隨機(jī)存儲(chǔ)器,因此將STM32 的相應(yīng)串口設(shè)置為工作在FSMC 總線方式下,就能按照16 位的8080 并口通訊的方式訪問LCD控制器,并實(shí)現(xiàn)對(duì)LCD 的驅(qū)動(dòng)。而FT5426 與STM32的通訊方式采用標(biāo)準(zhǔn)IIC 的形式,在完成初始化后便可讀取觸摸坐標(biāo)數(shù)據(jù),先讀取0X02 寄存器,判斷有多少個(gè)有效觸摸點(diǎn),然后讀取0X03~0X1E 等寄存器,便可獲取觸摸坐標(biāo)數(shù)據(jù)。

3 軟件部分

3.1 軟件總體架構(gòu)

程控多路數(shù)字信號(hào)發(fā)生器的軟件基于UCOSIII操作系統(tǒng)開發(fā)。用戶可以創(chuàng)建多個(gè)優(yōu)先級(jí)別不同的任務(wù),并按照任務(wù)優(yōu)先級(jí)選擇性地調(diào)用任務(wù)[9]。本文根據(jù)功能需要設(shè)計(jì)有:信號(hào)發(fā)生、信號(hào)調(diào)幅、Modbus通訊以及觸摸屏4 個(gè)任務(wù),并配置不同的循環(huán)時(shí)間。循環(huán)任務(wù)之前需要對(duì)系統(tǒng)的軟件和硬件進(jìn)行初始化,主要包括操作系統(tǒng)初始化、串口初始化、觸摸屏初始化與emWin 初始化等,系統(tǒng)程序主流程如圖6所示。

圖6 系統(tǒng)程序主流程Fig.6 Main flow chart of the system program

3.2 信號(hào)發(fā)生任務(wù)

信號(hào)發(fā)生任務(wù)部分需要使用到SPI 總線,對(duì)SPI 總線進(jìn)行初始化的工作在主流程中串口初始化部分就已經(jīng)完成,因此,在進(jìn)入到任務(wù)函數(shù)中后只需要判斷是否需要改變參數(shù),若為是,則進(jìn)入到對(duì)AD9833 的寫數(shù)據(jù)過程;若為否,則直接結(jié)束。

本文中對(duì)AD9833 的寫數(shù)據(jù)過程共分為5 個(gè)步驟:

(1)在對(duì)AD9833 進(jìn)行初始化時(shí)為了避免產(chǎn)生虛假DAC 輸出因而需要將RESET 置為1,使AD9833復(fù)位,即寫入0x0100;

(2)控制寄存器B28=1,D14D15=00,此項(xiàng)命令是為了將一個(gè)完整的字通過2 次連續(xù)寫入載入到頻率寄存器當(dāng)中,即寫入0x2100;

(3)選擇頻率寄存器,寫入2 個(gè)連續(xù)的14 位數(shù)據(jù);

(4)選擇相位寄存器并寫入相位數(shù)據(jù);

(5)重新將RESET 位置為0,選擇所要使用的頻率寄存器、相位寄存器以及需要輸出的波形種類,在RESET 置0 后的8 個(gè)MCLK 周期內(nèi),DAC 輸出端會(huì)出現(xiàn)信號(hào)。

信號(hào)發(fā)生任務(wù)程序流程如圖7 所示。

3.3 信號(hào)調(diào)幅任務(wù)

信號(hào)調(diào)幅任務(wù)需要使用到的SPI 總線同樣在最開始就在主流程串口初始化中完成初始化,因而進(jìn)入至任務(wù)函數(shù)后只需要判斷是否改變阻值,若為是,則對(duì)MCP41010 寫數(shù)據(jù);若為否,則直接結(jié)束。

對(duì)MCP41010 的寫數(shù)據(jù)共分為2 個(gè)字節(jié):第一段為命令字節(jié),命令字節(jié)中第2、3 位和6、7 為無關(guān)位,C1,C0 為指令選擇位,P1,P0 為通道選擇位,MCP41010 只集成了1 個(gè)電位器,因而通常會(huì)將命令字節(jié)設(shè)定為0x11;數(shù)據(jù)字節(jié)為8 位,可以將電位器滑動(dòng)端置于256 個(gè)端點(diǎn)中的任意一個(gè),精度極高。信號(hào)調(diào)幅任務(wù)程序流程如圖8 所示。

圖8 信號(hào)調(diào)幅任務(wù)程序流程Fig.8 Flow chart of signal modulation task program

3.4 Modbus 通訊任務(wù)

Modbus 通訊協(xié)議現(xiàn)階段廣泛應(yīng)用于工業(yè)領(lǐng)域,在不同的串口設(shè)備之間可以進(jìn)行數(shù)據(jù)交換與通訊,目前已成為一種通用的工業(yè)標(biāo)準(zhǔn),獲得不同硬件廠商的支持[10]。

Modbus 的通訊協(xié)議采用主/從問答的方式,通訊時(shí)由主機(jī)發(fā)起通訊任務(wù),通訊格式:從機(jī)地址-功能代碼-地址區(qū)域-數(shù)據(jù)量-校驗(yàn)碼,而從機(jī)在接收確認(rèn)到是對(duì)自己的呼叫后會(huì)根據(jù)功能代碼完成相應(yīng)動(dòng)作并向主機(jī)響應(yīng)[11]。

本文采用的Modbus 傳輸協(xié)議通過RS485 串口進(jìn)行傳輸,因而在進(jìn)行協(xié)議層數(shù)據(jù)傳輸前需要先完成物理層硬件串口的初始化,這部分工作在主程序流程中執(zhí)行。進(jìn)入到任務(wù)函數(shù)中需要依次判斷是否收到主機(jī)指令、是否為本機(jī)地址、CRC 校驗(yàn)是否正確,在均為是的情況下就可以根據(jù)功能碼進(jìn)行數(shù)據(jù)的讀取或者寫入,再向主機(jī)響應(yīng)數(shù)據(jù),至此結(jié)束。Modubs 通訊任務(wù)程序流程如圖9 所示。

3.5 觸摸屏任務(wù)

觸摸屏任務(wù)主要使用到了emWin 圖形庫來幫助顯示更新,因此在對(duì)觸摸屏進(jìn)行初始化后也需要對(duì)emWin 圖形庫進(jìn)行初始化,這兩部分的工作已經(jīng)在準(zhǔn)備階段完成。因而,進(jìn)入至觸摸屏任務(wù)后會(huì)開啟檢測觸摸屏是否有按下,若為是,則會(huì)實(shí)時(shí)更新顯示;若為否,則直接結(jié)束任務(wù)。觸摸屏任務(wù)程序流程如圖10 所示。

圖10 觸摸屏任務(wù)程序流程Fig.10 Flow chart of touch screen task program

觸摸屏的顯示界面如圖11 所示,可以分別對(duì)兩路振動(dòng)交流信號(hào)的參數(shù)進(jìn)行設(shè)定以及選定。其中信號(hào)的頻率、幅值參數(shù)可以通過直接點(diǎn)擊相應(yīng)位置的編輯框后輸入設(shè)定數(shù)值,波形的選擇則可以在下拉列表中進(jìn)行選定。

圖11 觸摸屏界面圖Fig.11 Touch screen interface diagram

4 實(shí)驗(yàn)測試與結(jié)果分析

測試時(shí)使用的示波器型號(hào):Tektronix DPO 2012B。

實(shí)驗(yàn)方法:通過用戶界面兩路信號(hào)分別設(shè)置不同頻率、幅值的正弦波、三角波、方波信號(hào),使用示波器測試輸出的信號(hào)。

圖12 所示為2 Hz 正弦交流信號(hào)示波器顯示圖,圖13 所示為5 Hz 三角交流信號(hào)示波器顯示圖。

圖12 2 Hz 正弦交流信號(hào)Fig.12 2 Hz sinusoidal AC signal

圖13 5 Hz 三角交流信號(hào)Fig.13 5 Hz triangular AC signal

經(jīng)過測試可得出以下結(jié)論:程控多路數(shù)字信號(hào)發(fā)生器能夠產(chǎn)生正弦波、三角波、方波3 種周期性交流信號(hào)且波形輸出的頻率分辨率極高,可達(dá)0.1 Hz,可以作為激振信號(hào)源。

5 結(jié)語

本文基于STM32F103ZET6 芯片與UCOSIII 操作系統(tǒng)設(shè)計(jì)了一款程控多路數(shù)字信號(hào)發(fā)生器。采用了AD9833 和MCP41010 芯片實(shí)現(xiàn)了振動(dòng)交流信號(hào)的發(fā)生與調(diào)幅;基于RS485 接口并采用Modbus 通訊協(xié)議實(shí)現(xiàn)了工業(yè)控制器與信號(hào)發(fā)生器的實(shí)時(shí)通訊;基于emWin 圖形庫設(shè)計(jì)了人機(jī)交互界面,可以在觸摸屏上設(shè)定選定信號(hào)參數(shù)。經(jīng)實(shí)驗(yàn)測試,設(shè)計(jì)的信號(hào)發(fā)生器能夠產(chǎn)生波形、頻率以及幅值可調(diào)的振動(dòng)交流信號(hào),并根據(jù)工業(yè)控制器傳遞的通訊信息實(shí)時(shí)調(diào)節(jié)輸出波形,滿足激振信號(hào)源的應(yīng)用需求,實(shí)現(xiàn)了多路數(shù)字信號(hào)的調(diào)頻調(diào)幅。

猜你喜歡
信號(hào)
信號(hào)
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個(gè)信號(hào),警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個(gè)的信號(hào)
《鐵道通信信號(hào)》訂閱單
基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯(lián)鎖信號(hào)控制接口研究
《鐵道通信信號(hào)》訂閱單
基于LabVIEW的力加載信號(hào)采集與PID控制
Kisspeptin/GPR54信號(hào)通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 国产原创自拍不卡第一页| 免费高清a毛片| 国产色网站| 国产欧美日韩视频一区二区三区| 国产欧美视频在线| 亚洲国产精品无码久久一线| 她的性爱视频| 久久免费观看视频| 亚洲国产中文欧美在线人成大黄瓜| 黄色网在线| 毛片在线看网站| 日本不卡免费高清视频| 国产一二视频| 亚洲日产2021三区在线| 中文字幕乱码二三区免费| 亚洲无码不卡网| 黄色在线不卡| 欧美日韩高清在线| 免费大黄网站在线观看| 国产精品人人做人人爽人人添| 亚洲精品国偷自产在线91正片| 国产性猛交XXXX免费看| 伊人色在线视频| 亚洲激情区| 亚洲国产精品一区二区第一页免 | 精品天海翼一区二区| 国产无码制服丝袜| 日韩午夜伦| 亚洲an第二区国产精品| 午夜不卡视频| 欧美国产日产一区二区| 国产成人一区二区| 国产精品护士| 国产一级在线播放| 亚洲视频欧美不卡| 日韩在线影院| 亚洲色图综合在线| 尤物成AV人片在线观看| 99国产精品国产| 久久中文无码精品| 国产精品第一区| 在线免费观看AV| 91免费精品国偷自产在线在线| 天堂在线视频精品| 日韩欧美国产另类| 18禁影院亚洲专区| 婷婷色狠狠干| 色爽网免费视频| 精品国产Ⅴ无码大片在线观看81| 91丝袜美腿高跟国产极品老师| 污网站在线观看视频| 色爽网免费视频| 99久久国产综合精品女同| 亚洲天堂成人| 免费看a级毛片| 东京热一区二区三区无码视频| 欧美伊人色综合久久天天| 日韩AV无码免费一二三区| 成人在线第一页| 日韩AV无码免费一二三区 | 97视频精品全国在线观看| 国产精品尤物在线| 99久久精品无码专区免费| 一区二区三区成人| 亚洲av无码专区久久蜜芽| 国产农村精品一级毛片视频| 色妞www精品视频一级下载| 大学生久久香蕉国产线观看 | 久久精品丝袜高跟鞋| 黄色网在线免费观看| 亚洲国产天堂久久综合| 亚洲欧美自拍一区| 一级毛片无毒不卡直接观看 | 视频国产精品丝袜第一页| 久无码久无码av无码| 亚洲精品天堂在线观看| 无码在线激情片| 在线色综合| 国产乱子伦视频三区| 亚洲VA中文字幕| 欲色天天综合网| 香蕉精品在线|