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

基于EIM總線傳輸的數據通信接口設計實現

2019-04-28 12:24:23喬霖李永紅岳鳳英
現代電子技術 2019年24期

喬霖 李永紅 岳鳳英

摘 要:以Freescale公司LMX6系列的ARM處理器及Xilinx公司的Kintex_7系列FPGA為核心的硬件平臺,介紹了一種通過EIM總線接口傳輸的ARM與FPGA之間的數據通信設計實現方法。文中簡單概述了EIM總線數據通信的功能特點及異步通信的基本原理,基于Linux嵌入式操作設計完成EIM總線接口驅動代碼開發,通過VHDL硬件語言配置數據通信邏輯,結合測試代碼通過EIM接口對FPGA的相關寄存器進行讀寫測試,通過ChipScope設置信號觸發,完成通信數據采集與驗證。通過該通信接口的研究設計,實現ARM系統與FPGA之間的高速數據互聯通信,實時性強,傳輸速率高。該技術已成功運用于某型多功能總線數據采集板卡設計。

關鍵詞:通信接口;EIM總線;異步通信;通信邏輯;讀寫測試;通信驗證

中圖分類號:TN913-34;TP274

文獻標識碼:A

文章編號:1004-373X( 2019) 24-0092-04

0 引言

隨著高速數字信號處理技術的發展,ARM嵌入式設備外設控制要求不斷增加,單一的ARM嵌入式處理設備應用開發越來越難以滿足日趨復雜產品的應用需求,而伴隨著可編程邏輯器件FPAG的廣泛拓展應用,為ARM嵌入式設備功能擴展研發提供了一種有效的解決辦法。作為嵌入式技術發展的重要方向,兩者之間數據交互通信,為復雜的高速數字信號處理業務提供了完善的硬件解決方案[1-3]。作為該平臺設計方案的核心,如何實現兩者之間的高速通信配置是該方案設計的技術難點。

I.MX6系列多媒體應用處理器是Freescale公司面向解決多媒體和顯示應用的最靈活設計開發平臺,具有多核可擴展和低功耗、性能和完備的集成度等優勢。基于ARM9rM,ARM Cortex-A9等內核處理器技術,為快速增長的消費電子、汽車和工業市場應用提供較好的需求解決方案[4]。EIM總線是Freescale公司I.MX6系列芯片的重要并行數據總線接口,主要用于同外設芯片或外部存儲器進行數據傳輸,實現異步訪問帶SRAM接口的外設器件或者同步訪問帶NOR FLASH或PSRAM等接口的外設器件[5]。本文采用Freescale公司的I.MX6Q處理器及Xilinx公司的Kintex_7系列FPGA為核心的硬件設計平臺,連接EIM總線接口設計實現ARM Cortex-A9處理器與FPGA之間的高速數據通信。該技術方法實現從Linux操作系統應用到FPGA的底層數據鏈路通信,可作為相關高速數字信號采集與處理的平臺設計研發關鍵性技術參考,有效地降低了相關項目開發難度,縮短了研發周期。

1 EIM總線概述

EIM總線是I.MX6Q處理器與外部片外和存儲器設備之間數據通信的重要并行總線接口,可為其提供片選、時鐘和讀、寫邏輯控制等功能。作為I.MX6Q與外設芯片之間重要的并行通信總線接口,EIM總線接口通信具有數據傳輸實時性強、誤碼率低、外設可擴展等優點,它具有以下幾方面技術特點:

1)可同時支持多達4個片選信號,靈活的地址空間配置,每個片選分區空間可通過VIA端口自由分配;

2)支持自由選擇和定義分區尋址空間,最高可同時滿足6個尋址空間獨立定義和配置;默認每個獨立片區支持128 MB尋址空間;

3)每個獨立片選具備可選的寫保護引腳,支持16 bit/32 bit復用地址/數據模式;

4)支持X8,X16和X32的數據位大小配置,每個片選空間讀/寫通道具有獨立的等待狀態控制信號;

5)異步訪問模式支持可編程的控制信號保持和建立時序,可編程的自由或固定的讀、寫潛伏期時序配置,支持異步頁面訪問模式;

6)支持同步內存突發讀/寫模式訪問NOR-FLASH和PSRAM等存儲設備;

7)支持大/小端點訪問操作模式,RDY-INT信號設置外部中斷功能和定義外部啟動信號等;

8)通過AXI總線協議進行數據通信,支持直接存儲訪問( Direct Memory Access,DMA)數據傳輸技術。

