Namisoft基于單片機(jī)的實用數(shù)字信號源與頻率計設(shè)計
科研、實驗和裝備檢測等很多工作中,,經(jīng)常需要頻率可變或固定的TTL電平信號,,也需要測量輸入的TTL電平信號頻率。目前,,市場上有各種各樣的數(shù)字信號源和頻率計,,但這些產(chǎn)品一般都是體積比較大、功能很龐大,、價格也比較昂貴,,往往不適合一些需要小體積信號源和頻率計的應(yīng)用場合需要,。納米軟件(Namisoft)基于單片機(jī)技術(shù)設(shè)計了數(shù)字信號源和頻率計,,該作品能夠很好地產(chǎn)生固定或可變頻率的信號,并能測量輸入信號頻率,,可以滿足院校的日常教學(xué)使用和裝備或設(shè)備維修檢測需要,。
1 功能需求與硬件總體方案設(shè)計
1.1 功能需求
按照一般的實驗設(shè)備或裝備維修檢測需要,確定數(shù)字信號源和頻率計的主要功能和技術(shù)指標(biāo)為:
1)單脈沖信號源:4路單脈沖信號,,按下一個按鍵產(chǎn)生一個正脈沖;
2)固定輸出連續(xù)脈沖信號源:1 Hz,、10 Hz、100 Hz,、1 kHz,、10 kHz、100 kHz方波;
3)頻率可調(diào)連續(xù)脈沖信號源:10 Hz~10 kHz可調(diào),。頻率可設(shè)并同步顯示;
4)頻率測量:10 Hz~10 kHz,,分辨率2 Hz,更新速度:2次/秒,。
1.2 硬件總體方案設(shè)計
數(shù)字信號源和頻率計的設(shè)計原則主要是縮小作品體積,、降低作品硬件成本、提高作品的可靠性和使用便捷性等,??傮w方案設(shè)計主要涉及到顯示器選型、頻率設(shè)定電路選型、CPU選型,、電路總體結(jié)構(gòu)等方面,。針對以上功能需求,確定本作品的硬件電路總體框圖如圖1所示,。
圖1中,,單片機(jī)為本作品的控制核心,主要完成人機(jī)接口控制,、頻率設(shè)定,、信號輸出和輸入信號頻率測量等功能,采用AT89C52型單片機(jī),。為了消除普通按鍵開關(guān)產(chǎn)生脈沖時的抖動,,單脈沖輸出信號由按鍵S1~S4控制,經(jīng)單片機(jī)處理后分別輸出4路脈沖信號,。
編碼器和數(shù)位控制按鈕是用于設(shè)定頻率可調(diào)脈沖的頻率的,。編碼器正反轉(zhuǎn)控制數(shù)字在0~9之間的加與減,數(shù)位控制按鈕(向左和向右,,共2個)用以確定控制的數(shù)位,。
信號源/頻率計選擇由一位信號控制,高電平(控制開關(guān)懸空)為信號源,,低電平(控制開關(guān)接地)為頻率計,。頻率可調(diào)輸出與測頻輸入共用一個單片機(jī)接口(P3.5)。選擇控制信號和輸出/輸入信號在基板上由一個雙路開關(guān)控制,。
顯示器采用1602液晶顯示模塊,,用以顯示設(shè)定的頻率或測量的頻率。
采用蓄電池對整個電路進(jìn)行供電,,可以提高設(shè)備使用的便捷性,。
2 數(shù)字信號源硬件電路設(shè)計
數(shù)字信號源和頻率計的硬件電路設(shè)計主要包括頻率設(shè)定電路、顯示電路和單片機(jī)電路設(shè)計等,。
2.1 頻率設(shè)定電路設(shè)計
頻率的設(shè)定一般可以采用鍵盤,、電位器、撥碼盤和編碼器等,。其中鍵盤輸入方式最靈活,,但需要較多的單片機(jī)接口資源支持,而且產(chǎn)品體積會比較大,,不符合本作品小型化設(shè)計要求,。采用電位器進(jìn)行輸入時,需要A/D轉(zhuǎn)換,,成本高,、電路復(fù)雜且難以精確設(shè)定,,也不太適合。采用撥碼盤設(shè)定頻率,,優(yōu)點是顯示與輸入一體化,,但需要的單片機(jī)I/O資源也比較多,會影響單片機(jī)的選型,。本設(shè)計采用編碼器輸入頻率值,。
編碼器可根據(jù)內(nèi)部結(jié)構(gòu)的不同分為高分辨率和低分辨率的,高分辨率編碼器的內(nèi)部一般采用光電型的,,而低分辨率的編碼器則既有光電型的,,也有機(jī)械接觸式的。對于光電型的,,需要由外部為它提供供電電源;對于機(jī)械接觸型的,,則不需要供電電源。不管何種形式,,它們都至少會有A,、B兩個輸出信號。當(dāng)編碼器轉(zhuǎn)軸旋轉(zhuǎn)時,,這兩個輸出信號波形如圖2所示,。
將信號A輸入到單片機(jī)的INT0引腳,信號B輸入到單片機(jī)的INT1引腳,。然后用INT0的下降沿中斷方式,,在INT0中斷服務(wù)程序中,根據(jù)信號B(即 INT1腳)的狀態(tài),,來確定脈沖數(shù)的加或減,。然后將脈沖數(shù)與頻率的某一位值相對應(yīng),,頻率值的數(shù)位位置,,可以用另外兩個按鈕來選擇。
2.2 顯示電路設(shè)計
顯示電路設(shè)計的關(guān)鍵問題是顯示器件的選擇,。對于類似于本設(shè)計這樣的小型電子產(chǎn)品,,可供選擇的器件有LED數(shù)碼顯示器和LCD顯示器,其中LED適用于室內(nèi),,比較醒目;LCD比較精細(xì),,顯示信息多。本作品采用LCD1602型字符顯示器,。它可以顯示2行各16個字符的各種ASCH碼字符,,因此只要設(shè)計合理,就可以將要顯示的內(nèi)容提示,、結(jié)果信息等全部顯示出來,,比一般的數(shù)碼管更直觀,、更有效。1602字符型LCD顯示器接口信號說明如表1所示,。
2.3 單片機(jī)電路及I/O資源分配
綜合考慮上述各種電路及其I/O資源需求,,選擇AT89C52單片機(jī)作為本作品的CPU,從而得到本作品主控板電路原理如圖3所示,。
控板采用AT89C52型單片機(jī)作為CPU芯片,。主控板的外形設(shè)計成與1602型LCD顯示器相同大小,并且其固定孔和連接器位置也與LCD直接對應(yīng),,這樣便于將其與LCD直接固定為一體,,從而既可以縮小測試儀的體積,也便于設(shè)備維護(hù),。
主控板設(shè)計的核心問題是CPU的I/O端口的分配問題,,信號源所需的I/O資源如表2所示
從表2可見,測試儀所需的信號數(shù)量為31個,,因此一個單片機(jī)即可滿足需要,。
3 數(shù)字信號源軟件設(shè)計
3.1 軟件系統(tǒng)總體方案設(shè)計
信號源采用點陣液晶顯示器來顯示輸出信號頻率和頻率測量結(jié)果,設(shè)置需要產(chǎn)生的信號頻率過程中,,要顯示相關(guān)輔助信息和測量結(jié)果,,這就需要相對復(fù)雜的軟件配合。本作品的軟件系統(tǒng)總體框圖如圖4所示,。
圖4中初始化程序為所有變量給定初值,,并對顯示屏進(jìn)行清屏、設(shè)置顯示模式,、光標(biāo)位置等操作;定頻信號產(chǎn)生程序是通過簡單的運(yùn)算,,然后輸出六路固定頻率的信號;變頻信號產(chǎn)生程序是根據(jù)編碼器輸出的信號頻率,通過一系列的計算后,,給相應(yīng)寄存器賦值,,從而產(chǎn)生用戶所需頻率的信號;單脈沖信號產(chǎn)生程序主要目的是消除按鍵的抖動信號,使每按一次按鍵就產(chǎn)生一個單脈沖信號;頻率測量程序用于外部輸入信號頻率的測量;頻率設(shè)定程序是利用單片機(jī)的外部中斷測量輸入信號,,從而確定需要輸出的頻率;顯示程序負(fù)責(zé)幫助用戶設(shè)定所需要的輸出頻率和對輸入信號頻率進(jìn)行顯示,。
3.2 軟件系統(tǒng)主程序流程設(shè)計
由于系統(tǒng)可以輸出多種模式的信號,同時還兼有頻率計的功能,,所以每個模塊執(zhí)行的子程序中要求給予輸入?yún)?shù)提示,。系統(tǒng)主程序流程如圖5所示,在初始化階段,,對系統(tǒng)中相關(guān)參數(shù)進(jìn)行定義賦初值,,初始化后進(jìn)入功能設(shè)置,根據(jù)功能鍵值,,調(diào)用對應(yīng)的功能模塊子程序,。根據(jù)提示輸入所需要設(shè)置的參數(shù),,確認(rèn)后按執(zhí)行鍵執(zhí)行。
4 結(jié)論
根據(jù)上述軟硬件設(shè)計方法制作了數(shù)字信號源和頻率計樣機(jī),,并對樣機(jī)進(jìn)行了參數(shù)測量,。實測結(jié)果表明,本數(shù)字信號源可以便捷地產(chǎn)生頻率固定或可變的連續(xù)脈沖信號和單脈沖信號,,且可以實現(xiàn)對輸入信號頻率的測量,。整機(jī)結(jié)構(gòu)簡單、性能穩(wěn)定,、便于攜帶,,因此既可以應(yīng)用于院校的日常教學(xué)實驗中,也可以用于裝備的日常檢修中,,具有較高的性價比,。