精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于μC/OS-II操作系統實現V5應用接口系統的設計

電子設計 ? 來源:武漢理工大學學報 ? 作者:劉奇 ? 2020-09-23 17:36 ? 次閱讀

隨著接入網(AN)范圍內多種傳輸媒介、多種接入配置和業務發展的需要,ITU制定了V5.1接口的G.964建議和V5.2接口的G.965建議。這些標準的制定使得交換機可以通過此接口支持多種類型的用戶接入,其開放性使得交換機和接入網的技術和業務完全獨立開來。接入網的發展可以不受交換機的限制,使得接入網市場完全開放。根據速率不同,V5接口分為V5.1和V5.2接口。

V5通信接口協議

V5.1接口由單個2048kbit/S鏈路構成,用于支持模擬電話接入以及基于64kbit/S的綜合業務數字網(ISDN)基本接入和用于半永久連接的、不加帶外信令信息的其他模擬接入或數字接入。

V5.2接口按需要可以由1~16個2048kbit/S鏈路構成,除了支持V5.1接口提供的接入類型外,還可支持ISDN一次群速率接入。V5.2接口由以下3層組成:第一層,物理層,由1~16個符合ITU的G.703和G.732建議的2Mbit/S的數據鏈路構成。第二層,數據鏈路層,僅對C通路而言,使用的規程稱為LAPV5,其目的是為了允許靈活地將不同的信息流復用到C通路上去。

它又可進一步分為兩個子層,即數據包封裝功能子層(LAPV5-EF)和數據鏈路子層(LAPV5-DL)。LAPV5-DL子層完成對V5.2協議第三層消息的復用。LAPV5-EF 子層通過映射完成對LAPV5-DL幀和ISDND通路信息的復用。第三層,協議層,包括PSTN協議、公共控制協議、鏈路控制協議、BCC協議和保護協議。PSTN協議負責處理與PSTN業務相關的信令;公共控制協議負責協調兩端用戶端口狀態同步及數據指配;鏈路控制協議負責協調和實現兩端鏈路相關的控制;BCC協議負責AN和LE,協調完成2Mbit/S鏈路上的承載通路分配;保護協議在鏈路出現故障時提供通路的切換保護功能。第一層有限狀態機協議如圖1所示。

μC/OS-II實時多任務嵌入式系統

V5接口實現中包括5個核心協議的處理和管理許多定時器,所以對操作系統要求很高。選用μC/OS-II作為其操作系統,實現多任務管理及任務間通信等。μC/OS-II最多支持56個任務,任務調度采用優先級搶占調度算法,總是執行就緒態的優先級最高的任務,并支持SemaphorE( 信號量)、Mailbox ( 郵箱)MessageQueuE(消息隊列)等多種常用的進程間通信機制。由于系統中代碼大多是用C語言寫的,有比較好的可移植性。

系統啟動

μC/OS中,多任務內核通過調用OSInit函數開始執行內核相關的初始化。OSInit函數將完成任務控塊、事件控制塊、消息隊列和內存管理的初始化等。系統初始化完成后需調用OS-Start函數啟動嵌入式內核,開始多任務運行。在啟動多任務內核前需要至少啟動一個任務。

基于μC/OS-II操作系統實現V5應用接口系統的設計

圖1協議??蚣軋D

多任務創建

在μC/OS中,每個任務都是無限循環的,每個任務都處在以下5種狀態之一:休眠態、就緒態、運行態、掛起態和中斷態。μC/OS中通過調用OSTaskCreatE或OSTaskCreateExt函數創建啟動任務。對于每個任務都有惟一的1個優先級標識。

任務間同步和通信

在μC/OS中,提供了消息隊列、郵箱和信號量等機制用以實現任務間同步和通信。郵箱可以用來通知一個事件的發生(發送一條信息)。在源端的任務通過調用OSMBoxPost函數向郵箱寫,在目的端的任務通過調用OSMBoxPend函數從郵箱讀。當郵箱為空時調用OSMBoxPend函數的任務將被掛起。信號量是一種約定機制:兩個或多個任務通過簡單的信號進行合作,一個任務可以被迫在某一位置停止,直到它接收到一個特定的信號。信號量主要實施3種操作:一個信號量可以初始化為非負數;等待操作使信號量減1,如果值變成負數,則執行等待的任務被阻塞;得到CPU使用權的任務signaL操作使信號量加1,如果值不是正數,則被等待操作阻塞的任務解除阻塞。

函數的可重入性

可重入函數是指一個可以同時被多個任務調用而不會發生數據沖突的函數。在多任務環境下,所有可能被多個任務同時調用的函數都必須保證其具有可重入性,此函數可以通過使用局部變量來保證其可重入性。

V5系統設計

V5接口協議的3層中物理層和數據鏈路層部分功能由硬件實現。物理層可用PMC公司生產的大規模E1接口芯片PMC4354,它是一種可提供4路E1的接口芯片并綜合了成幀器和LIU,其重要特性包括數據鏈路接入、報警、中斷、環回和診斷。處理器選用SUMSUNG 公司的KS32C50100,它內置2個HDLC控制器,2個定時器。特別適用在V5接口(封裝功能子層功能和HDLC協議類似),V5協議的第三層實現全部基于嵌入式系統編程。

