• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    McBSP 與SPI通信的時序與波特率配置分析

    2016-03-22 02:35:40陶建中陳振嬌
    電子與封裝 2016年1期
    關(guān)鍵詞:波特率

    孫 敬,陶建中,陳振嬌

    (1. 江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214062;2. 中國電子科技集團公司第58研究所,江蘇 無錫 214035)

    ?

    McBSP 與SPI通信的時序與波特率配置分析

    孫 敬1,2,陶建中1,2,陳振嬌2

    (1. 江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214062;2. 中國電子科技集團公司第58研究所,江蘇 無錫 214035)

    摘 要:為了解決多通道緩沖串行口McBSP與外圍設(shè)備串行通信過程中出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)串?dāng)_等問題,提高串行通信的穩(wěn)定性,對數(shù)據(jù)收發(fā)雙方的時序及其傳輸速率進行分析與改進?;赟PI協(xié)議設(shè)計McBSP與SPI通信的接口,分析了McBSP與SPI的串行通信問題,著重分析了仿真中的時序問題,并給出了波特率的正確配置方法。仿真結(jié)果表明,適當(dāng)?shù)牟ㄌ芈逝渲每商岣叽型ㄐ诺姆€(wěn)定性與準(zhǔn)確性,同時能夠滿足實際應(yīng)用需求。

    關(guān)鍵詞:串行通信;McBSP;SPI協(xié)議;波特率

    1 引言

    近年來,對于McBSP串行通信功能的驗證是通信界研究的一個重要課題。為了提高串行通信的穩(wěn)定性,已經(jīng)提出了很多改進方法,如使用過采樣的方法將同步串口模擬成異步串口進行通信[1~2];或者針對各領(lǐng)域不同的應(yīng)用需求,選擇不同的串行協(xié)議等[3~5]。由此可知,已提出的現(xiàn)有改進方法中,既有對傳輸所用接口的改進,也有對串行協(xié)議的選擇處理,兩種不同的改進思路對提高串行通信的穩(wěn)定性有很明顯的效果[5~7]。McBSP是在標(biāo)準(zhǔn)串行接口的基礎(chǔ)之上對功能進行擴展,因此具有與標(biāo)準(zhǔn)串行接口相同的基本功能,但是McBSP串口不支持通用異步收發(fā)適配器UART(Universal Asynchronous Receiver/ Transmitter)。為此,本文基于SPI協(xié)議以McBSP與SPI串行通信為例,對McBSP串行通信功能進行仿真與驗證。

    2 串行通信波特率的分析

    同型設(shè)備之間進行串行通信,所有可用的波特率值都能進行通信,但異型設(shè)備僅在某些波特率值能通信?;赟PI協(xié)議實現(xiàn)McBSP與外圍設(shè)備的串行通信,關(guān)鍵在于兩設(shè)備波特率的設(shè)置問題。

    理想狀況下,發(fā)送端波特率fa和接收端的波特率fb保持一致時,接收端的采樣點正好對應(yīng)于每個接收位的中間段,如圖1所示。當(dāng)接收端的波特率與發(fā)送端不一致時,接收端的采樣點就會相對接收位的中間段有一偏移量,這個偏移量與收發(fā)雙方波特率的差值有關(guān)。當(dāng)收發(fā)雙方的波特率差值過大時,使接收位上的偏移量足夠大,使得數(shù)據(jù)接收端出現(xiàn)多收、漏收錯誤[8]。

    當(dāng)接收端的比特率大于發(fā)送端的波特率(即fb>fa)時,接收端的采樣相對接收位的中間段有向左的偏移量,隨著接收位數(shù)的增多,會在某個接收位上被連續(xù)采樣兩次,從而產(chǎn)生重碼錯誤,如圖2所示。當(dāng)接收端的比特率小于發(fā)送端的波特率(即fb

    圖3 fa> fb(虛線為fa=fb的采樣點)

    通過分析,要使一串行幀被正確接收,該接收位上的采樣點相對于中間段的偏移量最大不超過接收位的半個數(shù)據(jù)位。實現(xiàn)McBSP與外圍設(shè)備正常的串行通信,對收發(fā)雙方的波特率設(shè)置有嚴格要求。

    3 McBSP與SPI接口的設(shè)計

    圖4 McBSP作SPI從設(shè)備的連接圖

    3.1硬件接口設(shè)計

    本文選擇SPI作主設(shè)備,提供時鐘和設(shè)備使能[9];McBSP作從設(shè)備,接收時鐘和設(shè)備使能[10~11]。McBSP的外部引腳包括串行數(shù)據(jù)發(fā)送引腳DX、串行數(shù)據(jù)接收引腳DR、發(fā)送時鐘引腳CLKX、接收時鐘引腳CLKR、發(fā)送幀同步引腳FSX、接收幀同步引腳FSR及外部提供的采樣時鐘引腳CLKG[12]。SPI模塊有4個外部引腳:SPI從輸出/主輸入引腳(SOMl)、SPI從輸入/主輸出(SIMO)、SPI 串行時鐘引腳(SPICLK)以及SPI從發(fā)送使能引腳(SPISTE)。

    當(dāng)McBSP配置為從設(shè)備時,必須由主設(shè)備從外部產(chǎn)生時鐘和從使能信號。因此,必須將FSX和CLKX設(shè)置為輸入引腳,DX作為MOSI信號,而MISO作為DR信號。McBSP配置為SPI從設(shè)備時的接口圖如圖4所示。

    SPI模塊有主模式和從模式2種工作方式,125種可編程波特率和1~16個可編程數(shù)據(jù)長度[12~14]。根據(jù)MOSI及SOMI上的數(shù)據(jù)在SCK的極性和相位,SPI可分為4種時鐘模式[15]:無相位延遲的下降沿、有相位延遲的下降沿、無相位延遲的上升沿以及有相位延遲的上升沿。

    3.2McBSP與SPI模塊配置

    在McBSP與SPI的通信過程中,CLKX信號由主設(shè)備SPI產(chǎn)生,使能McBSP內(nèi)部的采樣率發(fā)生器,利用其內(nèi)部時鐘對輸入的CLKX和FSX信號進行同步處理,CPU時鐘作為采樣率發(fā)生器的時鐘源[12]。McBSP模塊參數(shù)配置可分為如下3個步驟:

    (1)設(shè)置McBSP處于復(fù)位狀態(tài);

    (2)配置McBSP各控制寄存器參數(shù);

    (3)待McBSP復(fù)位狀態(tài)結(jié)束, 使能McBSP的采樣率生成器和接收寄存器。

    詳細的McBSP相關(guān)寄存器配置如表1所示。

    表1 McBSP相關(guān)字段的設(shè)置

    對于所有SPI 受控模式,CLKX必須至少為8個CLKG周期,即McBSP的接收速率至少是SPI發(fā)送速率的8倍,才能滿足McBSP與SPI串行通信的正確性。通過設(shè)置CLKSM=1,CLKGDV=1(CLKG為LSPCLK/2),借助于最大LSPCLK速度, CLKX可獲得最大的傳輸速率,即LSPCLK/16,從而使SPI的波特率也盡可能大,所以SPI波特率寄存器的值必須不小于0F[15]。

    SPI有125 種可編程波特率,SPI波特率的計算公式如下:

    當(dāng)SPIBRR為 0、1或2時,SPI波特率= LSPCLK/4;

    當(dāng)SPIBRR=3~127時,SPI波特率=LSPCLK/ (SPIBRR+1)。

    式中,LSPCLK是設(shè)備的低速外圍時鐘頻率,SPIBRR是主SPI設(shè)備中的SPIBRR的值。SPI配置的部分匯編代碼如下:

    ……

    MOVLXARO, #7840; SPICCR(設(shè)置SPI的時鐘極性,使能SPI發(fā)送和回送模式,字長16位)

    MOV*, #0X9F

    MOVLXARO,#7841; SPICTL(設(shè)置SPI作主設(shè)備及SPI的相位極性,使能中斷模式)

    MOV*, #0X17

    ……

    4 仿真與分析

    在McBSP與SPI通信的仿真過程中,參照上節(jié)的參數(shù)配置,設(shè)置McBSP的最大分頻速率,并分別配置SPI波特率寄存器SPIBRR=10和SPIBRR=0F,仿真的結(jié)果波形如圖5、圖6所示。

    圖5 McBSP_CLKGDV=1,SPI_SPIBRR=10

    由圖5所示,McBSP數(shù)據(jù)接收端出現(xiàn)數(shù)據(jù)丟失的情況,而SPI數(shù)據(jù)接收端正確接收數(shù)據(jù),說明SPI數(shù)據(jù)發(fā)送端正確。經(jīng)過進一步分析得出,McBSP作為SPI的從設(shè)備,時鐘由SPI提供,在發(fā)送時鐘經(jīng)過GPIO口有同步設(shè)置,導(dǎo)致McBSP的系統(tǒng)建立時間不夠。因此,數(shù)據(jù)接收端會出現(xiàn)數(shù)據(jù)丟失的情況。

    由圖5、圖6對比可得,當(dāng)配置SPIBRR=0F時,McBSP正確接收數(shù)據(jù);當(dāng)配置SPIBRR=10時,McBSP接收數(shù)據(jù)丟失。數(shù)據(jù)丟失是因為McBSP的時序有錯誤,McBSP時鐘由SPI提供,SPI的時鐘取決于其波特率的設(shè)置,即SPI的波特率的奇偶配置對接收時序有影響。

    當(dāng)(SPIBRR+1)的值為偶數(shù)時,SPICLK的輸出波形是占空比為50%的方波。當(dāng)(SPIBRR+1)的值為奇數(shù)且SPIBRR大于3時,SPI就變?yōu)椴粚ΨQ。當(dāng)時鐘極性為0時,SPICLK高電平時間比低電平時間多了一個CLKOUT,導(dǎo)致時序出現(xiàn)錯誤,如圖7所示。

    圖7 (SPIBRR+1)的值為奇數(shù)且SPIBRR>3,CLOCK POLARITY=0

    針對McBSP數(shù)據(jù)接收端出現(xiàn)數(shù)據(jù)丟失的情況,將GPIO口時鐘信號出錯的地方延遲1個周期,或者將McBSP的時鐘信號延遲1個周期,輸出結(jié)果正確。

    根據(jù)上述分析,配置不同的McBSP與SPI的通信波特率,相應(yīng)的仿真結(jié)果如圖8、圖9、圖10所示。

    由圖9可以看出,在McBSP_CLKGDV=1、SPI_SPIBRR=0E的配置下,McBSP最后一個接收位被采樣多次,多接收了數(shù)據(jù)0000。在該配置下,McBSP接收端的波特率大于發(fā)送端SPI波特率的8倍,采樣點就會相對于每一接收位的中間有一個向左的偏移量,若在某個接收位上,偏移量恰好等于或大于接收位的半位,該接收位就會被采樣多次。

    由圖10可以看出,在McBSP_CLKGDV=1、SPI_SPIBRR=15的配置下,McBSP接收位上采樣次數(shù)減少,數(shù)據(jù)接收漏掉了0055。在該配置下,McBSP接收端的波特率小于發(fā)送端SPI波特率的8倍,采樣點就會相對于每一接收位的中間有一向右的偏移量,若在某一接收位上,偏移量正好大于或等于一接收位的半位,該接收位就不會被采樣,從而產(chǎn)生漏碼錯誤。

    圖8 McBSP_CLKGDV=1,SPI_SPIBRR=0F

    圖9 McBSP_CLKGDV=1,SPI_SPIBRR=0E

    圖10 McBSP_CLKGDV=1,SPI_SPIBRR=15

    表2 數(shù)據(jù)發(fā)送端SPI與接收端McBSP的波特率配置

    由表2可知,配置McBSP的接受速率CLKGDV,借助于最大LSPCLK速度,CLKX可獲得最大的傳輸速率,從而使SPI的波特率也盡可能大,在McBSP_CLKGDV=1、SPI_SPIBRR=0E的配置下,McBSP能夠正確接受SPI發(fā)送的所有數(shù)據(jù)。在基于SPI協(xié)議McBSP的通信應(yīng)用的系統(tǒng)中,波特率起著至關(guān)重要的作用。當(dāng)McBSP串行通信出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)串?dāng)_等情況時,優(yōu)先考慮波特率對其的影響。

    5 結(jié)論

    綜上所述,在基于SPI協(xié)議的McBSP串行通信中,適當(dāng)?shù)卣{(diào)整波特率可提高該通信的正確性與穩(wěn)定性。本文針對數(shù)據(jù)接收端出現(xiàn)數(shù)據(jù)丟失、數(shù)據(jù)串?dāng)_等情況時,在滿足收發(fā)雙方的時序要求下,主設(shè)備波特率的值優(yōu)先考慮偶數(shù)配置。由于本實驗的數(shù)據(jù)有限,在其他串行通信協(xié)議的應(yīng)用下該結(jié)論是否適用,還需進一步探討與實驗驗證。

    參考文獻:

    [1] 陳伊卿. 基于TMS320C6455McBSP串口的數(shù)據(jù)傳輸?shù)脑O(shè)計與實現(xiàn)[J]. 計算機光盤軟件與應(yīng)用,2013,03: 51-53.

    [2] 楊劍,賈沖,楊吉斌. 基于DSP同步串口的異步串行通信接口的設(shè)計與實現(xiàn)[J]. 電子技術(shù)應(yīng)用,2006,01: 112-114,117.

    [3] 宋兵躍,吳軍輝,黃斌. 單片機的高效串行通信研究[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010,01: 27-29.

    [4] 毛建權(quán),季曉勇. 基于SPI的DSP與MCU雙向通信的設(shè)計與實現(xiàn)[J]. 科學(xué)技術(shù)與工程,2007,15: 3911-3913,3918.

    [5] 江賢志,劉華章,張教育,饒伎云,孫磊. 基于C8051F020單片機的RS485串行通信設(shè)計[J]. 電子測量技術(shù),2014,03: 121-124.

    [6] 朱磊,紀(jì)愛燕,章為川. McBSP與常用串行接口通信兼容方案設(shè)計[J]. 電子測量技術(shù),2011,05: 111-115.

    [7] 張云昌,張令彌,趙建洋. 基于McBSP的TMS320C6713異步串行通信的實現(xiàn)[J]. 電子科技,2009,07: 55-58.

    [8] 常江,胡丹,常亮. 串行通信中波特率的設(shè)置與誤差分析[J]. 四川工業(yè)學(xué)院學(xué)報,2004,02: 22-25.

    [9] 高峰,王學(xué)通. McBSP技術(shù)在數(shù)據(jù)傳輸中的應(yīng)用[J]. 電子設(shè)計工程,2011,08: 133-136.

    [10] 陳伊卿. 基于TMS320C6455 McBSP串口的數(shù)據(jù)傳輸?shù)脑O(shè)計與實現(xiàn)[J]. 計算機光盤軟件與應(yīng)用,2013,03: 51-53.

    [11] 張偉,熊康碧. TMS320C6713中利用McBSP實現(xiàn)和PC機的串口通信[J]. 計算機與數(shù)字工程,2010,06: 157-160.

    [12] 劉金河,于剛,陸鋒. 基于TMS320C6713DSK McBSP輸入輸出通信的軟件設(shè)計[J]. 現(xiàn)代電子技術(shù),2008,01: 134-136.

    [13] 屈姍姍,夏威,何子述. 基于TMS320DM6437的McBSP與EDMA實現(xiàn)串口通信[J]. 電子設(shè)計工程,2010,12: 17-20.

    [14] 關(guān)星,王偉力,朱景其,陳廷. 基于TMS320F2812多通道緩沖串口高速實時數(shù)據(jù)采集接口設(shè)計[J]. 自動化技術(shù)與應(yīng)用,2007,01:125-128.

    [15] 李棡宇,楊家瑋. 用SPI總線實現(xiàn)DSP和MCU之間的高速通信[J]. 電子元器件應(yīng)用,2006,11:28-30.

    孫 敬(1990—),女,安徽宿州人,江南大學(xué)碩士研究生,研究方向為高性能DSP的電路設(shè)計與研究。

    電路設(shè)計

    The Functional Verification and Simulation of McBSP Communication Based on SPI Protocol

    SUN Jing1,2, TAO Jianzhong1,2, CHEN Zhenjiao2
    (1. Jiangnan University, Wuxi 214062, China; 2. China Electronics Technology Group Corporation No.58 Research Institute, Wuxi 214035,China)

    Abstract:In order to dealing with the issues, that data loss and crosstalk in the serial communication between McBSP and peripheral equipments. The researches and improvements on the clock and rate of both sides are done to increase the accuracy of McBSP serial communication. Based on SPI protocol, designing the communication interface and simulating the serial communication between the McBSP and SPI are carried out. Though analyzing the clock in the experiment, the correct setting of the baud rate is obtained in the paper. Experiment and analysis demonstrate that proper setting of the master’s baud rate can increase the accuracy of McBSP serial communication, which encouraging the meaningful and useful researches.

    Keywords:serial communication; McBSP; SPI protool; baud rate

    作者簡介:

    收稿日期:2015-8-30

    中圖分類號:TN402

    文獻標(biāo)識碼:A

    文章編號:1681-1070(2016)01-0016-05

    猜你喜歡
    波特率
    基于FPGA 的UART 串行通信參數(shù)自適應(yīng)設(shè)計與實現(xiàn)
    CAN 總線波特率自適應(yīng)程序設(shè)計
    智能制造(2020年5期)2020-07-03 06:24:00
    可以同時應(yīng)用于不同終端設(shè)備的波特率發(fā)生器
    基于FPGA的異步串行通信波特率容錯設(shè)計
    電子測試(2018年7期)2018-05-16 06:27:18
    波特率自適應(yīng)的CAN驅(qū)動在嵌入式Linux下的實現(xiàn)①
    詳解lAP15W4K58S4單片機的串行口通信
    電子測試(2016年15期)2016-08-31 08:30:57
    基于循環(huán)譜的短波數(shù)字信號波特率估計
    C*Core芯片SCI串口波特率容限優(yōu)化
    UART波特率發(fā)生電路設(shè)計
    電子與封裝(2010年9期)2010-09-05 06:26:46
    計算機多設(shè)備接口波特率不匹配的研究
    榕江县| 轮台县| 桂阳县| 栖霞市| 江华| 柘荣县| 定结县| 高青县| 沅陵县| 城固县| 三亚市| 巴青县| 德钦县| 抚顺市| 招远市| 保亭| 元朗区| 陆丰市| 启东市| 精河县| 宜州市| 衢州市| 灌阳县| 武清区| 克什克腾旗| 永仁县| 杭锦旗| 张家界市| 安徽省| 古田县| 澎湖县| 红河县| 昔阳县| 江达县| 高淳县| 河北区| 阿拉善右旗| 望奎县| 吴桥县| 雅江县| 花莲县|