《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > TMS320C54XX系列DSP與PC機間串行通信的實現

TMS320C54XX系列DSP與PC機間串行通信的實現

2008-09-16
作者:薛志宏 劉建業

  摘? 要: 目前大多數數字信號處理器(DSP)芯片上未提供通用異步串行收發器" title="串行收發器">串行收發器(UART),只提供2~3個同步串行接口" title="串行接口">串行接口,其與微機及其它設備進行串行通信時,必須在DSP上擴展異步串行接口。以美國TI公司TMS320C54XX系列DSP為例,采用MAXIM公司的MAX3111異步串行收發器,研究了理想的接口擴展方案。論述了這種方案的軟、硬件實現。該方案硬件連接簡單,軟件編程方便,可實現DSP與PC機間的串行通信,具有很高的工程應用價值。

  關鍵詞: 異步串行收發器? 多通道緩沖串行接口? DSP? McBSP? SPI? UART

?

  DSP在電子工業領域得到了越來越廣泛的應用。在DSP應用系統設計中,必不可少的是各種通信接口的設計。與并行接口相比,串行接口的最大特點是減少了器件引腳數目,降低了接口設計復雜性。串行數據傳輸可分為同步和異步兩種模式。通用PC機的RS-232接口為通用異步接口UART(Universal Asynchronous Receiver and Transmitter),而MOTOROLA公司的串行外圍設備接口SPI、隊列SPI(QSPI)、PHILIPS公司的內部IC總線(I2C),National公司的微總線(MICROWIRE)均為同步串行協議。

  目前幾乎所有的數字信號處理器都提供了一個或多個串行接口,然而,多數DSP芯片提供的是同步串口" title="串口">串口。在實際的應用中,也需要DSP能夠與外設進行異步串行通信,如與PC機進行串行數據傳輸就要求DSP系統具有UART串行接口。針對這種情況,本文研究并實現了一種簡單、可靠的異步串口擴展方法。

1 擴展方案

  綜合分析DSP應用系統中擴展異步串行接口的方案,其基本方法和優缺點如下:

  (1)在DSP的并行總線上擴展UART芯片(如TI公司的TL16C552),用硬件實現異步數據傳輸。優點是軟件實現簡單,缺點是在總線上還需擴展其它設備,這樣做使目標系統復雜化,增大系統體積。

  (2)利用DSP的McBSP和DMA,在不擴展其它硬件的情況下,用軟件實現異步數據傳輸格式。這種方法的優點在于硬件簡單,但軟件復雜,加大了CPU的負擔,所以不適合通信數據量大的場合。

  (3)利用DSP的McBSP同步串行接口,在擴展適當硬件的情況下,將同步數據變換為UART異步數據格式進行傳輸。這樣,就充分利用了DSP的片上資源,使硬件系統盡量簡單化。

  綜合考慮硬件連接和軟件編程的方便性,本文采用第三種方案,應用美國MAXIM 公司的MAX3111串行異步收發器,與DSP的McBSP口直接連接。硬件上無需任何其它外圍器件,同時由于異步數據的發送和接收由MAX3111以硬件方式實現,所以軟件編程需要考慮的也只是DSP與MAX3111之間的同步數據通信。這樣,用最簡單的硬件連接和軟件編程就能實現同步到異步的串行數據格式轉換。

2 SPI接口協議及DSP的多通道緩沖串行接口

2.1 SPI接口協議

  串行外圍設備接口(SPI)是MOTOROLA公司提出的一個同步串行外設接口,允許CPU與各種外圍接口器件以串行方式進行通信、交換信息。它使用4條線:串行時鐘線(SCK)、主機輸入/從機輸出線(MISO)、主機輸出/從機輸入線(MOSI)、低電平有效的使能信號線(CS)。這樣,僅需3~4根數據線和控制線即可擴展具有SPI接口的各種I/O器件。其典型的接口示意圖如圖1所示。

?

