• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于串行通信接口的采樣速率測(cè)試方法

      2015-12-05 02:02:00楊萌兮
      電子與封裝 2015年2期
      關(guān)鍵詞:數(shù)據(jù)位發(fā)送器波特率

      張 繼,楊萌兮,謝 達(dá)

      (中國(guó)電子科技集團(tuán)公司第58研究所,江蘇 無(wú)錫 214035)

      1 引言

      在工業(yè)控制領(lǐng)域,絕大部分DSP/MCU系列產(chǎn)品都包含用于通信的串行接口電路(Serial Communications Interface,SCI),以滿足工業(yè)控制高度集成、高性能解決方案的嚴(yán)格要求。本文提出了一種將串口收/發(fā)送器速率與串口接收器采樣速率配置成一定配比關(guān)系,可以實(shí)現(xiàn)用于測(cè)試串口接收器的任意幀結(jié)構(gòu)數(shù)據(jù)的方法,以驗(yàn)證串行通信接口相應(yīng)功能的正確性,提高芯片測(cè)試的良品率。

      2 SCI控制器

      一般DSP芯片都包含至少一個(gè)SCI接口,用于支持CPU與其他異步外設(shè)之間使用標(biāo)準(zhǔn)非歸零碼(NRZ)格式的數(shù)字通信。通常每個(gè)SCI包含一個(gè)波特率發(fā)生器、數(shù)據(jù)發(fā)送器、數(shù)據(jù)接收器以及數(shù)據(jù)存儲(chǔ)映射控制和狀態(tài)寄存器,如圖1所示。

      2.1 SCI通信原理

      由于SCI是串行異步通信方式,因此在通信過(guò)程中每次只能傳輸1位(bit),若干位組成一個(gè)數(shù)據(jù)幀(frame),幀是通信中最基本的單元,它主要包括起始位、數(shù)據(jù)位、校驗(yàn)位(如果使能了數(shù)據(jù)校驗(yàn),要包括校驗(yàn)位)和停止位,幀結(jié)構(gòu)如圖2所示。

      圖1 SCI內(nèi)部結(jié)構(gòu)

      圖2 SCI數(shù)據(jù)幀格式

      SCI在通信之前要在發(fā)送端和接收端約定好幀結(jié)構(gòu),也就是約定好傳輸數(shù)據(jù)幀格式:

      (1)起始位:必須包含在數(shù)據(jù)幀中,表示一個(gè)幀的開始;(2)數(shù)據(jù)位:可選的1~8位,該位長(zhǎng)度可由編程人員指定;(3)校驗(yàn)位:如果在使能了數(shù)據(jù)校驗(yàn)時(shí),該位必須指定;(4)停止位:可選的1~2位,該位長(zhǎng)度可由編程人員指定。

      為了確保數(shù)據(jù)完整性,SCI在中斷檢測(cè)錯(cuò)誤位(BRKDT)、奇偶校驗(yàn)錯(cuò)誤位(PE)、過(guò)載錯(cuò)誤位(OE)和組幀錯(cuò)誤位(FE)方面對(duì)接收到的數(shù)據(jù)進(jìn)行檢查。

      2.2 SCI數(shù)據(jù)通信速率

      SCI數(shù)據(jù)通信速率指設(shè)備在一秒鐘內(nèi)發(fā)送(或接收)了多少比特的數(shù)據(jù),即傳輸時(shí)的波特率。通信雙方在約定好幀格式后,通過(guò)指定一個(gè)16位波特率選擇寄存器的值(BR),可將波特率設(shè)定為65536個(gè)不同的速度。波特率的計(jì)算公式如下:

      Baud rate =LCLK/[(BR+1)×8],when BR≠0;

      Baud rate =LCLK/16,when BR=0。

      指定同一波特率,數(shù)據(jù)通信的雙方便可以進(jìn)行數(shù)據(jù)傳輸了。

      2.3 SCI接收采樣速率[1]

      在數(shù)據(jù)通信時(shí),每一位的信號(hào)占用N個(gè)SCI內(nèi)部生成的串行時(shí)鐘(SCLK)周期,該內(nèi)部時(shí)鐘SCLK的頻率可以通過(guò)波特率寄存器(BR)來(lái)控制,一般計(jì)算公式為:SCLK =LCLK/(BR+1)。SCLK與起始位以及其他數(shù)據(jù)位間的關(guān)系如圖3所示。

      圖3 SCI接收器信號(hào)采樣

      如圖3所示,有效的起始位判別為在串行通信總線拉低后滿足連續(xù)采樣到4個(gè)SCLK周期的0位信號(hào),如果有任何一位不為0,則處理器將重新開始尋找其他的起始位。在識(shí)別了起始位后,后續(xù)的數(shù)據(jù)位采樣采用多數(shù)仲裁機(jī)制:采樣判決信號(hào)為采樣數(shù)據(jù)信號(hào)的4、5、6位上,且其中滿足有2個(gè)或3個(gè)為邏輯1,則該位的采樣值判定為邏輯1; 若其中有2個(gè)或3個(gè)為邏輯0,則該位的采樣值判定為邏輯0。

      3 SCI的功能驗(yàn)證設(shè)計(jì)

      通過(guò)一個(gè)功能正確的SCI可以設(shè)計(jì)驗(yàn)證另一個(gè)SCI的功能正確性,并且可以量化生產(chǎn)測(cè)試,從而提高測(cè)試自動(dòng)化效率。本文的設(shè)計(jì)假設(shè)在SCI采樣信號(hào)為8個(gè)。SCI模塊的功能驗(yàn)證主要包括:數(shù)據(jù)幀格式驗(yàn)證、通信速率(即波特率)驗(yàn)證、數(shù)據(jù)發(fā)送和接收深度驗(yàn)證、數(shù)據(jù)有效性檢測(cè)邏輯驗(yàn)證以及SCI中斷響應(yīng)驗(yàn)證等方面。

      以上需要驗(yàn)證的方面,只有通信速率(即波特率)需要實(shí)際測(cè)算波特率配置,其他都可以通過(guò)設(shè)計(jì)好的兩兩間相互通信的數(shù)據(jù)來(lái)驗(yàn)證。這些驗(yàn)證方面的設(shè)計(jì)分為通信速率的計(jì)算和通信格式的配置。

      3.1 SCI功能驗(yàn)證通信速率計(jì)算

      SCI功能驗(yàn)證數(shù)據(jù)格式的設(shè)計(jì)本質(zhì)上是要實(shí)現(xiàn)輸入特定的測(cè)試數(shù)據(jù),通過(guò)檢測(cè)對(duì)應(yīng)的邏輯功能是否工作(即檢測(cè)響應(yīng)數(shù)據(jù))。利用SCI來(lái)構(gòu)造滿足要求的測(cè)試數(shù)據(jù),需要克服SCI通信格式上的束縛,即測(cè)試數(shù)據(jù)的格式能夠向下兼容SCI的通信數(shù)據(jù)格式。

      在圖3所示的例子中,接收器1位采樣占用8個(gè)SCI內(nèi)部時(shí)鐘周期,由此可推斷出:只要滿足發(fā)送器的發(fā)送速率Baud rate TX是接收器的接收速率Baud rate RX的8倍,即可滿足測(cè)試數(shù)據(jù)的格式能夠向下兼容SCI的通信數(shù)據(jù)格式,即Baud rate TX = 8×Baud rate RX;又由Baud rate公式可知,發(fā)送器的BR TX和接收器BR RX間滿足BR TX+1=(BR RX+1)/8。

      3.2 SCI功能驗(yàn)證通信格式設(shè)計(jì)[2]

      如前文所述,SCI的數(shù)據(jù)通信格式包括起始位、數(shù)據(jù)位、空閑線模式/地址位模式位、校驗(yàn)位(如果使能了數(shù)據(jù)校驗(yàn),要包括校驗(yàn)位)和停止位??紤]到校驗(yàn)位的值與數(shù)據(jù)位以及校驗(yàn)?zāi)J接嘘P(guān),為了簡(jiǎn)化設(shè)計(jì),發(fā)送器采用如下設(shè)計(jì)的幀格式:1個(gè)起始位為邏輯0,6個(gè)數(shù)據(jù)位為邏輯0或邏輯1,不使能校驗(yàn)位,以及一個(gè)停止位為邏輯1。

      發(fā)送需要針對(duì)3種類型的數(shù)據(jù)位進(jìn)行設(shè)計(jì)約束(也即對(duì)發(fā)送數(shù)據(jù)的有效數(shù)據(jù)位進(jìn)行設(shè)計(jì)):起始位配置、接收器邏輯0配置以及接收器邏輯1配置。

      3.2.1 起始位配置

      在圖3所示的例子中,接收器的起始位判決邏輯在第1、2、3、4位采樣信號(hào)上,因此發(fā)送數(shù)據(jù)的第5、6、7、8位對(duì)采樣信號(hào)的判決沒有影響。且接收器的起始位是邏輯0,因此發(fā)送器的8位數(shù)據(jù)可以配置為:1個(gè)起始位為邏輯0,6個(gè)數(shù)據(jù)位為邏輯0,不使能校驗(yàn)位,以及一個(gè)停止位為邏輯1,也即配置寄存器SCITXBUF = 0x01。

      3.2.2 接收器邏輯0配置

      在圖3所示的例子中,接收器的數(shù)據(jù)位判決邏輯在第4、5、6位采樣信號(hào)上,因此發(fā)送數(shù)據(jù)的第1、2、3位以及第7、8位對(duì)采樣信號(hào)的判決沒有影響。發(fā)送端的8位數(shù)據(jù)配置可以配置為:1個(gè)起始位為邏輯0, 6個(gè)數(shù)據(jù)位為邏輯0,不使能校驗(yàn)位,以及一個(gè)停止位為邏輯1,也即配置寄存器SCITXBUF = 0x00。

      3.2.3 接收器邏輯1配置

      在圖3所示的例子中,接收器的數(shù)據(jù)位判決邏輯在第4、5、6位采樣信號(hào)上,因此發(fā)送數(shù)據(jù)的第1、2、3位以及第7、8位對(duì)采樣信號(hào)的判決沒有影響。發(fā)送端的8位數(shù)據(jù)配置可以配置為:1個(gè)起始位為邏輯0, 6個(gè)數(shù)據(jù)位為邏輯1,不使能校驗(yàn)位,以及一個(gè)停止位為邏輯1,也即配置寄存器SCITXBUF= 0x3F。

      綜上所述,發(fā)送器發(fā)送起始位數(shù)據(jù)和邏輯0數(shù)據(jù)可以統(tǒng)一采用發(fā)送數(shù)據(jù)SCITXBUF = 0x01。TI針對(duì)小數(shù)據(jù)量多機(jī)通信而設(shè)計(jì)的地址/數(shù)據(jù)識(shí)別也只是在接收器端完成的,利用設(shè)計(jì)的8倍速率進(jìn)行數(shù)據(jù)傳輸,同樣可以實(shí)現(xiàn)相關(guān)邏輯的驗(yàn)證,只要配置發(fā)送器的第7位為相應(yīng)的狀態(tài)即可。

      4 SCI功能驗(yàn)證的仿真

      在Linux環(huán)境下,利用Candence的NC-Verilog軟件對(duì)某款DSP芯片進(jìn)行仿真。配置好仿真參數(shù)后,加載采用了基于8倍通信速率設(shè)計(jì)的測(cè)試代碼,對(duì)SCI通信模塊進(jìn)行仿真驗(yàn)證。設(shè)計(jì)實(shí)現(xiàn)仿真用的主要配置的偽代碼如下[3]:

      在上面的代碼中,前面初始化部分包括SCI的LCLK時(shí)鐘配置,GPIO引腳功能復(fù)用配置以及SCI模塊使能等;之后便是配置SCI收發(fā)數(shù)據(jù)的雙方配置為所設(shè)計(jì)的幀格式以及相應(yīng)的波特率配置,最重要的配置為幀格式配置寄存器和波特率寄存器的配置,發(fā)送器的波特率配置為1,接收器的波特率配置為15(即0xF),從而滿足公式:BR TX+1 =(BR RX+1)/8。發(fā)送數(shù)據(jù)的高兩位(第7、8位)不會(huì)發(fā)送,可以為任意值,代碼中統(tǒng)一配置為1或者0。

      配置好軟硬件環(huán)境和代碼后進(jìn)行仿真,得到仿真實(shí)驗(yàn)結(jié)果如圖4所示。從仿真結(jié)果可以看到,SCI接口A發(fā)送數(shù)據(jù)速率是SCI接口B接收速率的8倍,SCI接口A每發(fā)送8個(gè)數(shù)據(jù),對(duì)應(yīng)完成SCI接口B接收到的1位數(shù)據(jù);SCI接口A每發(fā)送8位數(shù)據(jù),SCI接口B接收到完整的1幀數(shù)據(jù)。

      圖4 仿真實(shí)驗(yàn)結(jié)果

      5 結(jié)束語(yǔ)

      本文重在如何簡(jiǎn)化并快速進(jìn)行串口模塊的功能驗(yàn)證,在研究了模塊自身功能特性的基礎(chǔ)上,提出了一種具有一定通用性的設(shè)計(jì)思想,即利用通信速率和采樣速率之間的關(guān)系,將串口收/發(fā)送器速率與串口接收器采樣速率配置成一定配比關(guān)系,從而實(shí)現(xiàn)用于測(cè)試串口接收器的任意幀結(jié)構(gòu)數(shù)據(jù)。

      本文的設(shè)計(jì)方法的主要思路是:首先,依據(jù)設(shè)計(jì)的幀格式應(yīng)該能夠向下兼容SCI的通信格式,即要實(shí)現(xiàn)發(fā)送器發(fā)送數(shù)據(jù)可以實(shí)現(xiàn)任意所需要接收端測(cè)試數(shù)據(jù),從而設(shè)計(jì)了通信速率上8倍的關(guān)系;其次,根據(jù)接收器采樣信號(hào)的判決位置,設(shè)計(jì)了長(zhǎng)度為8個(gè)位的發(fā)送器數(shù)據(jù)幀結(jié)構(gòu),并選擇了最簡(jiǎn)的位配置,定義了用于確定接收器起始位、邏輯0和邏輯1的發(fā)送數(shù)據(jù)。利用所設(shè)計(jì)的幀格式配置進(jìn)行仿真驗(yàn)證,證明該設(shè)計(jì)方法確實(shí)可以實(shí)現(xiàn)滿足任意要求的測(cè)試數(shù)據(jù),并完成了接收數(shù)據(jù)正確性檢驗(yàn)標(biāo)識(shí)(OE、PE、FE、BRKDT)、多處理器通信地址位模式、SCI中斷控制以及16級(jí)數(shù)據(jù)緩沖等相關(guān)功能的驗(yàn)證。

      利用該方法,可以簡(jiǎn)化對(duì)DSP芯片中SCI接口功能的測(cè)試設(shè)備要求,從而提高測(cè)試自動(dòng)化效率。

      [1] Texas Instruments.TMS320F28335 Digital Signal Controllers (DSCs) Data Manual[P]. 2007.

      [2] 張雄偉,等. DSP芯片的原理與開發(fā)應(yīng)用(第二版)[M].北京:電子工業(yè)出版社,2000.

      [3] 汪安民,程昱. DSP應(yīng)用開發(fā)實(shí)用子程序[M]. 北京:清華大學(xué)出版社,2009.

      猜你喜歡
      數(shù)據(jù)位發(fā)送器波特率
      A320飛機(jī)大氣數(shù)據(jù)的采集和計(jì)算在排故中的應(yīng)用
      移頻發(fā)送器冗余切換設(shè)計(jì)研究
      CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
      智能制造(2020年5期)2020-07-03 06:24:00
      基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
      用于獲取車輛中的旋轉(zhuǎn)構(gòu)件的旋轉(zhuǎn)角度的傳感器組件
      傳感器世界(2017年4期)2017-03-23 10:50:49
      一種適用于FPGA系統(tǒng)中的變速箱電路設(shè)計(jì)
      減少調(diào)度自動(dòng)化設(shè)備通訊串口丟包率的措施
      從兩起故障談ZPW-2000發(fā)送盒報(bào)警檢測(cè)的改進(jìn)
      C*Core芯片SCI串口波特率容限優(yōu)化
      計(jì)算機(jī)多設(shè)備接口波特率不匹配的研究
      甘肃省| 临桂县| 民县| 酉阳| 甘南县| 察哈| 岗巴县| 惠来县| 广安市| 合水县| 九龙县| 铜陵市| 宜君县| 宜昌市| 乡宁县| 高陵县| 呼伦贝尔市| 中阳县| 定安县| 吉首市| 胶州市| 库伦旗| 施秉县| 常熟市| 安福县| 黄龙县| 上思县| 双柏县| 东乡| 墨竹工卡县| 西丰县| 望谟县| 大悟县| 重庆市| 海林市| 镇宁| 车致| 扶余县| 西乡县| 东乡| 墨竹工卡县|