當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]闡述了MPC860芯片及其SCC接口的基本工作原理,介紹了在SCC通道上實現(xiàn)HDLC協(xié)議的基本設(shè)計思想及具體實現(xiàn),并給出了主要功能函數(shù)的設(shè)計流程。      HDLC作為一種基于點到點/多點的數(shù)據(jù)鏈路層協(xié)議,常常用來連接路

闡述了MPC860芯片及其SCC接口的基本工作原理,介紹了在SCC通道上實現(xiàn)HDLC協(xié)議的基本設(shè)計思想及具體實現(xiàn),并給出了主要功能函數(shù)的設(shè)計流程。
  
  HDLC作為一種基于點到點/多點的數(shù)據(jù)鏈路層協(xié)議,常常用來連接路由器和網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)備。摩托羅拉公司生產(chǎn)的MPC860微處理器是當(dāng)前應(yīng)用非常廣泛的嵌入式微處理器,良好的性價比和強(qiáng)大的通信與網(wǎng)絡(luò)協(xié)議處理能力以及豐富的通信接口支持使其非常適合構(gòu)建VOIP網(wǎng)關(guān);特別是其SCC接口本身支持HDLC協(xié)議,因此可以通過它的一個SCC接口來為VOIP網(wǎng)關(guān)和信令網(wǎng)之間提供鏈路支持。VOIP作為一種基于IP的數(shù)據(jù)傳輸技術(shù),廣泛地利用Internet全球互連環(huán)境,將傳統(tǒng)的PSTN電話網(wǎng)和Internet網(wǎng)絡(luò)合二為一,因此可以有效地降低系統(tǒng)成本和管理成本。作為一種高效且經(jīng)濟(jì)的數(shù)據(jù)和話音通信方式,它是當(dāng)前技術(shù)研究和開發(fā)的熱點。實現(xiàn)VOIP的關(guān)鍵是IP網(wǎng)關(guān),其中信令網(wǎng)關(guān)主要將信令網(wǎng)的信令信息轉(zhuǎn)換成Internet網(wǎng)絡(luò)的相關(guān)報文控制信息。本文介紹如何在MPC860板的SCC2通道上實現(xiàn)HDLC的驅(qū)動程序,從而為信令網(wǎng)和網(wǎng)關(guān)之間提供鏈路支持。

  1 HDLC簡介
  

  HDLC是一個在同步網(wǎng)上傳輸數(shù)據(jù)并面向位的數(shù)據(jù)鏈路層協(xié)議,具有透明傳輸、可靠性高、傳輸效率高以及靈活性高等特點。它采用點對點或多點(多路播送或一對多)連接的主/從結(jié)構(gòu),要求每個從站都有唯一的地址,從站只有在允許通信時才能且只能和主站通信,這就消除了串行線路上由于幾個從站同時發(fā)送引起沖突的可能性。其它的通用的二層協(xié)議如SS#7、AppleTalk、 LAPB、LAPD等都是基于HDLC及其幀結(jié)構(gòu)的。HDLC幀結(jié)構(gòu)如圖1所示。

  F:標(biāo)志位,每個HDLC幀以8位序列(01111110)標(biāo)志幀的開始和結(jié)束,這是HDLC中僅有的兩個包含連續(xù)六個1的可能組合。為了避免在其它域中出現(xiàn)這種組合,HDLC采用了一種叫作位插入的辦法實現(xiàn)組合,即每發(fā)現(xiàn)有連續(xù)五個1時便在下一位自動插入一個0,接收器在收到連續(xù)五個1之后又自動刪去插入的0。標(biāo)志位除了標(biāo)志幀的開始和結(jié)束外,還可用作時鐘同步,接收設(shè)備不斷地搜尋標(biāo)志位,以實現(xiàn)幀同步,從而保證接收部分對后續(xù)字段的正確識別。另外,在幀與幀的空載期間,可以連續(xù)發(fā)送這種標(biāo)志序列,用作時間填充。
  

  A:目的地址位,用于指示報文發(fā)往何站。每個從站必須有唯一的地址,主站必須知道每個從站的指定地址。全“1”構(gòu)成的地址在HDLC中定義為廣播地址,全“0”構(gòu)成的地址在HDLC中定義為無站地址,用于測試數(shù)據(jù)鏈路的狀態(tài)。
  C:控制位,用于系統(tǒng)初始化、標(biāo)志幀的序號,并在報文發(fā)送完成后通知從站響應(yīng),對以前發(fā)送幀進(jìn)行應(yīng)答。尾隨控制段的信息通常用于報文傳輸、出錯報告和其它各種功能,這些功能由控制段的格式完成。有三種格式可供使用:報文格式、監(jiān)控格式和無序號格式。
  

  I:信息域,是可選的。如果信息存在,它必須有8位整數(shù)數(shù)量的長度。
  CRC:幀校驗位,長度為16位或32位,幀校驗序列用于對幀進(jìn)行循環(huán)冗余校驗,其校驗范圍從地址字段的第一比特到信息字段的最后一比特的序列,并且規(guī)定為了透明傳輸而插入的“0”不在校驗范圍內(nèi)。
  

  HDLC常被用來向X.25、ISDN和幀中繼網(wǎng)等提供信令和控制數(shù)據(jù)鏈路。


  2 MPC860及其SCC接口
    MPC860是美國摩托羅拉公司生產(chǎn)的一種通用的32位嵌入式通信控制器。它是以RISC體系結(jié)構(gòu)為基礎(chǔ)并在片內(nèi)集成有微處理器和多種外設(shè)接口的專用通信芯片,具有強(qiáng)大的通信和網(wǎng)絡(luò)協(xié)議處理能力,可廣泛應(yīng)用于各種通信和網(wǎng)絡(luò)產(chǎn)品中。它主要由嵌入式PowerPC內(nèi)核、系統(tǒng)接口單元(SIU)和通信處理器模塊(CPM)組成。它的CPM提供了豐富的串行通道,包括四個串行通信控制器(SCC)、兩個串行管理單元(SMC)、一個串行外圍接口(SPI)和一個I2C接口。
  

  其中,SCC是MPC860最強(qiáng)大的通信設(shè)備。四個SCC端口通過相應(yīng)的配置可支持不同的協(xié)議,如以太網(wǎng)、IEEE802.3 10M局域網(wǎng)、HDLC、appleTalk、通用異步收發(fā)協(xié)議UART、同步UART、串行紅外線接口IrDA、二進(jìn)制同步通信BISYNC及透明發(fā)送等網(wǎng)絡(luò)協(xié)議,可以分別用于網(wǎng)橋、路由器、網(wǎng)關(guān)、LAN、WAN及專用網(wǎng)。因此,本文將其中的一個SCC端口配置成HDLC模式用在VOIP信令網(wǎng)關(guān)中,為信令網(wǎng)和網(wǎng)關(guān)之間提供鏈路支持。SCC數(shù)據(jù)通信基本流程如圖2所示。

  當(dāng)處于接收狀態(tài)時,數(shù)據(jù)首先進(jìn)入FIFO。當(dāng)接收FIFO充滿時,CPM向SCC發(fā)請求,并由CPM RISC處理該請求,然后通過寫SDMA將數(shù)據(jù)按照緩存描述符的指示存入指定的緩存中。緩存描述符是進(jìn)行數(shù)據(jù)收發(fā)的基礎(chǔ),它由三個部分組成:頭16個比特用來描述收發(fā)的狀態(tài)模式;接下來是數(shù)據(jù)長度描述符,表示即將存入緩存的數(shù)據(jù)長度;最后是數(shù)據(jù)指針,它指向即將存入數(shù)據(jù)的緩存。發(fā)送過程與接收過程基本上是一樣的,通過緩存描述符,能夠正確讀寫緩存。


  3 驅(qū)動程序的設(shè)計思想及其實現(xiàn)
    這里選擇VxWorks作為本CPU板的操作系統(tǒng)。VxWorks是美國風(fēng)河系統(tǒng)公司推出的一種高性能、可裁減的實時嵌入式操作系統(tǒng),以其良好的可靠性和卓越的實時性被廣泛應(yīng)用于通信、軍事、航天等領(lǐng)域。因此,程序的設(shè)計必須按照這個操作系統(tǒng)的結(jié)構(gòu)來構(gòu)建。本文的主要目的是將MPC860處理器的一個SCC通道配置成為HDLC模式,以支持VxWorks操作系統(tǒng)下的HDLC通信,所以程序的設(shè)計主要圍繞這個目的進(jìn)行,在此并沒有按照傳統(tǒng)驅(qū)動的模式構(gòu)建驅(qū)動程序,而是直接對硬件進(jìn)行操作。首先設(shè)置通道參數(shù),將其配置成HDLC模式,然后設(shè)計基本功能函數(shù)。當(dāng)驅(qū)動程序運行時,首先要進(jìn)行SCC通道的初始化以及存儲區(qū)的初始化,然后才開始執(zhí)行收發(fā)功能,在這當(dāng)中要加上中斷控制。按照這個程序的基本流程,具體的實現(xiàn)分為下面幾步(在本設(shè)計中將SCC2配置成HDLC模式)。


  3.1 定義參數(shù)RAM
  

  參數(shù)RAM主要包括通道參數(shù)RAM和通道協(xié)議參數(shù)RAM兩部分,SCC通道的主要參數(shù)都在這個里面配置。它們包含CPM RISC用來正確操作SCC通道的特定協(xié)議所用的信息。


  3.2 初始化SCC2
  (1)將MPC860的PA12、PA13引腳作為SCC2的收發(fā)引腳。
  (2)MPC860有四個BGR和八個外部時鐘引腳,將SCC的收發(fā)時鐘分別配置成內(nèi)部時鐘和外部時鐘。
  (3)將SCC2配置為NMSI模式。
  (4)初始化SDCR寄存器,給予SDMA一個仲裁ID以提供U總線上的優(yōu)先級。
  (5)初始化SCC2的參數(shù)RAM(這步對所有的協(xié)議都是通用的):
 ?、僭O(shè)置Rx/TxBD 表的基址相對于雙端口RAM的偏移量;
  ②設(shè)置收發(fā)緩沖區(qū)描述符表基址相對于IMMR寄存器中值的偏移量;
 ?、墼O(shè)置Rx/Tx 的函數(shù)代碼;
  ④在MRBLR中設(shè)置接收緩存的最大空間。
  (6)針對SCC2的HDLC模式進(jìn)行初始化;
 ?、偻ㄟ^C_MASK和C_PRES 設(shè)置CCITT-CRC;
  ②對CPM維護(hù)的五個計數(shù)器DISFC、CRCEC、 ABTSC、 NMARC和RETRC清零;
 ?、墼贛FLR中定義最大幀長度,通常定義為0x0100,表示最大幀長度為256字節(jié);
 ?、茉赗FTHR中定義接收到多少個HDLC幀時產(chǎn)生一個中斷申請,當(dāng)將RFTHR置位0x0001時,表示每接收到一個幀產(chǎn)生一個中斷申請;
 ?、菰O(shè)置接收地址,hmask用來定義地址掩碼,當(dāng)hmsk=0x0000時,表示接收所有幀。
  

  每個SCC有四個地址存儲器HADDR1~HADDR4,所以每個SCC可識別四個地址,包括廣播地址。接收時,通過與HDLC幀的目的地址進(jìn)行比較,確定接收該幀還是丟棄。


  3.3 初始化收發(fā)緩存區(qū)描述符
  

  (1)在初始化緩存區(qū)描述符的過程中,收發(fā)都必須停止。通過將GSMR_L2的ENT和ENR置零,然后配置CPCR中的CP命令就可以禁止收發(fā)。
  (2)配置收發(fā)緩存區(qū)描述符:
 ?、倥渲卯?dāng)前接收緩存區(qū)描述符表的基地址,即IMMR的基地址再加上收發(fā)緩存區(qū)描述符表相對于IMMR的偏移地址。由于發(fā)送緩存區(qū)描述符表緊跟在接收緩存區(qū)描述符表的后面,因此發(fā)送緩存區(qū)描述符表的基地址為接收緩存區(qū)描述符表的基地址加上整個接收緩存區(qū)描述符表的長度。
 ?、诔跏蓟l(fā)送緩存區(qū)描述符表和接收緩存區(qū)描述符表。如果收發(fā)緩存區(qū)都為空,分別將每一個發(fā)送緩存區(qū)描述符表和接收緩存區(qū)描述符表的狀態(tài)模式參數(shù)中的狀態(tài)位E置1、數(shù)據(jù)長度置0,
