增強型基站MCU軟件概要設(shè)計說明書_第1頁
增強型基站MCU軟件概要設(shè)計說明書_第2頁
增強型基站MCU軟件概要設(shè)計說明書_第3頁
增強型基站MCU軟件概要設(shè)計說明書_第4頁
增強型基站MCU軟件概要設(shè)計說明書_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件概要設(shè)計說明書 目錄目 錄1 概述11.1 背景11.2 術(shù)語和縮寫詞11.3 參考資料12 總體設(shè)計22.1 系統(tǒng)描述22.1.1 需求規(guī)定22.1.2 運行環(huán)境規(guī)定32.1.2.1 硬件運行環(huán)境32.1.2.2 軟件運行環(huán)境32.2 總體設(shè)計說明32.2.1 基本設(shè)計概述32.2.1.1 設(shè)備驅(qū)動部分32.2.1.2 應(yīng)用軟件程序部分42.2.2 設(shè)計思想52.3 系統(tǒng)結(jié)構(gòu)和處理流程62.3.1 系統(tǒng)結(jié)構(gòu)62.3.2 處理流程92.3.2.1 下行數(shù)據(jù)(bscbts l1)處理流程112.3.2.2 上行數(shù)據(jù)(l1btsdbc)處理流程123 接口設(shè)計143.1 外部接口143.1.1

2、 用戶接口143.1.2 硬件接口143.1.3 軟件接口143.1.3.1 設(shè)備驅(qū)動部分143.1.3.1.1 bsp(board support package)153.1.3.1.2 mpc860串行接口及gpio驅(qū)動163.1.3.1.3 接口芯片驅(qū)動263.1.3.1.4 其它驅(qū)動363.1.3.1.5 驅(qū)動與上層軟件的接口463.1.4 與網(wǎng)管的接口483.1.4.1 遠程加載流程的改變483.1.4.2 網(wǎng)管上對基站二三層輸出的控制523.1.4.3 系統(tǒng)的告警消息523.1.4.3.1 基站復(fù)位告警523.1.4.3.2 二層任務(wù)告警533.1.4.3.3 頻綜板的告警543.

3、1.4.3.4 mdm_dsp、vcc_dsp、vc5416的告警553.1.4.3.5 e1的告警553.1.4.3.6 射頻板的告警563.1.4.3.7 溫度、濕度、電源等環(huán)境告警563.1.4.4 系統(tǒng)的版本管理573.1.5 通訊接口583.2 內(nèi)部接口583.2.1 三層與二層軟件之間的接口583.2.2 二層與一層之間的接口593.2.2.1 從layer2到layer1593.2.2.1.1 發(fā)送校準數(shù)據(jù)格式593.2.2.1.2 正常工作時格式613.2.2.1.3 頻綜板遠程加載時格式633.2.2.2 從layer1到layer2633.2.2.2.1 校準和增益調(diào)整結(jié)果

4、633.2.2.2.2正常工作時格式643.2.2.2.3 頻綜板遠程加載時格式663.2.3 定時器的管理663.2.3.1 原大基站三層定時器的結(jié)構(gòu)663.2.3.2 原大基站二層定時器的結(jié)構(gòu)673.2.4 與頻綜板校準和告警有關(guān)的二三層消息673.2.5 系統(tǒng)時鐘的維持703.2.5.1 軟件功能模塊703.2.5.2 內(nèi)存占用估計733.2.5.3 數(shù)據(jù)存儲格式744 屬性設(shè)計754.1 可靠性754.2 安全性754.3 可維護性755 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)765.1 邏輯結(jié)構(gòu)設(shè)計要點765.2 數(shù)據(jù)結(jié)構(gòu)與模塊的關(guān)系776 運行設(shè)計777 系統(tǒng)出錯處理777.1 出錯類別777.2 出錯處理

5、778 開發(fā)環(huán)境778.1 硬件環(huán)境778.2 軟件環(huán)境789 系統(tǒng)調(diào)試與測試方法789.1 調(diào)試方法789.2 測試方法799.2.1 驅(qū)動部分的測試799.2.2 應(yīng)用程序的測試79軟件概要設(shè)計說明書軟件概要設(shè)計說明書關(guān)鍵詞:增強型基站,vxworks,swap摘 要:本文描述了增強型基站項目應(yīng)用程序從大基站移植和修改所涉及到的改動。主要是完成基站單元三層注冊、呼叫處理、切換處理,二層鏈路建鏈與重建鏈、拆鏈,以及基站設(shè)備性能管理與監(jiān)視。1 概述1.1 背景增強型基站將原來大基站的clu板、modem板、vcc板和時鐘板集成到一個板上,且應(yīng)用程序處理的cpu從motoral的68360改為m

6、pc860p,操作系統(tǒng)也由vrtx轉(zhuǎn)移到vxworks,這些改變帶來應(yīng)用程序處理上的一些變化。需要修改與這些改動有關(guān)的接口變化、數(shù)據(jù)結(jié)構(gòu)的變化、操作系統(tǒng)函數(shù)的變化。1.2 術(shù)語和縮寫詞bscbase station controller基站控制器btsbase transceiver station基站收發(fā)信機dspdigital signal processing數(shù)字信號處理fpgafield programmable gate array現(xiàn)場可編程門陣列hdlchigh-level data link control高級數(shù)據(jù)鏈路控制規(guī)程pstnpublic switched telepho

