鄭艷楠ZHENG Yan-nan;馬爾侖MA Er-lun
(①內蒙古化工職業學院測控與機電工程系,呼和浩特 010070;②內蒙古師范大學數學科學學院,呼和浩特 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)
流量顯示表是由嵌入式微處理器、外圍硬件設備、嵌入式操作系統和用戶應用程序組成的,用于實現對流量的檢測、顯示等功能。目前在工程上得到廣泛應用,尤其在油田、水利等領域。流量顯示表主要包括硬件和軟件設計兩部分,硬件完成的功能主要是把傳感器送入的信號經過一系列的變換在顯示端口顯示數據;軟件完成的功能是控制各個模塊的功能實現,整個系統具有外圍結構簡單的特點。傳感器模塊與單片機的通道A/D 進行連接,這樣可以簡化模擬采集設計,從而減小設計的復雜性,以此來增加系統的可靠性。而鍵盤輸入模塊是實現人機對話的主要功能。電源及復位模塊的主要功能是提供可靠的電源,系統也需要有復位功能,這樣系統能夠提供復位信號。我們設計的主要目標就是將振動器和系統時鐘發生器主要以廉價和低功率的設計為主。而且當廉價系統和外接器件縮減到一個普通的晶振的時候,就需要達到低頻晶體和含有倍頻器的振蕩器來滿足時鐘系統速度與低功效這兩個要求。
流量顯示表的硬件設計主要包括CPU 的設計及外圍模塊的設計,由于CPU 芯片內資源豐富,所以需要的外圍模塊很少,只有鍵盤模塊,輸入模塊,通訊模塊,顯示模塊等外圍模塊。流量顯示表的功能主要是將流量傳感器送入的數據,通過主CPU 經過數據處理后送到顯示的過程。由于MSP430 片內集成了A/D 轉換通道,這樣可以直接將單片機的A/D 輸入通道與傳感器的模擬信號相連接。硬件設計中要考慮到各種所選芯片的兼容性,也要涉及到一些外設電路,例如復位電路,濾波電路,電源電路等。在單片機系統里需要復位電路,因此本設計可以用R-C 復位電路,R-C 復位電路的主要特點就是經濟性較高。整個系統采用3.3V 供電,由于流量顯示表多應用在工程上,電源為集中供電形式,因此本設計可以不考慮電源電路的設計。
2.2.1 MSP430F135 的結構框圖

圖1 MSP430F135 的結構框圖
2.2.2 MSP430F135 的存儲器模式及范圍
MSP430 的ROM 和RAM 都在同一地址空間,雖然不同型號的單片機具有不同容量的存儲器,但是它們都分配在0000H——FFFFH 范圍內,存儲器是按線性方式組織的。如圖2 所示的存儲空間基本結構。從200H—C00H 地址范圍是RAM 存儲器。
MSP430 的數據存儲器(RAM)位于存儲器地址空間的0200H 以上,這些存儲器一般用做數據的保存與堆棧、同時也是數據運算的場所。在特殊場合還可以用做程序存儲器。可以字操作,也可以字節操作,通過指令后綴加以區別。但用做程序存儲器時只能字操作。MSP430F135 的RAM 為512 字節(03FFH—0200H)。
2.2.3 中斷方式及中斷向量
MSP430 有3 類中斷:系統復位、可屏蔽中斷、非屏蔽中斷。

圖2 存儲空間基本結構
引起系統復位的中斷源有:加電源電壓、RST/NMI 引腳加低電平、看門狗定時器溢出、看門狗定時器密匙不符。
非屏蔽中斷由以下情況產生:RST/NMI 引腳有上升沿信號、振蕩器故障。
可屏蔽中斷源如下:看門狗定時器溢出、其他有中斷能力的外圍模塊。
端口P1 和P2 的全部8 位都可以作為外部事件的中斷插入。每一個I/O 位都可獨立編程。可以對端口任意組合成輸入、輸出和中斷,因此能靈活地適應不同的I/O 結構要求。在設計中用到的中斷源有:上電、復位、看門狗,定時器A 和B,USART0 的接收和發送中斷,ADC 模塊的中斷以及P1 口的中斷。
2.2.4 時鐘模塊
MSP430 系列單片機不可缺少的模塊就是時鐘模塊,而時鐘模塊又可以使單片機實現的低功耗應用不同,因此不同的器件所具有的時鐘模塊也不相同,而MSP430F135的時鐘模塊主要是由高速晶體、低速晶體和數字控制振蕩器(DCO)等器件構成。而高速晶體、低速晶體和數字控制振蕩器(DCO)等器件通過MSP430F135 時鐘模塊產生的3 個時鐘模塊也不同,提供的模塊使用也就不同,而產生的時鐘為:輔助時鐘(ACLK)、主系統時鐘(MCLK)和子系統時鐘(SMCLK)。系統的實時性要求比較高時可采用ACLK 時鐘。總的來說,應該根據不同的應用來選擇適當的時鐘。
基礎時鐘模塊有2 個或3 個時鐘源:LFXTlCLK 低頻/高頻時鐘源、XT2CLK 高頻時鐘源和DCOCLK 時鐘源。
基礎時鐘模塊可以提供3 種時鐘信號:ACLK 輔助時鐘、MCLK 主時鐘、SMCLK 子時鐘。
2.2.5 看門狗定時器
看門狗定時器(WDT)的主要功能就是當程度發生問題的時候,就可以通過受控系統然后重新啟動。我們把WDT 選定好時間,就可以發生系統服務。應用中如果不需要此功能,則可以把它當作定時器,當選定定時時間到達后將產生中斷。
WDT 的寄存器
WDT 的計數器WDTCNT 是16 位增計數器,由于它不能直接用軟件訪問,就要經過WDTCTL 對WDTCNT 進行控制,它定位于字地址0120h 的16 位讀/寫寄存器的低字節。所有讀寫操作都要用字指令,這樣即不帶后綴或用后綴.W。在看門狗或定時器中,只有含有正確安全鍵值(05Ah)的指令才能寫入WDTCTL。