軟件實現框架

對于V5接口的5個核心協議中的每個協議都作為一個任務來實現和管理。任務間的消息采用郵件的方式。

軟件實現框架包括3個模塊,如圖2所示。

OS系統模塊

此模塊由μC/OS-II實現系統功能,包括多任務調度、管理內存分配、任務間通信和定時器。

協議實現模塊

塊主要實現了V5接口的5個核心協議、第1層有限狀態機協議和LAPV5協議。每個協議作為一個單獨的任務運行。由于V5接口在運作過程中通話建立和拆除主要由PSTN協議和BCC協議完成,所以這2個任務需要有較高的優先級。LAPV5任務將來自上層需要發送給LE的消息數據封裝打包并轉發出去。

圖2軟件實現架構

管理模塊

此模塊主要完成AN的管理相關任務。其中包括PSTN端口的狀態管理,V5界面管理,E1鏈路上承載時隙資源管理和5個核心協議C-PATH的管理。狀態管理完成鏈路和端口的狀態管理,界面管理用來獲取V5接口的設定并完成V5接口的啟動和保護切換。另外,V5接口通過界面管理任務接受來自控制臺或網管系統的維護命令,隨時向上層網管報告V5接口目前的狀況。C-PATH管理用來建立和維護各個C通路。

接口的具體設計

V5接口協議中每個協議的處理流程按FSM(FinitEStatEMachine)的方式來完成。FSM 是具有馬爾可夫性的,其目前狀態僅與前一次的狀態有關,與其他歷史狀態無關。它由有限的狀態和相互之間的轉移構成,在任何時候只能處于給定數目的狀態中的一個。當接收到一個輸入事件時,狀態機產生一個輸出,同時也可能伴隨著狀態的轉移,其特點是根據目前的消息和目前的狀態決定要做的事和以后的狀態。

每個任務用一個結構體數組來維護其各個實體的狀態和其他相關的信息。

例如PSTN協議可以用如下類似的結構體數組

struct PSTNPORT{

bytE interfaceid;/*保存該PSNT端口實體所屬的V5接口ID*/

unsigned intle portid;/*保存該PSTN端口實體所對應的LE端PSTN實體ID*/

bytE statE;/*該實體的狀態*/

TIMER t1;/*保存該實體的t1,t2,t3,tr,tt定時器值*/

TIMER t2;

TIMER t3;

TIMER tr;

TIMER tt;

}

每次完成由FSM 產生的動作時更新該數組,保存該實體相關的新的信息。V5接口中5個主要協議都是以FSM 的方式來運行的。協議根據目前的狀態和收到的激勵消息在FSM 中找到需要做的動作并完成響應。

考慮到這種特殊的運作方式,任務的實現可以以下列方式來運行。

OSMboxCreatE( 。..);/*在任務初始化時,為該任務創建一個郵箱,用來接收其他任務發送來的消息。*/

for( ;;)

{ bytE statE,stim ,act;

Check Timer Expired();/*檢查TIMER是否timEout*/

OSMboxPend();/*從該任務的郵箱中接受收到的新郵件消息*/

statE= Get Entity ();/*從郵件消息中獲取消息實體,得到該消息是發給此協議的那一個實體的,并得到該實體的狀態。例如,PSTN協議,則要獲取此消息是發給PSTN協議的那個端口*/

stim = Get Stim();/*從郵件消息中獲取用于FSM 的激勵消息*/

act= Do FSM(statE,stim);/*根據前面獲取的狀態和激勵消息,得到需要做的動作和下一個狀態.*/

DoAct(act);/*完成由FSM 指定的工作,并轉移該實體的狀態.*/

OSMboxPost();/*根據需要發送消息通知其他協議任務*/

}

各個協議的FSM 方式運作實現都可按上面的框架來完成。

借助于μC/OS-II系統API函數OSMboxPend,可以從郵箱中收取郵件。當郵箱中有新的郵件時,該函數返回指針指向新的郵件。若沒有新郵件,該函數將掛起當前任務,把CPU時間讓給其他任務使用。在DoAct函數的處理中,用系統的API函數OSMboxPost發送郵件給其他任務的郵箱。

定時器的實現

每個任務有一個timer鏈表保存該任務使用的所有定時器。定時器鏈表具有以下的數據結構

structv5_timer

{

bytE timerid;/*標示每個TIMER*/

unsigned long period;/*標示定時器的timeout時長*/

bytE timer typE;/*標示定時器的類型*/

unsignedlong starttimE;/*標示定時器啟動的系統時間*/

bytE t_flag ;/*保留用的標記*/

}

要設定一個定時器只需新添加一個TIMER到鏈表中。調用系統APIOSTimeGet()獲取目前系統時間作為定期器的啟動時間填入定時器結構體的starttimE成員中,給period賦值指定定時器時長。任務循環的開始部分在接收郵件消息前,將檢查鏈表,通過比較每個TIMER的starttime和目前系統時間的差值來判斷定時器是否到期,如果有定時器到期則插入一條TIMEOUT消息到本任務的郵箱。

