王鵬 李紅波 蘇加斌
摘要:文章利用Android智能手機作為應(yīng)用平臺,通過設(shè)計信號調(diào)理電路、主控電路和CH9343主機接口電路,實現(xiàn)DAC數(shù)模轉(zhuǎn)換,使得模擬數(shù)據(jù)按照設(shè)定參數(shù)產(chǎn)生波形輸出,通過編寫手機APP應(yīng)用軟件,完成波形參數(shù)輸入功能。實驗證明,該虛擬信號源實用新穎,使用方便。
關(guān)鍵詞:CH9343; STM32;虛擬信號源;手機示波器
實驗室信號源是電子實驗中常用的儀器,目標(biāo)電路通過接入信號評估測試電路參數(shù)或性能。實驗用信號源往往采用交流供電,體積大,功能多,使用起來也較為復(fù)雜。本文設(shè)計了一種基于STM32和CH9343的手機配件,通過利用安卓手機和接入應(yīng)用配件,制作了一款便攜式虛擬信號源。該信號源具有攜帶方便、新穎實用、即插即用等特點,較好地解決了工程技術(shù)人員的快速測試需要。近年來,有關(guān)智能手機在虛擬信號源方面的應(yīng)用,更多的只是論述硬件設(shè)計方面[1-5],較少的結(jié)合智能手機平臺方面的應(yīng)用設(shè)計。
1 STM32單片機
本設(shè)計采用意法半導(dǎo)體(STMicroelectronics,ST)公司的STM32F103RC單片機,以ARM Cortex-M3為內(nèi)核的增強型32位微控制器,專門為高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計。工作頻率高達(dá)72 MHz,是同類產(chǎn)品中性能最高的;256 kB 片上FLASH ROM, 48 kB SRAM; 5個超高速USART;支持DMA操作的2通道12位同步DAC轉(zhuǎn)換器;8個定時器;支持多路PWM帶死區(qū)控制的通道等,其資源豐富,可以滿足數(shù)據(jù)快速傳輸和復(fù)雜的數(shù)據(jù)運算等功能。
2 CH9343接口芯片
該芯片是沁恒公司的一個單芯片全速USB安卓主機接口芯片,符合Android開方文式配件(Android Open Accessory,AOA)規(guī)范,芯片內(nèi)部配置有USB協(xié)議解析器,用于內(nèi)置安卓設(shè)備對外部組件的訪問。該芯片提供了 USB轉(zhuǎn)GPIO,UART,SPI和I2C等多種可配置硬件接口,可方便地實現(xiàn)安卓設(shè)備接口的擴展,用途廣泛。
3 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件主要包括智能手機和信號源配件兩部分。信號源配件由CH9343主機接口電路、STM32主控電路和信號調(diào)理電路組成。系統(tǒng)框如圖1所示。
3.1 信號調(diào)理電路
信號調(diào)理電路主要用來實現(xiàn)信號電流放大和極性變換功能,信號調(diào)理電路如圖2所示,圖中給出了其中1路。輸入信號uil范圍為0?+3 V,輸出信號uol范圍為-3?+ 3 V。由前級運放進(jìn)行信號的雙極性變換,后級進(jìn)行了 2倍增益和50Ω阻抗輸出等功能。
3.2 STM32主控電路
該電路完成用戶參數(shù)到高速的數(shù)模轉(zhuǎn)換,以產(chǎn)生需求的模擬信號。主控電路如圖3所示。圖中ui1和ui2分別是數(shù)字模擬轉(zhuǎn)換器(Digital to analog converter,DAC)通道0和通道 1的輸出信號,它們分別連接至信號調(diào)理電路上。STM32控制器的串口(TXD和RXD)與CH9343芯片的擴展串口(RXD和TXD)交叉相連。
3.3 CH9343主機接口電路
STM32控制器高速串口連接至CH9343的串口上,串口采用交叉連接。CH9343芯片的USB端口信號連接至安卓手機的USB接口上。當(dāng)用戶設(shè)定好波形參數(shù)后,數(shù)據(jù)從手機虛擬信號源軟件中下傳到CH9343的USB接口電路,后由CH9343主機接口電路轉(zhuǎn)發(fā)至STM32的高速串口。CH9343主機接口電路如圖4所示。
4 固件程序設(shè)計
固件程序設(shè)計主要包括主程序和定時器中斷程序兩部分,其中主程序用于完成控制器初始化設(shè)置和數(shù)據(jù)接收功能,定時器中斷程序主要完成波形產(chǎn)生等功能。
4.1 主程序設(shè)計
主程序主要包括初始化數(shù)據(jù)緩沖區(qū)、I/O口、串口 1、DAC模塊和定時器TIM1及產(chǎn)生波形等。主程序主要代碼如下:
int main()
{
ClearBuffer 。; //數(shù)據(jù)緩沖區(qū)清零ConfigurationPort(); //配置 I/O端口ConfigurationUart ();//配置高速串口,波特率
921600bps
ConfigurationDAC(); //配置DAC,12位分辨率ConfigurationTIMlO; //初始化定時器while(1)
4.2 定時器中斷程序設(shè)計
在該子程序中,啟用了定時器TIM1的中斷功能。當(dāng)定時時間到達(dá)設(shè)定值時,進(jìn)入TIM2_IRQHandler。中斷服務(wù)程序,完成一次數(shù)據(jù)DAC數(shù)據(jù)發(fā)送工作。定時周期與波形頻率和周期采樣點數(shù)有關(guān),由下位機計算設(shè)置。
定時器中斷服務(wù)程序主要代碼如下:
void TIM2-IRQHandler(void)
{
DACSetChannel 1 Dat a(DAC-Align-l 2b-R,DA-ROMValue[0][k]); //發(fā)出通道0數(shù)據(jù)
DAC- S etChannel 1 Dat a(DAC- Align- 12b-R ,D A-ROMValue[l][k]); //發(fā)出通道 1 數(shù)據(jù)cnt++;
if(cnt>=Count)//每通道 20 個點
{
cnt=0;
flagOK=l;
……
}
}
5 應(yīng)用軟件設(shè)計
虛擬信號源應(yīng)用軟件采用Eclispe開發(fā)環(huán)境編寫。沁恒公司為安卓手機用戶使用外部組件提供了固件支持,只要通過CH9343的安卓Demo模板,就可方便地完成手機APP界面設(shè)計和邏輯功能編寫。APP運行時,智能手機與CH9343的通信建立分4個過程:(1)檢測安卓設(shè)備是否連接;(2)判斷安卓設(shè)備是否支持AOA模式;(3)試圖在AOA模式下啟動設(shè)備;(4)支持AOA協(xié)議的情況下,建立通信連接。運行在華為安卓智能手機上的虛擬信號源軟件界面如圖5所示,圖中通道1為雙極性,幅值1.0 V,頻率為1 kHz的正弦波設(shè)定情況,通道2為單極性,幅值2.0 V,頻率為5 kHz的三角波設(shè)定情況。如圖6所示為圖沖設(shè)定參數(shù)的實測波形,上面波形為通道1波形,下面為通道2波形。由圖可知本手機虛擬信號源工作效果良好。
6 結(jié)語
本文利用STM32控制器和安卓主機接口芯片,設(shè)計了一款手機虛擬信號源。該信號源創(chuàng)新性地把傳統(tǒng)信號發(fā)生器和智能移動終端相結(jié)合,擴展了信號源的應(yīng)用空間,是傳統(tǒng)信號源的有利補充,給工程技術(shù)人員帶來便利。實驗證明,該信號源能較好地滿足中低頻信號的發(fā)生需要,使智能手機成為一種便攜式信號源,可以較好地滿足快速便捷測量需求。
[參考文獻(xiàn)]
[1]張海鵬.簡易信號發(fā)生器及手持信號檢測儀[J].電子世界,2017(9):85.
[2]姜建國.基于STM32的新型信號發(fā)生器設(shè)計[J].化工自動化及儀表,2017(3):273.
[3]蘇加斌,李紅波.基于IAP15W和CH9343的手機虛擬示波器設(shè)計[J].電子世界,2016(5):76.
[4]牟光紅.STM32的雙路信號源及其配置平臺設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(10):37.
[5]王永勝.USB+OTG在手持?jǐn)?shù)字存儲示波表中的應(yīng)用研究[D].成都:電子科技大學(xué),2009.