TL16C750在DSP與PC機(jī)的高速串行通信中的應(yīng)用
出處:國(guó)外電子元器件 發(fā)布于:2011-06-18 17:57:16
通用數(shù)字信號(hào)處理器DSP以其很強(qiáng)的數(shù)據(jù)處理能力使其在高速數(shù)字信號(hào)處理方面得到廣泛的應(yīng)用,但是它的通信接口控制能力比較弱;例如TMS320VC5402帶有2個(gè)串口,串口常被語音接口占用。當(dāng)TMS320VC5402獨(dú)立構(gòu)成一個(gè)處理單元時(shí),往往需用與外設(shè)交換一些數(shù)據(jù),通信能力弱就會(huì)影響DSP 的應(yīng)用。在語音識(shí)別系統(tǒng)中,用TMS320VC5402采集和處理語音信號(hào),然后將識(shí)別的結(jié)果通過串口傳送到PC機(jī)作具體控制處理。由于系統(tǒng)的實(shí)時(shí)性要求較高,如何實(shí)現(xiàn)TMS320Vc5402與PC機(jī)高速和可靠的通信問題就變得尤為重要。
作為一個(gè)實(shí)際的DSP應(yīng)用系統(tǒng),為了實(shí)現(xiàn)UART功能,必須通過外電路的擴(kuò)展來完成,可以用可編程邏輯器件來實(shí)現(xiàn)該功能,即利用C5402的XF、BIO通用I/O口構(gòu)成串口,由軟件來設(shè)計(jì)波特率,但CPU比較繁忙時(shí)不適合這種方法。本文是采用一片TI公司的TL16C750來完成的。
1 異步通信芯片TL16C750
異步通訊芯片TL16C750具有集成度高、使用方便、兼容性好等特點(diǎn)。它的串口主要完成2項(xiàng)功能,即把從外部設(shè)備或調(diào)制解調(diào)器接收進(jìn)來的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),以及把CPU的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)以利發(fā)送。在正常操作的過程中,CPU每時(shí)每刻都可以讀TL16C750的完成狀態(tài)。狀態(tài)信息TL16C750傳輸操作的類型和狀態(tài),還包括錯(cuò)誤狀態(tài),如奇偶校驗(yàn)、溢出、格式錯(cuò)誤或停頓指示等。另外TL16C750還具有完整的調(diào)制解調(diào)器控制功能,包括:允許發(fā)送(CTS);請(qǐng)求發(fā)送(RTS);數(shù)據(jù)設(shè)備準(zhǔn)備好(DSR);數(shù)據(jù)終端準(zhǔn)備好(DTR);振鈴指示(RI);載波檢測(cè)(DCD)。
TL16C750異步通信芯片主要特點(diǎn)如下:
●管腳與TL16C550B/C兼容;
●可由軟件設(shè)定16字節(jié)或64字節(jié)的FIFO以減少CPU中斷;
●可達(dá)1M的波特率,其波特率發(fā)生器可編程;
●具有可編程的串行數(shù)據(jù)發(fā)送格式:
數(shù)據(jù)位長(zhǎng)度為5、6、7、8;
具有偶校驗(yàn)、奇校驗(yàn)或無校驗(yàn)?zāi)J剑?/P>
停止位長(zhǎng)度為1、1.5、2;
●采用44引腳PLCC(Plastic Leaded Chip Carrier)封裝。
1.1 TL16C750的引腳功能
TL16C750的引腳圖如圖1所示,各主要引腳的功能說明如下:

