王林
(安徽電子信息職業(yè)技術(shù)學(xué)院軟件學(xué)院,安徽蚌埠233000)
MSP430的多串口擴(kuò)展適配器的設(shè)計
王林
(安徽電子信息職業(yè)技術(shù)學(xué)院軟件學(xué)院,安徽蚌埠233000)
設(shè)計了一種嵌入式系統(tǒng)中多串口擴(kuò)展適配器的系統(tǒng),其主控芯片采用MSP430F147單片機,串口擴(kuò)展采用TL16C752B芯片.該系統(tǒng)結(jié)構(gòu)簡單、易于實現(xiàn),滿足對串口數(shù)量、成本和功耗有嚴(yán)格要求的應(yīng)用場合.
MSP430F147;TL16C752B;多串口擴(kuò)展
串行接口以其簡單方便、可靠的特點成為最流行的通訊接口之一.在工業(yè)控制、醫(yī)用設(shè)備、POS機等很多領(lǐng)域里,經(jīng)常需要使用多個串口進(jìn)行上、下位機的數(shù)據(jù)通訊.
在某項目的多通道數(shù)據(jù)采集系統(tǒng)中,使用四個串口分別作為四路數(shù)據(jù)采集的傳輸通道,傳輸速度要求100 kbps以上.TI公司生產(chǎn)的低功耗單片機MSP430F147作為主控芯片能夠滿足該系統(tǒng)的超低功耗的要求,而該單片機只有兩個自帶的全雙工通信串口,需要以MSP430為核心擴(kuò)展2~3個波特率可達(dá)115 200 bps的高速串口,從而滿足應(yīng)用需求.
1.1 方案選擇
針對嵌入式系統(tǒng)中主控芯片自帶串口數(shù)量不足的情況,串口擴(kuò)展方案主要有以下幾種:
1)采用USB轉(zhuǎn)串口芯片擴(kuò)展,MSP430單片機沒有集成USB接口,這種方案實現(xiàn)成本和復(fù)雜度高.
2)采用GM8125芯片進(jìn)行擴(kuò)展,GM8125是將母串口擴(kuò)展成五個子串口的專用芯片,該方案能達(dá)到的最高波特率為38 400 bps[1],達(dá)不到本系統(tǒng)115 200 bps波特率的要求.
3)使用TL16C752B芯片進(jìn)行擴(kuò)展,該方案能夠同時滿足串口數(shù)量和波特率的要求.
1.2 MSP430F147單片機
MSP430F147是TI公司的一款16位RISC架構(gòu)的高性能單片機,主要具有以下資源:兩個帶捕獲/比較寄存器和PWM輸出功能的16位定時器,32 kB+256字節(jié)的FLASH空間,1 KB的RAM,兩個串行通信接口USART0/1,12位的A/D,48個I/O接口. MSP430系列單片機以低功耗著稱,工作電壓范圍為1.8 V~3.6V,在2.2 V電壓、1MHz的工作條件下,正常工作電流為280μA,待機模式下僅為1.6μA,廣泛應(yīng)用在采用電池供電的各類低功耗儀器儀表和便攜式設(shè)備中[2].
1.3 TL16C752B芯片
TL16C752B是一款兩路獨立的UART芯片,也由TI公司生產(chǎn).外接48MHz晶振時可達(dá)到3Mbps的波特率,從而能夠滿足高速數(shù)據(jù)傳輸?shù)囊? TL16C752B的內(nèi)部結(jié)構(gòu)圖如圖1所示[3].
發(fā)送和接收端均有64字節(jié)的FIFO作為數(shù)據(jù)緩沖區(qū),并且可以通過軟件編程設(shè)置發(fā)送、接收FIFO觸發(fā)中斷的等級,以此來合理減少CPU中斷的次數(shù),提高系統(tǒng)效率.TL16C752B內(nèi)部的主要寄存器如表1所示[4].
圖1 TL16C752B內(nèi)部結(jié)構(gòu)
多串口擴(kuò)展適配器的硬件設(shè)計包括MSP430最小系統(tǒng)、MSP430與TL16C752B的通信電路以及RS-232電平與TTL電平轉(zhuǎn)換電路這幾個部分.
表1 TL16C752B的寄存器
2.1 MSP430最小系統(tǒng)
最小系統(tǒng)保證了MSP430F147芯片能正??煽抗ぷ?,主要包括電源、復(fù)位電路和時鐘電路(圖2)[5].
圖2 復(fù)位和時鐘電路
最小系統(tǒng)電源由可充電鋰電池提供3.3 V工作電壓.復(fù)位電路采用手動復(fù)位方式,由專用復(fù)位芯片MAX811實現(xiàn).外部時鐘電路由兩部分組成,其中32.768 kHz的晶振提供低速時鐘信號來滿足低功耗要求,4MHz的高速晶振為單片機在高頻模式下提供時鐘,兩個晶振都需要外接22 pF的諧振電容.
2.2 MSP430與TL16C752B的連接
MSP430與TL16C752B之間的接口電路示意圖如圖3所示,MSP430的P2端口作為數(shù)據(jù)總線通過總線驅(qū)動芯片SN74LVC16245A與TL16C752B的D0~D7連接.MSP430的P3.5和P3.6端口連接到TL16C752B的nIOR和nIOW作為讀寫使能信號,P1.0和P1.1用來配置成外部中斷接口與TL16C752B的INTA和INTB連接.TL16C752B的片選信號CSA和CSB由MSP430的P3.3和P3.4提供,TL16C752B的三根地址線A0~A2用來確定芯片內(nèi)部寄存器的地址,分別連接到MSP430的P3.0~P3.2.對TL16C752B的內(nèi)部寄存器進(jìn)行讀寫時,必須首先保證片選信號和地址信號同時有效,并采用軟件方式模擬芯片的讀寫時序完成操作.
RESET為TL16C752B的復(fù)位信號,高電平有效,而MSP430的復(fù)位信號為低電平有效,因此在這兩個復(fù)位信號之間使用一個三極管進(jìn)行反相,以此來同步復(fù)位整個系統(tǒng).
圖3 接口電路示意圖
2.3 電平轉(zhuǎn)換電路
標(biāo)準(zhǔn)串口使用的是RS-232電平,本系統(tǒng)中使用MAX3243E芯片來實現(xiàn)TTL電平與RS-232電平之間的轉(zhuǎn)換[6].
要使TL16C752B能夠正常工作,需要編寫單片機程序?qū)ζ溥M(jìn)行初始化,軟件開發(fā)環(huán)境為IAR EmbeddedWorkbench,開發(fā)語言為C語言[7].
3.1 軟件流程
軟件驅(qū)動流程主要包括對MSP430和TL16C752B芯片的初始化以及數(shù)據(jù)的收發(fā)(如圖4).
圖4 軟件處理流程
對TL16C752B的初始化主要包括以下內(nèi)容[8]:
1)設(shè)定傳輸波特率;
2)FIFO數(shù)據(jù)緩沖寄存器的配置;
3)傳輸格式設(shè)定,包括數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗位等;
4)中斷寄存器的配置;
5)軟件流控模式配置等.
3.2 部分關(guān)鍵代碼
驗證多串口擴(kuò)展適配器是否正常工作,可分為發(fā)送和接收數(shù)據(jù)兩部分進(jìn)行測試.在發(fā)送數(shù)據(jù)時,可以循環(huán)發(fā)送同一字符,如0xAA或0x55,在TXD引腳處連接示波器查看是否有方波信號.在接收數(shù)據(jù)時,需循環(huán)檢查LSR寄存器的最低位,判斷是否接收到字符,再通過外接的顯示設(shè)備如數(shù)碼管或主機的超級終端來判斷接受到的字符是否正確.
經(jīng)測試,所設(shè)計的多串口擴(kuò)展適配器的數(shù)據(jù)收發(fā)功能完全正常,且傳輸速率基本滿足要求.后續(xù)可考慮進(jìn)一步優(yōu)化軟件驅(qū)動代碼,并對該設(shè)計模塊化以提高復(fù)用能力.
[1]張成瑞,李見為,王剛.基于單片機和GM8125的多路串口收發(fā)器設(shè)計[J].電腦知識與技術(shù),2011,7(10):2422-2423.
[2]Texas Instruments.MSP430x13x,MSP430x14x,MSP430x14x1 Mixed signal microcontroller[EB/OL].(2004-06)[2014-06-10]. http://www.ti.com.cn/cn/lit/ds/sym link/msp430f1491.pdf.
[3]Texas Instruments.TL16C752B 3.3-V Dual UART with 64-Byte FIFO[EB/OL].(2007-12)[2014-06-09].http://www.ti.com.cn/cn/lit/ ds/sym link/tl16c752b-ep.pdf.
[4]靳紅濤,趙娜,陳朝基,等.基于TL16C752B的DSP通用異步串行接口設(shè)計[J].2009,32(7):93-95.
[5]韓勇鵬,霍利鋒.基于MSP430F169的最小系統(tǒng)設(shè)計[J].山西農(nóng)業(yè)大學(xué)學(xué)報,2007(6):216-218.
[6]王欣,羅志祥,沈光.基于ARM和uClinux多串口通訊的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2007,35(8):144-148.
[7]洪利,章?lián)P,李世寶.MSP430單片機原理與應(yīng)用實例詳解[M].北京:北京航空航天大學(xué)出版社,2010:118-133.
[8]陳偉,陳遠(yuǎn)知.用TL16C752B實現(xiàn)DSP和PC機的串行通信[J].國外電子元器件,2004(4):50-53.
【編校:許潔】
Design ofMultiSerial Port Expansion Adapter Based on MSP430
WANG Lin
(AnhuiVocationalCollege ofElectronicand Information Technology,Bengbu,Anhui233000,China)
The design scheme for multi serial port adapter of an embedded system was proposed which employed MSP430F147 as themain control chip and used TL16C752B to expand the serial port.The hardware circuitand software processingwere also introduced.The scheme has the advantagesof simple structure and easy realization.Itapplies to applicationswhich have strict requirementson thenumberofserialport,costand power consumption.
MSP430F147;TL16C752B;multiserialportexpansion
TP368.1
A
1671-5365(2014)12-0056-03
2014-06-17修回:2014-07-08
王林(1983-),男,講師,碩士,研究方向為嵌入式系統(tǒng)
時間:2014-07-11 09:33
http://www.cnki.net/kcms/detail/51.1630.Z.20140711.0933.003.htm l