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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C2410A的MDB/ICP協(xié)議的實(shí)現(xiàn)

          基于S3C2410A的MDB/ICP協(xié)議的實(shí)現(xiàn)

          作者: 時(shí)間:2013-02-25 來(lái)源:網(wǎng)絡(luò) 收藏

            2.2 支持/ICP應(yīng)用方法

            如果要想支持協(xié)議,沒(méi)有mode bit可用,這樣對(duì)總線上的數(shù)據(jù)判斷是地址字節(jié)還是數(shù)據(jù)字節(jié)和總線一幀數(shù)據(jù)什么時(shí)候結(jié)束在上無(wú)法判斷識(shí)別,這對(duì)最初制定的方案提出了嚴(yán)重的挑戰(zhàn),迫不得已要對(duì)S3C2410A成為MDB/IPC協(xié)議的VMC設(shè)備的可能性進(jìn)行預(yù)研,最直接的方式就是想到利用S3C2410A的可選的奇偶校驗(yàn)位的值來(lái)逆推MDB設(shè)備的mode bit的值,讓奇偶校驗(yàn)位來(lái)充當(dāng)MDB mode bit的作用,從而來(lái)判斷出S3C2410A接收MDB設(shè)備傳送的數(shù)據(jù)是否是結(jié)束了。經(jīng)過(guò)分析就可以得到表1所列的推理。

          表1

          基于S3C2410A的MDB/ICP協(xié)議的實(shí)現(xiàn)

            通過(guò)上面的分析,開(kāi)始編寫(xiě)測(cè)試程序,結(jié)果發(fā)現(xiàn)S3C2410A的串口設(shè)計(jì)的一個(gè)bug:當(dāng)配置UART LINECONTROL REG ULCONn的BITS[5:3]為“101”,選擇evenparity接收MDB總線的數(shù)據(jù)的時(shí)候,無(wú)論是構(gòu)造出來(lái)的數(shù)據(jù)1的位數(shù)為奇數(shù)個(gè)還是偶數(shù)個(gè)搭配具體的模式位,發(fā)現(xiàn)S3C2410A的UART ERRORSTATUS REG(UERSTATn)的bit2 frame. error位并不能準(zhǔn)確的置位。想想S3C2410A這么流行的芯片竟然還有設(shè)計(jì)不完美的地方,幾乎要放棄的時(shí)候,本著一切皆有可能的原則,既然芯片都不可靠了,就索性測(cè)試一下,按照表1把ULCONn的BITS[5:3]設(shè)置為“100”,選擇odd parity接收數(shù)據(jù)。按常理推斷even parity的結(jié)果應(yīng)該和odd parity結(jié)果是一樣的,抱著試一試的態(tài)度,構(gòu)造測(cè)試代碼,結(jié)果出現(xiàn)了明顯的規(guī)律:當(dāng)模式位為“O”的時(shí)候,UERSTATn的bit2 frame. error位可以準(zhǔn)確的置位;當(dāng)模式位為“1”的時(shí)候,UART TX/RX STATUS REG(UTRSTATn)的bit 0(receive buffer data ready)可以準(zhǔn)確置位,正常接收數(shù)據(jù)。得到這個(gè)規(guī)律之后,2410 VMC設(shè)備就可以準(zhǔn)確判斷出MDB設(shè)備發(fā)送過(guò)來(lái)的數(shù)據(jù)是否是收到了結(jié)束標(biāo)志。另外,當(dāng)VMC向MDB設(shè)備發(fā)送數(shù)據(jù)的時(shí)候,可以按照協(xié)議要求當(dāng)要發(fā)送地址字節(jié)時(shí)可設(shè)置ULCONn的BITS[5:3]為“110”,代表parity forced/checked as 1來(lái)把奇偶位強(qiáng)制1充當(dāng)模式位,地址字節(jié)發(fā)送結(jié)束之后調(diào)整ULCONn的BITS[5:3]為“111”來(lái)發(fā)送數(shù)據(jù)字節(jié)。至此,S3C2410A充當(dāng)MDB VMC設(shè)備可以得到完美的解決。下面是VMC接收總線數(shù)據(jù)的部分調(diào)試代碼片段。VMC向總線發(fā)送數(shù)據(jù)相對(duì)比較簡(jiǎn)單,有興趣的讀者可以與筆者交流探討。




            結(jié)語(yǔ)

            本文給出了一種在嵌入式處理器ARM(S3C2410A)上實(shí)現(xiàn)MDB/的實(shí)現(xiàn)方法,在工程實(shí)踐中,證明該方法準(zhǔn)確可靠,滿足了市場(chǎng)的需要,拓展了支持該協(xié)議的硬件平臺(tái),豐富了支持該協(xié)議設(shè)備的軟件功能接口。本文的實(shí)現(xiàn)方法也可以應(yīng)用在其他嵌入式處理器上。

          參考文獻(xiàn):

          [1].S3C2410Adatasheethttp://www.dzsc.com/datasheet/S3C2410A_.html.


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: S3C2410A MDB ICP協(xié)議

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();