7、ne network公共電話網(wǎng)rnmsran network management system無線接入網(wǎng)網(wǎng)管系統(tǒng)sccserial communication controller串行通信控制器scdmasynchronous cdma同步碼分多址smcserial management controller串行管理控制器swapscdma wireless access protocolscdma無線接入?yún)f(xié)議uartuniversal asynchronous receiver/transmitter通用異步收發(fā)器utuser terminal用戶終端1.3 參考資料(1) clu軟件設(shè)計

8、-zhou hui(2) 基站第二層通信軟件設(shè)計說明書.doc- weiguo xie(3) mcv板總體設(shè)計方案.doc(4) 校準數(shù)據(jù)保護簡化版v2.doc(5) mdm vcc syn download2.08.doc(6) syn遠程加載軟件詳細設(shè)計說明書lwb.doc(7) v5信令手冊.pdf(8) v52接口簡介.doc(9) weiguo xie,“基站第二層通信軟件設(shè)計說明書”,0.2版本,1997.11.27;文件名:基站第二層通信軟件設(shè)計說明書.doc(10) 基站消息大全.doc2 總體設(shè)計2.1 系統(tǒng)描述如同大基站,增強型基站系統(tǒng)為終端提供呼叫控制、切換控制、語音編解

9、碼及bsc的中繼接入等功能。它在整個scdma系統(tǒng)中的位置如圖2-1所示:圖2-1 基站組網(wǎng)結(jié)構(gòu)圖圖中的bts即可以是原來的大基站,也可以是這里的增強型基站。2.1.1 需求規(guī)定增強型基站應(yīng)用軟件系統(tǒng)主要完成以下功能:(1) 完成swap中的二、三層信令(2) 完成與bsc的網(wǎng)絡(luò)接口功能。(3) 完成附屬的維護功能(包括二、三層代碼下載,fpga代碼下載,dsp代碼下載,信令監(jiān)視,設(shè)備維護告警,系統(tǒng)運行狀況監(jiān)視等功能)。2.1.2 運行環(huán)境規(guī)定2.1.2.1 硬件運行環(huán)境新開發(fā)的單板上2.1.2.2 軟件運行環(huán)境(1) 操作系統(tǒng) 應(yīng)用程序軟件運行在vxworks實時操作系統(tǒng)之上,處理器為mpc

10、 860,各任務(wù)間用消息隊列或信號量進行通信;(2) 調(diào)試環(huán)境 wind river systems inc.,tornado2.0集成調(diào)試環(huán)境; windows 2000,用于支撐tornado集成調(diào)試環(huán)境;(3) 代碼下載 目標板代碼下載有兩種方式: 1. 通過單板上以太網(wǎng)口進行,適用于產(chǎn)品研發(fā)的初期; 2. 通過網(wǎng)管下載,適用于產(chǎn)品定型后,軟件升級維護階段;(4) 信息監(jiān)控 目標板通過rs232串行接口將應(yīng)用軟件運行過程重的調(diào)試信息以及一層調(diào)試信息傳送到監(jiān)控計算機;2.2 總體設(shè)計說明2.2.1 基本設(shè)計概述增強型基站系統(tǒng)mcu的軟件主要包括設(shè)備驅(qū)動部分和應(yīng)用軟件部分。2.2.1.1 設(shè)

11、備驅(qū)動部分設(shè)備驅(qū)動部分完成接口芯片的初始配置和管理,并提供相應(yīng)軟件接口供應(yīng)用程序調(diào)用。從mpc860p來看所有的接口如圖2-2所示,信令路徑如圖中紅線所示,語音路徑如圖中蘭線所示,主要包括:w e1(ds21354)接口驅(qū)動程序; w mt8980接口驅(qū)動程序;w mpc860p scc2 hdlc配置成tdma方式通信w gps接口驅(qū)動程序,gps ut-core 的維護由smc2配置的uart標準串口連接;mt89l80驅(qū)動模塊21354驅(qū)動模塊smc2 smc11bit link portad7414溫度驅(qū)動模塊 串口驅(qū)動 調(diào)試模塊 gps 超級終端mdm_dspscc2tdma與fpg

12、a通信驅(qū)動模塊flash,sdram,nvrammpc860pethernet調(diào)試 pc主機 vc5416vcc_dsp4bit link portmcbspgpioscc4busintscc1scc3busi2c bsc圖2-2 驅(qū)動接口圖w vc5416接口驅(qū)動程序w mpc860的串行通信控制器scc4配制成transparent,通過fpga與tigersharc的1位link port接口驅(qū)動程序w mpc860的串行通信控制器scc3配制成uart與背板監(jiān)控相連接口驅(qū)動程序w nvram(ds1746)接口w flash接口驅(qū)動程序w ad7414溫度傳感器接口驅(qū)動程序;w 濕度傳

