<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > TMS320VC5402和PC機的UART研究與設(shè)計

          TMS320VC5402和PC機的UART研究與設(shè)計

          ——
          作者:電子產(chǎn)品世界 時間:2006-07-22 來源:電子產(chǎn)品世界 收藏

          1  引言

              TMS320VC5402以其低成本、低功耗、資源多的特點在通信、控制領(lǐng)域得到了廣泛的應(yīng)用。片上集成了最大192kB存儲空間(64kB RAM、64kB ROM、64kB I/O),具有時分多路串口TMD,2個緩沖串口BSP、8位并行主機接口HPI、可編程等待狀態(tài)發(fā)生器等,完全可以滿足數(shù)據(jù)處理及控制要求。基于 5402構(gòu)建的應(yīng)用系統(tǒng)中必不可少的是各種數(shù)據(jù)通信接口的設(shè)計。與并口相比,串行接口的特點是減少器件引腳數(shù)目,節(jié)省了硬件系統(tǒng)的體積,降低了接口設(shè)計的復(fù)雜性。實際應(yīng)用中,各系統(tǒng)之間需要實現(xiàn)異步串行數(shù)據(jù)傳輸和通信,而DSP5402具有同步串口,與標準的異步串行接口不同,本文針對這種應(yīng)用,設(shè)計實現(xiàn)了DSP5402和PC機的異步串行通信。

          2  串行通信和DSP5402串口

              在工業(yè)控制和實際應(yīng)用中,串行通信的應(yīng)用已非常普遍,圖1示出常見的三種232通信方式,在此筆者選用短距離有線傳輸方式。目前,大多數(shù)PC機的串口采用 RS-232標準,該標準規(guī)定采用一個25腳的DB25連接器,實際上RS-232的25條引線有許多是很少用的,所以目前較為常用的串口有9針和25 針,在普通電路設(shè)計中最為簡單且常用的是三線制接法,即在通信中不需要RS-232的控制聯(lián)絡(luò)信號,采用發(fā)送數(shù)據(jù)(TXD)、接收數(shù)據(jù)(RXD)、地 (GND)三腳相連,便可實現(xiàn)全雙工異步串行通信,本文即采用此法實現(xiàn)PC與DSP的串行通信。

                         三種rs-232通信方式

                                  圖1     三種RS-232通信方式

              由于RS-232中沒有時鐘信號,所以按照設(shè)定的固定波特率傳送。在一信號中包括開始位、停止位和數(shù)據(jù)位,校驗位可以選擇。其中數(shù)據(jù)位為5-8bits,奇偶校驗位共有5種方式可選:奇校驗、偶校驗、始終為1、始終為0以及空;停止位也有三種選擇:1位、11/2位以及2位。串口傳數(shù)時低位優(yōu)先,由開始位表示數(shù)據(jù)傳輸。

              DSP5402有2個多緩沖的同步串口,通過幀信號來控制數(shù)據(jù)流。每一個串口有6個信號:CLKR/X:接收、發(fā)送時鐘信號,DR/DX:接收、發(fā)送串行數(shù)據(jù)信號,F(xiàn)SR/FSX:接收、發(fā)送幀同步信號;串行接口有5個寄存器:數(shù)據(jù)接收寄存器(DRR)、數(shù)據(jù)發(fā)送寄存器(DXR)、串行接口控制寄存器 (SPC)、數(shù)據(jù)接收移位寄存器(RSR)、數(shù)據(jù)發(fā)送移位寄存器(XSR),其中3個存儲器映射寄存器(SPC、DXR和DRR)和2個程序不能直接訪問的寄存器(RSR和XSR)來操作,RSR和XSR在執(zhí)行雙緩沖功能時很有用。發(fā)送數(shù)據(jù)寫到DXR中,而接收數(shù)據(jù)從DRR中讀取。其各寄存器配置及控制請參考文獻[2]。

          3  DSP和PC機串口通信的軟硬件實現(xiàn)

          3.1  DSP和PC機UART硬件連接


              由上所述,PC機的異步串口和DSP5402的同步串口在數(shù)據(jù)格式以及傳送控制上有區(qū)別,但是通過必要的硬件控制和軟件模擬就可實現(xiàn)DSP5402與標準串口間的通信。DSP5402和PC機的UART實現(xiàn)主要有二種硬件方法和二種軟件模擬方法。硬件方法如下:基于MAX3100的同步轉(zhuǎn)異步實現(xiàn)和利用 DSP5402 I/O模擬時序法。

               MAX3110E內(nèi)部集成了全功能UART和內(nèi)置電泵電容以及土15kV ESD保護的RS-232收發(fā)器。其中,UART部分采用兼容SPITM/QSPITM/MICROWIRETM的串行接口,因而可節(jié)省線路板空間和微控制器的I/0引腳。由于RS-232部分使用了特有的低壓差輸出級,從而使雙接收/發(fā)送接口能夠在高速通信、正常電源下提供真正的RS-232特性,而功耗僅600μA。通過MAX3110E可實現(xiàn)同步串行數(shù)據(jù)接口到異步串行通信口(RS-232)的轉(zhuǎn)換,它可直接與PC機的串行口(COM)相連。 MAX3110E具有尺寸小,價格低,功耗少,通信速率高等特點,因此有著較好的應(yīng)用前景。MAX3110E包括UART與RS-232兩個獨立的部分。其中,UART部分包括兼容于SPI的串行接口、可編程波特率發(fā)生器、發(fā)送緩沖器及發(fā)送移位寄存器、接收緩沖器及接收移位寄存器、8字節(jié)接收FIFO以及有四種可屏蔽中斷源的中斷產(chǎn)生器。而RS-232部分包括自帶電容的電泵,以及可由SHDN對其進行硬件關(guān)斷的。

              MAX3110E通過SPI接口與DSP5402進行16位數(shù)據(jù)的全雙工通信。DSP5402通過BDX線向MAX3110發(fā)送的16位串行數(shù)據(jù)序列中包括傳輸格式控制字,如波特率設(shè)置、中斷屏蔽、奇偶校驗位等。DSP5402的McBSP串行接口工作于SPI模式時可直接與MAX3110進行連接。 DSP5402的BDX1與MAX3110的DIN連接作為發(fā)送數(shù)據(jù)線,BDR1與DOUT連接作為接收數(shù)據(jù)線,發(fā)送同步脈沖信號BFSX1作為片選信號,發(fā)送時鐘信號BCLKX1作為MAX3110的串行時鐘輸入,硬件接口圖如圖2所示:
           dsp5402和max3110硬件接口圖
                     圖2     DSP5402和MAX3110硬件接口圖

              同時必須根據(jù)時序設(shè)置DSP5402的McBSP寄存器,此種UART方式才得以實現(xiàn),時序圖如圖3所示:

                              max3110和dsp5402配合時序

                               圖3     MAX3110和DSP5402配合時序

               利用DSP5402 I/O模擬時序法分析如下:用定時器中斷來處理數(shù)據(jù),用I/O口來配置作為輸入輸出,由于DSP5402單獨I/O引腳較少,節(jié)省資源,這里使用DSP5402的標志位引腳XF和配合軟件得到實現(xiàn),硬件原理圖如圖4所示:

                            硬件原理圖

                                   圖4     硬件原理圖


          3.2  DSP和PC機UART軟件實現(xiàn)

              對于基于MAX3100的同步轉(zhuǎn)異步實現(xiàn)DSP5402編程如下:

          stm SPCR11,SPSA1   ; 配置SPCR11
          stm #1800h,MCBSP1 
          stm SPCR21,SPSA1 ; 配置SPCR21
          stm #0000h,MCBSP1
          stm PCR1, SPSA1  ; 配置PCR1
          stm #0a0ch,MCBSP1
          stm RCR11,SPSA1 ; 配置RCR11
          stm #0040h,MCBSP1
          … …       ; 配置RCR21
          stm XCR11,SPSA1 ; 配置XCR11
          stm #0040h,MCBSP1
          … …    ; 配置XCR21
          stm SRGR11,SPSA1   ; 配置SRGR11
          stm #0027h,MCBSP1 
          … …    ; 配置SRGR21
          rpt #20 ; 等待2個CLKSRG時鐘周期
          nop
          stm SPCR21,SPSA1 ; 配置SPCR21
          stm #0040h,MCBSP1
          ; 啟動MCBSP1采樣率發(fā)生器
          rpt #20 ; 等待2個CLKG時鐘周期
          nop  
          stm SPCR11,SPSA1
          stm #1801h,MCBSP1 ; 啟動接收
          stm SPCR21,SPSA1 ; 配置SPCR21
          stm #0041h,MCBSP1 ; 啟動MCBSP1發(fā)送端
          stm SPCR21,SPSA1 ; 配置SPCR21
          stm #00c1h,MCBSP1 ; 啟動幀同步脈沖
          rpt #80 ; 等待8個CLKG時鐘周期
          nop
          ld  #0h,A
          stm #0c042h,DXR11   
          ; 配置MAX3110,2個停止位
           
              配置完成即可發(fā)送數(shù)據(jù),接收程序只需依據(jù)模式配置相應(yīng)的接收寄存器。圖5示出測試界面。

                            串口調(diào)試助手測試界面

                            圖5     串口調(diào)試助手測試界面

              對于I/O模擬方式軟件編程可以通過定時器中斷來設(shè)置通信波特率,對于DSP5402定時需設(shè)置TIM0、PRD0、TCR0三個寄存器,

              定時時間=TX(1+TDDR)X(1+PRD)。

              同時還可以通過軟件延時來設(shè)置通信波特率,方法如下:

          DELAY: stm #1004h,AR6    ;通信速率:1200bps
            banz $,*AR6-
            nop
            ret 

              其軟件模擬程序如圖6所示。

              二種軟件模擬在PC機上均需運用串口調(diào)試助手測試,作者實現(xiàn)測試界面如圖6,為了滿足實際應(yīng)用需要,可以運用VC編寫自己的軟件。

                         軟件模擬程序

                             圖6     軟件模擬程序
           
          4 結(jié)束語

              主要討論了TMS320VC5402和PC之間實現(xiàn)UART的方法,利用同步串口實現(xiàn)簡單、易行、穩(wěn)定; 利用軟件模擬不需專用硬件,靈活、方便、成本低,各自滿足自己的需求,二種方法均已測試通過,此思想對研究DSP5402和串口有一定的參考價值。



          關(guān)鍵詞: 單片機 嵌入式系統(tǒng)

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();