并將它們的地址設(shè)置成相應(yīng)的值。如果收緩存區(qū)或發(fā)緩存區(qū)不為空,則應(yīng)該先將這些緩存區(qū)清零。值得注意的是,最后一個收發(fā)緩存區(qū)描述符表的W位必須置1。
  (3)初始化完成后,應(yīng)該將ENT和ENR位置
  3.4 收發(fā)功能的實現(xiàn)
  3.4.1 接收函數(shù)
  SMR_L2寄存器的ENR位置1的前提下,HDLC控制器進(jìn)入接收允許狀態(tài)。在正式讀入數(shù)據(jù)前,必須先檢測幀開始標(biāo)志,并匹配地址,然后決定是否進(jìn)入接收狀態(tài)。進(jìn)入接收狀態(tài)后,首先提取RxBD的狀態(tài)模式字節(jié),若接收未準(zhǔn)備好,則繼續(xù)等待,若準(zhǔn)備好了,則開始接收。由于一個數(shù)據(jù)包可以放置于多個緩存,所以檢測RxBD狀態(tài)模式字節(jié)的L位,以判斷是否為本幀的最后一個緩存:如果不是,則關(guān)閉這個緩存,處理下一個緩存描述字;如果是,接收完最后一個緩存的數(shù)據(jù)后結(jié)束接收過程。對于最后一個buffer,需要檢測是否有接收錯誤。


  3.4.2 發(fā)送函數(shù)
  

  發(fā)送函數(shù)流程圖如圖4所示。


  在GSMR_L2寄存器的ENT位置1的前提下,HDLC控制器進(jìn)入發(fā)送允許狀態(tài)。首先提取TxBD的狀態(tài)模式字節(jié),若發(fā)送未準(zhǔn)備好,則繼續(xù)等待,若準(zhǔn)備好了,則進(jìn)入發(fā)送狀態(tài),在發(fā)送數(shù)據(jù)中間插入適當(dāng)?shù)臉?biāo)志位后就可以發(fā)送。由于一個發(fā)送數(shù)據(jù)包可以包含多個緩存,所以檢測TxBD狀態(tài)模式字節(jié)的L位,以判斷是否為最后一個緩存:如果不是,則關(guān)閉這個緩存,處理下一個緩存描述字;如果是,控制器進(jìn)入關(guān)閉發(fā)送狀態(tài)。對于最后一個buffer,需要做兩件事情:(1)檢測是否有發(fā)送錯誤。(2)以剩下的實際數(shù)據(jù)長度作為發(fā)送幀中數(shù)據(jù)段的長度發(fā)送出去。


  3.5 中斷處理
  

  在這個驅(qū)動程序中,只處理SCC2產(chǎn)生的中斷。首先確定是否是CPM產(chǎn)生的中斷,然后讀取寄存器CPM中斷向量寄存器(CIVR)的VN字段判斷是否為SCC2產(chǎn)生的中斷。如果是的話,就讀取SCEE確定中斷類型,然后做出相應(yīng)的處理。
  

  本程序通過在MPC860上做環(huán)回測試,情況良好。但在程序?qū)崿F(xiàn)過程中,中斷的控制還有待于進(jìn)一步完善。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