999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C*Core芯片SCI串口波特率容限優(yōu)化

2012-07-13 03:06:30張傳演卓秀然孟召偉李紅斌
電子設(shè)計工程 2012年3期
關(guān)鍵詞:標(biāo)準(zhǔn)優(yōu)化

張傳演,卓秀然,孟召偉,錢 丹,李紅斌,蔡 偉

(1.中國人民解放軍73022部隊 浙江 杭州 310024;2.福建省氣象服務(wù)中心 福建 福州 350001)

串口(SCI)是微控制器(MCU)與外圍設(shè)備等進(jìn)行異步串行通信的接口[1]。C*Core系列芯片中含2個相同且獨立SCI,采用異步方式傳送數(shù)據(jù),但數(shù)據(jù)接受/發(fā)送速率 (波特率)統(tǒng)一,SCI模塊中有一個波特率發(fā)生器,產(chǎn)生波特率時鐘。

SCI接受器與發(fā)生器利用波特率發(fā)生器設(shè)定速率,但設(shè)定值與實際值之間具有誤差,稱為容限誤差。一定范圍的容限值,不影響SCI數(shù)據(jù)傳輸?shù)恼_性。但隨著波特率、芯片主頻大小變化,容限值會超出允許誤差范圍,造成SCI傳輸和接受的數(shù)據(jù)不匹配現(xiàn)象。確定設(shè)定波特率、主頻與波特率容限值之間關(guān)系,研究與解決傳輸與接受雙方數(shù)據(jù)不匹配問題成為C*Core芯片工程應(yīng)用中十分重要的工作。

1 C*Core芯片SCI波特率容限問題

1.1 SCI波特率的發(fā)生

SCI使用標(biāo)準(zhǔn)的異步串行傳送數(shù)據(jù)格式發(fā)送和接受串行數(shù)據(jù)[2],串行數(shù)據(jù)格式如圖1所示,圖中含兩種幀,分別為10位和11位,幀的傳輸種類由SCI控制寄存器中的M位決定:M=1,幀長 11 位;M=0,幀長 10 位。

SCI異步傳送幀數(shù)據(jù)時,要求SCI對方按統(tǒng)一波特率接受/發(fā)送數(shù)據(jù),確保數(shù)據(jù)傳輸速率相等。為了統(tǒng)一波特率,SCI發(fā)送器及接收器中都含有一個波特率發(fā)生器如圖2所示。

圖1 SCI數(shù)據(jù)格式Fig.1 SCI data format

圖2 SCI發(fā)送器框圖Fig.2 SCI transmitter block diagram

波特率發(fā)生器是一個13位的分頻器,由波特率寄存器(SCIBD)設(shè)置分頻因子(SBR[12:0])對系統(tǒng)時鐘分頻[3]。 SCI波特率可由式(1)計算得出:

通過上式可知,波特率發(fā)生器輸出的時鐘經(jīng)16分頻后得到發(fā)送時鐘,但可直接作為接受器時鐘。SCI發(fā)送與接受端通過編程SBR[12:0]統(tǒng)一波特率。

1.2 SCI波特率容限

分頻因子SBR[12:0]由下列公式確定:SCI標(biāo)準(zhǔn)波特率被系統(tǒng)固定,如:4 800、9 600、115 200等。設(shè)定好分頻因子后,再由式(1)得SCI波特率。在C*Core芯片中,數(shù)據(jù)格式不支持浮點數(shù),SCI波特率與分頻因子SBR[12:0]都只為整數(shù),公式計算過程中產(chǎn)生的小數(shù)被規(guī)整,進(jìn)而產(chǎn)生規(guī)整誤差,兩次規(guī)整累積誤差導(dǎo)致接受端與發(fā)送端波特率之間誤差。例如,設(shè)系統(tǒng)時鐘40 M,標(biāo)準(zhǔn)波特率115 200位/秒,則 SBR[12:0]=21,SCI波特率計算值為:119 047,與標(biāo)準(zhǔn)波特率115 200相差3.3%。SCI容限誤差可分為兩種情況。

1.2.1 慢數(shù)據(jù)的容限