EIM總線通過配置控制寄存器MUM,SRD,SWR等模式控制位,支持異步訪問模式、異步頁面模式、多路復用地址數據模式、突發時鐘模式、低功耗模式及啟動模式等工作模式[6]。這些工作模式下,根據DSZ位可改變支持8 bit,16 bit或32 bit數據位大小。

2 系統設計

數據通信接口模塊設計通過EIM接口實現ARM與FPGA之間的數據鏈路通信,通信模塊連接結構如圖1所示。Freescale公司I.MX6Q系列處理器芯片支持擴展4個ARM Cortex_A9內核,運行頻率最高可達1.2 GHz,支持USB 2.0,IEEE 1588以太網,SD/MMC,SPI,MIPl-HIS等豐富的外設擴展端口[7-8]。處理器內部特殊的哈佛指令和數據分離結構,即實現系統運行性能最優化,又充分地利用了系統存儲資源空間。Kintex_7系列FPGA是Xilinx公司性價比最高的新型現場可編程門陣列器件,該系列FPGA芯片串行帶寬達800 Gb/s、478 KB邏輯處理單元、34 Mbit分布塊RAM,高性能選擇1/0技術支持最高1 866 Mb/s的DDR3接口,內置DSP模塊25x18乘法器、48位累加器和高性能濾波預加器,峰值性能可達2 845 GMAC/s,高速串行收發器最高可支持到12.5 Gb/s的數據傳輸速率[9]。

3 EIM驅動開發

EIM總線驅動開發是完成從FPGA數據采集與ARM應用層數據通信的關鍵,為底層硬件與應用APP之間通信提供標準的Linux驅動接口[10-11]。EIM總線接口設計配置EIM_CSnGCR1控制寄存器支持如圖2所示的幾種地址/數據復用配置模式,本設計采用MUM=1和DSZ=O01復用16 bit地址/數據模式,地址線和數據線復用EIM_DA[15:0]引腳,節約引腳數量,減少對其他外設模塊影響,地址空間范圍為Ox08000000- Ox0800FFFF。由于EIM總線存在端口功能復用,根據配置要求修改端口MUX模式,修改Linux內核board - mx6q_sabreauto.h文件。

EIM總線配置寄存器用于控制通信時序信息、數據/地址接口數據寬度、片選分區尋址空間設置等,通用寄存器配置完成EIM總線接口初始化,定義接口數據傳輸的控制性參數,EIM總線配置通信時序如圖3所示。根據硬件平臺設計要求CSnGCR1通用控制寄存器配置操作模式,MUM=1開啟地址/數字總線復用模式,SRD=SWR=1,配置數據讀、寫傳輸為異步模式,設置突發長度BL為4個數據字節,設置數據為DS2[2:0]=001,DATA[15:0]對應16 bit數據位,設置EIM讀和寫配置寄存器CSORCRi和CSOWCRI定義BE,CS,WE,OD及ADV等控制信號建立和保持時鐘時序等信息。

void mx6q_setup_weimcs ( void )