13、感器接口驅(qū)動程序(由gpio完成)w gpio口下載fpga代碼w gpio口boot vc5416(通過mcbsp)、mdm_dsp(通過4bit link port,boot 完成后其被用做正常通信通道)、vcc_dsp(通過4bit link port)w 各種指示燈管理(面板上的指示燈由gpio管理,vcc的碼道告警指示燈由mpc860通過總線操作cpld來控制)w 10ms時鐘源的監(jiān)視驅(qū)動等2.2.1.2 應(yīng)用軟件程序部分系統(tǒng)通信協(xié)議棧如圖2-3所示,應(yīng)用程序需要完成圖中中間部分除swap l1和phy(e1)以外的所有協(xié)議處理及系統(tǒng)控制管理維護部分。圖2-3 系統(tǒng)通信協(xié)議棧圖2-3

14、中,swap l1、swap l2和swap l3分別源于文獻15中描述的swap空中信令。lapv5-ef、lapv5-dl和v5應(yīng)用層協(xié)議參考文獻16。v5應(yīng)用層包括標準v5協(xié)議的公共模塊bcc和pstn,此外還包括一套私有協(xié)議:8181協(xié)議,用來傳一些控制管理信息。在用戶側(cè),基站將來自一層的上行swap信令信息從acc或vcc碼道提取出來并重新打包后傳給二三層,二三層解析處理后以v5協(xié)議形式傳給bsc;同樣,基站處理來自bsc的v5協(xié)議,分析處理后,打包成swap信令傳給一層處理。2.2.2 設(shè)計思想鑒于大基站中的操作系統(tǒng)采用vrtx、分布式基站采用的是vxworks,而本系統(tǒng)中也用vx

15、works,且所實現(xiàn)的功能與大基站完全一樣,設(shè)計的重點放在參考分布式基站操作系統(tǒng)移植的經(jīng)驗,將大基站的代碼及功能在新的系統(tǒng)上實現(xiàn)。移植的版本基于大基站的s401版本。(1) 操作系統(tǒng)接口的變化:從vtrx到vxworks操作系統(tǒng),故原有大基站系統(tǒng)里面跟操作系統(tǒng)相關(guān)的部分都要改動。如:消息機制、調(diào)度機制等。(2) 處理器從mc68360到mpc860p引起的變化(硬件結(jié)構(gòu)的變化),故驅(qū)動接口、中斷機制等要做改動。(3) 系統(tǒng)其他任務(wù)中需要修改的地方。(4) 對網(wǎng)管和bsc的影響:由于采用了不同于原來大基站flash,它的讀寫操作與以前的不同,故程序的遠程加載部分需稍做改動。另外不再需要原大基站中

16、分離的clu板復(fù)位和modem板復(fù)位功能,出現(xiàn)故障和程序跑飛僅需一次性復(fù)位整個增強型基站。軟硬件的版本管理和系統(tǒng)的告警也有一些改動。后面的章節(jié)會給出具體的改動。2.3 系統(tǒng)結(jié)構(gòu)和處理流程2.3.1 系統(tǒng)結(jié)構(gòu)圖2-9為整個應(yīng)用程序的軟件結(jié)構(gòu)系統(tǒng)圖以及與外部接口之間的關(guān)系。圖中陰影部分左半部分為基站側(cè)三層信令處理,右半部分為二層信令處理。本系統(tǒng)中二三層的處理在同一個mcu中完成,二三層的接口不是板間接口因而使用消息隊列即可。其它處理部分與原大基站相同,處理過程描述不在這里重復(fù),若需要,二層處理可參考文獻17,三層處理可參考文獻9。上下行的信令處理流程后面還會進行描述。各模塊簡要描述如下:1. 高層

17、信息收發(fā)模塊的功能主要是接收來自bsc來的信息的解析及分發(fā)工作,并將去往bsc的高層的信息匯總、打包及發(fā)送;2. v5 protocol完成bsc與基站之間v5通信規(guī)程;3. tch處理呼叫相關(guān)的任務(wù)4. tdb完成數(shù)據(jù)的初始化和系統(tǒng)的加載、與控制臺等配合完成數(shù)據(jù)維護、配合呼叫處理任務(wù)提供相關(guān)數(shù)據(jù)、配合控制臺提供監(jiān)視數(shù)據(jù)、通信路由等的聯(lián)接與釋放(包括空中信道的申請與釋放)5. tsys完成:生成其它任務(wù)、數(shù)據(jù)下載的初始化、輸出系統(tǒng)每分鐘的狀態(tài)6. ttmm為其它任務(wù)提供時鐘信息7. ttmr在系統(tǒng)中是一個為其它任務(wù)提供時鐘溢出定時器的任務(wù)。它可提供3種類型的定時器計數(shù):100ms,秒和分8.

18、任務(wù)tbad報告報警信息、處理異常故障、記錄任務(wù)運行信息和系統(tǒng)復(fù)位信息9. tfgt完成與終端測試有關(guān)的任務(wù)10. l2信令處理模塊的功能是按照swap信令協(xié)議規(guī)范的要求完成二層信令的處理,包括要與終端之間透傳的信令信息和需要二層處理的信令信息11. 管理/控制信息處理模塊完成網(wǎng)管發(fā)來的管理和控制指令的解釋及執(zhí)行工作及話務(wù)統(tǒng)計工作12. 錯誤處理模塊主要完成各部分發(fā)來的各種設(shè)備管理信息分析統(tǒng)計,發(fā)現(xiàn)異常就上報網(wǎng)管13. 底層信令接收模塊完成來自l1信令接口(dsp)的信令信息的解析及分發(fā)工作,內(nèi)容包括:二層信令包的重組、二層信令包有效性檢驗等14. 底層信令發(fā)送模塊的功能是完成去往l1信令接口

