劉 燦, 代永紅 , 肖 偉, 梅衛(wèi)龍
(1.西藏大學(xué)工學(xué)院 電子信息系,西藏 拉薩 850000;2.武漢大學(xué) 電子信息學(xué)院,湖北 武漢 430072)
信號(hào)發(fā)生器又稱為波形發(fā)生器是一種常用的信號(hào)源并且廣泛應(yīng)用于電子電路、通信、控制和教學(xué)實(shí)驗(yàn)等領(lǐng)域的重要儀器之一。為了降低傳統(tǒng)函數(shù)信號(hào)發(fā)生器成本,改善信號(hào)發(fā)生器低頻穩(wěn)定性。筆者結(jié)合FPGA和51單片機(jī)產(chǎn)生0.596 Hz頻率精度函數(shù)信號(hào)。筆者設(shè)計(jì)通過(guò)51單片機(jī)控制函數(shù)信號(hào)類型以及相關(guān)參數(shù),用戶可通過(guò)按鍵設(shè)置需要的波形、波形幅度、波形頻率以及方波的占空比、相位。本文設(shè)計(jì)方案不僅具有良好的經(jīng)濟(jì)前景,也可以為當(dāng)代高等教育深化改革做一個(gè)參考方向。
本文中設(shè)計(jì)中硬件包括EP2C8Q208I8N芯片和C8051F0201單片機(jī)、DAC0800芯片,T6963的LCD。本文中主要利用 FPGA(EP2C8Q208I8N)橋接控制 LCD、4×4鍵盤(pán)和DAC0800(C8051單片機(jī)和DAC0800有一條基準(zhǔn)電壓信號(hào)),系統(tǒng)硬件設(shè)計(jì)框圖如圖2所示。本文中函數(shù)信號(hào)主要由FPGA(EP2C8Q208I8N)產(chǎn)生;C8051單片機(jī)用作分析處理用戶信息、給DAC0800提供基準(zhǔn)電壓以及控制FPGA(EP2C8Q208I8N)產(chǎn)生需要用戶的函數(shù)信號(hào)。
1.1.1 EP2C8Q208I8N簡(jiǎn)介
EP2C8Q208I8N是ALTERA公司推出一款嵌入式 -FPGA(現(xiàn)場(chǎng)可編程門陣列)芯片。具有182管腳。下面列出它的特性表,如圖1所示。
圖1 EP2C8芯片的特性Fig.1 The feature of EP2C8 chip
1.1.2 C8051F0201簡(jiǎn)介
C8051F0201(以下簡(jiǎn)稱51單片機(jī))器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片,具有32個(gè)數(shù)字 I/O引腳。此款51單片機(jī)具有高速、流水線結(jié)構(gòu)的 8051兼容的 CIP-51內(nèi)核(可達(dá) 25 MIPS)。全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi))。 12位、100 ksps的8通道 ADC,帶 PGA和模擬多路開(kāi)關(guān)。 8位 500 ksps的 ADC,帶 PGA和 8通道模擬多路開(kāi)關(guān)兩個(gè)12位DAC,具有可編程數(shù)據(jù)更新方式。64 K字節(jié)可在系統(tǒng)編程的FLASH存儲(chǔ)器。4 352(4 096+256)字節(jié)的片內(nèi)RAM,可尋址64 k字節(jié)地址空間的外部數(shù)據(jù)存儲(chǔ)器接口。硬件實(shí)現(xiàn)的 SPI、Sm Bus/I2C和兩個(gè) UART串行接口,5個(gè)通用的 16位定時(shí)器。具有 5個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣。列片內(nèi)看門狗定時(shí)器、VDD監(jiān)視器和溫度傳感器,每個(gè) MCU都可在工業(yè)溫度范圍(-45~+85℃)內(nèi)用 2.7~3.6 V的電壓工作。端口 I/O、/RST和 JTAG引腳都容許 5 V的輸入信號(hào)電壓。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖Fig.2 Structure diagram of system hardware
C8051單片機(jī)軟件主要包括按鍵處理函數(shù)、信號(hào)發(fā)生器控制函數(shù)、初始化函數(shù)、LCD顯示函數(shù)、D/A函數(shù)以及主函數(shù)。軟件設(shè)計(jì)的主程序流程框圖如圖3所示,子函數(shù)詳細(xì)功能如表1所示。
圖3 主程序流程框圖Fig.3 Flow chart of main program
本文中主要采用Verilog HDL語(yǔ)言設(shè)計(jì)。主要包括片選模塊、時(shí)鐘驅(qū)動(dòng)模塊、鍵盤(pán)掃描模塊、傳出信號(hào)模塊、LCD模塊、DAC0800模塊以及指示燈模塊。詳細(xì)功能如表2所示。
表1 子函數(shù)功能說(shuō)明Tab.1 Explaining function of subfunction
表2 模塊功能說(shuō)明Tab.2 The explaining function of module
表3 測(cè)試結(jié)果表Tab.3 Test result table
圖4 波形Fig.4 Wave form
圖5 整體實(shí)物圖Fig.5 Overall physical figure
本文中運(yùn)用FPGA和51單片機(jī)結(jié)合起來(lái)制作一個(gè)信號(hào)發(fā)生器。這樣不僅能夠鍛煉學(xué)生單片機(jī)和FPGA的使用更能讓學(xué)生學(xué)習(xí)到如何將FPGA和單片機(jī)聯(lián)合通信使用[7]。本文設(shè)計(jì)中可以對(duì)函數(shù)信精度進(jìn)行升級(jí),從而滿足不同場(chǎng)合的函數(shù)信號(hào)需求。本文中提倡一種將單片機(jī)和FPGA結(jié)合到一起的學(xué)習(xí)方式,可以為現(xiàn)代教育改革提供一個(gè)參考方向。
[1]代永紅,鄭建生,劉彥飛.通訊原理仿真、設(shè)計(jì)與實(shí)訓(xùn)[M].北京:國(guó)防工業(yè)出版社,2011.
[2]潘松,黃繼業(yè),潘明.EDA技術(shù)實(shí)用教程—Verilog HDL版[M].4版.北京:科學(xué)出版社,2010.
[3]康華光.電子技術(shù)基礎(chǔ)模擬部分[M].5版.北京:高等教育出版社,2006.
[4]譚浩強(qiáng).C程序設(shè)計(jì) [M].3版.北京:清華大學(xué)出版社,2005-7.
[5]張毅剛.單片機(jī)原理及應(yīng)用[M].2版.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008.
[6]肖玲妮,袁增貴.Ptotel 99 SE印刷電路板設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2006.
[7]雷磊,李守智,盧鵬.霍爾式數(shù)字電度表的設(shè)計(jì)與實(shí)現(xiàn)[J].陜西電力,2011(8):69-73.
LEI Lei,LI Shou-zhi,LU Peng.Design and implementation of hall digital watt-hour meter[J].Shaanxi Electric Power,2011(8):69-73.