高性價比的單片機應(yīng)用系統(tǒng)結(jié)構(gòu)設(shè)計
3 程序量小的解決方案
MSP430F11XX系列單片機最大的程序容量只有4K字節(jié),對于大多數(shù)的用途基本夠用,但對相對復(fù)雜的應(yīng)用,就顯得程序空間較小。對于MSP430系列單片機有個巧妙的解決辦法:利用MSP430單片機的存儲器是線性統(tǒng)一編址的特點,單片機運行的程序可以在除了片內(nèi)外圍模塊空間而外的任何存儲空間,這里將RAM用來做程序存儲器使用。由于RAM內(nèi)容可變,故可將程序存放在外部存儲器中,在需要的時候調(diào)到RAM中,再執(zhí)行RAM中的程序。而外部存儲器選用串行24C系列EEPROM,可使系統(tǒng)體積減小,同時可使程序空間增加32K字節(jié)乃至128K字節(jié)!而系統(tǒng)成本增加很少。24C系列EEPROM與MSP430單片機的接口,這里不多說了,只需要兩根I/O口線與兩個上拉電阻。
首先,需要將存放在EEPROM中的應(yīng)用程序劃分為較小的模塊。這里針對MSP430F1121將每個模塊的大小限定在128字節(jié)內(nèi)。MSP430F1121片內(nèi)RAM有256字節(jié),拿一半用于程序處理中的數(shù)據(jù)存儲,而另一半用于程序調(diào)度的程序暫存。
其次,MSP430F1121/1111/1101的片內(nèi)存儲器用于存放對串行24C系列EEPROM存儲器的讀寫操作程序,以及最常用的處理程序,各種中斷服務(wù)程序等等。
然后,將各個小模塊的應(yīng)用程序存放在EEPROM中,同時,每個小模塊的應(yīng)用程序在EEPROM中的起始位置與模塊長度在MSP430的程序存儲器中用數(shù)據(jù)表格的形式存放。每當(dāng)要調(diào)用在EEPROM中的小模塊時,就在此表格中查找。使用EEPROM讀程序,在EEPROM中讀出全部的該小模塊程序數(shù)據(jù)到MSP430的RAM后128字節(jié)。
最后,將程序計數(shù)器(PC指針)壓棧,再改變PC內(nèi)容為280H(RAM的后128字節(jié)開始位置),程序?qū)⒂纱碎_始運行。當(dāng)該模塊運行完畢,最后一句是RET,則將剛壓棧的PC指針恢復(fù)。程序繼續(xù)430FLASH中的主程序運行。
4 日歷時鐘的程序化解決方案
由于MSP430系列單片機的超低功耗特性,使用其內(nèi)部定時器模塊的比較模式實現(xiàn)日歷時鐘,時鐘源使用32768Hz產(chǎn)生的ACLK信號。將定時器模塊設(shè)置為1秒中斷一次,在中斷服務(wù)程序中編寫日歷程序。在程序編寫時要注意閏年與閏月以及月大與月小的情況,詳細方法這里不用多說
5 串行通訊的解決方案
MSP430F11XX系列單片機片內(nèi)沒有串行通訊模塊,不能直接用于異步串行通訊,但由于定時器TIME A的捕獲與比較以及特殊的結(jié)構(gòu),利用定時器實現(xiàn)異步串行通訊的位定時(波特率產(chǎn)生)以及起始位檢測等功能,可方便實現(xiàn)串行通訊。
串行發(fā)送相對簡單一點:設(shè)置TIME A為比較模式,比較的數(shù)據(jù)體現(xiàn)每一位的發(fā)送時間,使用中斷,每當(dāng)時間到則發(fā)送下一位,全部發(fā)送則發(fā)送完畢。
串行接收相對復(fù)雜一點:首先設(shè)置TIME A為捕獲模式,要捕獲到串行通訊的起始位。捕獲到起始位之后,則要將TIME A 設(shè)置為比較模式,同時第一位與后面的其他位定時時間不一樣,第一位的定時時間是其他位的1.5倍。當(dāng)所有數(shù)據(jù)接收完畢則結(jié)束。在硬件上使用232或485都可以。
小結(jié)
在充分掌握MSP430各個片內(nèi)模塊的性能與特性基礎(chǔ)上,使用最簡單、最便宜、最常規(guī)的器件,設(shè)計高性能價格比的應(yīng)用系統(tǒng)是非??尚械摹M瑫r隨著產(chǎn)量的增加,經(jīng)濟效益也會顯著增加。
參考文獻:
1 魏小龍 MSP430 系列單片機接口技術(shù)及系統(tǒng)設(shè)計實例 北京航空航天大學(xué)出版社 2002
2 TI資料 Implementing a UART Function With TimerA3
3 TI資料 Economic Measurement Techniques With the Comparator_A Module
4 MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
5MSP430C1101datasheethttp://www.dzsc.com/datasheet/MSP430C1101.html.
6HT1621datasheethttp://www.dzsc.com/datasheet/HT1621_387407.html.
評論