隨著機(jī)器視覺(jué)系統(tǒng)應(yīng)用中分辨率的提高和壓縮算法的進(jìn)步,對(duì)系統(tǒng)性能和構(gòu)架靈活性提出了更高的要求,以實(shí)現(xiàn)系統(tǒng)的快速更新??蛇x擇的系統(tǒng)構(gòu)架包括標(biāo)準(zhǔn)單元ASIC,ASSP以及各種可編程解決方案,如數(shù)字信號(hào)處理器(DSP)或媒體處理器和FPGA。每種構(gòu)架都具有各自的優(yōu)缺點(diǎn),最終選擇取決于終端設(shè)備要求和解決方案的可用性。而在FPGA/ADC通信的時(shí)使用GPMC接口不僅能夠?qū)崿F(xiàn)高帶寬,而且還可以實(shí)現(xiàn)靈活配置。 1GPMC并口簡(jiǎn)介
GPMC(General Purpose Memory Controller)是TI處理器特有的通用存儲(chǔ)器控制器接口,是AM335x、AM437x、AM5708、AM5728等處理器專用于與外部存儲(chǔ)器設(shè)備的接口,如:
● 類似于異步SRAM內(nèi)存和專用集成電路(ASIC)設(shè)備。
●異步,同步,和頁(yè)面模式(僅適用于非復(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為例,通過(guò)GPMC接口與FPGA連接,采用DMA的方式讀取FPGA端的數(shù)據(jù),速度可達(dá)69MB/s,實(shí)際上通過(guò)配置GPMC接口的時(shí)序參數(shù)和不同工作模式,速率可超過(guò)100MB/s。
(2)連接模式豐富,靈活的8位和16位異步存儲(chǔ)器接口
由于有g(shù)pmc_ad[15:0] 16個(gè)信號(hào)引腳可支持地址線與數(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ù)線模式)
此模式適用于無(wú)需地址線的場(chǎng)合,例如GPMC與NAND FLASH連接。NAND FLASH無(wú)需地址線,通過(guò)數(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ī)訪問(wèn)設(shè)備(NOR閃存,SRAM)或支持特定的NAND器件。
●地址和數(shù)據(jù)總線可在同一個(gè)外部總線上復(fù)用。
●讀和寫訪問(wèn)可獨(dú)立定義為異步或同步。
●系統(tǒng)請(qǐng)求(字節(jié),16位字,突發(fā))是通過(guò)單次或多次訪問(wèn)進(jìn)行。外部設(shè)備訪問(wèn)配置文件(單或多個(gè)優(yōu)化的突發(fā)長(zhǎng)度,本地包或仿真包)是基于外部設(shè)備特性(支持協(xié)議,總線寬度,數(shù)據(jù)緩沖區(qū)大小,本地包支持)。
●系統(tǒng)突發(fā)讀或?qū)懻?qǐng)求是同步突發(fā)(多個(gè)讀,或多個(gè)寫)。在沒(méi)有突發(fā)或頁(yè)面模式時(shí)是由外部存儲(chǔ)器或ASIC設(shè)備支持,系統(tǒng)突發(fā)讀或?qū)懻?qǐng)求轉(zhuǎn)換為連續(xù)單一的同步或異步訪問(wèn)(單一讀,或單一寫)。僅在單一同步或 單一異步讀或?qū)懩J较轮С?位寬的設(shè)備。
為了模擬一個(gè)可編程的內(nèi)部等待狀態(tài),一個(gè)外部等待引腳可被監(jiān)控,以在開(kāi)始(初始訪問(wèn)時(shí)間)和突發(fā)訪問(wèn)期間動(dòng)態(tài)的控制外部訪問(wèn)。
圖 6GPMC框圖
3GPMC并口應(yīng)用案例
創(chuàng)龍科技基于AM5708、AM5728設(shè)計(jì)的工業(yè)評(píng)估板——TL570x-EVM、TL5728-EasyEVM,由核心板和評(píng)估底板組成。核心板經(jīng)過(guò)專業(yè)的PCB Layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿足運(yùn)動(dòng)控制、工業(yè)PC、機(jī)器視覺(jué)、智能電力、視頻監(jiān)測(cè)等工業(yè)應(yīng)用環(huán)境。
* AM5708
圖7SOM-TL570x核心板
圖8TL570x-EVM開(kāi)發(fā)板
* AM5728
圖9SOM-TL5728核心板
圖10TL5728-EasyEVM開(kāi)發(fā)板
本文講解基于AM570x GPMC的ARM + FPGA通信案例、多通道AD采集綜合案例。
3.1基于GPMC的ARM + FPGA通信案例
3.1.1案例功能
DSP端使用EDMA將數(shù)據(jù)搬運(yùn)到指定的內(nèi)存空間物理地址(GPMC片選基地址),再將數(shù)據(jù)讀取回來(lái)并保存到DSP端L2SRAM,并校驗(yàn)數(shù)據(jù)讀寫的正確性、計(jì)算數(shù)據(jù)讀寫速率。ARM端通過(guò)MessageQ發(fā)送讀寫地址與讀寫大小到DSP端,DSP端讀寫對(duì)應(yīng)內(nèi)存空間,并返回傳輸時(shí)間及傳輸速率到ARM端。GPMC的初始化由ARM端驅(qū)動(dòng)程序?qū)崿F(xiàn)。
程序工作流程框圖如下所示。
圖 12
3.1.2案例測(cè)試
將TL-HSAD-LX采集卡通過(guò)TL-HSAD-LX-PinBoard轉(zhuǎn)接板和軟排線,插到TL570x-EVM評(píng)估板的GPMC拓展接口J5上,并使用5V2A電源給TL-HSAD-LX采集卡供電,硬件連接圖如下。
圖 13
圖 14測(cè)試結(jié)果
EDMA單次傳輸數(shù)據(jù)大小為2KByte(0x800),總共循環(huán)100次。如需再次測(cè)試讀寫速度,請(qǐng)重新運(yùn)行DSP端程序。
從上圖可看到本次測(cè)試的誤碼率為0%(errcnt: 0);平均寫入時(shí)間約為101us,寫入速率約為38.53MB/s;平均讀取時(shí)間約為118us,讀取速率約為32.98MB/s。
備注:本次測(cè)試板卡通過(guò)軟排線的形式連接,軟排線的長(zhǎng)度會(huì)影響誤碼率和讀寫帶寬,目前測(cè)得最高速率為38.53MB/s(寫入速率)。如將FPGA設(shè)計(jì)于底板,最高速率可到69MB/s(寫入時(shí)間為28us)
3.2基于GPMC的多通道AD采集綜合案例
3.2.1案例功能
AM570x DSP端使用EDMA通過(guò)GPMC接口采集AD7606或ADS8568模塊8通道的AD信號(hào),同時(shí)由DSP端對(duì)其中6通道的AD信號(hào)進(jìn)行FFT處理,最后將8通道時(shí)域數(shù)據(jù)和經(jīng)FFT處理的6通道頻域數(shù)據(jù)保存到DSP端L2SRAM中,可通過(guò)仿真器與CCS軟件查看對(duì)應(yīng)通道的時(shí)域波形和頻域波形。
程序保存通道0的時(shí)域數(shù)據(jù)和經(jīng)FFT處理的頻域數(shù)據(jù)至CMEM(共享內(nèi)存)空間,通過(guò)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案例測(cè)試
將Tronlong的TL7606I(AD7606)模塊或TL8568I(ADS8568)模塊插入評(píng)估板GPMC擴(kuò)展接口,并對(duì)模塊進(jìn)行獨(dú)立供電。TL7606I模塊使用5V電源供電,J1跳線帽連接到0,使用±5V量程。TL8568I模塊使用12V電源供電,軟件已配置為±12V量程。
將模塊的待測(cè)輸通道正確連接信號(hào)發(fā)生器,信號(hào)發(fā)生器輸出頻率為4KHz、峰峰值為2Vpp(即幅值為1V)的正弦波信號(hào)。待測(cè)信號(hào)電壓請(qǐng)勿超過(guò)模塊量程,否則可能會(huì)導(dǎo)致模塊損壞。評(píng)估板接入LCD顯示屏,并通過(guò)仿真器連接到PC機(jī)。硬件連接示意圖如下:
圖 16TL7606I模塊硬件連接示意圖
圖 17TL7606I模塊硬件連接示意圖
圖 18TL8568I模塊硬件連接示意圖
程序運(yùn)行后,即可在LCD顯示屏上看到通道0的時(shí)域波形和頻域波形。
圖 19時(shí)域波形
圖 20頻域波形
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602984 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163762 -
接口
+關(guān)注
關(guān)注
33文章
8575瀏覽量
151015 -
數(shù)據(jù)線
+關(guān)注
關(guān)注
8文章
283瀏覽量
37718
原文標(biāo)題:為什么FPGA/ADC通信在工業(yè)視覺(jué)系統(tǒng)中更喜歡用GPMC接口?
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論