<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > S3C44B0X與C54X DSP的接口設計

S3C44B0X與C54X DSP的接口設計

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

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

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

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

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

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

4:S3C4510B的HDLC通道使用中的注意事項

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

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

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

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

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

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

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

5:總結

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

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


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

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>