19、(dsp)的信息的匯總、打包及發(fā)送工作,內(nèi)容包括:發(fā)往一層的信令包的分拆打包、發(fā)送等15. 系統(tǒng)資源管理模塊是一個公共模塊,負責向其他模塊提供必需的定時器、內(nèi)存管理、進程通信管理等功能 圖2 dbc系統(tǒng)的軟件系統(tǒng)圖 tsys ttmm ttmr tfgt tbdg tbad tdb tch v5 protocol超級終端bscgpsbsp二層到三層的消息隊列smc2三層到二層的消息隊列l(wèi)1信令處理接口底層信令接收模塊底層信令發(fā)送模塊l2信令處理模塊管理/控制信息處理模塊smc1系統(tǒng)資源管理模塊(包括定時器、內(nèi)存、中斷等)錯誤處理模塊網(wǎng)口scc18980,e1(ds21354)scc2高層信息收

20、發(fā)模塊圖2-4 應(yīng)用軟件系統(tǒng)圖表1中列出了應(yīng)用程序所擁有的全部任務(wù)、任務(wù)所用的隊列及其長度、任務(wù)所分配的優(yōu)先級,這些參數(shù)僅做參考,可能會在調(diào)試過程中根據(jù)情況做相應(yīng)的調(diào)整。任務(wù)優(yōu)先級分配的原則是:與定時器有關(guān)的任務(wù)優(yōu)先級最高,與接口有關(guān)的任務(wù)優(yōu)先級次之,信令處理任務(wù)優(yōu)先級再次之,監(jiān)視、告警、顯示任務(wù)的優(yōu)先級最低。(二層任務(wù)的優(yōu)先級要高于三層)。表1 系統(tǒng)中各任務(wù)定義任務(wù)分類任務(wù)名稱任務(wù)id宏定義通信機制(隊列/信號量)隊列長度優(yōu)先級l2二層主任務(wù)(由它創(chuàng)建二層其他的任務(wù))tl2main二層定時器任務(wù)(50ms運行一次,給其它二層任務(wù)提供定時器資源)ttimerprocsem_id timer1s

21、emid160/150收發(fā)sharc數(shù)據(jù)的接口任務(wù)tinitssisem_id receivescc2ssisemid200/168透傳終端上發(fā)的swap l3信令tair2clumsg_q_id air_in_l3_qid256220/176透傳下發(fā)給終端的swap l3信令tclu2airmsg_q_id clu_in_l3_qid256220/176處理來自終端的上行信令,包括解包、重組、分發(fā)等;處理來自其他信令處理任務(wù)發(fā)來的下行信令,包括分解信令消息,打包成規(guī)定的swap l2信令包格式;tpktprocmsg_q_id ssi_in_qid256220/176處理來自終端和三層的需二

22、層處理的信令tl2procmsg_q_id l2_proc_qid256220/176處理來自網(wǎng)管和三層的管理指令tcluinctrlmsg_q_id clu_in_qid256230/220與三層的數(shù)據(jù)接口任務(wù)(下行數(shù)據(jù)的接收、分發(fā),上行數(shù)據(jù)的發(fā)送)tmsgprocsem_id receivescc4transsemid msg_q_id clu_out_qid256200/170l3與三層系統(tǒng)相關(guān)任務(wù)tl3mainnum_tsys84hqsys100與二層的通訊協(xié)議任務(wù)tsmcnum_tsmc87hqsmc receivevc5410amsgqid2000112/176tsmc_emunu

23、m_tsmc_emuqsmc_emu2000117/183與gps模塊通信相關(guān)任務(wù)tgpscnum_tgpsc9ehqgpsc10176/230tgpsnum_tgps9dhqgps10176/230qgps_data1qgpstm1receivesmc2msgqid300與數(shù)據(jù)庫相關(guān)任務(wù)tdbnum_tdb0x82qtdb1000136/186qdbtm1與呼叫處理任務(wù)tchnum_tch81hqtch100096/180與v5協(xié)議相關(guān)任務(wù)receivescc2msgqid1000e1tasknum_te10x95qe1100096/180v5commtasknum_tv5comm0x9bq

24、v5comm200096/180dltasktdl0x96qdl100096/180qdl0tm1tbccnum_tbcc0x92qbcc1000144/200qbcctm1tmlnum_tml0xa2qml1000144/200tl3num_tl30xa3qtl31000144/200qtl3tm1000l1fsmtasknum_tl1fsm00x98ql1fsm100152/220ql1fsm0tm1三層定時器任務(wù)timernum_timer8ehqtimer100085/152時間管理任務(wù)ttmmnum_ttmm83hqttmm10080/152與報警維護相關(guān)任務(wù)tbadnum_tbad

