<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 利用異步通信芯片16C552實(shí)現PC機與DSP的串行通訊

利用異步通信芯片16C552實(shí)現PC機與DSP的串行通訊

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了的功能、特點(diǎn)、結構和內部寄存器,給出了用的方法,同時(shí)給出了它們之間的硬件接口電路和軟件初始化程序。

關(guān)鍵詞:;;

PCDSP的時(shí),通??芍苯?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/利用">利用DSP的串行通訊接口(SCI)模塊和SCI多處理器通訊協(xié)議(即空閑線(xiàn)路模式和地址位模式)來(lái)在同一串行線(xiàn)路中多個(gè)處理器之間的通訊,也可以采用SCI通訊模式實(shí)現串行通訊。這兩種方式雖然都能方便地實(shí)現串行通訊,但它們都需占用系統較多的硬件和軟件資源,因而不適用于對實(shí)時(shí)性要求比較高且系統資源緊張的應用場(chǎng)合。筆者在研制電力有源濾波實(shí)驗系統中,由于采用了異步通訊16C552,從而成功解決了這個(gè)問(wèn)題。本文將從電路結構和軟件編程兩個(gè)方面介紹該方案的實(shí)現方法。

1?。保叮茫担担埠?jiǎn)介

1.1 功能特點(diǎn)及結構框圖

16C552是TI(TL16C552)和VLSI(VL16C552)等公司生產(chǎn)的異步芯片,具有兩個(gè)增強的通用異步通訊單元通道和一個(gè)增強的雙向打印機端口;支持TL16C450和FIFO兩種模式,其16字節的FIFO可減少CPU中斷;每個(gè)通道都具有獨立的發(fā)送、接收、線(xiàn)路狀態(tài)和設置中斷功能,同時(shí)具有獨立的MO-DEM控制信號、可編程的串行數據發(fā)送格式(包括數據位長(cháng)度、校驗方式、停止位長(cháng)度)和可編程波特率發(fā)生器;另外,每個(gè)通道的數據和控制總線(xiàn)還具有三態(tài)TTL驅動(dòng)功能。

TL16C552AM是TI公司的68腳PLCC(Plastic Leaded Chip Carrier)封裝芯片,其管腳及功能框圖如圖1所示。從圖中可以看出,它的串行口主要完成兩個(gè)功能,一是把外設或調制解調器接收來(lái)的串行數據轉換成并行數據;二是把CPU的并行數據轉換成串行數據以便發(fā)送。在正常操作過(guò)程中,CPU可以隨時(shí)讀?。保叮茫担担驳臓顟B(tài)信息,以報告16C552傳輸操作的類(lèi)型和狀態(tài),包括各種錯誤狀態(tài),如奇偶校驗、溢出、幀錯誤和FIFO錯誤等。此外,16C552還具有完整的MODEM控制功能,并有CTS、RTS、DSR、DTR、RI、DCD等信號端。

16C552具有一套完善的中斷系統,可以自動(dòng)設定優(yōu)先級。它的串行口和并行口都可以獨立地工作于中斷和查詢(xún)兩種工作方式。

1.2 16C552的內部寄存器

16C552內部有12個(gè)單字節寄存器,這些寄存器占用了8個(gè)I/O口地址,其地址由A0~A2決定。其中有些寄存器共用一個(gè)I/O口地址,共用的I/O口可以通過(guò)讀/寫(xiě)信號和線(xiàn)路控制寄存器(LCR)的D7位(DLAB)來(lái)進(jìn)行區分,具體描述見(jiàn)表1所列,需要說(shuō)明的是:只有當16C552的CS0或CS1為低電平時(shí),串行通道才能被訪(fǎng)問(wèn)。

表1 I6C552的內部寄存器

DLABA2A1A0符 號寄 存 器
LLLLRBR接收緩沖寄存器
LLLHTHR發(fā)送保持寄存器
LLLLIER中斷允許寄存器
XLHHIIR中斷識別寄存器
XLHLFCRFIFO控制寄存器
XLHHLCR線(xiàn)路控制寄存器
XHLLMCRMODE控制寄存器
XHLHLSR線(xiàn)路狀態(tài)寄存器
XHHLMSRMODEM狀態(tài)寄存器
XHHHSCR高速緩存器寄存器
HLLLDLL除數鎖存器低位
HLLHDLM除數鎖存器高位

