新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C8051F單片機(jī)信號發(fā)生器設(shè)計(jì)與應(yīng)用

基于C8051F單片機(jī)信號發(fā)生器設(shè)計(jì)與應(yīng)用

作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
1 引言

在實(shí)際的彈道加速度測試中,需要產(chǎn)生許多波形曲線用來驗(yàn)證,而能夠產(chǎn)生任意波形的信號發(fā)生器價(jià)格昂貴,不適合工程實(shí)際的需求.通過設(shè)計(jì)產(chǎn)生的信號發(fā)牛裝置,不僅成本低,而且功能強(qiáng)大,可以產(chǎn)生滿足各種需要的信號。C8051Fxxx系列單片機(jī)是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。除了具有標(biāo)準(zhǔn)8052的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件;內(nèi)置FLASH程序存儲(chǔ)器、內(nèi)部RAM,大部分器件內(nèi)部還有位于外部數(shù)據(jù)存儲(chǔ)器窄間的RAM,即XRAM。數(shù)?;旌系母叨燃墒沟迷搯纹瑱C(jī)系統(tǒng)IJ以方便實(shí)現(xiàn)數(shù)控及簡單信號處理等功能。C8051F121單片機(jī)具有片內(nèi)VDD監(jiān)視器、看門狗定時(shí)器和時(shí)鐘振蕩器,是真正能獨(dú)立工作的片上系統(tǒng)。使用C8051F121單片機(jī)設(shè)計(jì)任意波形信號發(fā)牛器,不僅減少了器件,簡化了電路,節(jié)約了成本,更使得系統(tǒng)穩(wěn)定節(jié)能。方便快捷地輸出多種低頻信號。

2 系統(tǒng)原理與組成

系統(tǒng)以C8051F121單片機(jī)為核心,通過串口通信將PC機(jī)中的數(shù)據(jù)傳送到單片機(jī)中,然后單片機(jī)將所接受的數(shù)據(jù)存放到128k的外部存儲(chǔ)器中。系統(tǒng)的控制電路啟動(dòng)D/A轉(zhuǎn)換將外部存儲(chǔ)器中的數(shù)據(jù)轉(zhuǎn)化成模擬信號,生成所需要的波形。波形的幅值、脈寬、頻率、持續(xù)時(shí)問等參數(shù)均可以在VB程序下進(jìn)行調(diào)節(jié),可以實(shí)現(xiàn)任意波形的信號發(fā)生功能。

系統(tǒng)基本組成如圖1所示,應(yīng)用模塊可以根據(jù)工程實(shí)際中的具體要求,實(shí)現(xiàn)不同的目的。本文中應(yīng)用模塊為加速度測試系統(tǒng),用來實(shí)現(xiàn)測試裝置的模擬信號輸入。


圖1系統(tǒng)組成結(jié)構(gòu)圖

3 系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)

系統(tǒng)實(shí)現(xiàn)信號發(fā)生功能設(shè)計(jì)目標(biāo)主要包括以下幾個(gè)方面:串口通信模塊,電源供電模塊,外部擴(kuò)展存儲(chǔ)器模塊,外部晶振以及復(fù)位模塊。下面詳細(xì)介紹一下各單元的硬件電路和實(shí)現(xiàn)的功能。


圖2信號發(fā)生器硬件結(jié)構(gòu)圖

3.1電源模塊設(shè)計(jì)

整個(gè)系統(tǒng)采用3.3V供電,考慮到硬件系統(tǒng)對電源要求有穩(wěn)壓功能,另外也考慮到硬件系統(tǒng)的低功耗等特點(diǎn),電源部分采用AR33將電源的5V電壓轉(zhuǎn)換成系統(tǒng)需要的3.3V;為了減少輸出電源的高頻噪聲,在單片機(jī)、鎖存器,外部擴(kuò)展存儲(chǔ)器以及電源輸出部分分別應(yīng)用了0.01uF和luF,0.1uF和4.7uF的配對電容,對電源進(jìn)行濾波。

3.2 外部擴(kuò)展存儲(chǔ)器設(shè)計(jì)