結束語

V5接口在通信網絡中有著廣泛的應用,筆者探討了在開放源碼的μC/OS操作系統上如何實現V5接口,提出了V5接口的軟件實現框架和具體設計方案。在商業應用上可大大降低開發成本,對開發嵌入式操作系統的技術人員能有所幫助。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5068

    文章

    19021

    瀏覽量

    303361
  • 操作系統
    +關注

    關注

    37

    文章

    6742

    瀏覽量

    123192
  • 定時器
    +關注

    關注

    23

    文章

    3241

    瀏覽量

    114482
收藏 人收藏

    評論

    相關推薦

    μC/OS-II操作系統在不同處理器上的應用

    單片機、ARM、FPGA與μC/OS-II操作系統相結合,實現一些具體功能,是目前嵌入式應用中比較常見的。
    發表于 11-25 10:59 ?1509次閱讀
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b><b class='flag-5'>操作系統</b>在不同處理器上的應用

    【圖書分享】嵌入式實時操作系統μC/OS-II經典實例

    《嵌入式實時操作系統μC/OS-II經典實例:基于STM32處理器》作  者:劉波文 等編著 內容簡介 本書緊緊圍繞μC/OS-II
    發表于 03-13 10:26

    μCOS-II操作系統在各種處理器上的移植

    場合,在家用電器、機器人、工業控制、航空航天、軍事科技等領域有著廣泛的應用。 單片機、ARM、FPGA與μC/OS-II操作系統相結合,實現一些具體功能,是目前嵌入式應用中比較常見的。
    發表于 08-14 09:46

    采用μC/OS-II實現V5接口

    判斷定時器是否到期,如果有定時器到期則插入一條TIMEOUT消息到本任務的郵箱。 結束語 V5接口在通信網絡中有著廣泛的應用,筆者探討了在開放源碼的μC/OS
    發表于 05-06 09:18

    uC/OS-II實時操作系統移植技巧

    作者:曾 鳴引言 實時操作系統的使用,能夠簡化嵌入式系統的應用開發,有效地確保穩定性和可靠性,便于維護和二次開發。 μC/OS-II是一個基于搶占式的實時多任務內核,可固化、可剪裁、具
    發表于 07-17 07:07

    μCOS-II操作系統在各類處理器怎么移植?

    μCOS-II操作系統是一種搶占式多任務、單內存空間、微小內核的嵌入式操作系統,具有高效緊湊的特點。它執行效率高,占用空間小,可移植性強,實時性能良好且可擴展性強。采用μ
    發表于 10-14 07:31

    μC/OS-II操作系統移植條件是什么?如何完成移植?

    μC/OS-II操作系統移植條件是什么?μCOS-II操作系統在各種處理器上的移植過程
    發表于 04-19 10:47

    實時操作系統μC OS - II下TCP IP 協議棧的實現

    結合在ez80 和ARM7 兩種系統上的具體實現,說明如何在嵌入式實時操作系統μC/OS-II 上移植、
    發表于 05-15 14:37 ?11次下載

    輕型PPP協議在μC/OS-II操作系統中的實現

    針對實時操作系統μC/OS-II 沒有自己的網絡協議棧,提出了基于ARM7TDMI 處理器的μC/OS-II
    發表于 08-13 09:05 ?15次下載

    基于ARM的嵌入式操作系統μC/OS-II的移植

        介紹了μC/OS-II RTOS 的內核結構和任務管理,闡述了ARM 嵌入式芯片的體系結構,給出了基于ARM 的嵌入式操作系統μC/
    發表于 09-04 09:49 ?28次下載

    實時操作系統OS-II在ARM7上的移植

    本文分析了實時操作系統μC/OS-II的特點及其在嵌入式系統應用領域的優勢,討論了其在S3C44B0X上移植的可能性,探討了μ
    發表于 09-12 16:47 ?21次下載

    實時嵌入式操作系統μCOS-II在MPC555上的移植

    摘要:介紹了實時操作系統μCOS-II的特點和內核結構,并首次實現了μC/OS-II在摩托
    發表于 03-11 12:42 ?809次閱讀
    實時嵌入式<b class='flag-5'>操作系統</b>μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>在MPC555上的移植

    μC/OS-II在EP7312上的移植

    μC/OS-II在EP7312上的移植首先介紹μC/OS-II操作系統的特點,重點分析μC/
    發表于 06-16 11:24 ?1134次閱讀
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>在EP7312上的移植

    μC/OS-II操作系統在各種處理器上的移植

    μC/OS-II操作系統在各種處理器上的移植  μCOS-II操作系統是一種搶占式多任務、單
    發表于 01-07 11:11 ?715次閱讀
    μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b><b class='flag-5'>操作系統</b>在各種處理器上的移植

    基于μC/OS-II接入網接口設計方案

    筆者探討了在開放源碼的μC/OS操作系統上如何實現V5接口,提出了
    發表于 05-23 11:23 ?1887次閱讀
    基于μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-II</b>接入網<b class='flag-5'>接口</b>設計方案