周 超
(長春職工大學,吉林長春 130051)
STC單片機在高速數(shù)據(jù)采集和控制系統(tǒng)中的應用
周 超
(長春職工大學,吉林長春 130051)
本文介紹了數(shù)據(jù)采集和控制系統(tǒng)的設計,根據(jù)測試要求不斷的提高,利用STC10F08單片機和雙口緩沖接口芯片CH421設計出高速數(shù)據(jù)控制采集系統(tǒng),并從實際應用的要求和性能指標來設計出相關的硬件和軟件,詳細地闡述了硬件設計的思路和達到的結果。
STC10F08單片機;雙口數(shù)據(jù)緩沖芯片CH421;數(shù)據(jù)采集;AD7705
在現(xiàn)代的工業(yè)生產(chǎn)的控制過程中,需要很多數(shù)據(jù)的實時采集、分析、處理及保存,用來指導產(chǎn)品的配料和配方的調整,使產(chǎn)品得到及時的控制和質量的保證。一般地,要用機電一體化的設備進行控制,如各種材料試驗機、生產(chǎn)的流水線等。采用實時的方法對數(shù)據(jù)的采集處理有較高的要求。筆者設計了一種高速的數(shù)據(jù)采集和控制系統(tǒng),該系統(tǒng)采用多個單片機和雙口緩沖RAM的方法,利用高精度的AD轉換器,使數(shù)據(jù)能夠快速地采集、分析、處理,并及時對所控制的設備進行調正,滿足生產(chǎn)上的要求。
數(shù)據(jù)采集和控制系統(tǒng)由于采用了單片機技術、貼片的元器件等手段,減小了體積,提高了速度,使用方便,測量準確,功耗低,可靠耐用。經(jīng)過多年的實際使用,受到用戶的好評。
(1)采用Σ-Δ轉換技術的16位的AD轉換器,采集多路信號。
(3)測量的數(shù)據(jù)可全量程不分檔,并任意標定。
(4)通過雙口數(shù)據(jù)緩沖芯片CH421可以與復雜的網(wǎng)絡、PC機、USB提供人機交互接口。
(5)可通過產(chǎn)生PWN信號或電壓能控制伺服電機等設備。
(6)可對脈沖信號采集并分析處理。
(7)能夠與PC機進行數(shù)據(jù)通訊,按PC機的指令操作,以完成數(shù)據(jù)采集和控制的全過程。整體功能框圖如圖1。
根據(jù)系統(tǒng)的要求,本系統(tǒng)中配接二片單片機和一片雙口緩沖芯片CH421、AD轉換器AD7705、前置放大器AD625、1014彩色液晶屏等。下面分別說明一下各部件的功能和實現(xiàn)的作用。
此款單片機,集成的混合信號片上系統(tǒng) (Soc)是有與MCS51的內核及指令集完全兼容的微處理器。主要性能為:(1)高速度,單時鐘/機器周期的單片機,比傳統(tǒng)的單片機快10至12倍;(2)內部集成高可靠復位電路,適合高速通信,智能控制,強干擾場合;(3)具有最大64K B可在線編程的Flash存儲器;(4)具有片內數(shù)據(jù)存儲器;(5)具有P0、P1、P2、P3、P45個I/0接口;(6)2個通用16位計數(shù)器/定時器;(7)5個捕捉/比較模塊的可編程計數(shù)器/定時器;(8)可尋址64K B地址空間的外部數(shù)據(jù)存儲器接口;(9)片上看門狗定時器、Vdd監(jiān)視器和溫度傳感器;(10)該單片機的溫度范圍 (-45至-85),工作電壓5至316V。端口I/O,/RST,都容許5V輸入信號電壓,是44引腳TQFP封裝的芯片。
本系統(tǒng)中共用2只STC10F08單片機。其中一只單片機用來做主控單片機,主要負責數(shù)據(jù)采集的任務,包括與AD轉換器連接、處理輸入的脈沖信號、提供各種信號,及時把信號傳送給CH421雙口RAM,也能及時讀出上位機發(fā)出的命令并加以執(zhí)行,用串口連接彩色液晶屏,能接受觸摸屏的信號并加以處理執(zhí)行;另一只單片機作為輔助單片機,用來產(chǎn)生PWN和電壓信號能控制伺服電機等設備,還要負責處理復雜的網(wǎng)絡通訊協(xié)議,與上位機進行接口聯(lián)系并執(zhí)行上位機的命令。這種結構才能保證高速的目的。
為了能夠達到采集數(shù)據(jù)的數(shù)量和速度,本設計采用多個單片機來完成信號的采集,并在單片機之間用雙口RAM CH421進行連接。用這種方式可以把串口的信號轉換成并口的信號進行傳輸大大的提高了速度,滿足了系統(tǒng)的要求。
圖1 數(shù)據(jù)采集和控制系統(tǒng)功能框圖
這是一個提供雙向緩沖的接口芯片。CH421有X和兩個8位被動并行端口,通過共享66個字節(jié)的雙端口數(shù)據(jù)緩沖區(qū),實現(xiàn)X端與Y端之間的單片機進行雙向異步數(shù)據(jù)交換。引腳框圖見圖2。
圖2 雙口緩沖器CH421引腳圖
CH421的主要特點:(1)通用的8位雙向數(shù)據(jù)總線,可以直接到單片機的系統(tǒng)總線上;(2)可以提供共享的66字節(jié)的數(shù)據(jù)緩沖區(qū);(3)分別為X端和Y端一個字節(jié)的單向緩沖區(qū),即一端寫可兩端讀;(4)低電平有效的通用并行接口控制信號:片選控制線,讀選通線,寫選通線;(5)只占用兩個地址位:索引地址口,讀寫數(shù)據(jù)口后內部索引地址自動遞增;(6)提供兩端軟件可控制的中斷輸出引腳INT#,低電平有效;(7)最大傳輸速度不低于每秒7M字節(jié)。
CH421的工作原理:CH421內置了一個雙口SRAM存儲器,具有兩套地址線,兩套雙向數(shù)據(jù)線,以及兩套讀寫控制線,分別連到X端和Y端,共有66個字節(jié),地址范圍是00H~41H。X端連接一只單片機,Y端連接另一只單片機。從Y端寫入的數(shù)據(jù),在X端可以讀出,這樣就實現(xiàn)了兩只單片機的數(shù)據(jù)交換,只有用并行的方式才能保證速度。
CH421還在X端和Y端各有一個字節(jié)的單向緩沖器,是一端寫入兩端可讀的。X端可寫的地址是42H,Y端可寫的地址是43H。CH421的INT#引腳是軟件可控的中斷請求輸出,當單向緩沖器位7被置1時就會使INT#引腳輸出低電平。在實際應用中還是采用中斷的方式傳遞數(shù)據(jù)最可靠,而且當我們寫完一組數(shù)據(jù)后,發(fā)出中斷信號,另一端響應馬上讀出。
CH421外部只有一根地址線XA0或者Y A0,為0指向索引口,為1指向數(shù)據(jù)口。
CH421的Y端速度比較快,X端速度較慢,并且Y端比X端的優(yōu)先級高。
與單片機連接見圖3。
圖3 單片機連接雙口緩沖器的原理圖
由圖3可以看出,CH421把兩只單片機連接起來了,其中雙方只用了數(shù)據(jù)總線、讀寫信號、片選信號、A0信號。這些都是單片機的基本信號,硬件電路并不復雜,但卻提高了速度。接單片機的時鐘為1110592MHZ,那么一個機器周期=1/11059200=0109us。單片機寫入一個字節(jié)大約用4個周期,也就是用0136us的時間,假如我們一次寫入的數(shù)據(jù)100個字節(jié),總共用時約36us,那么傳送的速率為27777/s,見表1。
表1 CH421并口I/O操作的真值表
AD7705是美國AD公司推出的16位Σ-ΔA/D轉換器。器件包括由緩沖器和增益可編程放大器 (PG A)組成的前端模擬調節(jié)電路、Σ-Δ調制器、可編程數(shù)字濾波器等部件。內部有增益可編程放大器AD7705包括兩個全差分模擬輸入通道。片內的增益可編程放大器PG A可選擇1、2、4、8、16、32、64、128八種增益之一,能將不同幅度的各類輸入信號放大到接近A/D轉換器的滿標度電壓再進行A/D轉換,這樣有利于提高轉換質量。當電源電壓為5V,基準電壓為215V時,器件可直接接受從0~20mV至0~215V幅度范圍的單極性信號和從0~±20mV至0~±215V范圍的雙極性信號。輸入的模擬信號被A/D轉換器連續(xù)采樣,采樣頻率fS由主時鐘頻率fCLK和選定的增益決定。
數(shù)字接口AD7705的串行數(shù)據(jù)接口包括5個接口,其中片選輸入CS、串行時鐘輸入SCLK、數(shù)據(jù)輸入DIN、轉換數(shù)據(jù)輸出口DOUT用于傳輸數(shù)據(jù),狀態(tài)信號輸出口用于指示什么時候輸出數(shù)據(jù)寄存器的數(shù)據(jù)準備就緒。當DRDY為低電平時,轉換數(shù)據(jù)可用;當DRDY為高電平時,輸出寄存器正在更新數(shù)據(jù),不能讀取數(shù)據(jù)。器件的A/D轉換過程是按設定的數(shù)據(jù)輸出更新速率連續(xù)進行的。任何操作都需要對相應片內寄存器送入新的編程指令。
片內寄存器AD7705包括8個寄存器,均通過器件串行口訪問。
由上所述采用AD7705轉換器能夠滿足設計的要求,在實踐中證明效果也是很好的。以下是單片機連接AD轉換器見圖4。
圖4 單片機連接AD轉換器
采用美國Analog Device公司生產(chǎn)的儀表放大器AD620。前置放大器采用差分輸入,提高阻抗抑制共模噪聲。為了保證兩端信號保持平衡在兩路輸出信號加上低通濾波器,由于A/D轉換器的模擬信號輸入電壓是0~215V的信號,所以前置放大器AD620將20mv的信號放大至215V,放大倍數(shù)約為125倍左右。AD620的增益計算方法為:G=(4914KΩ/Rg)+1,Rg=4914KΩ/(G-1)=4914KΩ/(125-1),Rg約等于398Ω。見圖5。
具有這樣的前置放大器就可以配接多種橋式測量傳感器,滿足現(xiàn)場的要求。
一般的控制系統(tǒng)中,都需要和伺服電機進行配接。目前大都采用數(shù)字輸出信號控制電機的轉動。筆者采用控制頻率方式。實踐證明用頻率的方式電機旋轉穩(wěn)定,沒有漂移。用STC10F08的定時器2產(chǎn)生精確的頻率,來控制電機的旋轉。所產(chǎn)生的頻率由下式確定:Fcexn=SYScLK/(23((65536-(RCAP2h,RCAP2L))),式中SYScLK是單片機的時鐘頻率。通過改變RCAP2HRCAP2L的數(shù)值,就可以改變輸出頻率,并改變速度。有脈沖后,再加一個控制方向的電平,當高電平時左轉,低電平時右轉。
(1)要使用STC10F08的看門狗功能。
(2)電源要加上抗干擾濾波器。經(jīng)過穩(wěn)壓模塊將各個電源分開,并分開接地。減少交叉耦合。
圖5 前置放大器原理圖
(3)與外設系統(tǒng)的連接加上光電耦合器件。
(4)所有的屏蔽線要就近接地。
實踐證明,采取上述措施大大減少了干擾,使數(shù)據(jù)采集和控制系統(tǒng)穩(wěn)定地運行。
在已有硬件基礎上,筆者采用C++語言進行編程設計。軟件采用模塊化的方式來設計,這樣有利于調整和修改。下面介紹幾個主要的模塊。
因為采用的是STC10F08單片機和CH421、AD7705轉換器,加電以后對系統(tǒng)要進行初始化,讀參數(shù)等操作根據(jù)要求做如下配置:(1)配置看門狗:系統(tǒng)采用的時鐘是1110592MHZ,看門狗溢出時間= (123Proscale332768)/11059200,溢出時間為7111ms。程序運行周期最長不過30ms左右,在30ms時間內可以喂一次狗??梢员WC程序正常運行。(2)配置AD7705轉換器的初始化。(3)讀取EEPROM 24C64存儲器里面設定過的參數(shù)。(4)把彩色液晶屏顯示主畫面。
圖6 主函數(shù)流程圖
因篇幅有限,源程序不能全部寫出。本高速數(shù)據(jù)采集和控制系統(tǒng)完全按照工業(yè)要求設計,由于采用高速的AD轉換器和雙口緩沖器RAM實現(xiàn)了高速,高精度,大大提高了系統(tǒng)的數(shù)據(jù)吞吐量,滿足用戶的需求。通過設置不同的參數(shù)可以應用在各種場合。
以上開發(fā)設計的高速數(shù)據(jù)采集和控制系統(tǒng),經(jīng)過多年的應用取得較好的效果。控制靈活方便,數(shù)據(jù)準確,彩色液晶觸摸屏實現(xiàn)方便的人機對話,用戶操作簡單方便。由于體積小,功耗低,能長時間穩(wěn)定工作,特別是有的試驗要做幾百個小時仍能正常工作,可靠性很高?,F(xiàn)已為大專院校、科研院所、企事業(yè)單位及相關生產(chǎn)行業(yè)提供了精度高、性能穩(wěn)定可靠的高端測控儀器,既創(chuàng)造了較好的經(jīng)濟效益,又收到了較高的社會效益。
[1]何立民.單片機應用技術選編[M].北京:北京航空航天大學出版社,1997.
[2]蘇長齡,劉威.C語言程序設計[M].北京:中國鐵道出版社,2006.
[3]王新賢.通用集成電路速查手冊[M].濟南:山東科學技術出版社,2003.
[4]許錦峰,陳炳全.雙通道邏輯控制高速實時數(shù)據(jù)采集系統(tǒng)的設計[J].電子技術應用,2007(11).
[5]崔建華,孫紅勝,王保進.硬件實時操作系統(tǒng)的設計與實現(xiàn)[J].計算機技術應用,2008(5).
[6]張興會,趙杰.智能數(shù)據(jù)采集系統(tǒng)的研究[J].儀器儀表學報,2001,22(4).
The Application of STC-based Singlechip in High-speed Data Acquisition and Control System
ZHOU Chao
(Changchun Staff University,Changchun 130051,China)
In this paper.we describe the design of data acquisition and control system.According to the continuous increase of test requirements.we can design the high-speed data acquisition system by using the present STC10F08 singlechip and dual-port buffer interface chip CH421.From the practical application of the requirements and performance indicators.we can design the relevant hardwares and softwares.We explain the thought and result of the design of relevant hardwares de2 tailedly.
STC10F08 singlechip;dual-port buffer interface chip CH421;data acquisition;AD7705
TP273
A
1008-178X(2011)02-0061-06
2010-02-19
周 超 (1952-),吉林長春人,長春職工大學講師,從事數(shù)據(jù)庫及單片機研究。