異步串行通信模塊TL16C550在電子白板中的應(yīng)用
摘要:DSP是當(dāng)今主要的用于數(shù)字信號處理的嵌入式平臺,隨著嵌入式應(yīng)用的日益廣泛和加深越來越多的工作需要DSP芯片與PC機(jī)的協(xié)同工作,然而DSP芯片往往不能提供足夠的URAT接口,因此就需要利用URAT芯片來擴(kuò)展DSP芯片串口。本文主要討論了利用TI公司的異步通用接收發(fā)器TL16C550擴(kuò)展DSP串口,實現(xiàn)TMS320C5509與PC機(jī)之間的串行通信。本文同樣介紹了異步通用接收發(fā)器芯片TL16C550的寄存器和相應(yīng)功能,并且提供了利用TL1612550實現(xiàn)TMS320C5509與PC機(jī)串行通信的硬件電路和C語言實現(xiàn)軟件編程方法。
關(guān)鍵詞:TL16C550;TMS320C5509;URAT;串口通信
黑板是當(dāng)今課堂教學(xué)的主要工具,其特點是便捷、直觀、易于教學(xué),一直是教師授課的主要工具,但其在使用中產(chǎn)生大量的粉塵對周圍環(huán)境造成了不良的影響,目前許多大型會議采用白板代替黑板解決了產(chǎn)生粉塵的問題,但普通的白板和黑板一樣都無法完成板面上的文字和圖像的文本存檔,更無法完成遠(yuǎn)距離網(wǎng)絡(luò)會議的要求,電子白板的出現(xiàn)解決了這個難題。電子白板是現(xiàn)代多媒體技術(shù)與傳統(tǒng)教學(xué)模式相結(jié)合的產(chǎn)品,不但能完成傳統(tǒng)黑板的書寫記錄功能,同時也具備制圖、復(fù)印、存儲等多媒體功能,配備網(wǎng)絡(luò)就能實現(xiàn)遠(yuǎn)距離視頻會議的需要,是教學(xué)和會議的主要傳播載體。
1 異步通信模塊工作原理介紹
該系統(tǒng)由信號發(fā)射筆、白板、信號處理平臺和PC機(jī)構(gòu)成,其具體的工作流程是:信號筆負(fù)責(zé)發(fā)射混合有紅外和超聲波的信號,通過白板上的信號接收器將采集的信號濾波整形送往信號處理平臺,由DSP信號處理系統(tǒng)完成對信號筆的定位,并將定位信息送往上位機(jī),通過PC機(jī)編寫的應(yīng)用程序完成對筆跡的描繪。但DSP芯片在數(shù)據(jù)通信方面的處理能力相對較弱,例如TMS320C5509提供了3個高速多通道緩存串口(Mcbsp)可以實現(xiàn)與其他DSP和編解碼器等器件相連,但多通道緩存串口同時肩負(fù)著數(shù)據(jù)接收和發(fā)送的傳輸作用,經(jīng)常用于語音、圖像信號采集的專用通道被占用,并且在使用時還要對Mcbsp的采樣率、時鐘、數(shù)據(jù)接口等作出詳細(xì)的設(shè)置已達(dá)到與PC機(jī)聯(lián)絡(luò)的要求,這樣大大增加了系統(tǒng)設(shè)計的復(fù)雜性,降低了系統(tǒng)的工作效率。因此用TI公司的通用異步通信模塊TL16C550來實現(xiàn)TMS320C5509與PC機(jī)之間的串行通信,DSP可以隨時讀取TL16C550狀態(tài),完成發(fā)送和接收的指令,同時TL16C550本身具有控制能力和一個處理器的終端系統(tǒng),可以減少通信連接的軟件管理,提高系統(tǒng)的工作效率。TMS320C5509與PC機(jī)異步通信的原理框圖如圖1所示。
TMS320C5509與異步通信模塊TL16C550連接通信,再通過MAX232芯片完成電平轉(zhuǎn)換,轉(zhuǎn)換成異步串口的工作電平送往PC機(jī),實現(xiàn)TMS320-C5509與PC機(jī)異步通信。
2 異步通信器件TL16C550簡介
2.1 TL16C550特點
TL16C550是TI公司的異步通信器件,是一個標(biāo)準(zhǔn)的串口接口芯片它具有以下特點:1)供電電壓為5 V或3.3 V;2)時鐘頻率可達(dá)16 MHz,通信時波特率可達(dá)1 M,可以通過軟件設(shè)置設(shè)定波特率發(fā)生器;3)具有標(biāo)準(zhǔn)的異步通信位,可選5、6、7、8位串行數(shù)據(jù)位,可設(shè)置奇偶檢驗?zāi)J交驘o奇偶校驗?zāi)J?,停止位長度為1、1.5、2;4)獨立控制發(fā)送、接收、線狀態(tài)以及中斷設(shè)置;5)軟件設(shè)置FIFO,減少CPU中斷。
2.2 TL16C550引腳功能介紹
TL16C550的主要引腳功能如下:A0~A2:片內(nèi)寄存器的選擇信號,用于選擇讀出或?qū)懭隩L16C550寄存器的數(shù)值。D0~D7:雙向8位數(shù)據(jù)總線;ADS:地址選通信號該引腳有效時,可將CS0、CS1、及A0、A1、A2鎖存在TL16C550內(nèi)部;XIN、XOUT:外部時鐘輸入輸出引腳,可接晶體振蕩器或外部時鐘信號;CS0、CS1、:片選信號,當(dāng)CS0=CS1=1且=0時,TL16C550才被選通;WR1、WR2、RD1、RD2:讀、寫信號;BAUDOUT:波特率輸出引腳,可直接連接到RCLK引腳上;MR:主機(jī)復(fù)位;INTRPT:中斷輸出引腳,高電平有效;RXRDY:接收準(zhǔn)備引腳;TXRDY:傳送準(zhǔn)備引腳。[!--empirenews.page--]
2.3 TL16C550寄存器功能介紹
TL16C550共有11個寄存器,這11個寄存器是通過TMS320C5509的3個地址線(A0~A2)和線路控制寄存器中的DLAB位對它們進(jìn)行尋址的,表1是TL16C550寄存器的具體地址分配,給出了如何通過設(shè)置A2、A1、A0、DLAB來訪問這些寄存器。
線路控制寄存器LCR負(fù)責(zé)設(shè)置數(shù)據(jù)長度(5位、6位、7位、8位),設(shè)置停止位個數(shù)(1、1.5、2個停止位),設(shè)置奇偶校驗使能、奇偶校驗選擇,以及寄存器的訪問選擇;線路狀態(tài)寄存器LSR包括接收數(shù)據(jù)準(zhǔn)備標(biāo)志位、溢出錯誤標(biāo)志位、奇偶校驗錯誤標(biāo)志位、發(fā)送標(biāo)志位;中斷使能寄存器IER負(fù)責(zé)設(shè)置接收中斷使能、發(fā)送中斷使能、接收錯誤中斷使能、MODEM中斷使能;中斷標(biāo)志寄存器IIR負(fù)責(zé)控制TL16C550的中斷設(shè)置包括中斷類型、優(yōu)先級和中斷清除。[!--empirenews.page--]
TL16C550的波特率可通過高位除數(shù)寄存器DLM、低位除數(shù)寄存器DLL來控制,除數(shù)寄存器值和波特率之間的換算關(guān)系為:除數(shù)值=輸入頻率÷(波特率×16),本次TL16C550的輸入頻率選取為:3.686 4 MHz,波特率與除數(shù)的換算關(guān)系如表2所示。
3 TMS320C5509與PC機(jī)的硬件電路設(shè)計
TMS320C5509利用TL16C550與PC機(jī)進(jìn)行串行通信的硬件電路如圖2所示,圖中TL16C550異步通信接口工作在3.3 V或5 V下,完成數(shù)據(jù)的串行傳輸和設(shè)定波特率等功能,本系統(tǒng)TL16C550按照設(shè)定的波特率9 600與PC機(jī)進(jìn)行雙向串口通信。圖中TL16C550的片內(nèi)寄存器選擇線A0~A2與TMS320C5509的地址線A0~A2相連。用于選擇要寫入或讀出TL16C550的寄存器。TL16C550的數(shù)據(jù)線D0~D7直接與TMS320C5509的數(shù)據(jù)D0~D7相連,實現(xiàn)數(shù)據(jù)的雙向傳輸;TL16C550的片選信號CS0、CS1直接與高電平相連,與TMS320C5509的相連,當(dāng)為低電平TL16C550被選通;TL16C550的讀使能引腳為、RD2,圖中TL16C550的RD2接地,即當(dāng)為高電平且TL16C550被選中時才能讀取數(shù)據(jù);TL16C550的寫使能引腳為、WR2,圖中TL16C550的WR2接地,即當(dāng)為高電平且TL16C550被選中時才能向TL16C550寫數(shù)據(jù);TL16C550的外部時鐘輸入輸出引腳XIN、XOUT外接的是3.686 4 MHz的晶振。為了滿足本TMS320C55509以波特率為9 600與PC機(jī)進(jìn)行串行通信,因此高位除數(shù)寄存器DLM選取00H,低位除數(shù)寄存器DLL選取為18H;TL16C550串行輸入引腳SIN和串行輸出引腳SOUT分別接到MAX232的R20UT和T1IN,主要完成將輸出的0~3.3 V電平轉(zhuǎn)換成異步串口的工作電平,以完成RS-232接口電平轉(zhuǎn)換功能。
4 軟件設(shè)計
本文以TMS320C5509為研究對象,利用TL16C550異步串口通信芯片實現(xiàn)DSP與PC機(jī)之間的串口通信。在軟件編程上考慮到TL16C550芯片的初始化和通信協(xié)議,主要任務(wù)是設(shè)置串行通信數(shù)據(jù)長度、停止位、奇偶校驗位、波特率、中斷使能等,以實現(xiàn)串口通信。具體設(shè)計流程圖如圖3所示。
[!--empirenews.page--]
TL16C550初始化C語言程序如下:
5 實驗數(shù)據(jù)
根據(jù)系統(tǒng)設(shè)計要求須將由DSP信號處理系統(tǒng)得到的延時信息通過串口傳輸?shù)絇C機(jī),再通過編寫的應(yīng)用軟件實現(xiàn)對筆跡的描述,利用上述方法實現(xiàn)TM320C5509與PC機(jī)的串口通信,實驗數(shù)據(jù)如圖4所示。得到的實驗數(shù)據(jù)準(zhǔn)確、穩(wěn)定,通過計算可以得到信號筆的定位信息,實驗證明利用異步通信模塊TL16C550實現(xiàn)TMS320C5509與PC機(jī)之間的串口通信的方法準(zhǔn)確有效。
6 結(jié)束語
TMS320C5509這款DSP芯片具有高性能、低功耗等優(yōu)點在數(shù)字信號處理中得到了廣泛應(yīng)用。利用TI公司的異步串行通信模塊TL16C550實現(xiàn)TMS320C5509與PC機(jī)之間的串口通信,具有傳輸穩(wěn)定性高、接口簡單等優(yōu)點,通過實驗證實該系統(tǒng)運行良好。