2.2? McBSP的功能與特點

  TMS320C54XX系列DSP芯片都具有2~3個高速、全雙工、多通道緩沖串行接口(McBSP),其方便的數據流控制可使其與大多數同步串行外圍設備接口。McBSP是在標準串行接口的基礎上對功能進行擴展的,除具有標準串口的功能特點外,其靈活性體現在如下幾個方面:

  (1)雙緩沖區發送,三緩沖區接收,允許連續數據流傳輸;

  (2)可與SPI、IOM-2、AC97等兼容設備直接接口;

  (3)可編程幀同步" title="幀同步">幀同步、數據時鐘極性,支持外部移位時鐘或內部頻率可編程移位時鐘;

  (4)擁有相互獨立的數據發送和接收幀同步脈沖和時鐘信號" title="時鐘信號">時鐘信號;

  (5)多通道發送和接收,最多可達128個通道,速度可為100Mbit/s。

2.3 McBSP的SPI方式

  TMS320C54XX系列DSP芯片的McBSP串口工作于時鐘停止模式時與SPI協議兼容。當將McBSP配置為時鐘停止模式時,發送器和接收器在內部得到同步,這時McBSP可作為SPI的主設備或從設備。發送時鐘信號(BCLKX)對應于SPI協議中的串行時鐘信號(SCK),發送幀同步信號對應于從設備使能信號(/CS)。在這種方式下對接收時鐘信號(BCLKR)和接收幀同步信號(BFSR)將不進行連接,因為它們在內部與BCLKX和BFSX相連接。McBSP工作于SPI模式的主機時,與其它SPI器件接口如圖2所示。

?

?

3 MAX3111通用異步收發器

3.1 MAX3111功能特點

  MAX3111通用異步收發器是MAXIM公司專門為小型微處理系統進行最優化設計的UART,它包括一個振蕩器和一個可編程波特率發生器;具有一個可屏蔽的中斷源;另具有一個8字節的接收FIFO(先入先出)緩沖器。它應用SPI/MICROWIRE接口技術直接與主控制器進行通信,線路簡單、體積小,通信速率可達230kbit/s。另外其內部除具有UART之外,還包括兩個RS-232電平轉換器,這樣無需再接入普通的MAX232進行電平轉換,即可應用一個芯片實現微控器(具有SPI/MICROWIRE接口)與PC機或其它設備之間的異步數據傳輸。

3.2 對MAX3111的操作

  MAX3111通過SPI接口與主設備進行16位數據的全雙工同步通信,即主設備傳送16位數據給MAX3111的同時,也可接收到MAX3111發送的16位數據。主設備在MOSI線上向MAX3111發送的16位串行數據序列中包括傳輸格式控制字,如波特率設置、中斷屏蔽、奇偶校驗位等,同時還有發送的數據字。MAX3111在MISO線上向主設備發送的16位數據序列中除了接收到的數據外,還包括中斷標志等狀態位。所以通過16位的實時數據傳輸,主設備可獲得MAX3111工作狀態信息,同時對其具有完全控制權利。這樣,兩個設備的控制、狀態、數據信息的實時通信就保證了數據傳輸的可靠性和穩定性。

4 DSP與MAX3111的接口設計

  DSP的McBSP串行接口工作于SPI模式時可直接與MAX3111進行連接,從而實現與RS-232設備進行異步數據傳輸。此時DSP作為SPI協議中的主設備,其接口電路如圖3所示。

?

?

  DSP的發送時鐘信號(BCLKX)作為MAX3111的串行時鐘輸入,發送幀同步脈沖信號(BFSX)作為MAX3111的片選信號(/CS)。BDX與DIN連接作為發送數據線,BDR與DOUT連接作為接收數據線。MAX3111的TX與T1IN連接,RX與R1OUT連接,以便利用其片內的轉換器實現UART到RS-232電平的轉換。MAX3111的中斷信號(IRQ)與DSP的外部中斷相連。

  在SPI串行協議中,主設備提供時鐘信號并控制數據傳輸過程。由MAX3111接口電路時序圖(圖4)可知,必須設置DSP的McBSP于適當的方式才能保證與MAX3111的時序相配合。