A0~A2:片內(nèi)寄存器的選擇信號(hào);
D0~D7:雙向8位數(shù)據(jù)線;
CS0、CS1、CS2:輸入片選信號(hào),當(dāng)CS0=CS1=1且CS2=0時(shí),TL16C750被選中;
ADS:是地址選通信號(hào),該腳有效時(shí),可將CS0、CS1、CS2及A0、A1、A2鎖存在TL16C750內(nèi)部;
XIN、XOUT:外部時(shí)鐘端,該兩腳可接晶振或外部時(shí)鐘信號(hào);
RXRDY是接收準(zhǔn)備好信號(hào),當(dāng)TL16C750已經(jīng)從串行輸入端接收了一個(gè)字符時(shí),該信號(hào)失效,在中斷方式時(shí)可作為中斷請(qǐng)求信號(hào);
TXRDY是發(fā)送準(zhǔn)備好信號(hào),當(dāng)TL16C750允許發(fā)送且發(fā)送緩沖區(qū)為空時(shí),該信號(hào)有效,在中斷方式時(shí)可作為中斷請(qǐng)求信號(hào)。
1.2 TL16C750的片內(nèi)寄存器
TL16C750內(nèi)部共有11個(gè)寄存器,如表1所示。這些寄存器分別用于實(shí)現(xiàn)通信參數(shù)的設(shè)置、對(duì)線路及MODEN的狀態(tài)訪問、數(shù)據(jù)的發(fā)送和接收以及中斷管理等功能。編程人員可由A0、A1、A2三條片內(nèi)寄存器選擇線和線路控制寄存器的除法數(shù)鎖存器訪問位DLAB一起通過多路復(fù)用進(jìn)行訪問或控制TL16C750的任何一個(gè)寄存器。表1給出了訪問這些寄存器時(shí)DLAB和A0、A1、A2的狀態(tài)。因?yàn)榻邮?發(fā)送緩沖寄存器的DLAB、A0、A1、A2各位都相同,因此還需要通過讀/寫信號(hào)來加以區(qū)分:雞使用IN指令時(shí),接收緩沖寄存器被訪問,雞使用OUT指令時(shí),發(fā)送緩沖寄存器被訪問。
下面對(duì)與TMS320C50和PC機(jī)通信有關(guān)的寄存器做一簡(jiǎn)單介紹。

線路控制寄存器(LCR)用來存放串口傳送的二進(jìn)制位串行數(shù)據(jù)格式,LCR是一個(gè)8位寄存器,各位的定義如下:d0d1是字長(zhǎng)選擇位,若d0d1=00,傳送的字長(zhǎng)為5位;d0d1=01時(shí)字長(zhǎng)為6;d0d1=10時(shí)字長(zhǎng)為7;d0d1=11時(shí)字長(zhǎng)為8.d2位是停止位選擇,d2=0時(shí)停止位為1位;d2=1時(shí)停止位為1.5位。d3位是校驗(yàn)有效位,d3=0時(shí)校驗(yàn)有效;d3=1時(shí)校驗(yàn)無效。d4是校驗(yàn)類型位,d4=0時(shí)進(jìn)行奇校驗(yàn);d4=1時(shí)進(jìn)行偶校驗(yàn)。d7位(DLAB)是鎖定特率發(fā)生器位,d7=1時(shí)訪問波特率因子寄存器;d7=0時(shí)訪問其它寄存器。
線路狀態(tài)寄存器(LSR)用于記錄串行數(shù)據(jù)發(fā)送和接收過程的狀態(tài)信息,CPU可在集體時(shí)候讀取這些信息。該寄存器的狀態(tài)位如表2所列。
表2 TL16C750寄存器的狀態(tài)位

兩個(gè)8位波特率因子寄存器可構(gòu)成一個(gè)16位的波特率因子寄存器。TL16C750的內(nèi)部波特率發(fā)生器可產(chǎn)生發(fā)送數(shù)據(jù)的時(shí)鐘信號(hào)。波特率因子可以通過下列算式求出:
波特率因子=基準(zhǔn)時(shí)鐘頻率/(16×波特率)
這個(gè)波特率發(fā)生器可以利用比較通用的三種不同頻率產(chǎn)生標(biāo)準(zhǔn)的波特率。這三種不同的頻率為1.8432MHz、3.072MHz和8MHz.可以任意選擇寫入波特率因子的高字節(jié)和低字節(jié)的順序,但寫入前必須置線路控制寄存器(LCR)的d7(DLAB)位為1.寫入波特率因子后應(yīng)將線路控制寄存器的d7恢復(fù)為0,以便訪問其他寄存器。在外接晶振為1.8432MHz時(shí),幾種常用的波特率所對(duì)應(yīng)的波特率因子寄存器的值如表3所列。
表3 波特率因子對(duì)應(yīng)的波特率因子寄存器的值

2 TMS320C50與PC機(jī)串行通信的硬件電路
TMS320C50與PC機(jī)通信的硬件電路如圖2所示。圖中,TL16C750的CS0和CS1都接高電平,而CS2接TMS320C50的IS.IS是TMS320C50的外部I/O空間選擇線,它和PS(程序空間選擇)、DS(數(shù)據(jù)空間選擇)一起來確定CPU所訪問的空間。當(dāng)TMS320C50使用IN、OUT指令對(duì)TL16C750的內(nèi)部寄存器進(jìn)行訪問時(shí),IS信號(hào)有效,TL16C750被選中。

