新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > TMS320VC33同步串行口和PC實現(xiàn)異步串行通信

TMS320VC33同步串行口和PC實現(xiàn)異步串行通信

作者:南京航空航天大學(xué)機電學(xué)院 胡景春 莊海軍 時間:2005-03-14 來源:電子產(chǎn)品世界 收藏


摘 要:本文采用最簡單的連接電路,進行軟件模擬通用異步發(fā)送/接收器UART,實現(xiàn)同步串行口和PC機RS-232C接口異步串行。

關(guān)鍵詞:串行;數(shù)據(jù)格式;PC;

  數(shù)字信號處理器DSP,由于其具有高速數(shù)字信號處理等特點,在圖形圖像處理、高精度測量控制、高性能儀器儀表等眾多領(lǐng)域得到越來越廣泛的應(yīng)用。實際應(yīng)用中,往往把經(jīng)過DSP采集處理的信號或數(shù)據(jù)傳送給微機進行存儲和進一步處理,而外部設(shè)備和微機之間進行數(shù)據(jù)傳送,常常通過微機的RS-232異步串行口進行,實現(xiàn)起來接口設(shè)計容易,程序設(shè)計簡單。目前,通過微機的RS-232串行口進行通信最為簡單且常用的是采用三線式接法,便可實現(xiàn)全雙工異步串行通信。但是,在一些常用的DSP芯片中,采用的通信是同步串行方式,其數(shù)據(jù)傳送格式和微機標(biāo)準(zhǔn)的RS-232數(shù)據(jù)幀格式不同,能否采用簡便的方法,實現(xiàn)DSP的同步串行口和微機的異步串行通信。本文介紹了一種用軟件模擬通用異步發(fā)送/接收器UART,實現(xiàn)通過RS-232串行口和微機通信的方法。

RS-232和TMS320VC33串行通信格式

  在微機的RS-232接口中,由于沒有時鐘信號,所以數(shù)據(jù)按照設(shè)定的固定波特率傳送。通過微機的RS-232串行口進行通信最為簡單且常用的是采用三線式接法,即只需連接RX(數(shù)據(jù)接收)、TX(數(shù)據(jù)發(fā)送)、GND(地)三個引腳,便可實現(xiàn)全雙工異步串行通信。PC機按照幀格式發(fā)送/接收信號,一幀通常包括1位起始位(“0”電平)、5~8bits數(shù)據(jù)位、1位(或無)校驗位和1位/1位半/2位停止位(“1”電平)。起始位表示數(shù)據(jù)傳送開始,數(shù)據(jù)位是低位在先,停止位表示一幀結(jié)束。

  按照RS-232標(biāo)準(zhǔn)通信,通信雙方的波特率設(shè)置和幀格式的設(shè)置應(yīng)該一致,才能保證數(shù)據(jù)正確的傳送。

  TMS320VC33是TI公司的高性能浮點DSP器件,它有1個雙向雙緩沖的同步串口,與串行通信直接有關(guān)的外部引腳有6個信號:串行接收時鐘(CLKR)、串行發(fā)送時鐘(CLKX)、接收幀同步(FSR)、發(fā)送幀同步(FSX)、串行數(shù)據(jù)接收(DR0)和串行數(shù)據(jù)發(fā)送(DT0)。串行口有8個內(nèi)部存儲器映射的控制寄存器,每個寄存器都是32位。

  TMS320VC33的串行通信的發(fā)送與接收方式有連續(xù)方式和暴發(fā)方式,連續(xù)方式是指在同步信號后,數(shù)據(jù)連續(xù)傳送,相鄰字之間無間隔,暴發(fā)方式是指每個字的傳輸由串行口無效周期隔開,每個字的傳送都由幀同步(FSX/FSR)信號開始,后面是數(shù)據(jù)位。其固定傳輸率暴發(fā)方式的時序如圖1所示。

  需要注意,TMS320VC33在暴發(fā)方式接收數(shù)據(jù)時,從幀同步信號后開始接收就不再考慮FSR信號,但在一幀信號的最后一位時,F(xiàn)SR必須為低電平,否則就將會被作為下一幀的幀同步信號位,傳輸方式就變成了連續(xù)方式。和標(biāo)準(zhǔn)的RS-232串行通信格式不同的是,TMS320VC33的發(fā)送與接收,數(shù)據(jù)位可以選擇8、16、24和32位,一幀格式?jīng)]有起始位、校驗位和停止位,且數(shù)據(jù)位是高位在先。

  TMS320VC33串口可以選擇內(nèi)/外部時鐘,幀同步(FSX/FSR)信號也可以可以選擇內(nèi)/外部信號實現(xiàn),但是,接收幀同步(FSR)信號一般采用外同步。

