GPMC并口簡(jiǎn)介
GPMC(General Purpose Memory Controller)是TI處理器特有的通用存儲(chǔ)器控制器接口,支持8/16bit數(shù)據(jù)位寬,支持128MB訪問(wèn)空間,最高時(shí)鐘速率133MHz。GPMC是AM62x、AM64x、AM437x、AM335x、AM57x等處理器專用于與外部存儲(chǔ)器設(shè)備的接口,如:
(1)FPGA器件
(2)ADC器件
(3)SRAM內(nèi)存
(4)NOR/NAND閃存
![wKgaomTtaa-AGBSFAAEHmsI2AWE389.png](https://file1.elecfans.com/web2/M00/A1/B4/wKgaomTtaa-AGBSFAAEHmsI2AWE389.png)
圖 1GPMC功能框圖
GPMC并口3大特點(diǎn)
(1)小數(shù)據(jù)-低時(shí)延
在工業(yè)自動(dòng)化控制領(lǐng)域中,如工業(yè)PLC、驅(qū)控一體控制器、運(yùn)動(dòng)控制器、CNC數(shù)控主板、繼電保護(hù)設(shè)備、小電流接地選線等,極其注重精確性與快速性,GPMC并口“小數(shù)據(jù)-低時(shí)延”的特點(diǎn)顯得格外耀眼,能夠很好地提高數(shù)據(jù)傳輸效率,降低傳輸成本。
(2)大數(shù)據(jù)-高帶寬
大數(shù)據(jù)時(shí)代對(duì)能源電力領(lǐng)域的數(shù)據(jù)量傳輸、數(shù)據(jù)處理等方面提出了更高的要求。GPMC提供了最大的靈活性,以支持四個(gè)可配置片選中不同的時(shí)序參數(shù)和位寬配置。可根據(jù)外部設(shè)備的特點(diǎn),使用最佳的片選設(shè)置。可通過(guò)配置GPMC接口的時(shí)序參數(shù)和不同工作模式,最大速率可超過(guò)100MB/s。因此,GPMC“大數(shù)據(jù)-高帶寬”的特點(diǎn)在能源電力領(lǐng)域扮演著重要角色。
(3)低成本-低功耗
“低成本、低功耗、高性能”是如今智能設(shè)備發(fā)展趨勢(shì),GPMC并口相對(duì)于PCIe串行接口,成本更低、功耗更低。兩者都為常用的通信接口,均可滿足高速通信要求,但在與FPGA通信的時(shí)候,用戶往往更喜歡選用GPMC并口,因?yàn)椋?/p>
1、使用低成本FPGA即可實(shí)現(xiàn)高速通信,而具備PCIe接口的FPGA成本則成倍增長(zhǎng)。
2、具備PCIe接口的FPGA功耗往往較大,而低成本FPGA功耗較小。一般而言,低功耗器件的使用壽命也將更長(zhǎng)。
基于CPU直接訪問(wèn)方式
以AM62x為例,通過(guò)GPMC接口與FPGA連接,采用CPU直接訪問(wèn)方式讀取FPGA端的數(shù)據(jù),寫(xiě)速度可達(dá)15.501MB/s,讀速度可達(dá)5.744MB/s。
此方式適合“小數(shù)據(jù)-低時(shí)延”場(chǎng)合。
![wKgaomTtaa-AFeB6AAAOKRpljQk878.png](https://file1.elecfans.com/web2/M00/A1/B4/wKgaomTtaa-AFeB6AAAOKRpljQk878.png)
圖 2 CPU直接訪問(wèn)方式測(cè)試結(jié)果
程序流程說(shuō)明:
(1)ARM端通過(guò)GPMC總線將數(shù)據(jù)寫(xiě)入FPGA BRAM;
(2)ARM端通過(guò)GPMC總線從FPGA BRAM讀取數(shù)據(jù);
(3)判斷寫(xiě)入與讀取數(shù)據(jù)的正確性,并計(jì)算讀寫(xiě)速率。
基于UDMA訪問(wèn)方式
以AM62x為例,通過(guò)GPMC接口與FPGA連接,采用UDMA的方式讀取FPGA端的數(shù)據(jù),寫(xiě)速度可達(dá)73.90MB/s,讀速度可達(dá)77.47MB/s,實(shí)際上通過(guò)配置GPMC接口的時(shí)序參數(shù)和不同工作模式,最大速率可超過(guò)100MB/s。
此方式適合“大數(shù)據(jù)-高帶寬”場(chǎng)合。
![wKgZomTtaa6Ace0HAAASYBnE114091.png](https://file1.elecfans.com/web2/M00/A0/6F/wKgZomTtaa6Ace0HAAASYBnE114091.png)
圖 3 UDMA訪問(wèn)方式測(cè)試結(jié)果
備注:由于測(cè)試受線材限制影響,因此測(cè)得誤碼率會(huì)過(guò)高。
程序流程說(shuō)明
ARM端:
(1)采用UDMA方式;
(2)將數(shù)據(jù)寫(xiě)入至dma_memcpy驅(qū)動(dòng)申請(qǐng)的連續(xù)內(nèi)存空間(位于DDR);
(3)配置UDMA,如源地址、目標(biāo)地址、傳輸?shù)臄?shù)據(jù)大小等;
(4)寫(xiě)操作:通過(guò)ioctl函數(shù)啟動(dòng)UDMA,通過(guò)GPMC總線將數(shù)據(jù)搬運(yùn)至FPGA BRAM;
(5)程序接收驅(qū)動(dòng)上報(bào)input事件后,將通過(guò)ioctl函數(shù)獲取UDMA搬運(yùn)數(shù)據(jù)耗時(shí),并計(jì)算UDMA傳輸速率(即寫(xiě)速率);
(6)讀操作:通過(guò)ioctl函數(shù)啟動(dòng)UDMA,通過(guò)GPMC總線將FPGA BRAM中的數(shù)據(jù)搬運(yùn)至dma_memcpy驅(qū)動(dòng)申請(qǐng)的連續(xù)內(nèi)存空間;
(7)程序接收驅(qū)動(dòng)上報(bào)input事件后,將數(shù)據(jù)從內(nèi)核空間讀取至用戶空間,然后校驗(yàn)數(shù)據(jù),同時(shí)通過(guò)ioctl函數(shù)獲取UDMA搬運(yùn)數(shù)據(jù)耗時(shí),并計(jì)算UDMA傳輸速率(即讀速率)。
FPGA端:
(1)根據(jù)ARM端GPMC時(shí)序解析數(shù)據(jù),對(duì)FPGA內(nèi)部BRAM資源進(jìn)行訪問(wèn)。BRAM的地址位寬為10bit,數(shù)據(jù)位寬為16bit,內(nèi)存空間大小為2KByte(1024 x 16bit)。
![wKgZomTtaa-AZo2AAAGQ7VMPsds458.png](https://file1.elecfans.com/web2/M00/A0/6F/wKgZomTtaa-AZo2AAAGQ7VMPsds458.png)
圖 4程序流程圖
![wKgaomROXLKARLqQABe0tHhRYOs706.png](https://file1.elecfans.com/web2/M00/82/68/wKgaomROXLKARLqQABe0tHhRYOs706.png)
![wKgZomTkI-2Ae80dAAK2PRL3mmY369.jpg](https://file1.elecfans.com/web2/M00/94/3A/wKgZomTkI-2Ae80dAAK2PRL3mmY369.jpg)
![wKgaomROXLCAb4lsAAKjuSn1f-4091.jpg](https://file1.elecfans.com/web2/M00/82/68/wKgaomROXLCAb4lsAAKjuSn1f-4091.jpg)
![wKgZomTkI_KAPfi4AAIiD1Xlg3I743.jpg](https://file1.elecfans.com/web2/M00/94/3A/wKgZomTkI_KAPfi4AAIiD1Xlg3I743.jpg)
![wKgaomROXLGAK_6MAAE-FBtd7gg880.jpg](https://file1.elecfans.com/web2/M00/82/68/wKgaomROXLGAK_6MAAE-FBtd7gg880.jpg)
![wKgaomROXLGAJGMVAAHa3CUFFos990.jpg](https://file1.elecfans.com/web2/M00/82/68/wKgaomROXLGAJGMVAAHa3CUFFos990.jpg)
![wKgZomROXLGAGNN5AAEdnBzYLP4626.jpg](https://file1.elecfans.com/web2/M00/82/67/wKgZomROXLGAGNN5AAEdnBzYLP4626.jpg)
![wKgZomROXLGATU3IAAKv2e4u9bM813.jpg](https://file1.elecfans.com/web2/M00/82/67/wKgZomROXLGATU3IAAKv2e4u9bM813.jpg)
-
FPGA
+關(guān)注
關(guān)注
1630文章
21802瀏覽量
606364 -
ARM
+關(guān)注
關(guān)注
134文章
9180瀏覽量
369436 -
通信
+關(guān)注
關(guān)注
18文章
6076瀏覽量
136476
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于TI AM62x的Debian系統(tǒng)正式發(fā)布,豐富的軟件生態(tài),讓您的應(yīng)用開(kāi)發(fā)更便利!
AM62x DDR板設(shè)計(jì)和布局指南
![<b class='flag-5'>AM62x</b> DDR板設(shè)計(jì)和布局指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62x延長(zhǎng)開(kāi)機(jī)時(shí)間應(yīng)用說(shuō)明
![<b class='flag-5'>AM62x</b>延長(zhǎng)開(kāi)機(jī)時(shí)間應(yīng)用說(shuō)明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62x功率估算工具應(yīng)用說(shuō)明
![<b class='flag-5'>AM62x</b>功率估算工具應(yīng)用說(shuō)明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62x(AMC)PCB設(shè)計(jì)逃逸布線應(yīng)用說(shuō)明
![<b class='flag-5'>AM62x</b>(AMC)PCB設(shè)計(jì)逃逸布線應(yīng)用說(shuō)明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62x上的數(shù)字儀表組和安全概念
![<b class='flag-5'>AM62x</b>上的數(shù)字儀表組和安全概念](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用TPS65219 PMIC為AM62x供電
![使用TPS65219 PMIC為<b class='flag-5'>AM62x</b>供電](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62x SiP PCB設(shè)計(jì)迂回布線
![<b class='flag-5'>AM62x</b> SiP PCB設(shè)計(jì)迂回布線](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AM62x Sitara?處理器數(shù)據(jù)表
![<b class='flag-5'>AM62x</b> Sitara?處理器<b class='flag-5'>數(shù)據(jù)</b>表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
GPMC并口多通道AD采集案例,基于TI AM62x四核處理器平臺(tái)!
GPMC并口多通道AD采集案例,基于TI AM62x四核處理器平臺(tái)!
![<b class='flag-5'>GPMC</b><b class='flag-5'>并口</b>多通道AD采集案例,基于TI <b class='flag-5'>AM62x</b>四核處理器平臺(tái)!](https://file1.elecfans.com//web2/M00/FB/16/wKgaomaMp1OAa3oKAAC-mJWDvD8160.jpg)
沒(méi)搶到?米爾AM62x開(kāi)發(fā)板限量5折又來(lái)了
![沒(méi)搶到?米爾<b class='flag-5'>AM62x</b>開(kāi)發(fā)板限量5折又來(lái)了](https://file.elecfans.com/web2/M00/02/C4/pYYBAGDSzfeAP86XAAAO5PbqJbI698.png)
評(píng)論