表1 WDTCNT 寄存器
WDT 模塊可置成兩種模式:看門狗模式和定時器模式。
①看門狗模式。WDT 設置為看門狗模式,WDT 定時時間到或寫入錯誤的安全鍵值會觸發PUC 信號,這樣將自動清除系統寄存器的各位。這也將WDT 再次設置為看門狗模式,RST/NMI 引腳切換到復位模式。在發生上電復位或系統復位時,WDT 自動進入看門狗模式,WDTCTL 和WDTCNT 寄存器全部清除。選擇看門狗模式的時候,我們需要把軟件的周期在WDTCTL 的CNTC 位中寫“1”來使WDTCNT 復位以防止超過設定的定時時間。定時時間通過SSEL、IS0 和IS1 來選定。
②定時器模式。將WDTCTL 的TMSEL 置位即選擇定時器模式。定時時間可用軟件對WDTCTL 寄存器的CNTCL 置位來進行初始化。
2.2.6 串口通信模塊
在單片機系統中,串口通信是一個非常重要的部分,通過串口通信實現與其他模塊進行通信。MsP430F135 單片機里提供的串口通信模塊為USART。該模塊即可以作為UART 使用,提供異步通信功能,也可以作為SPI 使用,提供同步通信功能。USART 硬件模塊主要包括波特率部分、接受部分、發送部分和接口部分等。
USART 的接收部分主要包括接收寄存器、接收移位寄存器以及控制模塊組成,它在接收的時候產生一些狀態信息,并設置相應的中斷標志位。USART 的發送部分主要包括發送寄存器、發送移位寄存器以及控制模塊組成,它在發送的時候產生一些狀態信息,并可以設置發送中斷標志位。USART 的波特率產生部分主要包括時鐘的選擇、波特率的產生以及波特率的調整部分組成,它通過設置波特率寄存器和波特率調整寄存器來獲得需要的波特率。另外USART 模塊還包括一個控制模塊,通過控制模塊可以選擇相應的工作模式,同時設置相應的管腳。
波特率計算公式為:波特率=BRCLK/N=BRCLK/UBR+(M7+...+M0)/8;其中BRCLK 為時鐘源,UBR 為UCBR 中的16 位數據值,MX 為UXMCTL 中的各數據位。
USART 模塊在實現異步通信(UART)的基礎上主要對外進行通信的,也可以實現同步通信(SPI)。用戶對USART模塊的操作主要都是通過操作該模塊的寄存器實現的。
2.2.7 ADC12 模塊
A/D 模塊特性如下:8 個A/D 輸入通道;4 個模擬輸入端可作為編程電流源;我們可作比例測量的絕對測量值;內置的采樣/保持電路;有轉換結束的中斷標志(Eoc);ADAT 寄存器可將轉換結果保存到下一次轉換的開始;低功耗;獨立完成轉換,不需要CPU 額外的處理開銷;可編程為12 或14 位的分辨率;4 個可編程量程可達到14 位的動態范圍;快速的轉換時間;大的供電電壓范圍;可覆蓋整個A/D 轉換范圍。
可選擇的模塊有8 個輸入通道,經過多路切進入轉換器的輸入電路后,我們可以進行任意時刻的通道轉換。其中的A0、Al、A2、A3 四個通道還可作為4 個電流源輸出,其值可以經外接電阻REXT 設定。ADC12 模塊能夠實現12 位精度的模數轉換。
流量顯示表要求的計量精度為1.0%,那么芯片選型時要考慮到芯片的精度問題,綜合各種因素的考慮,主CPU 選為MSP430 系列,最后設計結果如下:①由于該表的芯片選用的都是高精度的芯片,所以已經達到了1.0%的要求。該表的功耗低、可靠性好且經濟性較好,可以廣泛應用于工程上。②流量顯示表集成度高。隨著技術的進步,嵌入式儀表也在發生著變化,功能也趨于完善。本設計的流量表具有更好的通用性,如可適用于壓力、溫度、濕度、流量等的顯示,因此在工業上可以廣泛應用。
[1]秦龍.MSP430 單片機應用系統開發典型實例[M].深圳:中國電力出版社,2004.
[2]胡大可.MSP430 系列超低功耗16 位單片機原理與應用[M].北京:北京航空航天大學出版社,2000.6.
[3]趙家貴,付小美,董平.新編傳感器電路設計手冊.
[4]吳達科.智能渦街流量計的設計研究[D].西南農業大學,2003.
[5]魏禎毅.油氣水多相流量計的研究[D].浙江大學,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.