TMS320VC5402與PC機進(jìn)行串行通信的兩種方案
3.1.2 TL16C550片內寄存器介紹
TL16C550內部共有11個(gè)寄存器,這些寄存器分別用于實(shí)現通信參數的設置、對線(xiàn)路及MODEN的狀態(tài)訪(fǎng)問(wèn)、數據的發(fā)送和接收及中斷管理等功能。表2描述了訪(fǎng)問(wèn)這些寄存器時(shí)鎖存器訪(fǎng)問(wèn)位DLAB和A0、A1、A2的狀態(tài)。

3.2 C5402與PC機串行通信的硬件電路
C5402與PC機串行通信的硬件電路如圖3所示。
圖3中,TL16C550的CS0和CS1都接高電平,CS2接C5402的外部I/O空間,選擇線(xiàn)IS。
當XIN、XOUT端外接1.8342MHz晶振時(shí),C5402以28400的波特率與PC機通信,所以,波特率因子寄存器的低位設為02H,高位設為00H。
TLC16C550的數據線(xiàn)D0-D7直接與C5402的D0-D7數據線(xiàn)相連,TL16C550的片內寄存器選擇線(xiàn)接C5402的A0-A2。
由于RS-232-C電路電平與CMOS電平不同,因此,RS232驅動(dòng)器與CMOS電平連接時(shí)必須經(jīng)過(guò)電平轉換。這里,我們采用MAX232完成這一功能,MAX232具有一個(gè)專(zhuān)有的低壓降發(fā)送器輸出級,在其以雙電荷棒3.0V~5.5V供電時(shí),可以獲得真正的RS-232性能。該器件只需4個(gè)1μF小型外接電容,可在維持RS-232輸出電平的情況下確保運行于120kb/s數據率,因此十分適合高速串行通信場(chǎng)合。
利用RXRDY和TXRDY引入外部中斷,從而系統工作在中斷方式,RXRDY產(chǎn)生外部0中斷(INT0),而TXRDY將產(chǎn)生外部1中斷(INT1)。
3.3 軟件設計
系統軟件設計包括PC機、TMS320VC5402以

及TL16C550的初始化和通信協(xié)議等。初始化的主要任務(wù)是設置操作所需要的參數。這些參數包括串行通信時(shí)數據串的數據位數、停止位數、奇偶校驗等。另外,還需要設置發(fā)送和接收的波特率及中斷方式。
其中需要注意的是由于系統工作在中斷方式,應允許接收就緒中斷和發(fā)送緩沖區空中斷,相應地,中斷允許寄存器的值應該設置為03H。
4 結束語(yǔ)
利用通用I/O引腳擴展串口時(shí)硬件構成簡(jiǎn)單,
但軟件編制較為復雜,而且由于DSP的中斷優(yōu)先級無(wú)法通過(guò)軟件設置,在有其他外部中斷的情況下較難適用。相比之下,運用UART來(lái)擴展串口增加了硬件,但降低了軟件復雜度,并且免去了對時(shí)鐘中斷的依賴(lài),還可引進(jìn)另外的外部中斷,兩個(gè)通用引腳也可留出,更適合在較復雜的獨立系統中使用。在應用時(shí),可根據實(shí)際情況進(jìn)行選擇。
評論