對于被接受數(shù)據(jù)的位速率慢于接收器波特率的情況,圖3顯示了在不發(fā)生噪聲錯誤和幀錯前提下,被接收數(shù)據(jù)最慢情況[4]。RT為數(shù)據(jù)采樣點。

圖3 慢數(shù)據(jù)和快接收波特率的情況Fig.3 Slow and fast data baud rate

對于M=0,幀長度為10位,接收器完成停止位采樣花費的時間為:

9位×16RT周期/位+10RT周期=154RT周期

而在此時間點上發(fā)送設(shè)備RT計數(shù)數(shù)值為:

9位×16RT周期/位+3RT周期=147RT周期

在不出現(xiàn)錯誤的情況下接收器和發(fā)送方之間波特率相差的最大百分比為:

對于M=1,幀長度為11,接收器完成停止位采樣花費的時間為:

10位×16RT周期/位+10RT周期=170RT周期

而在此時間點上發(fā)送設(shè)備對自己的RT計數(shù)數(shù)值為:

10位×16RT周期/位+3RT周期=163RT周期

令這兩個時間相等,可推出,在不出現(xiàn)錯誤的情況下接收器和發(fā)送方之間波特率相差的最大百分比為:

1.2.2 快數(shù)據(jù)的容限

對于被接受數(shù)據(jù)的位速率快于接收器波特率的情況,圖4顯示了在不發(fā)生噪聲錯誤和幀錯前提下,被接受數(shù)據(jù)最快情況。

圖4 快數(shù)據(jù)和慢接受波特率的情況Fig.4 Fast and slow data baud rate

對于M=0,幀長度為10位,接收器完成停止位采樣花費的時間為:

9位×16RT周期/位+10RT周期=154RT周期

而在此時間點上發(fā)送設(shè)備對自己的RT計數(shù)數(shù)值為:

10位×16RT周期/位=160RT周期

在不出現(xiàn)錯誤的情況下接收器和發(fā)送方之間波特率相差的最大百分比為:

對于M=1,幀長度為11同理可推出,波特率相差的最大百分比為:

1.3 C*Core芯片SCI波特率容限分析

由波特率計算公式可推出各主頻下不同標(biāo)準(zhǔn)波特率對應(yīng)的發(fā)送器與接受器波特率容限誤差最大百分比。表1為fsys=5 M時,選取的5種標(biāo)準(zhǔn)波特率對應(yīng)的波特率容限。其中分頻因子由式(2)計算得出,發(fā)送方波特率由式1得出。

表1 fsys=5 M各波特率容限Tab.1 fsys=5 M baud rate tolerance

由表知在標(biāo)準(zhǔn)波特率為56 000和115 200時,波特率容限分別達(dá)到了11.6%和35.6%超過波特率容限允許值,傳輸時會出現(xiàn)數(shù)據(jù)不匹配現(xiàn)象,發(fā)送8個八位數(shù)據(jù),只接收到7個八位數(shù)據(jù),實驗現(xiàn)象如圖5所示。圖中左邊為波特率設(shè)置等。

圖5中發(fā)送端波特率統(tǒng)一設(shè)為115 200,接收端由于容限誤差過大造成丟幀現(xiàn)象,丟失率:12.5%,在波特率為56 000時,同樣出現(xiàn)了丟幀現(xiàn)象。表2為fsys=20 M時,選取的5種標(biāo)準(zhǔn)波特率對應(yīng)的波特率容限。

波特率為115 200時,容限達(dá)到了8.5%超過最大允許波特率容限,實際傳輸時經(jīng)檢測出現(xiàn)誤幀現(xiàn)象,現(xiàn)象如圖6所示。

圖 7 中,發(fā)送器發(fā)送固定數(shù)組 a[4]={0x00,0xfe,0xea,0x32},接收器所獲數(shù)據(jù)不符,出現(xiàn)了誤幀現(xiàn)象。

表3顯示主頻為80 M時,5種標(biāo)準(zhǔn)波特率對應(yīng)的波特率容限。

表2 fsys=20 M各波特率容限Tab.2 fsys=20 M baud rate tolerance

圖6 串口接收數(shù)據(jù)顯示Fig.6 Serial port to receive data in table

表3 fsys=80 M各波特率容限Tab.3 fsys=80 M baud rate tolerance

