當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]針對檢測與控制系統(tǒng)中通常需要采集多路信息,且信息量大,用一片單片機(jī)往往無法滿足系統(tǒng)實時性和擴(kuò)展性需求,且處理時間相對較長,提出一種基于雙單片機(jī)(AT89S51)的信號處理系統(tǒng)設(shè)計方案,實現(xiàn)多路信息采集,并具有實時控制,便于系統(tǒng)擴(kuò)展等特性。將該處理系統(tǒng)應(yīng)用于液面探測,驗證了該系統(tǒng)設(shè)計的可行性。

當(dāng)檢測與控制系統(tǒng)處理大量數(shù)據(jù)和多路信息時,只用一片單片機(jī)往往無法滿足系統(tǒng)實時性和擴(kuò)展性要求,且處理時間較長。例如在液面信息采集過程中,單片機(jī)要在相等的時間間隔進(jìn)行A/D轉(zhuǎn)換以及數(shù)據(jù)處理。由于要實現(xiàn)高通量的液體操作,液體操作平臺通常配置多根移液針同時進(jìn)行液體操作工作,采集多路液面信息。因此這里提出一種基于雙單片機(jī)的信號處理系統(tǒng)設(shè)計方案,該系統(tǒng)采用單片機(jī)(AT89S51)作為核心器件,2片AT89S51型單片機(jī)作為雙核心分擔(dān)整個檢測單元的任務(wù)。

1 系統(tǒng)硬件電路設(shè)計
   
信號處理系統(tǒng)的總體設(shè)計方案為:單片機(jī)1定時進(jìn)行A/D轉(zhuǎn)換,并且將轉(zhuǎn)換結(jié)果存入外部數(shù)據(jù)存儲器:單片機(jī)2讀取數(shù)據(jù)存儲器中的轉(zhuǎn)換結(jié)果并且通過串口傳遞給計算機(jī),同時還負(fù)責(zé)在系統(tǒng)接收到開始或停止命令之后相應(yīng)開始或停止單片機(jī)1的A/D轉(zhuǎn)換工作。圖1為該信號處理系統(tǒng)的硬件結(jié)構(gòu)框圖。


    根據(jù)上述設(shè)計方案,該系統(tǒng)硬件分為以下模塊:
1.1 A/D轉(zhuǎn)換模塊設(shè)計
   
由于AT89S51單片機(jī)并沒有A/D轉(zhuǎn)換模塊,因此在采集系統(tǒng)中需要使用具有A/D轉(zhuǎn)換功能的器件,這里采用ADC0832。ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換器。其主要特點如下:輸入輸出電平與TTL/CMOS相兼容;5 V電源供電時輸入電壓在0~5 V之間;工作頻率為250 kHz,轉(zhuǎn)換時間為32μs;一般功耗僅為15 mW。
    A/D轉(zhuǎn)換模塊設(shè)計采用了ADC0832的以下引腳:引腳1(CS)是片選使能信號端,接單片機(jī)AT89S51的P3.4引腳。引腳2(CH0)、引腳3(CH1)是2個模擬量輸入通道,由于檢測器只使用了一個電容傳感器,因此,這里只采用引腳3作為模擬量輸入。引腳5(DI)是數(shù)據(jù)信號輸入端,負(fù)責(zé)選擇通道控制。引腳6(DO)是數(shù)據(jù)信號輸出端,負(fù)責(zé)輸出轉(zhuǎn)換后的數(shù)據(jù)。引腳5和引腳6由于在通信時并不是同時有效,而且與單片機(jī)是雙向接口,所以在使用過程中將這兩引腳連在一起使用,并連接至單片機(jī)的P1.1引腳;引腳7(CLK)是芯片時鐘輸入,接至單片機(jī)的P1.0引腳,如圖2所示。


1.2 存儲模塊設(shè)計
   
通過對存儲器性能、價格、購買情況等因素的綜合考慮,該系統(tǒng)設(shè)計采用Cypress公司的CY7C132。該器件是2 Kx8位高速雙端口靜態(tài)讀寫存儲器。兩個端口可獨立訪問存儲器內(nèi)的任意存儲單元。該CY7C132有兩組對稱的信號線,即每個端口都有獨立的地址線、數(shù)據(jù)線和控制線以及通信聯(lián)絡(luò)信號位。存取時間為25~55 ns,在非選通時自動處于低功耗狀態(tài),異步操作,輸入和輸出三態(tài),與TTL電平兼容。
    CY7C132允許兩個CPU同時讀取任何存儲單元(包括同時讀同一地址單元),但不允許同時寫或一讀一寫同一地址單元。雙端口RAM中引入了仲裁邏輯(忙邏輯)電路來解決這個問題:當(dāng)左右兩端處理器同時寫入或一讀一寫同一地址單元時,先穩(wěn)定的地址端口通過仲裁邏輯電路優(yōu)先讀寫,同時內(nèi)部電路使另一個端口的BUSY信號有效,并在內(nèi)部禁止對方訪問,直到本端口操作結(jié)束。BUSY信號可以作為中斷源指明本次操作非法。需要注意的是:這種方法當(dāng)CPU發(fā)生插入等待時,可能會降低程序效率,不可應(yīng)用于頻繁產(chǎn)生插入中斷的場合。
    該系統(tǒng)設(shè)計采用存取時間為55 ns的CY7C132,從單片機(jī)工作速度在μs級,主單片機(jī)工作速度在ms級,雙方同時讀取雙口RAM的概率較小,上述沖突解決方案可以滿足實際需求。在主從單片機(jī)啟動工作后,為了防止主單片機(jī)的空讀,即從單片機(jī)的首次寫入時間晚于主單片機(jī)的首次讀入時間,將存儲器的首地址設(shè)置為起始標(biāo)志位,通過主單片機(jī)讀寫該為狀態(tài)決定是否將讀取下一位的存儲位。