關(guān)于各寄存器內容的具體規定,限于篇幅,這里不作詳述,有興趣者可參看TI公司的相關(guān)產(chǎn)品資料介紹,但在串行通訊應用中,要重點(diǎn)搞清楚FCR、LCR、IER等幾個(gè)寄存器的內容。此外,在實(shí)際應用中,有時(shí)可能會(huì )忽視MODEM控制寄存器中的D4位,該位為自測試循環(huán)回送狀態(tài)控制位,它可以對串口的自測試進(jìn)行控制,因此,在自測試進(jìn)行完畢后,還應對該位進(jìn)行復位,以保證系統的正常運行。

2 通訊系統硬件接口電路

本系統的硬件接口電路如圖2所示。其中,地址譯碼電路可以根據實(shí)際需要采用不同的電路實(shí)現。為了使系統使用靈活方便,本方案中采用一片CPLD來(lái)進(jìn)行系統的地址分配。復位電路可以專(zhuān)用復位芯片,也可用上拉電阻方式實(shí)現。外接晶振可以自行選擇,然后根據晶振頻率設置除數鎖存器的高位和低位,從而獲得通訊系統正確的波特率,本系統中使用的晶振是8MHz。此外,由于16C552A有兩個(gè)串行通道和一個(gè)標準并行口,它們相互之間的配合使用在硬件和軟件上都要加以注意。建議將不用端口的片選接到高電平(16C552A的片選為低電平有效),以免出現錯誤。

3 串行通訊軟件設計

3.1 通訊協(xié)議

本設計的通訊協(xié)議包括以下幾點(diǎn):

(1)波特率為9600。

(2)通訊命令由2個(gè)字節構成:第一個(gè)字節是同步字節0XFF;第二個(gè)字節是命令碼,主要用來(lái)指示各種控制命令。

(3)每個(gè)字節包括8位數據位和1位停止位,無(wú)校驗。

(4)在通訊過(guò)程中,上位機向TMS320F243發(fā)送同步命令,TMS320F243接收到后立即應答,若應答錯誤則重發(fā)。

(5)通訊程序向TMS320F243發(fā)送控制命令時(shí),TMS320F243返回接收正確應答信號;通訊程序向TMS320F243查詢(xún)系統參數命令時(shí),TMS320F243按照規定格式返回所需數據。

PC機和TMS320F243均采用異步通訊方式,PC機采用事件驅動(dòng)方式來(lái)接收數據,TMS320F243采用中斷方式接收數據,而用查詢(xún)方式發(fā)送數據。

3.2 上下位機通訊軟件設計

在PC機上編寫(xiě)串行通訊程序至少有三種方法,分別為匯編語(yǔ)言、C語(yǔ)言和Visual系列通訊控件(MSComm)。相比較而言,Visual系列通訊控件能夠用少量的代碼輕松高效地完成編程任務(wù)。實(shí)際應用中,可用以Visual Basic(簡(jiǎn)稱(chēng)VB)6.0中的通訊控件MSComm為基礎編寫(xiě)PC機的串行通訊程序,而用匯編語(yǔ)言編寫(xiě)下位機(F243)軟件。上、下位機的串口程序流程分別如圖3和圖4所示。 16C552的初始化程序如下:

;THE 16C552 INITIALIZATION PROGRAM

C552_INIT:

LDP #00h

SPLK #83h,GSR0

OUT GSR0,0E003h ;設置LCR

SPLK #34h,GSR0

OUT GSR0,0E000h ;設置DLL

SPLK #00h,GSR0

OUT GSR0,0E001h ?; 設置DLM

SPLK #03h,GSR0

OUT GSR0,0E003h ?; 設置LCR

SPLK #08h,GSR0

OUT GSR0,0E004h ?; 設置MCR

SPLK #01h,GSR0

OUT GSR0,0E002h ?; 設置FCR

SPLK #01h,GSR0

OUT GSR0,0E001h ? ;設置IER

RET

圖4

4 結束語(yǔ)

本文對使用異步芯片16C552實(shí)現PCDSP之間的串行通訊方法進(jìn)行了研究,筆者已開(kāi)發(fā)了其串行通訊軟件,并在實(shí)驗中調試通過(guò)。該軟件不僅使用靈活方便,而且可以利用16C552的FIFO模式實(shí)現大數據量的收發(fā),從而減少了對DSP的中斷,緩解了系統資源緊張的情況。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>