1GPMC并口簡介
GPMC(General Purpose Memory Controller)是TI處理器特有的通用存儲器控制器接口,是AM335x、AM437x、AM5708、AM5728等處理器專用于與外部存儲器設(shè)備的接口,如:
● 類似于異步SRAM內(nèi)存和專用集成電路(ASIC)設(shè)備。
●異步,同步,和頁面模式(僅適用于非復(fù)用模式)突發(fā)NOR閃存設(shè)備。
●NAND閃存。
●ADC器件。

圖 1GPMC概述
2GPMC并口特點(diǎn)
為什么工業(yè)領(lǐng)域在與FPGA/ADC通信的時(shí)候,更喜歡使用GPMC接口呢?本文給出3個(gè)理由,那就是:高帶寬、連接模式豐富、配置靈活。具體如下:
PS:下文將介紹基于AM570x GPMC的ARM + FPGA通信案例、多通道AD(AD7606/ADS8568)采集綜合案例。
(1)高帶寬,速率可達(dá)100MB/s以上
以AM57x為例,通過GPMC接口與FPGA連接,采用DMA的方式讀取FPGA端的數(shù)據(jù),速度可達(dá)69MB/s,實(shí)際上通過配置GPMC接口的時(shí)序參數(shù)和不同工作模式,速率可超過100MB/s。
(2)連接模式豐富,靈活的8位和16位異步存儲器接口
由于有g(shù)pmc_ad[15:0] 16個(gè)信號引腳可支持地址線與數(shù)據(jù)線復(fù)用和非復(fù)用模式,這讓GPMC與外設(shè)的連接模式變得很豐富,可以和寬范圍的外部設(shè)備通信,如:
●外部異步或同步8-bit位寬內(nèi)存或設(shè)備(非突發(fā)設(shè)備)
●外部異步或同步16-bit位寬內(nèi)存或設(shè)備
●外部16-bit非復(fù)用NOR Flash設(shè)備
●外部16-bit地址和數(shù)據(jù)復(fù)用NOR Flash設(shè)備
●外部8-bit和16-bitNAND Flash設(shè)備
●外部16-bit偽SRAM(pSRAM)設(shè)備
下面介紹幾種連接模式。
1)16-bit Address/Data Multiplexed(地址線與數(shù)據(jù)線復(fù)用模式)

圖 2
2)16-bit Nonmultiplexed(地址線與數(shù)據(jù)線非復(fù)用模式)

圖 3
3)8-bit Nonmultiplexed(地址線與數(shù)據(jù)線非復(fù)用模式)

圖 4
4)8-bitNAND(僅使用數(shù)據(jù)線模式)
此模式適用于無需地址線的場合,例如GPMC與NAND FLASH連接。NAND FLASH無需地址線,通過數(shù)據(jù)線D[x:0]發(fā)送讀寫命令,進(jìn)行數(shù)據(jù)讀取/寫入。

圖 5
(3)配置靈活,具有多達(dá)8個(gè)片選
GPMC基本編程模型提供了最大的靈活性,以支持八個(gè)可配置片選中不同的時(shí)序參數(shù)和位寬配置??筛鶕?jù)外部設(shè)備的特點(diǎn),使用最佳的片選設(shè)置。
●可選擇不同的協(xié)議,以支持通用異步或同步隨機(jī)訪問設(shè)備(NOR閃存,SRAM)或支持特定的NAND器件。
●地址和數(shù)據(jù)總線可在同一個(gè)外部總線上復(fù)用。
●讀和寫訪問可獨(dú)立定義為異步或同步。
●系統(tǒng)請求(字節(jié),16位字,突發(fā))是通過單次或多次訪問進(jìn)行。外部設(shè)備訪問配置文件(單或多個(gè)優(yōu)化的突發(fā)長度,本地包或仿真包)是基于外部設(shè)備特性(支持協(xié)議,總線寬度,數(shù)據(jù)緩沖區(qū)大小,本地包支持)。
●系統(tǒng)突發(fā)讀或?qū)懻埱笫峭酵话l(fā)(多個(gè)讀,或多個(gè)寫)。在沒有突發(fā)或頁面模式時(shí)是由外部存儲器或ASIC設(shè)備支持,系統(tǒng)突發(fā)讀或?qū)懻埱筠D(zhuǎn)換為連續(xù)單一的同步或異步訪問(單一讀,或單一寫)。僅在單一同步或 單一異步讀或?qū)懩J较轮С?位寬的設(shè)備。
為了模擬一個(gè)可編程的內(nèi)部等待狀態(tài),一個(gè)外部等待引腳可被監(jiān)控,以在開始(初始訪問時(shí)間)和突發(fā)訪問期間動(dòng)態(tài)的控制外部訪問。

圖 6GPMC框圖
3GPMC并口應(yīng)用案例
創(chuàng)龍科技基于AM5708、AM5728設(shè)計(jì)的工業(yè)評估板——TL570x-EVM、TL5728-EasyEVM,由核心板和評估底板組成。核心板經(jīng)過專業(yè)的PCB Layout和高低溫測試驗(yàn)證,穩(wěn)定可靠,可滿足運(yùn)動(dòng)控制、工業(yè)PC、機(jī)器視覺、智能電力、視頻監(jiān)測等工業(yè)應(yīng)用環(huán)境。
* AM5708

圖7SOM-TL570x核心板

圖8TL570x-EVM開發(fā)板
* AM5728

圖9SOM-TL5728核心板

圖10TL5728-EasyEVM開發(fā)板