2 具體電路設(shè)計
   
根據(jù)上述系統(tǒng)總體結(jié)構(gòu)框圖和功能設(shè)計,繪制信號處理系統(tǒng)的電路原理圖,如圖2所示。
    單片機(jī)的控制或檢測工作是通過I/O引腳實現(xiàn)的。單片機(jī)1(U1)中,PO和P2引腳以及P3.6與P3.7引腳用來與外部數(shù)據(jù)存儲器CY7C132交換數(shù)據(jù);P1.0、P1.1和P3.4引腳是與A/D轉(zhuǎn)換器ADC0832連接,控制A/D轉(zhuǎn)換操作以及讀取轉(zhuǎn)換結(jié)果:P3.2(外部中斷0)引腳與單片機(jī)2(V2)的引腳P1.0相互通信。單片機(jī)2的I/O引腳的使用情況與單片機(jī)1類似。其中特別需要指出的是:單片機(jī)2的P1.2引腳連接至CY7C132的BUSY引腳;而P3.0與P3.1是串口通信引腳,連接至MAX232。
    CY7C132是雙口RAM,但是其任意一端的地址線、數(shù)據(jù)線以及控制線的連接方法與一般RAM幾乎沒有區(qū)別,2片單片機(jī)與CY7C132的地址線和數(shù)據(jù)線采用相同的連接方法。以單片機(jī)1為例進(jìn)行說明,CY7C132的內(nèi)部存儲空間為2KB,因此,其地址空間為0000H~07FFH。單片機(jī)的I/O口要提供11根地址線,除去P0口還需占用P2.0、P2.1、P2.2端。該系統(tǒng)設(shè)計僅使用單片機(jī)AT89S51的外部RAM,因此不存在片選問題。這里采用線選法,P2.3直接與CY7C132的CS相連。
    另外,基于以下原因,單片機(jī)1與單片機(jī)2使用了不同頻率的外部晶振:1)單片機(jī)AT89S51支持的頻率有限,被選擇的晶振頻率必須符合要求;2)由于AT89S51使用機(jī)器周期作為其工作基準(zhǔn),在使用外部振蕩電路的情況下,該單片機(jī)是以晶振頻率除以12得到的數(shù)值作為機(jī)器周期,所以在單片機(jī)1需要定時器的情況下,晶振頻率要便于定時器的設(shè)置;3)單片機(jī)2需要和計算機(jī)進(jìn)行串口通信,晶振頻率要便于串口通信中波特率的設(shè)置。因此,單片機(jī)1與單片機(jī)2的晶振頻率分別選擇了12 MHz和11.059 2 MHz。

3 系統(tǒng)軟件設(shè)計
   
該系統(tǒng)軟件設(shè)計使用的是匯編語言。匯編語言的優(yōu)點是:編寫的程序存儲空間小,運(yùn)行速度快,程序效率高。另外,匯編語言編寫的程序能直接管理和控制硬件設(shè)備。匯編語言編寫的程序并不能直接為單片機(jī)所使用,必須使用編譯器編譯。本系統(tǒng)使用Keil C5l V7.09評估版。
3.1 單片機(jī)主程序
   
單片機(jī)1使用內(nèi)部RAM的20H.1作為A/D轉(zhuǎn)換標(biāo)志位,當(dāng)標(biāo)志位被置1時,主程序中的A/D轉(zhuǎn)換子程序不會運(yùn)行;當(dāng)該標(biāo)志位被置0時,A/D轉(zhuǎn)換子程序才可以執(zhí)行。單片機(jī)1的主程序執(zhí)行過程,見圖3(a)。單片機(jī)2用內(nèi)部RAM的20H.1作為程序啟動標(biāo)志位,當(dāng)標(biāo)志位被置1時,主程序不會運(yùn)行;當(dāng)該標(biāo)志位被置0時,主程序才可以執(zhí)行。在主程序開始運(yùn)行后,從外部數(shù)據(jù)寄存器中讀入數(shù)據(jù),然后關(guān)閉串口中斷,通過查詢方式向串口寫入數(shù)據(jù),然后再打開串口中斷。單片機(jī)2的主程序執(zhí)行過程,見圖3(b)。


3.2 數(shù)字濾波子程序
   
