《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 用ST16C2552實(shí)現(xiàn)DSP高速串行通訊擴(kuò)展
用ST16C2552實(shí)現(xiàn)DSP高速串行通訊擴(kuò)展
國外電子元器件
高翔 陳志輝
摘要: 基于DSP和ST16C2552的硬件連接已經(jīng)調(diào)試成功,TMS320LF2407的程序也通過了CCS編譯,,并在電路板上調(diào)試成功,。調(diào)試結(jié)果表明,在波特率115 200 b/s下通訊數(shù)據(jù)傳輸準(zhǔn)確,,誤碼率極低,。該系統(tǒng)現(xiàn)已應(yīng)用于產(chǎn)品中。只要將該設(shè)計(jì)的電路連接和程序稍加改動(dòng),,就可以應(yīng)用于其他DSP,、單片機(jī)的高速串行口擴(kuò)展,非常有用,。
關(guān)鍵詞: DSP ST16C2552 TMS320LF2407 串行通訊
Abstract:
Key words :

1 引言

      隨著大規(guī)模集成電路工藝技術(shù)的迅速發(fā)展,,DSP" rel="http://www.eeworld.com.cn/my/keyad/ti.html" target="_blank">DSP已經(jīng)越來越廣泛地應(yīng)用于工業(yè)場合。工業(yè)現(xiàn)場由于許多場合通訊雙方相距較遠(yuǎn),,為了保證通訊成本和可靠性,,必須采用串行方式進(jìn)行通訊。目前TI公司DSP都只有一個(gè)UART口,,比如TMS320LF2407,當(dāng)同時(shí)需要與上位機(jī)和下面的被控對象進(jìn)行通訊,或者同時(shí)連接幾個(gè)上位機(jī)時(shí),,則需要對DSP進(jìn)行串行通訊口擴(kuò)展,而使用可編程的ST16C2552可以一次擴(kuò)展兩組相互獨(dú)立的串口,,滿足各種條件下串行通訊的要求,。

2 ST16C2552介紹

      ST16C2552是Exar公司生產(chǎn)的通用異步通訊擴(kuò)展器件,并與飛利浦公司的SC16C2552相兼容,,可擴(kuò)展2路獨(dú)立的串行通訊,可編程設(shè)定通訊起始位,、停止位和校驗(yàn)位以確保通訊的可靠性,,可編程配置各種不同的波特率,在24 MHz的時(shí)鐘下,,STl6C2552的數(shù)據(jù)傳輸速率可高達(dá)1.5 Mbit/s,。ST16C2552提供16字節(jié)的接收和發(fā)送FIFO,允許用戶配置四種不同的中斷出發(fā)點(diǎn),,DSP可以根據(jù)配置一次并行讀人多個(gè)數(shù)據(jù),,提高了傳輸效率,節(jié)省了DSP的工作時(shí)間,。STl6C2552在2.5 V,、3.3 V、5 V供電條件下均可以正常工作,,不需要增加任何緩沖器件就可以和各種DSP或者單片機(jī)直接連接,,非常方便。

     ST16C2552提供了兩套內(nèi)部寄存器,,每套由12個(gè)寄存器組成,,用于監(jiān)測和控制UART每個(gè)通道的功能。分別為:發(fā)生/接收數(shù)據(jù)保存寄存器(THR/RHR),、中斷狀態(tài)和控制寄存器(IER/ISR),、FIFO控制寄存器(FCR)、線狀態(tài)和控制寄存器(LCR/15R),、調(diào)制解調(diào)器狀態(tài)和控制寄存器(MCR/MSR),、可編程數(shù)據(jù)速率(時(shí)鐘)控制寄存器(DLL/DLM),一個(gè)用戶可訪問的暫存寄存器(SPR)和一個(gè)選擇功能寄存器(AFR),。

3 硬件連接

     ST16C2552和TMS320LF2407的硬件連接方法如圖1所示,DSP的數(shù)據(jù)線DO~D7與ST16C2552的數(shù)據(jù)線DO~D7相連,。DSP地址線A0~A2與ST16C2552的地址線A0~A2相連。DSP的地址線A3與ST16C2552的通道選擇引腳CHSEL相連,。DSP的外部空間選擇引腳IS與ST16C2552的片選
 