25、8dhqbad500129/240掃描時鐘源tscnnum_tscn0x89h96/156監(jiān)視輸出信息tdbgnum_tdbg90hqdbg4000192/246qscc2000128/246話務(wù)統(tǒng)計tctanum_tctaqcta1000160/160測試任務(wù)tfgtnum_tfgtqfgt2000160/200qfgtdb1testnum_testqtest_data100qtest1000160/200空任務(wù)task_nullnum_tnul2552.3.2 處理流程圖2-5是整個軟件系統(tǒng)的總體工作流程圖,在系統(tǒng)入口處創(chuàng)建所有系統(tǒng)的任務(wù)、消息隊列、初始化全局變量、信號量等。各任務(wù)開始運行

26、后,各自進入一個消息循環(huán),從對應(yīng)的消息隊列中取消息進行處理,完成自己的任務(wù)。開始初始化變量、定時器、創(chuàng)建所需任務(wù)、消息隊列、信號量等進入多任務(wù)循環(huán)等待調(diào)度狀態(tài)(vxworks)接收來自系統(tǒng)的消息tsys隊列消息tdb隊列消息其他三層隊列消息tsys任務(wù)消息處理tdb任務(wù)消息處理其他三層任務(wù)消息處理tch隊列消息tch任務(wù)消息處理三層消息處理二層消息處理clu_out_qid隊列消息clu_in_qid 隊列消息l2_proc_qid隊列消息tmsgproc任務(wù)消息處理tcluinctrl任務(wù)消息處理tl2proc任務(wù)消息處理clu_in_l3_qid air_in_l3_qid隊列tair2c

27、lu tclu2air任務(wù)消息處理tpktproc任務(wù)消息處理ssi_in_qid隊列消息告警、監(jiān)示、gps消息處理圖2-5 應(yīng)用軟件整體流圖開始 bsc側(cè)來的消息,scc2 interrupt handle e1task任務(wù)處理dltask任務(wù)處理(該任務(wù)處理遵循q921協(xié)議的處理模型)將消息發(fā)給tch、tbcc、tml任務(wù)處理 其他任務(wù)處理tch進行狀態(tài)遷移將送往二層的消息放入二層要處理的消息隊列3層swap信令管理/維護信息透傳給l1轉(zhuǎn)發(fā)給管理消息處理任務(wù)所有包處理完畢?yn2層swap信令轉(zhuǎn)發(fā)給2層信令處理任務(wù)結(jié)束2.3.2.1 下行數(shù)據(jù)(bscbts l1)處理流程圖2-6 下行數(shù)據(jù)

28、處理流圖(1) bsc側(cè)來的消息由860的scc2接收后(驅(qū)動的中斷任務(wù)中完成),送入消息隊列receivescc2msgqid(2) e1task任務(wù)從消息隊列receivescc2msgqid中取消息,判斷是否是有效的v52鏈路層消息,若是送到消息隊列qdl中(3) dltask任務(wù)從消息隊列qdl中取消息,根據(jù)協(xié)議進行相應(yīng)的處理,并將消息送入相應(yīng)的消息隊列(qtch、qbcc、qml)(4) tch、tbcc、tml任務(wù)各自從消息隊列中取消息進行處理,同時,tch根據(jù)呼叫的情況進行相應(yīng)的狀態(tài)遷移(5) 三層其它任務(wù)進行處理(6) 將送往二層處理的消息放入二層要處理的消息隊列(7) 二層任

29、務(wù)從二層要處理的消息隊列中取消息,判斷若是3層swap信令就通過一二層的驅(qū)動接口透傳給一層,若是2層swap信令就由二層信令處理任務(wù)進行處理,若是管理維護信息就由管理維護任務(wù)處理,直到所有的消息處理完畢2.3.2.2 上行數(shù)據(jù)(l1btsdbc)處理流程(1) 二層與一層的驅(qū)動接口接收來自終端的數(shù)據(jù)(2) 二層進行處理,是調(diào)試信息就顯示輸出;是管理維護消息就進行管理維護;是信令就將信令解包,組裝成swap信令送其它任務(wù)進行處理(3) 需要送往三層處理的消息放入三層要處理的消息隊列中(4) tsmc從上面(3)中的消息隊列中取消息進行處理、分析,并將消息進行分發(fā),送往相應(yīng)的消息隊列,同時,tch

30、任務(wù)根據(jù)情況進行狀態(tài)遷移(5) v5commtask將送往bsc的消息送入dltask(6) dltask任務(wù)將送往bsc的消息填入發(fā)送到bsc的發(fā)送緩沖區(qū)(7) 驅(qū)動接口將發(fā)送緩沖區(qū)的數(shù)據(jù)發(fā)送給bsc tsmc任務(wù)處理系統(tǒng)中相關(guān)任務(wù)對消息進行處理(包括tch、tbcc、tml)v5commtask任務(wù)處理tch任務(wù)中進行狀態(tài)遷移將消息填入bsc的發(fā)送緩沖區(qū),等待發(fā)送。驅(qū)動接口將數(shù)據(jù)發(fā)送給bsc處理任務(wù)dltask任務(wù)進行處理接收l1數(shù)據(jù)保存一層調(diào)試信息并從超級終端顯示處理來自l1的告警/維護信息有告警?ny把l1的維護信息發(fā)給錯誤處理模塊向網(wǎng)管上報告警信息信令消息解包,組裝成swap信令,轉(zhuǎn)

