TMS320VC5402串行通信接口設計
近年來(lái),DSP在電子、通信和控制領(lǐng)域得到了非常廣泛的應用,在DSP應用系統設計中與上、下位機的通信必不可少。目前幾乎所有的DSP都提供一個(gè)或多個(gè)串口,然而,多數DSP芯片提供的是同步串口,在實(shí)際的應用中,DSP要能夠與外設進(jìn)行異步串行通信,如與PC機進(jìn)行串行數據傳輸就要求DSP系統具UART串行接口。另外,由于單片機控制靈活方便、便于鍵盤(pán)及顯示的擴展,使得其與DSP結合的更加緊密。針對這種情況,本文研究并實(shí)現了DSP與PC機及單片機通信接口的擴展。
?。薄。樱校山涌趨f(xié)議
串行外圍設備接口(SPI)是MOTOROLA公司提出的一個(gè)同步串行外設接口,以主從方式工作,允許CPU 與各種外圍接口器件以串行方式進(jìn)行通信、交換信息。接口包括4條線(xiàn):串行時(shí)鐘線(xiàn)(SCK)、主機輸入/從機輸出線(xiàn)(MIsO)、主機輸出/從機輸入線(xiàn)(MOSI)、低電平有效的使能信號線(xiàn)(/SS)。這樣,僅需3~4根數據線(xiàn)和控制線(xiàn)即可擴展具有SPI接口的各種I/O器件。
?。病。裕停樱常玻埃郑茫担矗埃才cPC機的異步串口通信
?。玻薄。停悖拢樱械墓δ芘c特點(diǎn)
?。裕停樱常玻埃郑茫担矗埃残酒哂校矀€(gè)高速、全雙工、多通道緩沖串行接口(McBSP),其方便的數據流控制可使其與大多數同步串行外圍設備接口。McBSP通過(guò)6個(gè)引腳(BDX、BDR、BCLKX、BCLKR、BFSX 和BFSR)與外設接口。
?。停悖拢樱写诠ぷ饔跁r(shí)鐘停止模式時(shí)與SPI協(xié)議兼容。此時(shí),發(fā)送器和接收器在內部得到同步,McBSP可作為SPI的主設備或從設備。發(fā)送時(shí)鐘信號(BCLKX)對應于SPI協(xié)議中的串行時(shí)鐘信號(SCK),發(fā)送幀同步信號對應于從設備使能信號(/CS)。在這種方式下對接收時(shí)鐘信號(BCLKR)和接收幀同步信號(BFSR)不進(jìn)行連接,因為它們在內部分別與BCLKX和BFSX相連。McBSP工作于SPI模式的主機時(shí),與SPI從設備接口如圖1所示。
圖1?。停悖拢樱凶鳛椋樱校傻闹髟O備
?。玻病。停粒兀常保保蓖ㄓ卯惒绞瞻l(fā)器
?。停粒兀常保保蓖ㄓ卯惒绞瞻l(fā)器是MAXIM 公司為微處理系統設計的通用異步收發(fā)器UART,包括振蕩器、可編程波特率發(fā)生器、可屏蔽的中斷源、8字節的接收FIFO緩沖器和兩個(gè)RS232電平轉換器。它應用SPI接口技術(shù)直接與主控制器進(jìn)行通信,通信速率可達230?。耍猓?,無(wú)需再接入普通的MAX232進(jìn)行電平轉換,即可應用一個(gè)芯片實(shí)現微控器與PC機或其它設備之間的異步數據傳輸。
?。玻场。模樱信cMAX3111的接口設計
由于MAX3111是3.3?。制骷?,DSP的McBSP串行接口工作于SPI模式時(shí)可直接與MAX3111連接,實(shí)現與RS232設備異步數據傳輸。此時(shí)DSP作為SPI協(xié)議中的主設備,發(fā)送時(shí)鐘信號(BCLKX)作為MAX3111的串行時(shí)鐘輸入,發(fā)送幀同步脈沖信號(BFSX)作為MAX3111的片選信號(/CS)。BDX與DIN 連接作為發(fā)送數據線(xiàn),BDR與DOUT 連接作為接收數據線(xiàn)。MAX3111的TX 與TIIN連接,RX與R1OUT連接,以便利用其片內的轉換
器實(shí)現UART到RS232電平的轉換。MAX3111的中斷信號(IRQ)與DSP的外部中斷INTO相連,其接口電路如圖2所示。這樣硬件上無(wú)需任何其它外圍器件,由于異步數據的發(fā)送和接收由MAX3111以硬件方案實(shí)現,所以軟件編程只需考慮DSP與MAX3111之間的同步數據通信。
圖2?。模樱信cMAX3111的接口電路
在SPI串行協(xié)議中,主設備提供時(shí)鐘信號并控制數據傳輸過(guò)程,必須對McBSP初始化并設定適當的工作方式才能保證與MAX3111的時(shí)序相配合,設計中采用McBSP的時(shí)鐘停止模式2(CLKSTP=11?。?,CLKXP=0) 。
?。场。裕停樱常玻埃郑茫担矗埃才cAT89S51單片機的串口通信
?。模樱兄鳈C接口HPI具有強大功能的智能外設,主要用于DSP與其它總線(xiàn)或CPU進(jìn)行連接。DSP與單片機的接口通常采用HPI來(lái)實(shí)現,但要外加電平轉換,硬件電路較復雜。這里采用C5402通過(guò)SPI總線(xiàn)與AT89S51單片機進(jìn)行數據通信,但由于后者不帶SPI總線(xiàn)接口,故采用軟件模擬SPI串行時(shí)鐘及輸入、輸出數據。
圖3?。模樱信c89S5l單片機的接口電路
?。模樱信cAT89S51單片機的接口如圖3所示。DSP通過(guò)MOSI引腳將要傳送的數據寫(xiě)到主機的發(fā)送數據寄存器DXR,啟動(dòng)發(fā)送過(guò)程,在同步時(shí)鐘BCLKX的控制下將待發(fā)的數據從高位到低位逐位送到單片機接收引腳RXD,當RXD接受移位完畢時(shí)產(chǎn)生中斷,通知主機數據發(fā)送完畢。值得注意的是,單片機接收數據時(shí)是低位在前,高位在后。對于從機而言,在同步時(shí)鐘的節拍下將從機移位寄存器SBUF中的數據逐位經(jīng)MISO移到主機的接收數據寄存器RSR,再拷貝這些數據到接收緩沖寄存器RBR中,最后再送到DRR,當一個(gè)完整的數據塊接收完后置中斷標志,通知從機數據接收完畢。
?。础〗Y論
本文介紹了利用TMS320VC5402的2個(gè)McBSP擴展與PC機和51系列單片機的通信,硬件設計簡(jiǎn)單可靠,實(shí)用性強,軟件上僅需對McBSP進(jìn)行設置和編程,實(shí)現起來(lái)非常容易。在足球機器人模型識別與控制過(guò)程中完成了PC機、DSP和單片機的實(shí)時(shí)通信,效果良好。
評論