• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于Microblaze的用戶接口電路設計

      2019-09-10 21:25:32高璽璟張志國
      計算機與網(wǎng)絡 2019年6期
      關(guān)鍵詞:嵌入式系統(tǒng)

      高璽璟 張志國

      摘要:針對電路交換和軟交換中廣泛應用的SLIC接口電路,提出了一種基于Xilinx軟核Microblaze為主控CPU的設計方案,給出了系統(tǒng)設計的全過程,包括基于EDK軟件環(huán)境搭建硬件平臺、IP核的制作和加載,以及軟件平臺的開發(fā)。通過SPI接口實現(xiàn)對SLIC芯片的控制,SLIC接口芯片采用SI公司的SI32260,實現(xiàn)完整的BORSCH功能。設計最大限度地利用FPGA的內(nèi)部資源,釋放了大量IO并簡化了PCB設計,提高了系統(tǒng)的可靠性。

      關(guān)鍵詞:嵌入式系統(tǒng);Microblaze;軟核;用戶接口

      中圖分類號:TP331文獻標志碼:A文章編號:1008-1739(2019)06-67-2

      0引言

      近年來,基于FPGA的嵌入式系統(tǒng)設計與開發(fā)取得了突飛猛進的發(fā)展,F(xiàn)PGA不再僅僅只是一個邏輯器件,而是集成了CPU核與豐富外設的可編程片上系統(tǒng)SOPC[1]。用戶線接口電路SLIC是電路交換、軟交換系統(tǒng)中不可或缺的用于提供模擬電話的接口[2]。SLIC接口有2種實現(xiàn)方式,一種是采用集成SLIC芯片及外圍電路,另外一種是采用分立模擬器件搭建電路。采用SLIC芯片,具有開發(fā)周期短、集成度高和易于維護等優(yōu)點,成為SLIC接口開發(fā)的主要方式。SI公司主流的SLIC接口芯片支持SPI控制接口和PCM數(shù)字音頻接口,提供SLIC接口。Microblaze是XILINX SPANTAN系列FPGA內(nèi)部的32位微處理器軟核,作為CPU完成多路SLIC芯片的控制[3-4]。

      1硬件系統(tǒng)

      1.1硬件總體設計

      硬件主要包括硬件平臺的搭建和FPGA邏輯設計[5]。使用 XILINX集成開發(fā)環(huán)境XPS完成基于Microblaze的系統(tǒng)平臺搭建[6],配置所需的各種外設;設計時序邏輯,并作為定制IP核加載到Microblaze外設總線[7];使用EDK完成系統(tǒng)軟件的編譯,與硬件可執(zhí)行文件合并,實現(xiàn)對SLIC芯片的控制,完成用戶接口電路完整的BORSCHT功能。

      1.2搭建硬件平臺

      基于Microblaze的硬件平臺如圖1所示[8-9]。

      以FPGA軟核Microblaze為核心,搭建一個具有SPI接口、外設接口EPC、外部存儲器接口EMC、串口、外部中斷接口和GPIO接口的系統(tǒng)。一組SPI總線完成對SLIC芯片的控制,另一組SPI總線連接FPGA的配置芯片F(xiàn)lash,系統(tǒng)上電首先運行Boot Loader程序,將主程序從Flash加載到外部RAM,加載完成時程序跳轉(zhuǎn)至RAM執(zhí)行。EPC接口連接至邏輯IP核的雙口RAM,用于控制字的讀取和狀態(tài)字的寫入;邏輯IP核使用VHDL語言編寫邏輯代碼,完成交換機總線到SLIC芯片的PCM總線時隙調(diào)整,每路控制字、狀態(tài)字寫入對應的雙口RAM,定時給CPU發(fā)送中斷等邏輯功能,做成一個IP核加載到Microblaze上[10]。

      1.3 FPGA邏輯設計

      FPGA邏輯設計主要完成交換機總線接口、CPU接口、雙口RAM的時序調(diào)整和邏輯控制。頂層文件完成外部接口描述和各個模塊之間的連接關(guān)系。交換機總線是程控交換機主控板與外圍板之間通過時分復用收發(fā)信令、PCM的一組總線。交換機總線接口通過串并轉(zhuǎn)換將收到的每一路控制字存入雙口RAM對應位置,CPU只讀。CPU接口完成Microblaze對雙口RAM的讀寫。CPU將每路SLIC的狀態(tài)字寫入雙口RAM,交換機總線接口通過并串轉(zhuǎn)換在對應時隙將狀態(tài)字發(fā)給交換機。為了使雙口RAM兩側(cè)的讀寫不沖突,CPU對雙口RAM的讀寫與狀態(tài)字、控制字的收發(fā)不在同一幀。

      2軟件系統(tǒng)

      2.1軟件開發(fā)流程

      SDK提供了豐富的函數(shù)庫和實例,方便開發(fā)。system.mss包含系統(tǒng)所有接口的定義及函數(shù)的實例,用戶可以利用這些實例快速地編寫軟件。

      硬件平臺導出至SDK后,SDK新建Boot Loader和主程序2個工程。Boot Loader工程為FPGA加載完成后的啟動程序,完成主程序從Flash到外部RAM的搬運,主程序完全搬運到RAM中后,程序跳轉(zhuǎn)至RAM中運行,軟件流程圖如圖2所示。

      2.2主程序設計

      主程序完成SLIC芯片的初始化和軟件流程控制,主程序流程圖如圖3所示。

      Microblaze初始化包括SPI控制器初始化、中斷向量初始化和通用引腳(GPIO)初始化。Microblaze系統(tǒng)平臺搭建完畢以后會自動為每種設備分配基地址和設備類型字,Xilinx公司提供了各種IP核的API函數(shù),通過這些函數(shù)用戶可以很容易地實現(xiàn)對IP核的控制。MAIN程序中主要包括SPI控制器初始化函數(shù)、中斷初始化函數(shù)、GPIO初始化函數(shù)和SPI讀寫函數(shù)。

      SLIC芯片初始化包括直流饋電設置、鈴流設置、時隙分配設置和中斷使能設置,初始化完成后SLIC接口就產(chǎn)生饋電電壓。通過SPI接口和GPIO接口配合使用實現(xiàn)對多路SLIC芯片的控制。CPU的SPI接口的CS信號連接至數(shù)據(jù)緩沖器的使能端,每一路SLIC芯片的CS通過數(shù)據(jù)緩沖器用一個GPIO來控制。

      2.3雙口RAM地址映射

      CPU通過外部設備控制器(EPC)讀寫存于雙口RAM的控制字和狀態(tài)字,F(xiàn)PGA完成串并轉(zhuǎn)換和交換機總線信令的收發(fā)。FPGA的邏輯IP核對,定時給CPU發(fā)送一個外部中斷,CPU對狀態(tài)字、控制字進行一次更新。IP核對背板來的信令進行串并轉(zhuǎn)換,并順序存入雙口RAM。交換機總線控制字、狀態(tài)字的讀寫,通過數(shù)組來完成雙口RAM地址映射。

      2.4中斷程序設計

      對控制字和狀態(tài)字的處理是在中斷程序內(nèi)完成的。控制字用于控制用戶端口的各種功能;Microblaze根據(jù)收到的控制字,通過SPI接口對SLIC芯片對應寄存器進行更新,從而控制話機振鈴及停鈴等。狀態(tài)字用于描述用戶端口的各種工作狀態(tài),SLIC芯片檢測到話機摘機后通過SPI接口上報給Microblaze,Microblaze更新雙口RAM上報狀態(tài)字。外部中斷定時觸發(fā)一次中斷程序,完成控制字和狀態(tài)字的更新,并控制SLIC芯片完成BORSCHT功能。

      3關(guān)鍵技術(shù)問題分析

      3.1定制IP核的制作

      IP核的制作過程是將用戶自己用VHDL或者Verilog HDL語言編寫的邏輯源程序做成一個外設加載到XPS工程。源文件主要由源程序和網(wǎng)表文件2種文件組成。需要注意的是,XPS不支持VHDL和Verilog HDL混合編程。在實際應用中,尤其是FPGA邏輯是由幾個研發(fā)人員共同編寫的,有時會出現(xiàn)幾個源文件是用不同的語言編寫的情況。在這種情況下,需要先用ISE進行混合編程,生成網(wǎng)表文件,再加入到XPS中。

      把IP核用到的所有源程序文件和網(wǎng)表文件放于指定目錄下,編寫mpd文件、pao文件和bbd文件,按照外設導入向?qū)У牟襟E加入到XPS工程中。

      3.2軟硬件平臺的融合

      Xilinx硬件平臺的搭建和軟件的編譯是分開進行的。XPS搭建好硬件平臺以后,需要生成硬件可執(zhí)行文件,導出至SDK,SDK完成軟硬件的融合。

      3.3 Flash加載

      系統(tǒng)上電以后,F(xiàn)PGA加載啟動程序,啟動程序加載完成后完成主程序從Flash到外部RAM的搬運,當主程序完全搬運到RAM中后,程序跳轉(zhuǎn)至RAM中運行。

      啟動程序和系統(tǒng)硬件通過EDK編譯為一個可執(zhí)行文件,主程序工程編譯為另一個可執(zhí)行文件,二者是通過批處理腳本文件合并生成一個mcs固件燒寫到Flash。腳本文件定義了主程序的起始地址。

      4結(jié)束語

      通過XPS搭建基于Microblaze的硬件平臺,外圍邏輯制作成IP核加載到CPU,基于SDK編譯控制軟件,實現(xiàn)對SLIC接口芯片的控制,提高系統(tǒng)可靠性,降低了成本。

      參考文獻

      [1]楊強浩.基于EDK的FPGA嵌入式系統(tǒng)開發(fā)[M].北京:機械工業(yè)出版社,2008.

      [2]劉晨暉,任勇峰,李輝景,等.基于FPGA的多接口PCM傳輸系統(tǒng)的設計[J].電子器件,2016,39(2):324-328.

      [3]吳志勇,郭元興,劉雨沁.基于FPGA的波特率連續(xù)可調(diào)的UART接口設計[J].通信技術(shù),2018(1):252-256.

      [4]趙澤才,常青.基于Microblaze的嵌入式系統(tǒng)設計[J].現(xiàn)代電子技術(shù),2006,29(10):56-57.

      [5]劉安,禹衛(wèi)東,馬小兵,等.基于FPGA的高速串行數(shù)據(jù)收發(fā)接口設計[J].電子技術(shù)應用,2017(6):48-51.

      [6]單超,王萍,朱愛民,等.基于Microblaze軟核的嵌入式系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2011,11(3):18-21.

      [7]路后兵.Xilinx FPGA的嵌入式系統(tǒng)開發(fā)過程[J].單片機與嵌入式系統(tǒng)應,2012,12(11):32-34.

      [8]劉雨沁,郭元興,劉繼平.基于FPGA的SDIO通信接口的設計實現(xiàn)[J].通信技術(shù),2017,50(11):2632-2636.

      [9]張強,王華,蘇宏鋒,等.基于Xilinx FPGA的硬件協(xié)處理器設計[J].數(shù)字技術(shù)與應用,2017(4):173-174.

      [10]阮芳,馮永新.基于Xilinx Microblaze的嵌入式I/O系統(tǒng)設計與實現(xiàn)[J].電子器件,2008,31(2):626-630.

      猜你喜歡
      嵌入式系統(tǒng)
      Teaching Research on IoT and—Embedded System of Software Engineering
      計算機教育(2016年8期)2016-12-24 10:34:05
      基于Xilinx口袋實驗室的組合邏輯電路設計實驗
      面向應用的智能專業(yè)嵌入式系統(tǒng)教學
      基于物聯(lián)網(wǎng)的遠程紅外控制器
      嵌入式系統(tǒng)軟件開發(fā)技術(shù)探析
      基于AVR單片機的SPI接口設計與實現(xiàn)
      辦公自動化系統(tǒng)的設計
      嵌入式系統(tǒng)在醫(yī)療器械中的應用分析
      基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學改革的研究與實踐
      嵌入式系統(tǒng)課程“中斷、異常與事件”教學實踐及啟示
      計算機教育(2016年7期)2016-11-10 08:31:34
      巴塘县| 资源县| 徐闻县| 河曲县| 大港区| 河津市| 沭阳县| 开鲁县| 临武县| 凭祥市| 岑巩县| 南丹县| 天峻县| 博白县| 莫力| 三门峡市| 高碑店市| 大宁县| 亳州市| 临汾市| 新余市| 保定市| 赤壁市| 辽中县| 扎兰屯市| 广安市| 金平| 车致| 探索| 吉林市| 砚山县| 班戈县| 许昌市| 恩施市| 达孜县| 南和县| 常德市| 惠安县| 湘乡市| 襄樊市| 武功县|