31、發(fā)給其它信令處理任務(wù)處理l1的信令將送往三層的消息放入三層要處理的消息隊列圖2-7 上行數(shù)據(jù)處理流圖3 接口設(shè)計3.1 外部接口3.1.1 用戶接口調(diào)試、告警、出錯信息可通過串口輸出到超級終端上,供調(diào)試和分析使用。3.1.2 硬件接口增強型基站系統(tǒng)的硬件結(jié)構(gòu)如下圖所示(結(jié)構(gòu)的詳細說明參考所列文獻1):3.1.3 軟件接口主要是與驅(qū)動部分的接口。3.1.3.1 設(shè)備驅(qū)動部分增強型基站需要由mpc860提供的驅(qū)動主要包括三部分:第一部分是bsp,見3.1.3.1.1節(jié);第二部分是mpc860串行接口及gpio驅(qū)動,見3.1.3.1.2節(jié);第三是接口芯片驅(qū)動,見3.1.3.1.3節(jié)。此外還包括其它一

32、些驅(qū)動,見3.1.3.1.4節(jié)。圖3-1為簡化了的增強型基站mcv單板框圖,目的是為了更清楚地了解需要由mpc860提供哪些驅(qū)動。 圖3-1 簡化的增強型基站mcv單板框圖由上圖可見,需要由mpc860提供以下驅(qū)動:(下面的編號與圖3-1中的編號對應(yīng))(1)mpc860的smc1 uart驅(qū)動,具體見3.1.3.1.2.1節(jié);(2)mpc860的smc2 uart驅(qū)動,具體見3.1.3.1.2.2節(jié);(3)mpc860的scc1 ethernet驅(qū)動,具體見3.1.3.1.2.3節(jié);(4)mpc860的tdma驅(qū)動和scc2 hdlc驅(qū)動,具體見3.1.3.1.2.4節(jié)和3.1.3.1.2.5

33、節(jié);(5)mpc860的scc3 uart驅(qū)動,具體見3.1.3.1.2.6節(jié);(6)mpc860的scc4 transparent驅(qū)動,具體見3.1.3.1.2.7節(jié);(7)mpc860的i2c驅(qū)動和溫度傳感器ad7414驅(qū)動,具體分別見3.1.3.1.2.8節(jié)和3.1.3.1.3.5節(jié);(8)mpc860的gpio驅(qū)動以及由gpio控制的硬件看門狗、濕度傳感器、led的驅(qū)動,具體分別見3.1.3.1.2.9節(jié)、3.1.3.1.4.4節(jié)、3.1.3.1.3.6節(jié)和3.1.3.1.4.5節(jié)。(9)flash存儲器驅(qū)動,具體見3.1.3.1.3.1節(jié);(10)e1芯片ds21354驅(qū)動,具體見3

34、.1.3.1.3.2節(jié);(11)交換芯片mt8980驅(qū)動,具體見3.1.3.1.3.3節(jié);(12)nvsram驅(qū)動,具體見3.1.3.1.3.4節(jié);(13)fpga boot、mdm_dsp和vcc_dsp boot(通過link port)、vc5416 boot(通過mcbsp2),具體分別見3.1.3.1.4.1節(jié)、3.1.3.1.4.2節(jié)和3.1.3.1.4.3節(jié); (14)對mdm_dsp、vcc_dsp、vc5416、gps的復(fù)位,具體見3.1.3.1.4.6節(jié)。(15)860的總線和fpga相連以讀寫一些buffer,進行其它控制。3.1.3.1.7 bsp(board supp

35、ort package)bsp由wind river提供,支持mpc860系列處理器。系統(tǒng)加電啟動后首先運行該模塊,其功能是完成系統(tǒng)啟動引導(dǎo),包括:有限的硬件初始化工作、存儲區(qū)分配、系統(tǒng)資源(中斷、定時器)初始化、串口和以太網(wǎng)口初始化等;之后將加載vxworks內(nèi)核鏡像,并將處理器控制權(quán)交給vxworks操作系統(tǒng)。增強型基站項目所需的bsp以分布式基站中dbc上mcl板的bsp為模板,在此基礎(chǔ)上根據(jù)本系統(tǒng)的硬件設(shè)計加以修改即可,主要是存儲器及外圍設(shè)備的片選和存儲空間映射,系統(tǒng)時鐘的設(shè)置。mpc860地址空間分配如下表所示:表2 mpc860地址空間分配chip selectcontroller

36、descriptionaddress rangempc_cs0gpcm用于選中bootrom 512k8bits0x02800000 - 0x0287ffffmpc_cs1upma用于選中sdram 2m32bits4banks0x00000000 - 0x01ffffffmpc_cs2gpcm用于選中flash 8m16bits0x30000000 - 0x30ffffffmpc_cs3gpcm用于選中nvram 128k8bits0x03000000 - 0x0301ffffmpc_cs4gpcm用于選中交換芯片mt89l800x04000000 - 0x040000ffmpc_cs5gp

