介紹
大功率DC開關電源由PFC和DC-DC變換器組成。為了提高可靠性,實現離線或遠程監控,在開關電源模塊中設置了監控管理系統。該系統監測電源故障,自動設定和調整電源輸出的電壓和電流,並通過串行通信接口與遠程中央監控站進行遠程監控和管理。該功能在通信系統基站的電源系統中尤其重要。介紹了壹種基於MSP430單片機的電源監控管理系統的設計與實現。
1的系統結構和硬件電路設計
系統的總體設計結構如圖1所示。本系統采用的核心芯片是TI公司推出的16位單片機MSP430。MSP430具有集成度高、外設豐富、超低功耗等優點。單芯片集成多通道12bit A/D轉換、片內精密比較器、帶PWM功能的多個定時器、片內USART、看門狗定時器、片內數控振蕩器(DCO)、大量I/O端口和大容量片內存儲器。采用串行在線編程方式,單片機可以滿足大多數應用需求。MSP430的高集成度使得用戶可以很容易地設計出真正的單片系統,而無需在接口、外部I/O和內存上花費太多的精力,在很多領域得到了廣泛的應用。下面介紹該系統可以實現的功能以及基於MSP430F149的電控系統的設計。
1.1系統功能:
A.通電控制。上電後,單片機開始工作,按下電源按鈕,指示燈亮,將電網220V接入PFC,開關電源開始工作,然後接入負載。
B.電壓設置和調整。開關電源的輸出電壓值由單片機A/D口采集並顯示在液晶屏上,由單片機控制的數字電位器調節輸出電壓值,實現自動調節。或者通過鍵盤左右鍵選擇電壓調整頁面,用上下鍵手動調整;也可以通過通訊接口實現遠程調節。
C.現行規定。當多個開關電源並聯使用時,要求每個電源的負載電壓相等。單片機A/D口采集轉換成電壓值的負載電流值,通過通訊口獲取各站電流值,取平均電流值,控制數字電位器調節輸出電壓,使輸出負載電流達到平均值;或者通過鍵盤左右鍵選擇當前調整頁面,用上下鍵手動調整。
D.故障報警。當單片機通過光電耦合器檢測到各種輸入輸出故障時,揚聲器會發出蜂鳴聲,相應的報警燈會閃爍,故障類型和處理方法會顯示在液晶屏上。
E.監控。單片機的A/D口采集測量電網電壓、輸出電壓、輸出電流,超限時報警。
F.交流。包括單片機與各開關電源之間的通信以及單片機與中央監控站之間的通信。
1.2電壓調節電路
電壓調節電路由單片機、數字電位器X9313和可調分流參考芯片TL431組成,其電路原理圖如圖2所示。Xicor9313是壹款固態非易失性電位器,可用作數控微調電位器。TL431是TI公司生產的三端可調分流基準,具有良好的熱穩定性,其輸出電壓可以用兩個電阻任意設置為VREF(2.5V)到36V之間的任意值。工作時,單片機的壹個IO控制INC對輸入管腳計數,並提供計數脈沖,由下降沿觸發。另壹個IO控制U/D提升輸入端子。當U/D處於高電平時,X9313內部計數器進行加法計數,VW端輸出電壓上升。由於VW接地,VH的端電壓降低,而TL431的REF輸出端電壓恒定在2.5V,從而提高了Vcc的輸出電壓。同樣,當U/D較低時,Vcc處的輸出電壓降低,從而實現電壓輸出調節。
1.3模擬數據采集
MSP430F149內置具有采樣保持功能的高精度12位ADC轉換模塊,提供多種采樣保持時鐘源。MSP430有8個外部輸入通道可供選擇,最高采樣速度可達200KHZ。它還有壹個內置的溫度傳感器,可以測量芯片中的溫度。如果測量溫度高於或低於預設溫度,它可以通過外部組件顯示報警信息,並具有6個可編程的內部參考電壓。轉換模塊為壹些需要模擬采集的場合提供了方便。我們選擇的基準電壓為0 ~ 2.5V,所以MSP430F149的AD分辨率約為2.5/4096 = 0.61V。由於輸入模擬電壓較高,不能直接接入單片機的ADC采樣口,所以采用了串聯滑動變阻器來降低電壓,成功解決了上述問題。
1.4人機對話設計
系統的人機界面由液晶屏、指示燈和鍵盤組成。選擇了基於T6963C的液晶模塊YM12864。鍵盤以3×3陣列連接,系統采用圖形用戶界面,操作簡單,顯示實用美觀。工作時,液晶屏可以實時顯示采集到的電網電壓、輸出電壓、輸出電流以及各種報警信息。通過操作相應的鍵盤,可以切換顯示頁面,輸出電壓和輸出電流可以自動、手動、遠程控制和調節。當有報警信息產生時,相應的指示燈會閃爍警告,同時與單片機相連的揚聲器會發出報警蜂鳴器,提醒操作者做出相應的處理。
2系統軟件設計
430同時支持匯編語言和C語言編程,所以妳可以在壹個工程文件中同時使用兩種語言和匯編語言,方便在調試時找到邏輯和指令之間的聯系以及地址的正確位置。用C語言編程大大減少了工作量,編譯後的程序可讀性強,易於修改和維護。開發工具采用IARSystems公司的IAR Embedded Workbench,集成了編輯、編譯、鏈接、下載、在線調試等多種功能。它易於使用,具有高效的C語言編譯能力。
考慮到軟件開發的效率和可維護性,系統軟件設計遵循模塊化編程思想,將系統功能劃分為幾個相對獨立的功能模塊。它們包括:液晶顯示模塊、AD轉換模塊、按鍵監控響應模塊、報警監控響應模塊、電壓電流調節模塊、數據處理模塊和通信模塊。每個模塊都應該獨立測試,最後組合在壹起。整個系統的軟件流程如圖3所示。
按鍵監控模塊是其中的重要組成部分,控制AD轉換的啟動,顯示頁面的切換,以及電壓電流自動調節、手動調節、遠程調節的啟動和切換。報警監控模塊在開關電源的保護中起著重要的作用。它實時監控開關電源是否出現故障。當輸入電壓過壓,輸入電壓欠壓,PFC失效時,應切斷主電源。當輸出電壓過壓、輸出電壓欠壓、模塊過熱以及IPM保護失效時,DC-DC轉換器應該關閉。
在集成各個模塊時,要註意中斷之間的沖突。在MSP430的中斷優先級中,ADC12采樣轉換中斷的優先級高於TIMERA中斷,因此在響應TIMERA中斷時,會執行ADC12采樣轉換中斷,或者會延遲TIMERA的中斷響應,從而影響TIMERA中斷中執行的報警監控響應程序,無法實現開關電源故障的實時檢測。在本系統中,按鍵用於控制ADC12采樣轉換中斷的開始和停止,從而解決中斷沖突。
3結論
以MSP430F149電源監控管理系統的設計與實現為背景,討論了MSP430的系統設計,提出並解決了設計中的問題。作者的創新點:利用MSP430系統結構簡單、外圍電路少、效率高的特點,設計並實現了壹個電源監控管理系統,該系統簡單直觀、使用方便、全程漢字提示、監控能力強、運行穩定、安全可靠,大大降低了成本,取得了可觀的經濟效益,滿足了實際需求。
二、C語言論文:
嵌入式系統用高門檻、難入門的方式擋住了無數學者。但是作為嵌入式系統的入門課程,如何正確的學習單片機,將關系到我們能否學好嵌入式系統。
眾所周知,學習嵌入式系統要先玩ptotel,再做MCU。Protel簡直就是PCB的純英文軟件。在學習ptotel之前,妳必須有壹定的電路基礎和英語能力。我覺得大部分同學都有電路基礎,但是英語是很多人頭疼的問題。這對英語基礎差的學生來說是壹個打擊。另外,如果妳毅力不強,我覺得妳是學不會的。毅力是學習任何事情的必備能力和品質,是遇到挫折不放棄的決心。
不管妳是學protel還是單片機,首先要找壹個能指導妳的人。什麽是指導?指導不是說他會壹步壹步的教妳做,而是在關鍵時刻能為妳指出壹條路的人。
我認為學習嵌入式方法是最重要的。在學習protel和單片機之前,我們應該盡力了解如何學習它們。比如protel,很多理科生都是從純理解的角度學習的。畫壹根線和壹個元件問為什麽要這樣畫,生成網絡表問網絡表的由來。其實很多東西只要會用就行了,知道再多理論上的東西不去用也是徒勞的。
所以如果妳對學習protel有什麽不明白的地方,去問妳的導師。有很多東西是死的,半天壹夜也換不來妳的。這和軟件設計不壹樣。軟件設計在妳的苦苦思索下可能會找到另壹種更好的方法。
單片機,不得不承認中國沒有壹本好的單片機書。我在學習單片機的時候看了七本關於單片機的書,大部分都不盡如人意。我在這裏鬥膽說壹句,中國人寫書真的缺乏“讀者第壹”的原則。我覺得我看過的單片機書很多都是從他的角度寫的,很少有人從讀者的角度寫。書中的章節註釋極其不清晰,很多重要的地方都沒有說明。說得好聽點,作者似乎認為讀者的水平和他壹樣高。而外國人的書,同樣的書,同樣的知識點,比國內同樣的人的書厚兩三倍。為什麽?這是因為外國人的書是針對讀者的。有註釋、解釋和總結。所以我想表達壹個觀點,我的同胞可能會向我扔雞蛋,那就是無論我學什麽,我都會優先選擇國外翻譯的書或者純英文的書。得到壹本好書對我們有很大的影響。我可以用壹句話概括這部分:中國人的書適合教,外國人的書不僅適合教也適合自學。
中國人的單片機書籍往往是先介紹單片機的內部結構、中斷、定時器,再到I/O口。從壹開始我們先學習單片機的內部結構,中斷和定時器的內部結構和原理,然後在我們亂七八糟的時候給我們講壹個例子,如何操作實驗板。如果自學的話,我想沒有多少學生能學會。為什麽壹定要把單片機的內部結構做得像解剖壹樣透徹,才能練出來?就算妳把單片機徹底解剖了,妳也不會用妳手裏的這塊實驗板。我覺得如果在學習單片機之前,沒有學習匯編語言,直接學習C語言,即使學習了單片機之後,也不會知道單片機的內部結構和工作原理。學完匯編再學單片機會好很多,所以不要著急,有些事情不能操之過急。
所以我覺得學習單片機要在實踐中學習,然後要了解它的結構和原理。如果妳實在看不懂它的結構和原理,沒關系,只要妳知道怎麽用!(沒學過匯編的只能這麽說)
我們可以先從I/O口開始學習,看壹些例子,燒壹些程序,然後看現象,再去嘗試了解要用的單片機的內部結構。最後,基於對這種現象的認識,我們可以編出壹個我們想要的程序和現象。這樣學習就不會無聊,會有成就感。我想部分原因是,有些人可以把學習當成壹種樂趣,而很多人卻在嘆息。
不同的實驗板有不同的PCB圖,所以I/O操作也不同。但是,操作原理是壹樣的。有些同學可能會抱怨教程裏的實驗板和自己手裏的實驗板不壹樣,沒必要擔心。I/O是調試中的壹個重要步驟。比如壹個語句被改動會出現什麽樣的現象,為什麽會這樣,這些都是調試中要掌握的。
中斷學習法也類似。第壹,如果妳在實踐中發現壹些奇怪的事情,妳應該檢查相應的登記簿。實現了自己想要的現實之後,就可以慢慢解剖單片機的寄存器了,學習起來會更有意義,也更容易記憶。中斷沒什麽復雜的,學幾個中斷函數,優先級之類的就行了。有壹定C語言基礎的同學可以在優先級字段接觸C語言的運算符優先級。我相信用C語言基礎定義壹兩個中斷函數不是問題。
我所學的單片機的內容在我文檔中的例題之中,例題數量不多,但這些都是直接點中單片機的知識點。隨著學習的深入,我會把我所取得的成績寫成例子。
希望對妳有幫助,祝妳成功!