鄭艷楠ZHENG Yan-nan;馬爾侖MA Er-lun
(①內(nèi)蒙古化工職業(yè)學(xué)院測控與機電工程系,呼和浩特 010070;②內(nèi)蒙古師范大學(xué)數(shù)學(xué)科學(xué)學(xué)院,呼和浩特 010022)
(①Control and Mechatronics Engineering Department of Inner Mongolia Vocational College of Chemical Engineering,Hohhot 010070,China;②School of Mathematical Sciences,Inner Mongolia Normal University,Hohhot 010022,China)
流量顯示表是由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)和用戶應(yīng)用程序組成的,用于實現(xiàn)對流量的檢測、顯示等功能。目前在工程上得到廣泛應(yīng)用,尤其在油田、水利等領(lǐng)域。流量顯示表主要包括硬件和軟件設(shè)計兩部分,硬件完成的功能主要是把傳感器送入的信號經(jīng)過一系列的變換在顯示端口顯示數(shù)據(jù);軟件完成的功能是控制各個模塊的功能實現(xiàn),整個系統(tǒng)具有外圍結(jié)構(gòu)簡單的特點。傳感器模塊與單片機的通道A/D 進行連接,這樣可以簡化模擬采集設(shè)計,從而減小設(shè)計的復(fù)雜性,以此來增加系統(tǒng)的可靠性。而鍵盤輸入模塊是實現(xiàn)人機對話的主要功能。電源及復(fù)位模塊的主要功能是提供可靠的電源,系統(tǒng)也需要有復(fù)位功能,這樣系統(tǒng)能夠提供復(fù)位信號。我們設(shè)計的主要目標就是將振動器和系統(tǒng)時鐘發(fā)生器主要以廉價和低功率的設(shè)計為主。而且當(dāng)廉價系統(tǒng)和外接器件縮減到一個普通的晶振的時候,就需要達到低頻晶體和含有倍頻器的振蕩器來滿足時鐘系統(tǒng)速度與低功效這兩個要求。
流量顯示表的硬件設(shè)計主要包括CPU 的設(shè)計及外圍模塊的設(shè)計,由于CPU 芯片內(nèi)資源豐富,所以需要的外圍模塊很少,只有鍵盤模塊,輸入模塊,通訊模塊,顯示模塊等外圍模塊。流量顯示表的功能主要是將流量傳感器送入的數(shù)據(jù),通過主CPU 經(jīng)過數(shù)據(jù)處理后送到顯示的過程。由于MSP430 片內(nèi)集成了A/D 轉(zhuǎn)換通道,這樣可以直接將單片機的A/D 輸入通道與傳感器的模擬信號相連接。硬件設(shè)計中要考慮到各種所選芯片的兼容性,也要涉及到一些外設(shè)電路,例如復(fù)位電路,濾波電路,電源電路等。在單片機系統(tǒng)里需要復(fù)位電路,因此本設(shè)計可以用R-C 復(fù)位電路,R-C 復(fù)位電路的主要特點就是經(jīng)濟性較高。整個系統(tǒng)采用3.3V 供電,由于流量顯示表多應(yīng)用在工程上,電源為集中供電形式,因此本設(shè)計可以不考慮電源電路的設(shè)計。
2.2.1 MSP430F135 的結(jié)構(gòu)框圖
圖1 MSP430F135 的結(jié)構(gòu)框圖
2.2.2 MSP430F135 的存儲器模式及范圍
MSP430 的ROM 和RAM 都在同一地址空間,雖然不同型號的單片機具有不同容量的存儲器,但是它們都分配在0000H——FFFFH 范圍內(nèi),存儲器是按線性方式組織的。如圖2 所示的存儲空間基本結(jié)構(gòu)。從200H—C00H 地址范圍是RAM 存儲器。
MSP430 的數(shù)據(jù)存儲器(RAM)位于存儲器地址空間的0200H 以上,這些存儲器一般用做數(shù)據(jù)的保存與堆棧、同時也是數(shù)據(jù)運算的場所。在特殊場合還可以用做程序存儲器??梢宰植僮?,也可以字節(jié)操作,通過指令后綴加以區(qū)別。但用做程序存儲器時只能字操作。MSP430F135 的RAM 為512 字節(jié)(03FFH—0200H)。
2.2.3 中斷方式及中斷向量
MSP430 有3 類中斷:系統(tǒng)復(fù)位、可屏蔽中斷、非屏蔽中斷。
圖2 存儲空間基本結(jié)構(gòu)
引起系統(tǒng)復(fù)位的中斷源有:加電源電壓、RST/NMI 引腳加低電平、看門狗定時器溢出、看門狗定時器密匙不符。
非屏蔽中斷由以下情況產(chǎn)生:RST/NMI 引腳有上升沿信號、振蕩器故障。
可屏蔽中斷源如下:看門狗定時器溢出、其他有中斷能力的外圍模塊。
端口P1 和P2 的全部8 位都可以作為外部事件的中斷插入。每一個I/O 位都可獨立編程。可以對端口任意組合成輸入、輸出和中斷,因此能靈活地適應(yīng)不同的I/O 結(jié)構(gòu)要求。在設(shè)計中用到的中斷源有:上電、復(fù)位、看門狗,定時器A 和B,USART0 的接收和發(fā)送中斷,ADC 模塊的中斷以及P1 口的中斷。
2.2.4 時鐘模塊
MSP430 系列單片機不可缺少的模塊就是時鐘模塊,而時鐘模塊又可以使單片機實現(xiàn)的低功耗應(yīng)用不同,因此不同的器件所具有的時鐘模塊也不相同,而MSP430F135的時鐘模塊主要是由高速晶體、低速晶體和數(shù)字控制振蕩器(DCO)等器件構(gòu)成。而高速晶體、低速晶體和數(shù)字控制振蕩器(DCO)等器件通過MSP430F135 時鐘模塊產(chǎn)生的3 個時鐘模塊也不同,提供的模塊使用也就不同,而產(chǎn)生的時鐘為:輔助時鐘(ACLK)、主系統(tǒng)時鐘(MCLK)和子系統(tǒng)時鐘(SMCLK)。系統(tǒng)的實時性要求比較高時可采用ACLK 時鐘??偟膩碚f,應(yīng)該根據(jù)不同的應(yīng)用來選擇適當(dāng)?shù)臅r鐘。
基礎(chǔ)時鐘模塊有2 個或3 個時鐘源:LFXTlCLK 低頻/高頻時鐘源、XT2CLK 高頻時鐘源和DCOCLK 時鐘源。
基礎(chǔ)時鐘模塊可以提供3 種時鐘信號:ACLK 輔助時鐘、MCLK 主時鐘、SMCLK 子時鐘。
2.2.5 看門狗定時器
看門狗定時器(WDT)的主要功能就是當(dāng)程度發(fā)生問題的時候,就可以通過受控系統(tǒng)然后重新啟動。我們把WDT 選定好時間,就可以發(fā)生系統(tǒng)服務(wù)。應(yīng)用中如果不需要此功能,則可以把它當(dāng)作定時器,當(dāng)選定定時時間到達后將產(chǎn)生中斷。
WDT 的寄存器
WDT 的計數(shù)器WDTCNT 是16 位增計數(shù)器,由于它不能直接用軟件訪問,就要經(jīng)過WDTCTL 對WDTCNT 進行控制,它定位于字地址0120h 的16 位讀/寫寄存器的低字節(jié)。所有讀寫操作都要用字指令,這樣即不帶后綴或用后綴.W。在看門狗或定時器中,只有含有正確安全鍵值(05Ah)的指令才能寫入WDTCTL。
表1 WDTCNT 寄存器
WDT 模塊可置成兩種模式:看門狗模式和定時器模式。
①看門狗模式。WDT 設(shè)置為看門狗模式,WDT 定時時間到或?qū)懭脲e誤的安全鍵值會觸發(fā)PUC 信號,這樣將自動清除系統(tǒng)寄存器的各位。這也將WDT 再次設(shè)置為看門狗模式,RST/NMI 引腳切換到復(fù)位模式。在發(fā)生上電復(fù)位或系統(tǒng)復(fù)位時,WDT 自動進入看門狗模式,WDTCTL 和WDTCNT 寄存器全部清除。選擇看門狗模式的時候,我們需要把軟件的周期在WDTCTL 的CNTC 位中寫“1”來使WDTCNT 復(fù)位以防止超過設(shè)定的定時時間。定時時間通過SSEL、IS0 和IS1 來選定。
②定時器模式。將WDTCTL 的TMSEL 置位即選擇定時器模式。定時時間可用軟件對WDTCTL 寄存器的CNTCL 置位來進行初始化。
2.2.6 串口通信模塊
在單片機系統(tǒng)中,串口通信是一個非常重要的部分,通過串口通信實現(xiàn)與其他模塊進行通信。MsP430F135 單片機里提供的串口通信模塊為USART。該模塊即可以作為UART 使用,提供異步通信功能,也可以作為SPI 使用,提供同步通信功能。USART 硬件模塊主要包括波特率部分、接受部分、發(fā)送部分和接口部分等。
USART 的接收部分主要包括接收寄存器、接收移位寄存器以及控制模塊組成,它在接收的時候產(chǎn)生一些狀態(tài)信息,并設(shè)置相應(yīng)的中斷標志位。USART 的發(fā)送部分主要包括發(fā)送寄存器、發(fā)送移位寄存器以及控制模塊組成,它在發(fā)送的時候產(chǎn)生一些狀態(tài)信息,并可以設(shè)置發(fā)送中斷標志位。USART 的波特率產(chǎn)生部分主要包括時鐘的選擇、波特率的產(chǎn)生以及波特率的調(diào)整部分組成,它通過設(shè)置波特率寄存器和波特率調(diào)整寄存器來獲得需要的波特率。另外USART 模塊還包括一個控制模塊,通過控制模塊可以選擇相應(yīng)的工作模式,同時設(shè)置相應(yīng)的管腳。
波特率計算公式為:波特率=BRCLK/N=BRCLK/UBR+(M7+...+M0)/8;其中BRCLK 為時鐘源,UBR 為UCBR 中的16 位數(shù)據(jù)值,MX 為UXMCTL 中的各數(shù)據(jù)位。
USART 模塊在實現(xiàn)異步通信(UART)的基礎(chǔ)上主要對外進行通信的,也可以實現(xiàn)同步通信(SPI)。用戶對USART模塊的操作主要都是通過操作該模塊的寄存器實現(xiàn)的。
2.2.7 ADC12 模塊
A/D 模塊特性如下:8 個A/D 輸入通道;4 個模擬輸入端可作為編程電流源;我們可作比例測量的絕對測量值;內(nèi)置的采樣/保持電路;有轉(zhuǎn)換結(jié)束的中斷標志(Eoc);ADAT 寄存器可將轉(zhuǎn)換結(jié)果保存到下一次轉(zhuǎn)換的開始;低功耗;獨立完成轉(zhuǎn)換,不需要CPU 額外的處理開銷;可編程為12 或14 位的分辨率;4 個可編程量程可達到14 位的動態(tài)范圍;快速的轉(zhuǎn)換時間;大的供電電壓范圍;可覆蓋整個A/D 轉(zhuǎn)換范圍。
可選擇的模塊有8 個輸入通道,經(jīng)過多路切進入轉(zhuǎn)換器的輸入電路后,我們可以進行任意時刻的通道轉(zhuǎn)換。其中的A0、Al、A2、A3 四個通道還可作為4 個電流源輸出,其值可以經(jīng)外接電阻REXT 設(shè)定。ADC12 模塊能夠?qū)崿F(xiàn)12 位精度的模數(shù)轉(zhuǎn)換。
流量顯示表要求的計量精度為1.0%,那么芯片選型時要考慮到芯片的精度問題,綜合各種因素的考慮,主CPU 選為MSP430 系列,最后設(shè)計結(jié)果如下:①由于該表的芯片選用的都是高精度的芯片,所以已經(jīng)達到了1.0%的要求。該表的功耗低、可靠性好且經(jīng)濟性較好,可以廣泛應(yīng)用于工程上。②流量顯示表集成度高。隨著技術(shù)的進步,嵌入式儀表也在發(fā)生著變化,功能也趨于完善。本設(shè)計的流量表具有更好的通用性,如可適用于壓力、溫度、濕度、流量等的顯示,因此在工業(yè)上可以廣泛應(yīng)用。
[1]秦龍.MSP430 單片機應(yīng)用系統(tǒng)開發(fā)典型實例[M].深圳:中國電力出版社,2004.
[2]胡大可.MSP430 系列超低功耗16 位單片機原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2000.6.
[3]趙家貴,付小美,董平.新編傳感器電路設(shè)計手冊.
[4]吳達科.智能渦街流量計的設(shè)計研究[D].西南農(nóng)業(yè)大學(xué),2003.
[5]魏禎毅.油氣水多相流量計的研究[D].浙江大學(xué),2004.
[6]Sipex Corporation.SP3220 True +3.0v to +5.5v RS-232 Transceivers.http://www.21IC.com.2003.
[7]Low Cost,Precision 2.5v IC References AD1403.http://www.liyuan.com.