新聞中心

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

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

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


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

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

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

        RS-232和TMS320VC33串行通信格式

          在微機的RS-232接口中,由于沒有時鐘信號,所以數(shù)據(jù)按照設定的固定波特率傳送。通過微機的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標準通信,通信雙方的波特率設置和幀格式的設置應該一致,才能保證數(shù)據(jù)正確的傳送。

          TMS320VC33是TI公司的高性能浮點DSP器件,它有1個雙向雙緩沖的同步串口,與串行通信直接有關的外部引腳有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ù)方式。和標準的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與標準串口間的通信。

          采用三線連接的硬件電路

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

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

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

          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ù)以上軟、硬件設計要求,實現(xiàn)串行通信數(shù)據(jù)處理的流程圖如圖3所示。該圖是在通信雙方按以上設計并對串行口初始化后,進行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標準幀格式和“三線連接”通信方法的限制 。

         
        結(jié)語

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

        參考文獻:

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



        關鍵詞: TMS320VC33 無線 通信

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 息烽县| 永宁县| 星座| 红安县| 枝江市| 常山县| 札达县| 花垣县| 南投县| 玉山县| 富平县| 应用必备| 谷城县| 西贡区| 郎溪县| 都江堰市| 甘德县| 屏边| 太原市| 娱乐| 繁峙县| 通州区| 英吉沙县| 凯里市| 济南市| 榆社县| 隆化县| 民乐县| 巨野县| 吕梁市| 砚山县| 乌拉特后旗| 响水县| 苏尼特右旗| 西盟| 金湖县| 宁明县| 时尚| 朔州市| 都匀市| 酒泉市|