引腳CS相連,。兩個(gè)通道的中斷引腳分別連接到DSP的外部中斷引腳XINT1和XINT2。采用有源14.7456 MHz晶體振蕩器為ST16C2552提供時(shí)鐘頻率,。兩組UART分別通過兩個(gè)MAX3485連接到外部RS-485總線,,MAX3485的使能由DSP的IOPC6和。IOPC7兩引腳控制,,整個(gè)系統(tǒng)采用3.3 V供電,。圖2為ST16C2552和TMS320LF172407的最小系統(tǒng)原理圖。
 

4 ST16C2552通訊流程和編程范例

ST16C2552的內(nèi)部寄存器通過3根地址線A0~A2進(jìn)行尋址,通過配置寄存器LCR確定具體尋址的寄存器,。通過不同的寄存器配置,可以實(shí)現(xiàn)需要的各種功能,。ST16C2552內(nèi)部分別有16字節(jié)的發(fā)送和接收FIFO,通過寄存器對FCR的FCR[0]置1使能,,使ST16C2552工作在FIFO模式,。

FIFO收發(fā)可以通過查詢方式來實(shí)現(xiàn)。在該模式下,,通過FCR[5:4]設(shè)置發(fā)送FIFO觸發(fā)數(shù),。若設(shè)為14個(gè),DSP能夠一次寫14個(gè)字節(jié)的數(shù)據(jù),然后讀中斷狀態(tài)寄存器ISR判斷FIFO中的數(shù)據(jù)量是否低于設(shè)定的值,,如果為低則繼續(xù)寫數(shù)據(jù),。同樣通過FCR[7:6]設(shè)置接收FIFO觸發(fā)數(shù)。若設(shè)置為14個(gè),,ST16C2552可一次從外面接收14個(gè)字節(jié)數(shù)據(jù),,DSP可以讀寄存器ISR判斷是否收滿,若已經(jīng)收滿,,可一次從ST16C2552讀入14個(gè)數(shù)據(jù),,通過讀寄存器LSR的0位判斷接收寄存器中是否還有數(shù)據(jù),如果有,,繼續(xù)讀出,直到讀完為止。

FIFO收發(fā)也可以通過中斷方式來實(shí)現(xiàn),。若產(chǎn)生中斷則INT引腳為高電平,。如果沒有配置ST16C2552工作在FIFO模式下,則DSP每次只能發(fā)送或者接收一個(gè)字節(jié)的數(shù)據(jù),,就觸發(fā)中斷或者查詢寄存器狀態(tài)位,。這里給出來用中斷方式進(jìn)行通訊的流程和C語言程序。

設(shè)ST16C2552處于被動(dòng)響應(yīng)通訊方式,,初始設(shè)置為接收狀態(tài),,接收上位機(jī)數(shù)據(jù),判斷處理后轉(zhuǎn)為發(fā)送方式向上位機(jī)回復(fù)數(shù)據(jù),。

4.1 初始化

ST16C2552初始化流程如圖3所示,,C語言程序如下:



 

4.2 中斷發(fā)送和接收

以通道1為例,系統(tǒng)中斷發(fā)送,、接收數(shù)據(jù)流程分別如圖4,、5所示,C語言程序如下:








5 結(jié)束語

     基于DSP和ST16C2552的硬件連接已經(jīng)調(diào)試成功,,TMS320LF2407的程序也通過了CCS編譯,,并在電路板上調(diào)試成功。調(diào)試結(jié)果表明,在波特率115 200 b/s下通訊數(shù)據(jù)傳輸準(zhǔn)確,,誤碼率極低,。該系統(tǒng)現(xiàn)已應(yīng)用于產(chǎn)品中。只要將該設(shè)計(jì)的電路連接和程序稍加改動(dòng),,就可以應(yīng)用于其他DSP,、單片機(jī)的高速串行口擴(kuò)展,非常有用,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。