徐曉霞
(西安工業(yè)大學北方信息工程學院 電子信息系,陜西 西安 710025)
正弦信號發(fā)生器是一種廣泛應用的信號源。隨著電子技術的不斷發(fā)展與進步,現(xiàn)代的電子測量、通信系統(tǒng)越來越需要有高精度和靈活的正弦信號發(fā)生器進行測量和調(diào)試。而ARM芯片在當今由于其高性能、低成本、低功耗,可擴展性強,正被廣泛應用于便捷式儀器的設計。因此,為了滿足對儀器便捷﹑靈活及待機時間長等的要求,文中利用DDS技術通過ARM控制,設計了一種便攜式的正弦信號發(fā)生器,該信號發(fā)生器的頻率范圍在0~25 kHz,頻率分辨率為1 Hz,輸出幅度為5 V。
對系統(tǒng)總體設計方案充分理解的基礎上,按照模塊化的設計思想,合理劃分各個不同單元待實現(xiàn)的功能,從而形成了系統(tǒng)總體方案設計框圖,如圖1所示。
圖1 正弦信號源總體設計方案圖Fig.1 Design plans of the sinusoidal signal source
此方案的工作原理及各部分的功能如下:
1)電平轉(zhuǎn)換模塊主要是完成232電平和TTL電平的轉(zhuǎn)換,以便通過串口把檢測到的有效值發(fā)送到上位機界面進行同步顯示。
2)ARM處理器是整個方案的控制核心,采用的是STM32芯片。其接收操作人員通過上位機軟件發(fā)出的各種操作指令以及從按鍵上輸入的指令,按照這些指令的要求,控制信號產(chǎn)生芯片產(chǎn)生所需的幅度、頻率信號。
3)按鍵模塊是控制系統(tǒng)中人機交互的一部分,采用的是4個獨立鍵盤。操作人員通過鍵盤輸入想要產(chǎn)生波形的參數(shù),送給處理器進行處理。
4)顯示模塊采用NOKIA5110液晶顯示屏顯示模塊。是將要產(chǎn)生的波形信息利用顯示屏進行顯示,可以使操作人員很直觀的知道波形的幅值和頻率。
5)DDS模塊是合成所需頻率的合成器,該模塊選用的ML2035芯片。模塊通過ARM處理器進行控制產(chǎn)生所需的頻率。
6)信號放大模塊完成對信號的幅度放大,滿足正弦信號幅值實際應用的需求。
處理器電路設計包括STM32F103RCT6芯片所用外圍管腳連接、晶振電路設計、去耦電路設計、復位電路設計、JTAG調(diào)試電路設計。
2.1.1 晶振電路
晶振是為處理器STM32提供頻率基準的元器件,屬于最小系統(tǒng)中不可或缺的一部分。晶振電路用于向處理器提供工作時鐘。本系統(tǒng)最小系統(tǒng)晶振電路即時鐘源包括兩部分:
1)在引腳OSC_IN和OSC_OUT跨接晶振Y1和電容C16、C17共同構成電容三點式振蕩電路;
2)在引腳PC14和PC15跨接晶振Y2和電容C17、C18共同構成電容三點式振蕩電路。
本系統(tǒng)使用無源晶振8MHz作為系統(tǒng)的主振蕩器,一個32.768kHz的晶振作為內(nèi)置實時時鐘(RTC)振蕩器。晶體振蕩器的連接如圖2所示。
圖2 晶振電路Fig.2 Crystal oscillator circuit
2.1.2 去耦電路
電路中存在模擬和數(shù)字電源,需要加入電感和電容組成去耦電路。STM32中有3組VDD/VSS管腳,有1組VDDA/VSSA管腳。盡管所有的VDD和所有VSS在內(nèi)部相連,在芯片外部仍然需要連接所有的VDD和VSS。模擬電源與數(shù)字電源去耦電路如圖3所示。
圖3 去耦及隔離電路Fig.3 Decoupling and isolation circuit
2.1.3 復位電路
復位電路的基本功能是讓系統(tǒng)上電時提供復位信號,直至電源穩(wěn)定后,撤銷復位信號。本系統(tǒng)采用簡單的“RC+按鍵”復位形式,該復位電路可以實現(xiàn)上電自動復位和手動按鍵復位。如圖4為復位電路原理圖。
圖4 復位電路Fig.4 Reset circuit
2.1.4 JTAG電路
標準的 JTAG 接口是 4 線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。系統(tǒng)的JTAG除了上面的4線外,還與處理器連接接了測試系統(tǒng)復位信號線TRST,并且還必須把測試時鐘返回信號RTCK拉低。系統(tǒng)20針JTAG電路連接如圖5所示。
圖5 系統(tǒng)20針JTAG電路連接圖Fig.5 Connection diagram of the system 20-pin JTAG circuit
DDS芯片選擇ML2035,本發(fā)生器輸出的低頻信號主要由STM32通過SPI1接口來控制ML2035產(chǎn)生。ML2035原理圖如圖6所示。ML2035的外圍晶振選用6.5536 MHz可以滿足技術要求,使用的是STM32的SPI1接口。PA5為SPI1的時鐘端(SCK),PA6 為主機輸入從機輸出端(MISO),PB4(NSS)為從機選擇端。
圖6 ML2035原理圖Fig.6 Schematic of Ml2035
在NOKIA5110液晶顯示屏中可以顯示出信號源的頻率和幅值,本系統(tǒng)LCD和STM32之間采用的是SPI串行數(shù)據(jù)傳輸,采用直接背光的形式,液晶顯示電路的設計如圖7所示。
圖7 NOKIA5110液晶顯示屏電路Fig.7 NOKIA5110 LCD display circuit
采用4個獨立按鍵,每個按鍵占用一條I/O線,按鍵與處理器的PA0~PA3進行連接,按下為0,不按為1,如圖8按鍵電路所示。按鍵電路主要完成4個功能,對初始化的頻率值加、減和選擇+5 V、+10 V輸出。
圖8 按鍵電路Fig.8 Key circuit
采用LM321設計信號放大電路。LM321是高增益,內(nèi)部頻率補償運算放大器。信號放大電路圖如圖9所示。
圖9 信號放大電路Fig.9 Signal amplifying circuit
RS-232C電平與單片機的TTL電平不匹配,通訊時必須對兩種電平進行轉(zhuǎn)換。系統(tǒng)利用的是處理器的串口1,所以處理器的PA9和PA10還要與MAX232進行連接。電平轉(zhuǎn)換電路原理圖設計如圖10所示。
圖10 電平轉(zhuǎn)換電路原理圖Fig.10 Schematic of level conversion circuit
ML2035驅(qū)動程序是通過處理器STM32的SPI1口發(fā)送控制字給ML2035,包括SPI1的初始化程序和SPI1讀寫程序,程序如下:
u16 SPI1_ReadWrite(u16 writedat)//SPI1讀寫一字數(shù)據(jù){while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_TXE)==RESET);*Loop while DR register in not emplty*/
SPI_I2S_SendData(SPI1,writedat);/*Send byte through the SPI1 peripheral*/}
3.2.1 NOKIA5110液晶顯示程序
NOKIA5110液晶顯示程序的流程圖如圖11所示,本系統(tǒng)寫NOKIA5110顯示程序采用CPIO模擬SPI。
圖11 LCD顯示程序流程圖Fig.11 Flow chart of LCD display program
程序代碼編寫如下:
LCD_write_byte(0x21,0);//LCD功能設置:芯片活動,水平尋址,使用擴展指令
LCD_write_byte(0xd0,0);//設置VOP值,室溫下的編程范圍為3.00-10.68
LCD_write_byte(0x20,0);//LCD功能設置:芯片活動,水平尋址,使用基本指令
LCD_write_byte(0x0C,0);//設定顯示配置:普通模式set_SCE();}
3.2.2 按鍵掃描程序
按鍵掃描程序依次掃描4個按鍵,使用一個u8變量的低4位存儲掃描結果,如果對應位上的按鍵被按下,則該位置0,否則,置1;然后處理掃描結果,依次判斷u8變量的低4位,如果某個按鍵被按下,則做出相應的處理。按鍵程序流程圖如圖12所示。按鍵掃描部分程序如下:
圖12 按鍵程序流程圖Fig.12 Flow chart of key program
uchar KEY_GPIO_Scanning(void)
{int scan_bit=1;//單個按鍵掃描變量int scan_sum=0x0f;//四個按鍵總的情況變量scan_sum低四位的每一位對應一個按鍵
由DDS的基本原理可以知道,輸出的正弦信號將有可能出現(xiàn)誤差。但是本系統(tǒng)對精度要求相當高,所以進行了信號的精度測試[7-8]。對于不同的參考時鐘,將產(chǎn)生不同程度的頻率誤差,表1列舉了ML2035在0~25 kHz頻率范圍內(nèi),不同輸出信號產(chǎn)生的誤差。
表1 誤差分析Tab.1 table of error analysis
從表1中可以看出,在小于100 Hz,相對誤差較小,基本滿足條件。在100~25 000 Hz,可能因為干擾信號加強,實驗儀器誤差、人為因素產(chǎn)生的誤差,導致誤差相對較大,但是沒超過 5 Hz。
系統(tǒng)以DDS模塊為研究對象,基于ARM處理器、DDS技術、顯示技術、EDA技術等完成高精度、便攜且操作簡單方便的正弦信號產(chǎn)生模塊的設計。實驗結果表明,利用DDS技術,有低成本、低功耗、頻率切換時間短,頻率分辨率高等特點;ARM處理器STM32芯片應用于信號源設計,具有控制功能強,電路簡單等特點;ML2035芯片所產(chǎn)生的正弦信號能達到很高的精度,且易于調(diào)試,因此它被廣泛用于正弦信號發(fā)生模塊的相關領域,為設計便攜信號源提供了良好的芯片選擇。
[1]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.
[2]李佳.ARM系列處理器應用技術完全手冊[M].北京:人民郵電出版社,2009.
[3]馬敖翔.基于ARM內(nèi)核的嵌入式系統(tǒng)的開發(fā)和應用[M].成都:四川大學,2002.
[4]Goodaere J.Parallelisn and the ARM instruction set arehiteeture[J].Computer,2005,38(7):28.
[5]LM1117[EB/OL].http://baike.baidu.com/view/1997366.htm.
[6]DDS[EB/OL].http://baike.baidu.com/view/38405.htm.
[7]許德志,才成.一種基于DDS技術的信號發(fā)生器研究與實現(xiàn)[J].電子科技,2010(3):59-61.
[8]王冉,金繁.基于DDS技術的線性調(diào)頻脈沖信號的產(chǎn)生[J].電子設計工程,2014(16):52-54.