異步串行通信模塊TL16C550在電子白板中的應(yīng)用
TL16C550的波特率可通過(guò)高位除數(shù)寄存器DLM、低位除數(shù)寄存器DLL來(lái)控制,除數(shù)寄存器值和波特率之間的換算關(guān)系為:除數(shù)值=輸入頻率÷(波特率×16),本次TL16C550的輸入頻率選取為:3.686 4 MHz,波特率與除數(shù)的換算關(guān)系如表2所示。本文引用地址:http://m.butianyuan.cn/article/179457.htm
3TMS320C5509與PC機(jī)的硬件電路設(shè)計(jì)
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)寄存器選擇線(xiàn)A0~A2與TMS320C5509的地址線(xiàn)A0~A2相連。用于選擇要寫(xiě)入或讀出TL16C550的寄存器。TL16C550的數(shù)據(jù)線(xiàn)D0~D7直接與TMS320C5509的數(shù)據(jù)D0~D7相連,實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸;TL16C550的片選信號(hào)CS0、CS1直接與高電平相連,與TMS320C5509的相連,當(dāng)為低電平TL16C550被選通;TL16C550的讀使能引腳為、RD2,圖中TL16C550的RD2接地,即當(dāng)為高電平且TL16C550被選中時(shí)才能讀取數(shù)據(jù);TL16C550的寫(xiě)使能引腳為、WR2,圖中TL16C550的WR2接地,即當(dāng)為高電平且TL16C550被選中時(shí)才能向TL16C550寫(xiě)數(shù)據(jù);TL16C550的外部時(shí)鐘輸入輸出引腳XIN、XOUT外接的是3.686 4 MHz的晶振。為了滿(mǎn)足本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è)計(jì)
本文以TMS320C5509為研究對(duì)象,利用TL16C550異步串口通信芯片實(shí)現(xiàn)DSP與PC機(jī)之間的串口通信。在軟件編程上考慮到TL16C550芯片的初始化和通信協(xié)議,主要任務(wù)是設(shè)置串行通信數(shù)據(jù)長(zhǎng)度、停止位、奇偶校驗(yàn)位、波特率、中斷使能等,以實(shí)現(xiàn)串口通信。具體設(shè)計(jì)流程圖如圖3所示。
評(píng)論