{

unsigned int reg;

void _ iomem *eim_reg = oremap (WEIM_BASE_ADDR,Ox20) ;

void _ iomem *ccm_reg = ioremap (CCM_BASE_ADDR,Ox80) ;

if( !eim_reg) {printk ( "error iomem eim_reg\n" ) ; }

if( !ccm_reg) {printk( "error iomem ccm_reg\n" ) ; }

/* For CCM Serial Clock Multiplexer Register *l

/*CCM_CSCMRI : Divicer for aclk_eim_slow *l

reg = readl(ccm_reg + OxIC) ;

reg&=-(Ox60000000);

reg b Ox00380000;

writel(reg, ccm_reg+ OxlC);

/*For CCM Clock Gating Register 6*/

/*CLKCTL_CCGR6: Set emi_slow_clock to be on in allmodes*/

reg= readl( ccm_reg+ Ox80);

reg I= OxOOOOOCOO;

writel(reg, ccm_reg+ Ox80);

/*For EIM General Configuration registers.*/

writel( Ox07f13089, eim_reg);

writel( Ox00000001, eim_reg+ Ox00000004);

/* For EIM Read Configuration registers. CSORCRI,CSORCR2;e/

writel( Ox18022072, eim_reg+ Ox00000008);

writel( OxOOOOb068, eim_reg+ OxOOOOOOOC);

/* For EIM Write Configuration registers. CSOWCRl,CSOWCR2 */,

writel( Oxd863ffe6, eim_reg+ Ox00000010);

writel( Ox00000000, eim_reg+ Ox00000014):

printk(”WEIM init end. CSOGCRl_is%x\n”, readl( eim_reg));

iounmap( eim_reg);

iounmap( ccm_reg);

在系統內核文件board-mx6q_sabreauto.c中,為完成EIM接口與FPGA之間通信,添加數據通信各類操作函數,如:imx6_baseboard_init/exit函數提供EIM總線初始化配置和資源卸載;eim_request_irq配置FPGA數據中斷請求;eim_write/read_datl6提供基于CSO尋址空間的讀、寫數據,地址接口映射等。通過修改imx6q-sabreau-to_gpmi-weim.dts文件中參數,注冊使能weim-nor驅動程序,完成接口驅動加載配置[12]。

4 邏輯實現

為保證EIM總線通信數據傳輸的正確性,邏輯讀寫時序參數需與I.MX6Q驅動寄存器配置保持一致,邏輯設計采用VHDL硬件語言編寫,采用模塊化編碼思想,充分考慮代碼功能復用。邏輯程序按照功能可劃分為FIFO存儲單元、數據采集單元和讀/寫控制邏輯單元。讀操作周期中,數據采集單元將數據緩存至FIFO存儲器空間,等待EIM接口數據傳輸讀操作控制。將待讀寄存器地址寫入EIM地址總線Addr[15:0],通過EIM—LBA信號提示FPGA鎖存地址,對應邏輯預設FIFO存儲器地址,拉低片選CSO信號后,使能FPGA讀設備;拉低OE輸出使能,同時釋放地址線,將對應FIFO存儲器數據寫人EIM數據總線Data[15:0];經過Tr時間拉高OE使能信號,讀取總線數據,完成EIM總線讀操作周期。除OE,BE讀/寫控制信號外,讀寫操作邏輯程序基本類似,讀/寫邏輯數據控制流程如圖4所示。5測試

FPGA根據驅動時序編寫測試程序,初始化內部寄存器值為Ox0000。通過ARM應用驅動讀寫函數,對EIM總線數據接口模塊進行寄存器讀寫通信測試。寫入FPGA內部定義地址寄存器OxOAOO-OxOAOF依次寫入數據位OxOOO01-OxOOOF,然后再通過EIM接口,讀對應位寫人數據,結合FPGA軟件集成環境ChipScope設置信號LBA下降沿觸發,捕捉數據波形,驗證通信數據采集正確性。采集測試讀寫操作時序如圖5、圖6所示,根據測試數據分析表明,通過EIM總線數據通信接口設計實現基本數據傳輸功能,滿足處理器之間數據通信功能要求。

6 結論

本文根據多功能數據總線采集與處理應用項目需求,基于Freescale公司I.MX6Q處理器及Xilinx公司Kin-tex_7系列FPGA為核心的硬件平臺,研究實現了一種通過EIM總線接口傳輸的ARM與FPGA之間的數據通信方法。通過系統地分析EIM接口通信特點,重點介紹了EIM接口設計軟件驅動程序開發和邏輯控制的具體實現,通過系統互聯通信測試,驗證了接口數據通信的正確性,該設計滿足接口數據通信需求。結果表明,該技術方法適用于其他類似相關處理器平臺通信設備應用場合,具有一定的設計參考價值。

參考文獻

[1]張高健,楊剛,楊霖,等.基于ARM+FPGA的多路廣播音頻處理系統[J].電聲技術,2015( 12):68-70.

ZHANG Gaojian, YANG Gang, YANG Lin, et al.Multiplexbroadcasting audio processing system based on ARM and FP-GA [J]. Audio engineering, 2015( 12): 68-70.

[2]朱曉鵬,肖鐵軍,趙蕙.ARM+FPGA的實時數據采集系統設計[J].計算機T程與設計,2009,30( 13):3088-3090.

ZHU Xiaopeng, XIAO Tiejun. ZHAO Hui. System design ofreal-time data acquisition based on ARM and FPGA [J]. Com-puter engineering and design, 2009, 30( 13): 3088-3090.

[3]常秀清.基于Linux系統的EIM接口數據傳輸方法[J].無線電工程, 2016.46(6):18-22.

CHANG Xiuqing.A data transmission method for EIM inter-face based on Linux operation system[J].Radio engineering,2016, 46(6):18-22.

[4] NXP Semiconductor. Embedded solutions based on ARM tech-nology guide [M]. Austin: Freescale. 2014.

[5]陳崇森,基于i.MX6Q+FPGA平臺Android下EIM總線接口設計[J].現代計算機,2016( 13):60-65.

CHEN Chongsen. Design of EIM bus interface based on i.MX6Q+FPGA platform under Android [J]. Modern computer,2016(13):60-65.

[6] NXP Semiconductor. i.MX6Dual/6Quad applications processorreference manual [M]. Austin: Freescale, 2017.

[7] NXP Semiconductor.i. MX6 series of applications processors[M]. Austin: Freescale, 2017.

[8]杜培軍,閆帥,劉錦高.基于i.MX6車載音視頻系統的設計和實現[J].電子設計工程,2015,23( 20):185-188.

DU Peijun, YAN Shuai, LIU Jingao. Design and implementa-tion of vehicle audio and video system hased on i.MX6 [J].Electronic design engineering, 2015. 23(20): 185-188.

[9] Xilinx.7 Series FPGAs data sheet: overview[M]. San Jose:Xilinx. 2017.

[10]宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社.2010.

SONG Baohua. Embedded Linux device driver development[M]. Beijing: Ports&Telecom Press, 2010.

[11]韓少云,嵌入式Linux驅動程序實戰開發[M].北京:北京航空航天大學出版社 , 2012.

HAN Shaoyun. Implementation of embedded Linux devicedriver development [M]. Beijing: Beijing University of Aero-nautics and Astronautics Press. 2012.

[12] NXP Semiconductor. i.MX reference manual [M]. Austin : Fre-escale. 2018.

作者簡介:喬霖(1993-),男,山西臨汾人,碩士,研究方向為動態測試與智能儀器。

李永紅(1967-),男,山西臨汾人,碩士生導師,教授,研究方向為衛星/微慣性組合導航技術、飛行器彈載數據記錄儀、

常規彈藥制導與控制。

岳鳳英(1977-),女,山西忻州人,碩士生導師,副教授,研究方向為導航、制導與控制,檢測技術與自動化裝置。

主站蜘蛛池模板: 亚洲精品高清视频| 中文字幕啪啪| 999精品色在线观看| 国产幂在线无码精品| 久草国产在线观看| 亚洲一区免费看| 真人免费一级毛片一区二区| 曰韩免费无码AV一区二区| 亚洲精品va| 中国国产高清免费AV片| 国产精品熟女亚洲AV麻豆| 蜜臀AV在线播放| 小蝌蚪亚洲精品国产| 香蕉视频在线精品| 91久久偷偷做嫩草影院电| 欧美日韩久久综合| 久久久亚洲色| 五月丁香伊人啪啪手机免费观看| 国产一区二区网站| 99视频精品全国免费品| 特级精品毛片免费观看| 亚洲第一香蕉视频| 狠狠色综合网| 中文字幕日韩久久综合影院| 国产精品尤物在线| 亚洲精品高清视频| 欧美日本在线观看| 欧美午夜性视频| 亚洲伊人天堂| 欧美久久网| 91口爆吞精国产对白第三集| 欧美亚洲第一页| 国内毛片视频| 超清无码熟妇人妻AV在线绿巨人| 久久香蕉国产线看观看亚洲片| 亚洲国产日韩视频观看| 性色一区| 欧美精品一二三区| 精品综合久久久久久97超人该| 高清无码一本到东京热 | 玩两个丰满老熟女久久网| 日本不卡在线视频| 久久久精品无码一二三区| 丁香六月激情综合| 伊人成人在线| 天天摸夜夜操| 久久国产高潮流白浆免费观看| 九九热这里只有国产精品| 欧美亚洲国产一区| 黄片一区二区三区| 成人精品在线观看| 91在线视频福利| 久久人搡人人玩人妻精品一| 国产在线视频福利资源站| 国产主播喷水| 人妻精品久久无码区| 国产女人在线视频| www.亚洲色图.com| 国产美女在线免费观看| 亚洲欧美日韩成人高清在线一区| 国产乱人乱偷精品视频a人人澡| 久久夜色撩人精品国产| 久久综合色天堂av| 99在线视频免费| 爱爱影院18禁免费| 免费人成在线观看视频色| 精品伊人久久久久7777人| 国产福利观看| 欧美精品在线免费| 久久美女精品| 91视频99| 91精品日韩人妻无码久久| 欧美亚洲一区二区三区在线| 97视频在线观看免费视频| www.日韩三级| 亚洲无线一二三四区男男| 亚洲制服丝袜第一页| 亚洲另类国产欧美一区二区| 伊人成人在线| 亚洲中文精品久久久久久不卡| 欧美成人影院亚洲综合图| 精品91自产拍在线|