亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux下PowerPC與FPGA通信接口的設(shè)計(jì)與實(shí)現(xiàn)

        2019-04-28 05:57:58劉旸
        電子技術(shù)與軟件工程 2019年3期
        關(guān)鍵詞:嵌入式信號(hào)設(shè)備

        文/劉旸

        1 引言

        現(xiàn)代社會(huì)對(duì)嵌入式雙核系統(tǒng)的需求越來越大,同時(shí)Linux的巨大優(yōu)勢(shì)使得它在嵌入式領(lǐng)域的應(yīng)用備受關(guān)注。本文中的硬件平臺(tái)采用國(guó)產(chǎn)CCFC9000PA(一下簡(jiǎn)稱C9000)嵌入式微處理器和JXCSX95T(以下簡(jiǎn)稱95T)FPGA芯片,在嵌入式Linux系統(tǒng)下設(shè)計(jì)并實(shí)現(xiàn)了CPU與FPGA之間的硬件接口以及相應(yīng)的驅(qū)動(dòng)程序、測(cè)試程序,完整地實(shí)現(xiàn)并驗(yàn)證了該雙核通信接口的設(shè)計(jì)。

        2 硬件接口設(shè)計(jì)

        C9000處理器有一個(gè)外部總線控制模塊即External Bus Controlloer(EBC控制器)。CPU通過此存儲(chǔ)控制器與外部設(shè)備進(jìn)行數(shù)據(jù)的傳輸。目前能支持的外部設(shè)備包括ROM、EPROM、SRAM、Flash等。因此CPU可以經(jīng)過EBC總線控制器與95T內(nèi)部的RAM進(jìn)行數(shù)據(jù)傳輸。C9000與95T的硬件電路如圖1所示。

        C9000通過外部總線與95T進(jìn)行數(shù)據(jù)通信,即CPU發(fā)出相應(yīng)的使能信號(hào)、讀寫信號(hào)以及地址信號(hào),然后通過16位數(shù)據(jù)總線實(shí)現(xiàn)與FPGA內(nèi)部SRAM的讀寫交互。另外,當(dāng)95T有數(shù)據(jù)需要上報(bào)到C9000時(shí),95T將產(chǎn)生中斷通知C9000,C9000收到此中斷后,發(fā)起對(duì)95T的讀操作。控制信號(hào)說明如表1所示。

        表1:控制信號(hào)說明

        圖1:C9000與95T的硬件連接

        3 軟件接口的設(shè)計(jì)與實(shí)現(xiàn)

        3.1 驅(qū)動(dòng)模塊的設(shè)計(jì)

        圖2:驅(qū)動(dòng)主要流程

        圖4:測(cè)試結(jié)果

        在本系統(tǒng)中的軟件設(shè)計(jì)主要是Linux下的FPGA設(shè)備驅(qū)動(dòng)程序。在 Linux下,設(shè)備驅(qū)動(dòng)程序位于應(yīng)用程序和硬件之間,為二者傳遞數(shù)據(jù)、消息等。Linux應(yīng)用程序可以通過設(shè)備驅(qū)動(dòng),把硬件設(shè)備當(dāng)成一個(gè)普通文件進(jìn)行操作。本驅(qū)動(dòng)的主要功能有:

        (1)注冊(cè)FPGA設(shè)備、申請(qǐng)中斷等;

        (2)接收并處理來自FPGA的中斷信號(hào),然后接收FPGA發(fā)送來的數(shù)據(jù);

        (3)將CPU側(cè)的數(shù)據(jù)寫入FPGA內(nèi)部RAM,即發(fā)送數(shù)據(jù)到FPGA設(shè)備。

        驅(qū)動(dòng)主要流程如圖2所示。

        3.2 驅(qū)動(dòng)模塊的實(shí)現(xiàn)

        在Linux內(nèi)核中,file_operations結(jié)構(gòu)體是字符設(shè)備驅(qū)動(dòng)的操作接口。本系統(tǒng)中的文件操作結(jié)構(gòu)體定義如下:struct fi le_operations FPGA_fops = {

        open主要用于提供驅(qū)動(dòng)初始化,首先調(diào)用ioremap(addr,size)把95T的內(nèi)部RAM映射到一個(gè)驅(qū)動(dòng)程序可以訪問的虛擬地址上 去:fpga_base=ioremap (FPGA_PHY_START,FPGA_PHY_SIZE)。其次,在打開設(shè)備時(shí)通過request_irq(GPIO_IRQ,FPGA_ISR,0,DEV_NAME,NULL)申請(qǐng)95T發(fā)送來的中斷。close執(zhí)行與open相反的操作。

        在通過ioremap將95T內(nèi)部RAM的物理地址映射成Linux虛擬地址后,驅(qū)動(dòng)模塊就可以通過標(biāo)準(zhǔn)的讀寫函數(shù)訪問95T內(nèi)部RAM了。讀寫函數(shù)原型如下:

        unsinged int readw(void *address);

        void writew(unsinged int data,void*address);

        當(dāng)應(yīng)用程序通過read函數(shù)調(diào)用驅(qū)動(dòng)中的FPGA_read時(shí),如果FPGA設(shè)備暫無數(shù)據(jù)可供CPU讀取時(shí),進(jìn)程進(jìn)入休眠。如果95T有數(shù)據(jù)需要上報(bào)C9000,95T將通過下降沿中斷通知C9000可以進(jìn)行讀操作了,open函數(shù)中注冊(cè)的中斷程序FPGA_ISR會(huì)接收此中斷,完成讀操作。讀操作主要通過調(diào)用readw和copy_to_user將讀取到的數(shù)據(jù)從內(nèi)核空間傳入用戶空間,完成應(yīng)用層的讀操作。寫操作與讀操作類似,不再重復(fù)。

        3.4 測(cè)試

        測(cè)試方案如圖3所示:測(cè)試程序使用pthread_create系統(tǒng)函數(shù)創(chuàng)建讀寫子線程,讀線程負(fù)責(zé)接收來自95T的數(shù)據(jù);同時(shí),寫線程向95T發(fā)送數(shù)據(jù)。如果接受和發(fā)送的數(shù)據(jù)一致,則測(cè)試通過。測(cè)試結(jié)果如圖4所示。

        4 結(jié)束語(yǔ)

        隨著現(xiàn)代半導(dǎo)體產(chǎn)業(yè)的發(fā)展,嵌入式雙核系統(tǒng)必將迎來廣闊的發(fā)展。本文系統(tǒng)地介紹了一種CPU和 FPGA雙核通信接口的設(shè)計(jì)方案,實(shí)現(xiàn)并驗(yàn)證了數(shù)據(jù)的雙向傳輸。

        猜你喜歡
        嵌入式信號(hào)設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        基于LabVIEW的力加載信號(hào)采集與PID控制
        原來他們都是可穿戴設(shè)備
        中文字幕在线人妻视频| 亚洲综合精品伊人久久 | 久久久国产精品| 人人爽人人澡人人人妻| 亚洲综合中文字幕乱码在线| 自拍视频国产在线观看| 中文字幕高清不卡视频二区| 少妇做爰免费视频了| 国产suv精品一区二区| 亚洲中文字幕av天堂| 偷偷夜夜精品一区二区三区蜜桃| 色噜噜亚洲男人的天堂| 亚洲男人的天堂网站| 日韩精品国产自在欧美| 日韩亚洲国产中文字幕| 丰满人妻熟妇乱又仑精品| 品色永久免费| 2021国产最新无码视频| 国产精品中文字幕日韩精品| 狠狠色狠狠色综合网| 三上悠亚久久精品| 96精品免费视频大全| 精品少妇一区二区三区入口| 五月综合激情婷婷六月| 藏春阁福利视频| 久久精品国产亚洲AV高清wy | 人妻中文字幕av有码在线| 第一九区另类中文字幕| 正在播放国产多p交换视频| 亚洲精品国产成人AV| 精品一区二区三区长筒靴| 亚洲免费国产中文字幕久久久 | 乱人伦人妻中文字幕不卡| 深夜黄色刺激影片在线免费观看 | 在教室轮流澡到高潮h免费视| 国产精品嫩草99av在线| 免费一级毛片在线播放不收费| 中文字幕人成乱码中文乱码| 国产变态av一区二区三区调教| 久久99久久99精品中文字幕| 无码人妻系列不卡免费视频|