圖 11
本文講解基于AM570x GPMC的ARM + FPGA通信案例、多通道AD采集綜合案例。
3.1基于GPMC的ARM + FPGA通信案例
3.1.1案例功能
DSP端使用EDMA將數(shù)據(jù)搬運(yùn)到指定的內(nèi)存空間物理地址(GPMC片選基地址),再將數(shù)據(jù)讀取回來并保存到DSP端L2SRAM,并校驗(yàn)數(shù)據(jù)讀寫的正確性、計(jì)算數(shù)據(jù)讀寫速率。ARM端通過MessageQ發(fā)送讀寫地址與讀寫大小到DSP端,DSP端讀寫對應(yīng)內(nèi)存空間,并返回傳輸時(shí)間及傳輸速率到ARM端。GPMC的初始化由ARM端驅(qū)動(dòng)程序?qū)崿F(xiàn)。
程序工作流程框圖如下所示。

圖 12
3.1.2案例測試
將TL-HSAD-LX采集卡通過TL-HSAD-LX-PinBoard轉(zhuǎn)接板和軟排線,插到TL570x-EVM評估板的GPMC拓展接口J5上,并使用5V2A電源給TL-HSAD-LX采集卡供電,硬件連接圖如下。

圖 13

圖 14測試結(jié)果
EDMA單次傳輸數(shù)據(jù)大小為2KByte(0x800),總共循環(huán)100次。如需再次測試讀寫速度,請重新運(yùn)行DSP端程序。
從上圖可看到本次測試的誤碼率為0%(errcnt: 0);平均寫入時(shí)間約為101us,寫入速率約為38.53MB/s;平均讀取時(shí)間約為118us,讀取速率約為32.98MB/s。
備注:本次測試板卡通過軟排線的形式連接,軟排線的長度會影響誤碼率和讀寫帶寬,目前測得最高速率為38.53MB/s(寫入速率)。如將FPGA設(shè)計(jì)于底板,最高速率可到69MB/s(寫入時(shí)間為28us)
3.2基于GPMC的多通道AD采集綜合案例
3.2.1案例功能
AM570x DSP端使用EDMA通過GPMC接口采集AD7606或ADS8568模塊8通道的AD信號,同時(shí)由DSP端對其中6通道的AD信號進(jìn)行FFT處理,最后將8通道時(shí)域數(shù)據(jù)和經(jīng)FFT處理的6通道頻域數(shù)據(jù)保存到DSP端L2SRAM中,可通過仿真器與CCS軟件查看對應(yīng)通道的時(shí)域波形和頻域波形。
程序保存通道0的時(shí)域數(shù)據(jù)和經(jīng)FFT處理的頻域數(shù)據(jù)至CMEM(共享內(nèi)存)空間,通過IPC組件通知ARM端讀取該通道的時(shí)域數(shù)據(jù)和頻域數(shù)據(jù),使用Qt在LCD顯示屏上進(jìn)行波形繪制,最后將數(shù)據(jù)保存到文件中。
本案例默認(rèn)配置AD7606模塊采樣周期為6us,即采樣率約為167KHz;配置ADS8568模塊采樣周期分別為5us,即采樣率為200KHz。程序工作流程框圖如下所示:

圖 15
3.2.2案例測試
將Tronlong的TL7606I(AD7606)模塊或TL8568I(ADS8568)模塊插入評估板GPMC擴(kuò)展接口,并對模塊進(jìn)行獨(dú)立供電。TL7606I模塊使用5V電源供電,J1跳線帽連接到0,使用±5V量程。TL8568I模塊使用12V電源供電,軟件已配置為±12V量程。
將模塊的待測輸通道正確連接信號發(fā)生器,信號發(fā)生器輸出頻率為4KHz、峰峰值為2Vpp(即幅值為1V)的正弦波信號。待測信號電壓請勿超過模塊量程,否則可能會導(dǎo)致模塊損壞。評估板接入LCD顯示屏,并通過仿真器連接到PC機(jī)。硬件連接示意圖如下:

圖 16TL7606I模塊硬件連接示意圖

圖 17TL7606I模塊硬件連接示意圖

圖 18TL8568I模塊硬件連接示意圖
程序運(yùn)行后,即可在LCD顯示屏上看到通道0的時(shí)域波形和頻域波形。

圖 19時(shí)域波形

圖 20頻域波形
-
ARM
+關(guān)注
關(guān)注
134文章
9353瀏覽量
377795 -
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
27376 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6102瀏覽量
36319
發(fā)布評論請先 登錄
RK3576+紫光同創(chuàng)FPGA并口通信方案 基于DSMC/FlexBus并口的RK3576J與FPGA通信方案

TSW1400單獨(dú)與ADC 4229連接時(shí),ADC所需的時(shí)鐘頻率低頻可以嗎?
是否有專門應(yīng)用于energy monitoring的高速ADC?
使用ADC ads62PXX怎么保證數(shù)字輸出在上電后處于高阻狀態(tài)?
電線連接的革命——為何航空插頭成為連接器的佼佼者
請問ADC32xx的時(shí)鐘由FPGA直接輸出嗎?
THS1209 SYNC腳位的功能為何?
調(diào)試ADS8568時(shí),CPU與ADC連接的并口,因?yàn)楸?b class='flag-5'>ADC拉死,導(dǎo)致CPU無法啟動(dòng)怎么解決?
TI ADS42JB69系列JESD204B ADC與Altera FPGA的互操作性

請問ADC的電源產(chǎn)生的噪聲為何會反應(yīng)在ADC輸出數(shù)據(jù)的頻譜上?
如何將ADC10D1500與Virtex-7fpga評估板連接,用哪個(gè)連接器?
請問如何接收并處理ads8411的2Msps@16bit并行數(shù)據(jù)?
適用于 Microsemi? RTG4? FPGA 的 TI 航天級電源解決方案應(yīng)用手冊

開發(fā)用于將四個(gè)ADC通道連接到MCU/MPU的自定義多通道SPI

評論