對比以上4表,可發(fā)現(xiàn)容限值隨主頻與標(biāo)準(zhǔn)波特率變化而變化,主頻越小、標(biāo)準(zhǔn)波特率越大可促使容限值增大。當(dāng)主頻高于一定值時,即使標(biāo)準(zhǔn)波特率設(shè)置較大,容限值依然較小。例如fsys=80 M時,波特率為115 200,容限值較小。

2 C*Core芯片SCI波特率容限優(yōu)化

C*Core模塊容限誤差主要來自小數(shù)規(guī)整誤差。優(yōu)化的核心是減少此誤差。圖7顯示了SCI模塊串口初始化部分配置程序,作用是通過設(shè)置的標(biāo)準(zhǔn)波特率計算分頻因子[5]。

圖7 串口初始化分頻因子計算Fig.7 Serial frequency factor calculated initialization

分頻因子SBR[12:0]為13位,計算時需分別計算高5位REG_SCIBDH[4:0]和低八位 REG_SCIBDL[7:0][6]。表 4 為運行初始化程序后,計算分頻因子值與實際值對比。

表4 分頻因子與實際值對比Tab.4 Frequency factor compared with the actual value

通過上表可知,分頻因子實際值小數(shù)被向下規(guī)整,導(dǎo)致小數(shù)部分向下規(guī)整誤差較大,其他頻率下不同標(biāo)準(zhǔn)波特率的各計算值類似。優(yōu)化算法的核心思想是在計算分頻因子的過程中,實現(xiàn)分頻因子小數(shù)正確規(guī)整,縮小分頻因子的計算值與實際值誤差,達(dá)到正常誤差范圍。在圖7基礎(chǔ)之上,下列顯示了串口初始化程序分頻因子計算優(yōu)化程序。

優(yōu)化程序中定義了臨時變量BDL1,首先判斷SBR[12:0]實際值小數(shù)部分是否大于0.5,若大于BDL1賦值為1加到SBR[12:0]低八位上,完成進(jìn) 1 功能;反之,BDL1 賦值為 0,不操作,完成舍四功能。

表5為運行優(yōu)化后的串口初始程序后,計算分頻因子值與實際值對比。

表5 優(yōu)化后分頻因子與實際值對比Tab.5 Optimized frequency factor compared with the actual value

對比表5與表4,分頻因子的誤差被顯著減小,這促使C*Core芯片中SCI模塊容限誤差顯著減小。表6列舉若干優(yōu)化前后波特率誤差對比情況。

表6 優(yōu)化前后波特率容限對比Tab.6 Baud rate tolerance compared before and after optimization

優(yōu)化后的容限不影響發(fā)送方與接受器之間數(shù)據(jù)的傳輸準(zhǔn)確性。 在實驗過程中,發(fā)送數(shù)組 a[0:4]={0x00,0xfe,0xea,0x32},主頻 20M,標(biāo)準(zhǔn)波特率為 115 200位/秒 ,利用 SCI串口連續(xù)發(fā)送了4組共16字節(jié)的數(shù)據(jù)給接收端,沒有發(fā)現(xiàn)丟幀、誤幀現(xiàn)象。此外,SCI模塊進(jìn)行了3 200組每組1.1 M隨機數(shù)采集實驗,整個過程中沒有出現(xiàn)丟幀和誤幀現(xiàn)象。

3 結(jié)束語

文中研究C*Core芯片中SCI模塊發(fā)送器與接受器之間波特率誤差即波特率容限問題。通過分析與總結(jié)芯片頻率、標(biāo)準(zhǔn)波特率與波特率容限誤差規(guī)律,設(shè)計了優(yōu)化串口初始化程序優(yōu)化程序。通過大量數(shù)據(jù)實驗證明,優(yōu)化后的串口初始化程序運行后,發(fā)送端與接受端數(shù)據(jù)傳輸沒有出現(xiàn)任何丟幀與誤幀現(xiàn)象。此外,此優(yōu)化程序也適應(yīng)于不支持浮點計算的嵌入式芯片。

[1]王宜懷,劉曉升.嵌入式應(yīng)用基礎(chǔ)基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2005.