?

?

  MAX3111要求在數據傳輸過程中CS信號必須為低電平,在傳輸完畢后必須為高電平。此信號由McBSP的BFSX引腳提供,因此必須正確設置DSP的幀脈沖發生器,使之在每個數據包傳輸期間產生幀同步脈沖,即在數據包傳輸的第一位變為有效狀態,然后保持此狀態直到數據包傳輸結束。

  McBSP的采樣率發生器產生適當頻率的時鐘信號,由BCLKX引腳輸出,保證主從設備間的同步數據傳輸。因此必須正確設置DSP的采樣率發生器時鐘源(CLKSM)和時鐘降頻因子(CLKGDV)。根據SPI傳輸協議,必須正確設置數據發送延遲時間(XDATDLY)。由圖4可知MAX3111要求在SCLK變高之前的半個周期開始傳輸數據。

  所以必須為McBSP選擇合適的時鐘方案,即設置McBSP的時鐘停止模式。在本應用中采用McBSP的時鐘停止模式2(CLKSTP=11b,CLKXP=0),這樣即可保證與MAX3111的時序相配合。

5 DSP的異步通信軟件的設計

  考慮到應用系統軟件的可移植性和可讀性,數據傳輸軟件采用C語言進行編寫,這樣,可以利用DSP開發軟件CCS2.0所提供的DSP/BIOS中的芯片支持庫函數(CSL)。CSL提供C語言可調用的DSP外圍接口庫函數,其中包括DMA模塊、McBSP模塊、TIMER模塊等。應用這些庫函數可大大提高程序可讀性,縮短軟件開發周期。在本文所提到的應用中,主要調用MCBSP模塊。數據傳輸軟件主要包括以下幾部分。

  (1)McBSP串口初始化

  如上所述,在本應用中應將TMS320C54XX DSP的McBSP串行口配置為SPI模式,以DSP作為主設備。表1給出了應設置的寄存器或寄存器位的值,未涉及的寄存器保持其默認值即可。

?

?

  根據表1,調用CSL的McBSP配置庫函數即可完成McBSP的初始化:

  McBSP_Handle hport0;???????????? /*聲明指向McBSP的句柄*/

  McBSP_Config PortConfig={???????? /*定義寄存器設置結構*/

????????????? 0x1800,????????????????/*設置串口控制寄存器1的值*/

????????????? 0x0000,????????????????/*設置串口控制寄存器2的值*/

????????????? 0x0040,??????????????? /*設置接收控制寄存器的值*/

  ...

  };

  hport0 = MCBSP_open(0, MCBSP_OPEN_RESET);  /*打開第一個McBSP串口 */

  MCBSP_config (hport0, &PortConfig);     /*按結構設置McBSP的各寄存器*/

  (2) MAX3111工作模式及波特率設置

  在進行通信之前,DSP必須首先根據命令序列格式向MAX3111寫入配置命令字,之后才能進行正確的數據傳輸,如8位數據位、一位停止位、無奇偶校驗位、波特率為115200、使能接收和發送中斷的異步數據傳輸。DSP對MAX3111進行配置的簡要過程為:

  ...

  McBSP_start(hport0,???????????? /*McBSP開始數據傳輸*/

  ??? McBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC

? ??? ?|McBSP_RCV_START|MCBSP_XMIT_START, 0x200

????  );

  while(!McBSP_xrdy(hport0)); ?? ?/*等待發送寄存器為空*/

  McBSP_write16(hport0,0x6E0B);? /*向MA3111寫入配置命令字*/

  ...

  (3)中斷服務程序

  在進行中斷方式數據傳輸時,需要注意的是:雖然DSP的McBSP有自身的發送和接收中斷,但由于McBSP與MAX3111之間的同步串行數據傳輸速率高于MAX3111將數據以一定波特率(最高230kbps)異步發送的速率,因此如果應用McBSP的發送中斷,將造成發送數據的丟失。同時,在SPI協議中,數據的傳輸是由SPI主設備發起的,所以在SPI方式下的McBSP并不能產生接收中斷。因此,本方案應用的關鍵之一是將MAX3111的IRQ中斷信號連接至DSP的一外部中斷,以實現中斷方式下可靠、正確的數據傳輸。

  針對現有的多數數字信號處理器(DSP)芯片上不提供異步串行收發器(UART)接口,而只有同步串行接口的情況。本文通過簡單的硬件電路將同步接口轉換為異步串行接口,充分利用了DSP的在片硬件資源,很好地解決了DSP的異步串口擴展問題。此方法在工程實踐中已經得到應用。實踐證明,在各種波特率下(最高可為230.4kbps),其查詢和中斷方式數據傳輸正確、可靠,各元件工作正常,并且在此硬件連接的基礎上,利用DSP的DMA功能進行串行數據接收及發送收到了良好效果,進一步提升了應用系統的性能。