實現(xiàn)TMS320VC33和PC串行通信的簡易方法

  由以上分析看出,TMS320VC33的串口和PC機的串口在數(shù)據(jù)格式以及傳送控制上有區(qū)別,但是通過軟件模擬以及簡單的硬件控制,就可實現(xiàn)TMS320VC33與標(biāo)準(zhǔn)串口間的通信。

  采用三線連接的硬件電路

  實現(xiàn)PC和TMS320VC33串行通信的硬件電路如圖2所示。由于PC起始位為低電平,TMS320VC33幀同步位為高電平,為了使它們統(tǒng)一起來,在DSP的發(fā)送/接收引腳都外接一個反相器的輸入/輸出端,當(dāng)然,加了反相也會使數(shù)據(jù)相位和停止位都變反,但數(shù)據(jù)信號很容易用軟件方法使它還原。圖中的MAX232實現(xiàn)TTL邏輯電平和RS-232邏輯電平的轉(zhuǎn)換。

  采用固定暴發(fā)方式通信及其軟件實現(xiàn)

  在這種方式下,TMS320VC33的串行數(shù)據(jù)傳輸率不變,且等于PC機的波特率。根據(jù)雙方幀格式的特點以及軟件對數(shù)據(jù)位處理的方便,對PC和TMS320VC33串行通信的幀格式設(shè)計如下:

  DSP接收PC發(fā)送時,PC機:1位起始位、7位數(shù)據(jù)位、1位停止位;VC33:1位幀同步,8數(shù)據(jù)位(其中1位是PC的停止位)。

  DSP發(fā)送PC接收時,PC機:1位起始位、7位數(shù)據(jù)位、1位停止位;VC33:16位數(shù)據(jù)位(其中第1位作為起始位,第2-8位作為數(shù)據(jù)位,第9位作為停止位,第10-16位作為空閑位)。

  以上幀格式傳送數(shù)據(jù),有以下問題需要處理。

  �郵輾蕉越郵盞氖©據(jù)組裝變換。
  
  環(huán)聰嗪螅�©好滿足對FSR的要求。

  TMS320VC33和PC根據(jù)以上軟、硬件設(shè)計要求,實現(xiàn)串行通信數(shù)據(jù)處理的流程圖如圖3所示。該圖是在通信雙方按以上設(shè)計并對串行口初始化后,進行TMS320VC33發(fā)送和PC機接收的數(shù)據(jù)處理過程,而PC發(fā)送和TMS320VC33接收也有幾乎類似的處理。以TMS320VC33發(fā)送數(shù)據(jù)6EH為例,說明處理流程。

  TMS320VC33發(fā)送方:TMS320VC33要把6EH變成1011000000000000和1111000000000000兩個16位數(shù)據(jù)分2次發(fā)送,前一個數(shù)據(jù)是發(fā)送6H,后一個數(shù)據(jù)發(fā)送EH。在發(fā)送的數(shù)據(jù)前面加了1位“1”,作為PC的起始位,后面7位為數(shù)據(jù)位,再后面加8位“0”,作為PC的停止位和空閑位。

  PC接收方:以中斷方式讀取數(shù)據(jù)。硬件對數(shù)據(jù)反相后傳過來的2幀數(shù)據(jù)是010011111111111和0000111111111111。PC串行口自動去掉起始位、停止位和空閑位,并把數(shù)據(jù)位的高低位互換得到2個7位數(shù)據(jù)1111001和1111000。低4位是數(shù)據(jù)的有效位,把它們?nèi)〕鰜斫M裝成10001001,取反后得到01110110,再對數(shù)據(jù)的高低位互換得到01101110,即6EH。

  以上對發(fā)送/接收的數(shù)據(jù)進行變換,用軟件實現(xiàn)是很容易的。之所以要把一個字節(jié)數(shù)據(jù)分成2個16位數(shù)據(jù),主要是受到RS-232標(biāo)準(zhǔn)幀格式和“三線連接”通信方法的限制 。

 
結(jié)語

在工程設(shè)計中,采用上述方法實現(xiàn)PC和TMS320VC33串行通信,解決了相互之間通信格式不同的問題,簡單方便,切實可行,其基本思想也可供其它數(shù)據(jù)格式不同的串行通信參考。

參考文獻:

1.  Texas Instruments Incorporated.TMS320C3X User's Guide. 2001.



關(guān)鍵詞: TMS320VC33 無線 通信

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