算術(shù)平均值濾波的原理是對于連續(xù)采樣的n個數(shù)據(jù),尋找一個數(shù)值y(k),使該值與采樣值之間誤差的平方和最?。?nbsp;                 
 
    式中,y(k)是第k次采樣時,N個采樣值的平均值,X(i)是第i次采樣值。
    算術(shù)平均值濾波適用于被測信號在某一數(shù)字范圍附近作上下波動的場合。該方法將干擾的影響平攤到每個測量值。采樣數(shù)n決定了抗干擾的能力,n越大,抗干擾性能越好,但是,n值過大,系統(tǒng)的靈敏度會降低。算術(shù)平均值濾波對周期性干擾有較好的抑制作用,但對脈沖性干擾作用不大。
    中值濾波算法是對某一被測參數(shù)連續(xù)采樣n次(一般n取奇數(shù))。n次采樣值按照大小排列,取中間值作為本次采樣值。中值濾波算法能有效克服因偶然因素引起的波動干擾。對于溫度、液體表面等變化緩慢的被測參數(shù),能收到良好的濾波效果。中值濾波子程序和算術(shù)平均值濾波子程序流程見圖4。



4 實驗數(shù)據(jù)
   
在實驗過程中,測試平臺的輔助工具包括,可提供±5 V輸出的WJ7103型直流穩(wěn)壓電源,美國Tektronic公司的AFG3021型函數(shù)發(fā)生器。首先,信號函數(shù)發(fā)生器產(chǎn)生直流信號通過信號處理單元電路板被傳輸?shù)焦た貦C(jī);其次,被測數(shù)據(jù)通過串口助手顯示并以文本格式(txt)存儲在工控機(jī)中;最后,被測數(shù)據(jù)通過MATLAB軟件以分別以圖像的形式顯示和十進(jìn)制數(shù)的格式記錄。
    在0 V信號輸入的條件下,信號處理單元的采樣結(jié)果(隨機(jī)取樣1 000次)見圖5。圖中的(1)(2)(3)分別表示單片機(jī)1在沒有使用數(shù)字濾波算法,采用中值濾波算法和算術(shù)平均值濾波算法的條件下得到的輸出結(jié)果。在理想情況下,采樣值應(yīng)該是0,而記錄的采樣結(jié)果與理想值存在誤差。


    在2 V信號輸入的條件下,信號處理單元的采樣結(jié)果(隨機(jī)取樣1 000次)見圖6。圖中的(1)(2)(3)分別表示單片機(jī)1在沒有使用數(shù)字濾波算法,采用中值濾波算法和算術(shù)平均值濾波算法的條件下得到的輸出結(jié)果。采樣結(jié)果中,在理想情況下,采樣值應(yīng)該是102。


    通過對兩種不同條件下采樣結(jié)果的分析可得到結(jié)論:在使用濾波算法的條件下,檢測系統(tǒng)的采樣結(jié)果會更集中在理想值附近,但采樣結(jié)果的誤差并沒有消除,而且該誤差具有明顯的隨機(jī)性。根據(jù)誤差理論,該類誤差應(yīng)屬于未定系統(tǒng)誤差。
    根據(jù)表1可知。在使用算術(shù)平均值濾波算法的情況下,可以提高信號處理單元采樣結(jié)果的精度。因此,使用算術(shù)平均值濾波算法作為單片機(jī)的數(shù)字濾波算法。


    將該系統(tǒng)用于液面探測系統(tǒng)的信號處理,以驗證該系統(tǒng)的可行性。在理想狀態(tài)下,液位信號將按照線性的規(guī)律變化。另外,根據(jù)液位檢測原理設(shè)計的電容檢測電路也以線性規(guī)律反映電容值與電壓值之間的關(guān)系。因此,線性規(guī)律變化的信號是檢測系統(tǒng)的測試的重要指標(biāo)。
    在使用函數(shù)發(fā)生器模擬線性變化信號的條件下,函數(shù)發(fā)生器按照如下方式設(shè)置:鋸齒波的輸出,上升區(qū)間占100%,輸出頻率為1 Hz,下偏移為0 V,Vp-p為2 V。信號處理單元的采樣頻率設(shè)詈為100 Hz,并且采用4個點進(jìn)行算術(shù)平均值濾波。隨機(jī)采樣1 000次的采樣結(jié)果的折線圖見圖7。從該采樣結(jié)果來看,經(jīng)過濾波算法的處理之后,信號處理單元可以獲得較好的采樣結(jié)果。



5 結(jié)論
   
本文完成了基于雙單片機(jī)的信號處理系統(tǒng)的設(shè)計,由ADC0832對要采集的信號進(jìn)行A/D轉(zhuǎn)換,兩單片機(jī)可同時讀取獨立的外部存儲器的任何存儲單元,通過串口將單片機(jī)2從存儲器中讀取的數(shù)據(jù)送入計算機(jī)。兩單片機(jī)不同的晶振頻率設(shè)置便于在不同的工作狀態(tài)。經(jīng)過實驗說明:以雙單片機(jī)作為信號處理系統(tǒng)的核心,具有便于實時控制,系統(tǒng)便于擴(kuò)展等優(yōu)點,是以后信息處理的一個發(fā)展方向。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