當(dāng)XIN、XOUT端外接1.8432MHz晶振時(shí),TMS320C50以28400的波特率與PC機(jī)通信,所以波特率因子寄存器的低位的值應(yīng)為02H,高位值為00H。
TL16C750的數(shù)據(jù)線D0~D7直接與TMS320C50的D0~D7數(shù)據(jù)線相連;TL16C750的片內(nèi)寄存器選擇線接TMS320C50的A0~A2.
由于TL16C750的讀信號(hào)和寫信號(hào)保持時(shí)間的典型值均為40ns,因此將TMS320C50的WR和RD直接連到TL16C750的WR1和RD1,為了避免與其它I/O端口發(fā)生沖突,在硬件電路設(shè)計(jì)中,將TMS320C50的RD信號(hào)線與兩條高位地址線A15、A14及IS經(jīng)一個(gè)與非門后再接到TL16C750的RD1端。實(shí)踐證明:這樣的設(shè)計(jì)在解決地址沖突的基礎(chǔ)上對(duì)寫信號(hào)性能也有一定的改善作用。TMS320C50的讀信號(hào)也作了類似的處理。具體的電路如圖3所示。

由于RS-232-C電路電平與CMOS電平不同,因此RS232驅(qū)動(dòng)器與CMOS電平連接時(shí)必須經(jīng)過電平轉(zhuǎn)換。本系統(tǒng)采用MAX3232完成這一功能,MAX3232具有一個(gè)專有的低壓降發(fā)送器輸出級(jí),在其以雙電荷泵3.0~5.5V供電時(shí),可獲得真正的RS-232性能。該器件只需4個(gè)0.1μF小型外接電容,可在維持RS-232輸出電平的情況下確保運(yùn)行于120kb/s數(shù)據(jù)率,因此十分適合高速串行數(shù)據(jù)通信的場(chǎng)合。TL16C750的串行輸入線(SIN)和串行輸出線(SOUT)分別接MAX3232的R1OUT和T1IN,經(jīng)電平轉(zhuǎn)換后由MAX3232的T1OUT和R1IN連接到PC機(jī)的串口。
TL16C750與TMS320C50雖然可以通過查詢的方式工作,但這樣會(huì)降低系統(tǒng)的性能。筆者在本系統(tǒng)中利用RXRDY和TXRDY來引入外部中斷,從而使系統(tǒng)工作在中斷方式,這樣就保證了TMS320C50和PC機(jī)的高速通信。由圖2可知,RXRDY將產(chǎn)生外部0中斷(INT0),而TXRDY將產(chǎn)生外部1中斷(INT1)。
3 軟件設(shè)計(jì)
該系統(tǒng)軟件設(shè)計(jì)包括PC機(jī)、TMS320C50及TL16C750的初始化和通信協(xié)議等。下面將結(jié)合本系統(tǒng)的硬件給出TMS320C50初始化TL16C750的程序。初始化的主要任務(wù)是設(shè)置操作所需要的參數(shù),這些參數(shù)包括串行通信時(shí)數(shù)據(jù)串的數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗(yàn)等。另外,還需要設(shè)置發(fā)送和接收的波特率及中斷方式。
在本系統(tǒng)中,TL16C750的線路控制寄存器(LCR)的地址為8003H(A15=1,A14=0)。波特率設(shè)置為38400,波特率因子寄存器的高位是00H,低位為03H.通信格式為8位數(shù)據(jù)位,2位停止位,奇校驗(yàn),線路控制寄存器的值(LCR)為07H.系統(tǒng)工作在中斷方式,應(yīng)允許接收就緒中斷和發(fā)送緩沖區(qū)空中斷,相應(yīng)地,中斷允許寄存器的值亦設(shè)置為03H.具體程序如下:

4 結(jié)束語
通過擴(kuò)展串口完成TMS320C50與PC機(jī)通信時(shí),其硬件接口簡(jiǎn)單,數(shù)據(jù)傳送距離遠(yuǎn)、使用經(jīng)濟(jì)。該電路及其軟件經(jīng)與微機(jī)的通信實(shí)踐證明,在波特率為38400時(shí)可實(shí)現(xiàn)與PC機(jī)的可靠通信。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時(shí)執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號(hào)完整性2022/9/26 16:45:38









