999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種FPGA中PowerPC最小系統(tǒng)故障分析及改進

2020-05-25 02:46:05曹孟剛
中國新通信 2020年1期

曹孟剛

摘要:FPGA具有豐富的可編程I/O引腳、邏輯宏單元、門電路以及RAM空間,在嵌入式領域的廣泛應用。本文以FPGA使用中一種設計缺陷進行分析并進行了改進。

關鍵詞:FPGA;PowerPC最小系統(tǒng);故障分析及改進

0引言

本PowerPC最小系統(tǒng)故障為通訊模塊中偶發(fā)故障。通訊模塊由FPGA電路與協(xié)議芯片電路組成,處理GJB289A總線數(shù)據(jù)時,應用端數(shù)據(jù)通過PCI總線送到FPGA內(nèi)部的雙端口RAM緩沖區(qū),F(xiàn)PGA內(nèi)部的PowerPC405將數(shù)據(jù)從雙口RAM中搬移至GJB289A總線協(xié)議芯片中,再通過GJB289A總線協(xié)議芯片轉換成GJB289A總線格式的數(shù)據(jù)在總線上傳輸;CIM模塊從GJB289A總線接收到的數(shù)據(jù)也通過PowerPC405搬移至雙口,應用端通過雙口獲取到數(shù)據(jù);處理429總線數(shù)據(jù)時,應用端數(shù)據(jù)通過PCI總線送到FPGA內(nèi)部的雙端口RAM緩沖區(qū),F(xiàn)PGA內(nèi)部的PowerPC405將數(shù)據(jù)從雙口RAM中搬移至429總線協(xié)議芯片中,再通過429協(xié)議芯片轉換成429格式的數(shù)據(jù)在總線上傳輸;CIM模塊從429總線接收到的數(shù)據(jù)也通過PowerPC405搬移至雙口,應用端通過雙口獲取到數(shù)據(jù)。在FPGA內(nèi)部,包含兩個PowerPC405硬核,分別處理GIB289A總線的數(shù)據(jù)和429總線的數(shù)據(jù)。通訊模塊的設計原理框圖如圖1所示。

PowerPC最小系統(tǒng)由PowerPC405、PLB總線以及掛接在PLB總線上的RAM組成,其中,PowerPC405是運行總線數(shù)據(jù)處理軟件的處理器,PLB總線是處理器本地總線,RAM是PowerPC405中軟件的程序區(qū)、數(shù)據(jù)區(qū)及堆棧區(qū)的存儲空間。

應用端周期通過PCI總線訪問通訊模塊上BRAM1上的數(shù)據(jù)較短,當訪問周期較低時,PowerPC1偶發(fā)軟件運行異常。

一、故障機理分析

在通訊模塊的設計中,PPC405_1在運行時,通過PLB總線1訪問RAM1,進行取程序指令操作、讀寫程序數(shù)據(jù)、進棧出棧操作,同時在程序運行時,通過PLB總線1對1553協(xié)議芯片通信模塊進行讀寫訪問,通過PLB2OPB橋訪問掛接在OPB總線1上的BRAM1、中斷控制器IP核、timebase核。PPC405_2在運行時,通過PLB總線2訪問RAM2,進行取程序指令操作、讀寫程序數(shù)據(jù)、進棧出棧操作,同時在程序運行時,通過PLB2OPB橋訪問掛接在OPB總線1上的BRAM2,通過PLB2OPB橋訪問掛接在OPB總線2上的429通信模塊。

基于上述設計,在進行GJB289A總線通信發(fā)送數(shù)據(jù)時,CPU通過PCI官方IP核,訪問OPB總線1上掛接的BRAM1,將數(shù)據(jù)寫入BRAM1中。1553軟件通過PLB2OPB橋訪問掛接在OPB總線1上的BRAM1將數(shù)據(jù)從BRAM1中搬移至掛接在PLB總線1上的1553協(xié)議芯片通信模塊中。之后等待總線上來自總線控制器的消息命令,GJB289A總線協(xié)議芯片收到消息命令后,將已寫入的數(shù)據(jù)發(fā)送至總線上,之后發(fā)送消息結束中斷給FPGA,消息結束中斷通過中斷控制器核送給PPC405_1,PPC405_1中的軟件進入中斷服務程序執(zhí)行,在中斷服務程序中,首先通過PLB2OPB橋訪問掛接在OPB總線1上的中斷控制器核,讀取中斷狀態(tài)等寄存器,然后進入用戶的中斷服務程序執(zhí)行,在用戶的中斷服務程序中,存在對1553協(xié)議芯片通信模塊和BRAM1的訪問。

在上述程序運行及通信過程中,存在對PLB總線的頻繁訪問,導致PLB總線占用率過高,導致PPC405_1中的程序運行錯誤,出棧異常,導致PPC405_1訪問非法地址,該非法地址通過PLB2OPB橋傳到OPB總線上,導致OPB總線出現(xiàn)timeout現(xiàn)象,進而導致CPU通過PCI訪問BRAM1和BRAM2異常。程序運行錯誤導致程序進入0x0700異常處理中斷無法跳出,進而導致故障。