?

參考文獻

1 TMS320C54 DSP CPU And Peripherals Reference Set.Texas Instruments, Vol1, April,2001

2 TMS320C54 DSP Applications Guide Reference Ser.Texas?Instruments, Vol4, October,2001

3 TMS320C54X Chip Support Library API User’s Guide,October,2001

4 MAXIM 2001 New Releases Data Book Volume Ⅶ.MAXIM,2001

5 胡又農,趙錦紅.具有IrDA模式的UART芯片MAX3100及其應用. 國外電子元器件,1999;8(3)

6 王魯南.MAX3100在串行紅外數據與RS232轉換器中的應用.電子工程師,2000(2)

7 戴明禎,周建江.TMS320C54X DSP 結構、原理及應用.北京:北京航空航天大學出版社,2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产欧美亚洲人人爽| 欧美在线视频a| 国产精品系列在线播放| 欧美日韩成人在线播放| 欧美成人精品1314www| 久久久激情视频| 久久精品欧美日韩| 欧美伊久线香蕉线新在线| 亚洲欧美日韩国产中文在线| 亚洲天堂免费在线观看视频| 一区二区三区视频免费在线观看| 9久草视频在线视频精品| 亚洲乱码国产乱码精品精98午夜| 91久久黄色| 亚洲看片免费| 日韩一区二区福利| 一区二区三区免费网站| 一本大道av伊人久久综合| 一区二区三区不卡视频在线观看| aa成人免费视频| 一区二区三区色| 亚洲免费在线视频一区 二区| 亚洲尤物视频在线| 亚洲欧美激情一区| 小嫩嫩精品导航| 久久国产精品第一页| 久久精品综合网| 久久夜色精品| 欧美成人午夜激情| 欧美精品一区二区精品网| 欧美视频导航| 国产精品自拍一区| 国内精品福利| 亚洲国产精品视频| 99视频一区| 午夜日韩电影| 亚洲欧洲日产国产综合网| 99re热这里只有精品免费视频| 一本一本久久a久久精品牛牛影视| 一区二区三区久久久| 亚洲欧美日韩直播| 久久久亚洲午夜电影| 六十路精品视频| 欧美日韩情趣电影| 国产日韩成人精品| 伊人久久av导航| 亚洲日本久久| 亚洲免费一在线| 亚洲第一精品在线| 99精品免费| 香蕉av777xxx色综合一区| 老司机免费视频久久| 欧美日韩一区二区三区在线| 国产麻豆综合| 亚洲电影免费观看高清完整版在线 | 美玉足脚交一区二区三区图片| 欧美片在线观看| 国产精品一区二区三区乱码| 尤物精品在线| 一区二区三区**美女毛片| 欧美在线国产| aa级大片欧美| 久久九九免费| 欧美日韩精品免费观看视频完整| 国产麻豆精品theporn| 亚洲国产精品一区二区www| 亚洲男人天堂2024| 亚洲精品一区二区三区不| 香港久久久电影| 欧美美女bb生活片| 国产一区二区三区免费观看 | 久久精品人人做人人综合 | 国产精品呻吟| 亚洲精品美女| 久久成人精品无人区| 亚洲视频自拍偷拍| 久热综合在线亚洲精品| 国产精品视频午夜| 136国产福利精品导航网址| 亚洲欧美国产一区二区三区| 日韩午夜av| 久久综合伊人77777麻豆| 国产精品视频一| 一本大道久久a久久精品综合| 久久国产免费看| 性欧美办公室18xxxxhd| 欧美日韩亚洲天堂| 亚洲电影免费观看高清完整版在线观看 | 国产精品av久久久久久麻豆网| 亚洲国产日韩一区二区| 久久精品久久99精品久久| 亚洲欧美日韩另类| 欧美日韩高清免费| 亚洲福利在线看| 久久国产精品第一页| 欧美一级久久| 国产精品二区二区三区| 夜夜嗨av色一区二区不卡| 亚洲麻豆国产自偷在线| 久久亚洲视频| 国内自拍一区| 欧美一区二区三区四区在线 | 久久综合网hezyo| 国产无一区二区| 亚洲一区二区三区777| 在线亚洲免费视频| 欧美伦理一区二区| 亚洲人www| 99国产精品视频免费观看| 欧美1区2区3区| 有码中文亚洲精品| 亚洲国产第一| 美女国内精品自产拍在线播放| 国产专区一区| 欧美一区二区精品久久911| 欧美一区二区国产| 国产毛片一区| 欧美一区在线看| 久久久久成人网| 国产在线欧美| 欧美制服丝袜第一页| 久久午夜视频| 在线色欧美三级视频| 91久久精品美女高潮| 女人香蕉久久**毛片精品| 在线观看日韩精品| 亚洲欧洲在线免费| 欧美大片在线观看| 亚洲精品久久久久中文字幕欢迎你| 国产精品第13页| 亚洲欧美日本精品| 国产精品www网站| 亚洲一级一区| 欧美一区二区三区免费在线看| 国产欧美一区二区精品性| 午夜亚洲视频| 玖玖视频精品| 亚洲破处大片| 亚洲一品av免费观看| 国产女优一区| 久久精品国产免费看久久精品| 免费试看一区| 亚洲黄色av| 亚洲视频一区二区| 国产精品色午夜在线观看| 欧美自拍偷拍午夜视频| 免费美女久久99| 日韩午夜激情av| 午夜精彩国产免费不卡不顿大片| 国产视频一区免费看| 久久精品夜色噜噜亚洲aⅴ| 欧美激情一区二区三级高清视频| 日韩一级在线| 久久激情视频| 亚洲激情校园春色| 亚洲伊人网站| 狠狠色狠狠色综合日日小说| 亚洲免费高清视频| 国产精品亚洲综合天堂夜夜| 久久成人免费网| 欧美伦理91| 午夜精品一区二区三区在线播放| 久久综合一区二区| 在线视频欧美日韩| 久久这里有精品视频| 亚洲三级国产| 欧美伊人久久大香线蕉综合69| 一区二区三区在线视频播放| 国产精品99久久不卡二区| 国产一区999| 这里只有精品丝袜| 国产一区二区| 欧美喷潮久久久xxxxx| 久久久久一区二区三区| 亚洲高清久久网| 午夜久久美女| 亚洲二区在线观看| 午夜欧美理论片| 亚洲国产三级网| 久久国产精品毛片| 亚洲精品日韩久久| 久久精品国产一区二区三区免费看 | 亚洲日本va午夜在线影院| 国产精品日韩欧美一区二区| 亚洲人妖在线| 国产视频在线观看一区二区三区| 亚洲六月丁香色婷婷综合久久| 国产欧美一二三区| 一区二区三区日韩欧美精品| 极品尤物一区二区三区| 亚洲免费在线观看视频| 亚洲国内欧美| 久久久久国产一区二区三区| 一区二区三区三区在线| 欧美大片在线影院| 欧美在线看片| 国产精品天天看| 一区二区精品| 亚洲国产另类精品专区| 久久久久久9|