[2]馬鳴錦,蔣烈輝,杜威,等.基于M*CORE微控制器的嵌入式系統(tǒng)[M].北京:國防工業(yè)出版版社,2003.

[3]王宜懷,朱巧明,鄭茳.C*Core與M*Core的嵌入式系統(tǒng)[M].北京:清華大學(xué)出版社,2006.

[4]蘇州國芯科技有限公司.CCM3118DQ Advance Information Rev[R].蘇州:國芯公司,2003.

[5]Metrowerks CodeWarriorIDE UserGuide [EB/OL].2000[2010-11-20].http://read.pudn.com/downloads14/ebook/55460/ADS_CodeWarrior_IDEGuide.pdf.

[6]Motorola.MMC2107 Technical Data MMC2107/DRev.2[EB/OL].Seattle:Motorola inc,2000[2011-9-2].http://www.motorolasolutions.com/CN-ZH/Home.

猜你喜歡
標(biāo)準(zhǔn)優(yōu)化
2022 年3 月實施的工程建設(shè)標(biāo)準(zhǔn)
超限高層建筑結(jié)構(gòu)設(shè)計與優(yōu)化思考
民用建筑防煙排煙設(shè)計優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
由“形”啟“數(shù)”優(yōu)化運算——以2021年解析幾何高考題為例
忠誠的標(biāo)準(zhǔn)
美還是丑?
你可能還在被不靠譜的對比度標(biāo)準(zhǔn)忽悠
一家之言:新標(biāo)準(zhǔn)將解決快遞業(yè)“成長中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
主站蜘蛛池模板: 国产美女精品一区二区| 亚洲无线一二三四区男男| 69av在线| 久久99热这里只有精品免费看| 国模视频一区二区| 欧美激情视频一区| 国产精品视频第一专区| 五月激激激综合网色播免费| 黄色福利在线| 日韩精品久久无码中文字幕色欲| 五月天综合网亚洲综合天堂网| 高清欧美性猛交XXXX黑人猛交| 久久频这里精品99香蕉久网址| 九九热视频在线免费观看| 日韩第一页在线| 亚洲AV无码乱码在线观看裸奔| 亚洲国产清纯| 久久美女精品国产精品亚洲| 亚洲水蜜桃久久综合网站| 国产一区在线观看无码| 欧美性精品| 国产97色在线| 国产精品19p| 妇女自拍偷自拍亚洲精品| 婷婷综合在线观看丁香| 一本大道香蕉高清久久| 久久狠狠色噜噜狠狠狠狠97视色| 在线a视频免费观看| 欧美亚洲另类在线观看| 久久99这里精品8国产| 久久香蕉国产线看观看精品蕉| 国产色网站| 91av成人日本不卡三区| 国产本道久久一区二区三区| 日韩高清一区 | 亚洲人在线| 亚洲中文字幕久久精品无码一区| 伊人久热这里只有精品视频99| 人妻中文久热无码丝袜| 91蝌蚪视频在线观看| 国产97视频在线| 91精品啪在线观看国产| 国产嫩草在线观看| 999精品色在线观看| 亚洲国产AV无码综合原创| 国产无码在线调教| 国产成人无码综合亚洲日韩不卡| 二级特黄绝大片免费视频大片| 91www在线观看| 日韩小视频网站hq| 伊人久久婷婷| 毛片基地视频| 免费无码又爽又刺激高| 毛片免费试看| 少妇高潮惨叫久久久久久| 国产97色在线| 精品国产福利在线| 亚洲另类第一页| 日韩黄色精品| 欧美一级一级做性视频| 经典三级久久| 无码不卡的中文字幕视频| 亚洲人成网7777777国产| 青草免费在线观看| 在线网站18禁| 波多野结衣一级毛片| 99久久精品国产精品亚洲 | 天堂成人在线视频| 亚洲第一成人在线| 一区二区三区四区精品视频| 露脸真实国语乱在线观看| 国产jizz| 91无码视频在线观看| 丁香五月激情图片| 无码日韩精品91超碰| 日韩国产综合精选| 精品人妻系列无码专区久久| 亚洲精品无码日韩国产不卡| 国产日韩欧美成人| 91精品免费久久久| 97青草最新免费精品视频| 亚洲91在线精品|