C8051Fl21MCU內(nèi)部有位于外部數(shù)據(jù)存儲(chǔ)器空間的8K字節(jié)片上RAM,但是對于實(shí)際的彈道速度信號發(fā)生器而言存儲(chǔ)空間偏小,因而需要擴(kuò)展容量更大的外部存儲(chǔ)器。C8051F121提供用于訪問片外存儲(chǔ)器和存儲(chǔ)器映射I/0器件的外部數(shù)據(jù)存儲(chǔ)器接口(EMIF)。設(shè)計(jì)中采用的是IDT公司的IDT71V124SA芯片,3.3V供電,是高速的CMOS靜態(tài)RAM,采用了高性能,高可靠性的CMOS技術(shù)和JEDEC中心電源/接地管腳分布,極大地減少了噪聲,優(yōu)化了系統(tǒng)性能。IDT7IVl24SA芯片提供了128x8存儲(chǔ)容量,很好地滿足了設(shè)計(jì)系統(tǒng)對數(shù)據(jù)和程序存儲(chǔ)空間的要求。在單片機(jī)和外部存儲(chǔ)器之間應(yīng)用了一個(gè)地址鎖存器74VHC573,用來鎖存存儲(chǔ)到IDT71V124SA的數(shù)據(jù)。接口部分采用地址和數(shù)據(jù)總線復(fù)用的方式以減少所需要的端口引腳數(shù),這樣配置使得外部存儲(chǔ)器和C805IFl21之間傳輸數(shù)據(jù)時(shí)低位地址保持在鎖存器中,不需要再為數(shù)據(jù)傳輸增加8位端口。

3.3 外部晶振設(shè)計(jì)

對于實(shí)際的系統(tǒng)而言,C8051F121單片機(jī)的內(nèi)部時(shí)鐘頻率不能滿足要求,因而需要配置較大頻率的外部振蕩器。C8051Fl2x器件包含一個(gè)內(nèi)部振蕩器和一個(gè)外部振蕩器驅(qū)動(dòng)電路,可以驅(qū)動(dòng)外部晶體、陶瓷諧振器、電容或RC網(wǎng)絡(luò)。設(shè)計(jì)中采用外部晶體作為外部振蕩器。晶體振蕩器被使能后,幅值檢測電路需要一段穩(wěn)定時(shí)間才能達(dá)到正確的偏囂。在使能振蕩器下作和檢XTLVLD位之間至少等待1 ms,以防止過早將外部振蕩器切換為系統(tǒng)時(shí)鐘。等查詢到XTLVLD=>’1’時(shí),將系統(tǒng)時(shí)鐘切換到外部振蕩器。由于晶體振蕩器電路對PCB布局非常敏感。在布局中將晶體盡可能地靠近了器件的XTAL引腳。引線地短并用地平面屏蔽,防止從其它引線引入噪聲或干擾。

3.4DAC設(shè)置

C8051F121器件有兩個(gè)片內(nèi)12位電壓方式數(shù)/模轉(zhuǎn)換器(DAC)。設(shè)計(jì)中使用了DAC1。并基于定時(shí)器溢出更新輸出,這樣在用DAC產(chǎn)生一個(gè)固定采樣頻率的波形時(shí),可以消除中斷延遲不同和指令執(zhí)行時(shí)間不同對DAC輸出時(shí)序的影響。當(dāng)DACIMD位(DAClCN[4:3])被設(shè)置為‘01’、‘10’或‘ll’時(shí),對DAC兩個(gè)數(shù)據(jù)寄存器(DAClL和DAClH)的寫操作被保持,直到相應(yīng)的定時(shí)器溢出事件(分別為定時(shí)器3、定時(shí)器4或定時(shí)器2)發(fā)生時(shí)DACOH:DACOL的內(nèi)容才被復(fù)制到DAC輸入鎖存器,允許DAC數(shù)據(jù)改變?yōu)樾轮?。設(shè)計(jì)中在DAC輸出口加入了電壓跟隨器,平穩(wěn)地輸出波形。

4 軟件設(shè)計(jì)

系統(tǒng)軟件設(shè)計(jì)部分包括單片機(jī)端和人機(jī)交互端兩個(gè)部分。單片機(jī)端主要是通過串口接受來自采集系統(tǒng)的信號,保存到存儲(chǔ)器中,輸出電壓信號;人機(jī)交互端主要通過Visual Basic軟件編寫圖形界面,接受和傳送數(shù)據(jù),并且通過改變信號的幅值、脈寬、頻率、持續(xù)時(shí)間等來實(shí)現(xiàn)對整個(gè)系統(tǒng)的控制。

4.1單片機(jī)端實(shí)現(xiàn)程序

單片機(jī)端軟件采用C51編寫,使用KeiluVision集成開發(fā)環(huán)境。主要完成單片機(jī)的初始化、串口通信和DAC輸出設(shè)置,單片機(jī)的初始化主要是單片機(jī)的串口中斷打開和系統(tǒng)配置初始化。單片機(jī)的串口通信模塊主要完成單片機(jī)和上位機(jī)的通信,把系統(tǒng)需要的信息交由上位機(jī)進(jìn)行處理。由于C8051F121單片機(jī)具有片內(nèi)的UART,兇而只要設(shè)置適當(dāng)?shù)钠孀衅魇箚纹瑱C(jī)工作起來,設(shè)計(jì)中串口通訊方式使用了效率高的中斷方式接受和發(fā)送數(shù)據(jù)。

上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