進一步分析OPB總線上出現(xiàn)訪問非法地址的原因,監(jiān)控PPC405內(nèi)部的軟件工作狀態(tài),通過軟件debug的方式進行監(jiān)控跟蹤,發(fā)現(xiàn)出現(xiàn)故障時,程序運行出棧異常,堆棧溢出,程序訪問了非法空間,該非法空間通過PLB2OPB橋傳到OPB總線上,導致OPB總線上出現(xiàn)timeout信號。進一步通過debug的方式監(jiān)控PPC405的行為,發(fā)現(xiàn)出現(xiàn)異常后,軟件進入0x0700異常處理中斷執(zhí)行,且無法跳出。針對該現(xiàn)象,修改xilinx庫文件中的源文件,修改0x0700異常處理中斷程序,在該異常中斷中,讀取PLB和PLB2OPB橋的DCR寄存器,DCR寄存器中的值顯示,在出現(xiàn)故障后,PPC405處理異常,存在對非法空間的訪問,導致出現(xiàn)timeout信號。

更改軟件,將0x0700異常處理中斷掛接在用戶的中斷服務程序中,在用戶的中斷服務程序中增加GPIO輸出,通過示波器測量PPC405的中斷信號,發(fā)現(xiàn)在出現(xiàn)故障時,軟件在用戶掛接的中斷服務程序中,進入一次700異常中斷,之后中斷服務程序正常結束,但是在下一次中斷進入之前,PPC405反復進入700異常中斷。導致軟件運行無法恢復正常。

由于PowerPC405中的軟件運行時,需要通過PLB總線訪問RAM讀取程序指令,讀寫程序運行的數(shù)據(jù),并進行壓棧出棧等操作。因此針對PLB總線進行分析,通過查看PLB總線數(shù)據(jù)手冊可知,PLB總線不支持高總線占用率,詳見圖2。

二、優(yōu)化設計

在FPGA邏輯中將原來PLB總線上掛接的供PPC405軟件運行指令和數(shù)據(jù)的RAM去掉。啟用OCM,將PPC405中軟件的指令分配至isocm中運行,將數(shù)據(jù)分配至dsocm中運行。

主站蜘蛛池模板: 欧美激情视频在线观看一区| 欧美在线综合视频| 亚洲啪啪网| 亚洲精品无码在线播放网站| 天天综合网亚洲网站| 操国产美女| 亚洲an第二区国产精品| 亚洲精品亚洲人成在线| 无码 在线 在线| 亚欧美国产综合| 日日拍夜夜嗷嗷叫国产| 亚洲精品不卡午夜精品| 综合色天天| 无码精品一区二区久久久| 精品一區二區久久久久久久網站| 尤物国产在线| 国产在线精品美女观看| 久久精品亚洲中文字幕乱码| 日韩精品毛片| 成人午夜天| 国产一级视频在线观看网站| 国产精品网曝门免费视频| 国产青榴视频在线观看网站| 毛片手机在线看| 午夜三级在线| 国产69精品久久| 18禁不卡免费网站| 午夜高清国产拍精品| 欧美日韩国产在线观看一区二区三区 | 玖玖精品视频在线观看| 国产欧美在线观看一区 | 在线色国产| 亚洲精品人成网线在线| 免费久久一级欧美特大黄| 亚洲成肉网| 无码福利日韩神码福利片| 成人va亚洲va欧美天堂| 日韩小视频在线观看| 久久国产V一级毛多内射| 久操中文在线| vvvv98国产成人综合青青| 日本欧美午夜| www.亚洲色图.com| 久久亚洲天堂| 青青青视频免费一区二区| 99在线免费播放| 欧美性爱精品一区二区三区| 亚洲人网站| 国产白浆一区二区三区视频在线| 国产主播在线观看| 在线无码av一区二区三区| 亚洲 欧美 偷自乱 图片| 日韩最新中文字幕| 国产毛片片精品天天看视频| 国产成人精品免费视频大全五级| 亚洲码在线中文在线观看| 中文字幕久久精品波多野结| 亚洲综合色吧| 色久综合在线| 精品无码一区二区在线观看| 精品99在线观看| 日韩欧美中文| 香蕉eeww99国产在线观看| 精品91视频| 最新亚洲av女人的天堂| 久久人妻xunleige无码| 日日噜噜夜夜狠狠视频| 国产原创第一页在线观看| 成人va亚洲va欧美天堂| 色九九视频| 91在线无码精品秘九色APP| 最新亚洲人成无码网站欣赏网| 狠狠综合久久久久综| 精品剧情v国产在线观看| 国产特级毛片| 亚洲中文字幕精品| 亚洲AV人人澡人人双人| 日韩毛片基地| 国产在线精品人成导航| 狠狠色婷婷丁香综合久久韩国| 欧美性精品| 国产精品久久精品|