37、cm用于選中e1芯片ds21354(一) 2568bits0x05000000 - 0x050000ffmpc_cs6gpcm用于選中e1芯片ds21354 (二)2568bits0x06000000 - 0x060000ffmpc_cs7gpcm用于選中cpld0x07000000 - 0x070000ff用于選中fpga0x07100000 - 0x07100fffinternal registers of mpc8600xff000000 - 0xff00ffffmpc860各種存儲器件的地址空間在bsp文件rominit.s中的函數(shù)rominit中分配,mpc860對sdram的時序控

38、制和訪問控制也在此函數(shù)中完成。地址空間的劃分也應(yīng)該在bsp文件config.h中有所反映,即根據(jù)所劃分的存儲空間在其中定義相應(yīng)的地址分配常量。3.1.3.1.8 mpc860串行接口及gpio驅(qū)動3.1.3.1.2.1 smc1 uart驅(qū)動mpc860的smc1提供rs232串口功能,調(diào)試時可用作console口,單板生產(chǎn)時可用作測試口。其驅(qū)動本身由bsp提供,為了后期的單板測試,重新編寫了smc1 uart驅(qū)動。rs232電平轉(zhuǎn)換選用maxim的max3232。w smc1 uart驅(qū)動函數(shù)說明(1)函數(shù)原型 void init_smc1_uart (void)函數(shù)功能 將mpc860的s

39、mc1初始化為uart模式輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 外部函數(shù)。由init_all_chips()調(diào)用。(在文件sublib.c中)(2)函數(shù)原型 void smc1isr (void)函數(shù)功能 smc1中斷服務(wù)程序輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。在init_smc1_uart()中由函數(shù)intconnect()連接到中斷向量 iv_smc1。(3)函數(shù)原型 void smc1intprctask (void)函數(shù)功能 用于處理smc1中斷的任務(wù)輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。由init_smc1_uart()調(diào)用。(4)函數(shù)

40、原型 void smc1intprocess (void)函數(shù)功能 具體處理smc1中斷輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系驅(qū)動內(nèi)部函數(shù)。由smc1intprctask()調(diào)用。(5)函數(shù)原型 status smc1_send (uint8 *data, uint16 length)函數(shù)功能 通過smc1發(fā)送數(shù)據(jù)輸入?yún)?shù) data 指向要發(fā)送的數(shù)據(jù);length 要發(fā)送的數(shù)據(jù)的長度(以字節(jié)為單位)輸出參數(shù) 無返回值 ok(發(fā)送成功)或error(發(fā)送失?。┱{(diào)用關(guān)系外部函數(shù)。由上層軟件調(diào)用。(6)函數(shù)原型 status smc1_display (uint8 *data, uint16 l

41、ength)函數(shù)功能 通過smc1在超級終端顯示字符串輸入?yún)?shù) data 指向要顯示的字符串;length 要顯示的字符串的長度(以字節(jié)為單位)輸出參數(shù) 無返回值 ok(發(fā)送成功)或error(發(fā)送失?。┱{(diào)用關(guān)系外部函數(shù)。由上層軟件調(diào)用。w 與上層軟件的接口 函數(shù):1status smc1_send (uint8 *data, uint16 length)2status smc1_display (uint8 *data, uint16 length) 消息隊列:msg_q_id receivesmc1msgqid(由上層軟件創(chuàng)建,是上層軟件存放由smc1 uart接收的來自pc機的數(shù)據(jù)的消息

42、隊列。) 信號量:sem_id sendsmc1semid(由上層軟件創(chuàng)建,smc1以uart方式發(fā)送完成后釋放該信號量,通知上層軟件該通道處于空閑狀態(tài)。)3.1.3.1.2.2 smc2 uart 驅(qū)動mpc860的smc2提供rs232串口功能,實現(xiàn)與gps的通信。rs232電平轉(zhuǎn)換選用maxim 的max3232或其它廠家的類似產(chǎn)品。w smc2 uart驅(qū)動函數(shù)說明(1)函數(shù)原型 void init_smc2_uart (void)函數(shù)功能 將mpc860的smc2初始化為uart模式輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 外部函數(shù)。由init_all_chips()調(diào)用。(在文件

43、sublib.c中)(2)函數(shù)原型 void smc2isr (void)函數(shù)功能 smc2中斷服務(wù)程序輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。在init_smc2_uart()中由函數(shù)intconnect()連接到中斷向量 iv_smc2。(3)函數(shù)原型 void smc2intprctask (void)函數(shù)功能 用于處理smc2中斷的任務(wù)輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。由init_smc2_uart()調(diào)用。(4)函數(shù)原型 void smc2intprocess (void)函數(shù)功能 具體處理smc2中斷輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)

44、系 驅(qū)動內(nèi)部函數(shù)。由smc2intprctask()調(diào)用。(5)函數(shù)原型 status smc2_send (uint8 *data, uint16 length)函數(shù)功能 通過smc2發(fā)送數(shù)據(jù)輸入?yún)?shù) data 指向待發(fā)送的數(shù)據(jù);length 待發(fā)送的數(shù)據(jù)的長度(以字節(jié)為單位)輸出參數(shù) 無返回值 ok(發(fā)送成功)或error(發(fā)送失?。┱{(diào)用關(guān)系 外部函數(shù)。由上層軟件調(diào)用。w 與上層軟件的接口 函數(shù):status smc2_send (uint8 *data, uint16 length) 消息隊列:msg_q_id receivesmc2msgqid(由上層軟件創(chuàng)建,是上層軟件存放由smc2

45、 uart接收的來自gps的數(shù)據(jù)的消息隊列。) 信號量:sem_id sendsmc2semid(由上層軟件創(chuàng)建,smc2以uart方式發(fā)送完成后釋放該信號量,通知上層軟件該通道處于空閑狀態(tài)。)3.1.3.1.2.3 scc1 ethernet驅(qū)動mpc860的scc1提供ethernet接口,調(diào)試時可下載程序。其驅(qū)動由bsp提供。3.1.3.1.2.4 tdma驅(qū)動mpc860的tdma接到mt8980,由它將信令交換到e1線路的第16時隙。w tdma驅(qū)動函數(shù)說明(1)函數(shù)原型 void init_tsa (void)函數(shù)功能 初始化mpc860的tsa以使scc2 通過tdma進行通信。

46、scc2使用timeslot 16。輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 外部函數(shù)。由init_all_chips()調(diào)用。(在文件sublib.c中)3.1.3.1.2.5 scc2 hdlc驅(qū)動mpc860的scc2在mpc860內(nèi)部與tdma連接,完成mpc860與bsc的信令交換。mpc860與bsc之間是一條hdlc鏈路,所以scc2要配置成hdlc模式。w scc2 hdlc驅(qū)動函數(shù)說明(1)函數(shù)原型 void init_scc2_hdlc (void)函數(shù)功能 將mpc860的scc2初始化為hdlc模式輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 外部函數(shù)。由init_al

47、l_chips()調(diào)用。(在文件sublib.c中)(2)函數(shù)原型 void scc2isr (void)函數(shù)功能 scc2中斷服務(wù)程序輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。在init_scc2_hdlc()中由函數(shù)intconnect()連接到中斷向量 iv_scc2。(3)函數(shù)原型 void scc2intprctask (void)函數(shù)功能 用于處理scc2中斷的任務(wù)輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。由init_scc2_hdlc()調(diào)用。(4)函數(shù)原型 void scc2intprocess (void)函數(shù)功能 具體處理scc2中斷輸入?yún)?shù)

