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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > S3C44B0X與C54X DSP的接口設(shè)計(jì)

          S3C44B0X與C54X DSP的接口設(shè)計(jì)

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

          3.3.2:HDLC通道數(shù)據(jù)接收中斷處理過(guò)程

          DMA方式下HDLC通道接收完一幀數(shù)據(jù),或者接收過(guò)程中出現(xiàn)了可引起中斷的異常情況,此時(shí)軟件會(huì)進(jìn)入中斷處理程序。引起中斷的情況在HDLC通道初始化的步驟4,即中斷控制寄存器的設(shè)置中已做了說(shuō)明。在我們的編程中,HDLC通道接收中斷處理過(guò)程主要完成以下一些功能:

          1. 進(jìn)入中斷后,首先清除4510中斷指示寄存器INTPEND中相應(yīng)的標(biāo)志位。

          2. 如果DMA接收正確,則進(jìn)行數(shù)據(jù)幀接收成功狀態(tài)計(jì)數(shù),并清除HDLC通道狀態(tài)寄存器HSTAT中的相應(yīng)狀態(tài)位。對(duì)接收到的數(shù)據(jù)幀作相應(yīng)的處理后,要重新將是用過(guò)的接收BUFFER描述符的OWERSHIP位設(shè)置為DMA所有。

          3. 如果接收出現(xiàn)異常,則完成相應(yīng)的異常狀態(tài)計(jì)數(shù),并清除HDLC通道狀態(tài)寄存器HSTAT中的相應(yīng)位。其中有兩個(gè)異常會(huì)影響以后的DMA操作,一:DMA接收BUFFER描述符不屬于DMA所有(DRxNO);二:DMA接收BUFFER描述符指針空(DRxNL)。發(fā)生這兩個(gè)異常時(shí),說(shuō)明接收BUFFER描述符雙向環(huán)形鏈表結(jié)構(gòu)出現(xiàn)錯(cuò)誤,處理器會(huì)自動(dòng)禁止DMA發(fā)送功能,因此建議重構(gòu)接收BUFFER描述符雙向環(huán)形鏈表結(jié)構(gòu)并重新使能DMA發(fā)送功能。

          4:S3C4510B的HDLC通道使用中的注意事項(xiàng)

          我們編寫(xiě)了4510的HDLC通道底層驅(qū)動(dòng)程序,并應(yīng)用在了我們的155M SDH設(shè)備軟件中。通過(guò)對(duì)軟件的調(diào)試,感覺(jué)在使用4510的HDLC通道時(shí),需要注意下面的問(wèn)題:

          1. 發(fā)送和接收數(shù)據(jù)大端/小端模式要一致,否則收到的數(shù)據(jù)與發(fā)送的數(shù)據(jù)高字節(jié)和低字節(jié)顛倒。

          2. 使用DMA模式收發(fā)數(shù)據(jù)時(shí),正常狀態(tài)下進(jìn)入中斷后,讀取發(fā)送BUFFER描述符指針寄存器(HDMATxPTR)或接收BUFFER描述符指針寄存器(HDMARxPTR)的內(nèi)容時(shí),他們指向的都是下一個(gè)未用的BUFFER描述符。因此想處理接收到的數(shù)據(jù)或者初始化用過(guò)的發(fā)送BUFFER描述符時(shí),需要指回到它們。

          3. 使用DMA方式時(shí),發(fā)送和接收BUFFER描述符在使用時(shí)的OWERSHIP位必須是DMA所有。因?yàn)榘l(fā)送是主動(dòng)的,所以當(dāng)把數(shù)據(jù)放進(jìn)BUFFER描述符后,可以設(shè)置OWERSHIP位,然后啟動(dòng)DMA發(fā)送;而接收是被動(dòng)的,因此數(shù)據(jù)到來(lái)前,將要使用的BUFFER描述符必須是DMA所有,這就是每次進(jìn)入接收中斷后需要重置接收BUFFER描述符OWERSHIP位的原因。

          4. 當(dāng)發(fā)送端的時(shí)鐘信息無(wú)法傳遞到接收端時(shí),最好使用DPLL或者發(fā)送前導(dǎo)碼,以便接收端能夠恢復(fù)發(fā)送端的時(shí)鐘信息。

          5. 當(dāng)使用外部時(shí)鐘源發(fā)送或接收數(shù)據(jù)時(shí),注意數(shù)據(jù)采樣點(diǎn)和外部時(shí)鐘源的配合。我們的設(shè)備中一塊芯片為4510的HDLC通道提供時(shí)鐘,它在時(shí)鐘上升沿發(fā)送,下降沿接收,4510的HDLC通道默認(rèn)模式是時(shí)鐘下降沿發(fā)送,上升沿接收。我們以這種模式收發(fā)數(shù)據(jù),存在嚴(yán)重的數(shù)據(jù)不穩(wěn)定問(wèn)題,當(dāng)改為上升沿發(fā)送,下降沿接收后,完全正常。因此數(shù)據(jù)采樣點(diǎn)的配合很重要。

          6. 4510的HDLC通道收發(fā)方式還可以采用中斷方式,由于時(shí)間緊迫和能力有限,我們的程序沒(méi)有實(shí)現(xiàn),有興趣地可以參考4510數(shù)據(jù)手冊(cè)實(shí)現(xiàn)中斷方式收發(fā)。

          5:總結(jié)

          KS4510B是一款性價(jià)比很高的ARM處理器,功能豐富,編程簡(jiǎn)單,并且可以配合幾種嵌入式實(shí)時(shí)操作系統(tǒng),如pSOS,NUCLEUS等。我們的155M SDH傳輸設(shè)備中,使用4510B和NUCLEUS操作系統(tǒng),完成了底層控制軟件。經(jīng)過(guò)調(diào)試,該軟件性能穩(wěn)定,其中HDLC通道完成了私有網(wǎng)管協(xié)議在SDH環(huán)網(wǎng)上的傳輸轉(zhuǎn)發(fā),實(shí)現(xiàn)了遠(yuǎn)程管理的功能。

          隨著各種電子,通訊產(chǎn)品對(duì)性能要求的日益提高,基于先進(jìn)的ARM架構(gòu)的各種32位微處理器也將得到越來(lái)越廣泛的應(yīng)用。因此,掌握了ARM處理器的使用和編程方法,必然能在工作中事半功倍,得到良好的結(jié)果和收益。


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

          關(guān)鍵詞: S3C44B0X C54X DSP

          評(pí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); })();