48、 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。由scc2intprctask()調(diào)用。(5)函數(shù)原型 status scc2_hdlc_send (uint8 *data, uint16 length)函數(shù)功能 通過scc2發(fā)送數(shù)據(jù)輸入?yún)?shù) data 指向待發(fā)送的數(shù)據(jù);length 待發(fā)送的數(shù)據(jù)的長度(以字節(jié)為單位)輸出參數(shù) 無返回值 ok(發(fā)送成功)或error(發(fā)送失?。┱{(diào)用關(guān)系 外部函數(shù)。由上層軟件調(diào)用。w 與上層軟件的接口 函數(shù):status scc2_hdlc_send (uint8 *data, uint16 length) 消息隊列:msg_q_id receivescc2m

49、sgqid(由上層軟件創(chuàng)建,是上層軟件存放由scc2 hdlc接收的來自e1(bsc)的數(shù)據(jù)的消息隊列。) 信號量:sem_id sendscc2semid(由上層軟件創(chuàng)建,scc2以hdlc方式發(fā)送完成后釋放該信號量,通知上層軟件該通道處于空閑狀態(tài)。)3.1.3.1.2.6 scc3 uart驅(qū)動mpc860的scc3提供rs232串口功能,作為外部監(jiān)控口,如監(jiān)控電源模塊的電壓。w scc3 uart驅(qū)動函數(shù)說明(1)函數(shù)原型 void init_scc3_uart (void)函數(shù)功能 將mpc860的scc3初始化為uart模式輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 外部函數(shù)。由in

50、it_all_chips()調(diào)用。(在文件sublib.c中)(2)函數(shù)原型 void scc3isr (void)函數(shù)功能 scc3中斷服務(wù)程序輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。在init_scc3_uart()中由函數(shù)intconnect()連接到中斷向量 iv_scc3。(3)函數(shù)原型 void scc3intprctask (void)函數(shù)功能 用于處理scc3中斷的任務(wù)輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。由init_scc3_uart()調(diào)用。(4)函數(shù)原型 void scc3intprocess (void)函數(shù)功能 具體處理scc3中斷輸入?yún)?shù) 無輸出參數(shù) 無返回值 無調(diào)用關(guān)系 驅(qū)動內(nèi)部函數(shù)。由scc3intprctask()調(diào)用。(5)函數(shù)原型 status scc3_uart_send (uint8 *data, uint16 length)函數(shù)功能 通過scc3發(fā)送數(shù)據(jù)輸入?yún)?shù) data 指向待發(fā)送的數(shù)據(jù);length 待發(fā)送的數(shù)據(jù)的長度(以字節(jié)為單位)輸出參數(shù) 無返回值 ok(發(fā)送成功)或error(發(fā)送失?。┱{(diào)用關(guān)系 外部函數(shù)。由上層軟件調(diào)用。w 與上層軟件的接口 函數(shù):status scc3_uart_send (uint8 *data, uin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論