[发明专利]控制器有效
申请号: | 202011253473.4 | 申请日: | 2020-11-11 |
公开(公告)号: | CN112069096B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 范福基;李蒙 | 申请(专利权)人: | 北京和利时系统工程有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F13/40;G06F13/42 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 姚璐华 |
地址: | 100176 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 控制器 | ||
本发明提供了一种控制器,该控制器包括主CPU、FPGA和DDR。FPGA外接DDR,FPGA包括ARM、DDR控制器和数据交互逻辑模块。数据交互逻辑模块,具体包括依次通信连接的外部总线接口逻辑模块、FIFO读写逻辑模块、DMA调度逻辑模块和片上总线接口逻辑模块。外部总线接口逻辑模块与外部总线通信连接;片上总线接口逻辑模块与片上总线通信连接。主CPU与FPGA外接的DDR交互数据时,不再通过FPGA的ARM,而是通过FPGA的数据交互逻辑模块,因此不需要等到ARM芯片空闲时才能进行数据交互,提高了数据交互的效率。
技术领域
本发明涉及工业自动化领域,更具体地说,涉及一种控制器。
背景技术
在工业自动化领域,有时需要由CPU(central processing unit,中央处理器)和FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)组成控制器。由于功能设计需要,FPGA带有ARM(Advanced RISC Machine,进阶精简指令集机器)及外接有DDR(Double Data Rate Synchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器)。
目前,由CPU和FPGA组成的控制器中,CPU与FPGA外接的DDR交互数据时,需要通过FPGA的ARM和DDR控制器;例如,CPU向FPGA外接的DDR写入数据时,需要先向FPGA的ARM发送数据,ARM再调用DDR控制器将数据写入到DDR中。但是,由于FPGA中的ARM还用于工业总线协议栈等功能,因此当CPU需要与FPGA外接的DDR交互数据时,得等到FPGA的ARM空闲时才能进行。导致CPU和DDR的数据交互效率较低。
发明内容
有鉴于此,本发明提出一种控制器,欲提高CPU和DDR的数据交互效率。
为了实现上述目的,现提出的方案如下:
一种控制器,包括主CPU、FPGA和DDR,所述FPGA包括ARM、DDR控制器和数据交互逻辑模块;
所述主CPU通过外部总线与所述数据交互逻辑模块通信连接;
所述数据交互逻辑模块通过所述FPGA的片上总线与所述DDR控制器通信连接;
所述DDR控制器外接所述DDR;
所述主CPU通过所述数据交互逻辑模块与所述DDR进行数据交互;
所述数据交互逻辑模块,具体包括:依次通信连接的外部总线接口逻辑模块、FIFO(First Input First Output,先进先出)读写逻辑模块、DMA(Direct Memory Access,直接存储器访问)调度逻辑模块和片上总线接口逻辑模块;
所述外部总线接口逻辑模块与所述外部总线通信连接;
所述片上总线接口逻辑模块与所述片上总线通信连接;
所述FIFO读写逻辑模块,用于进行所述外部总线和所述片上总线之间的数据位宽转换以及操作速率转换;
所述DMA调度逻辑模块,用于确定所述主CPU和所述DDR之间是否完成数据交互。
优选的,在所述主CPU写数据到所述DDR的过程中,所述数据交互逻辑模块包括的各模块,具体用于:
所述外部总线接口逻辑模块从所述外部总线接收需要写入所述DDR的数据、目标DDR地址和待写入数据长度,并传输到所述FIFO读写逻辑模块;
所述FIFO读写逻辑模块分别将第一FIFO存储器、第二FIFO存储器和第三FIFO存储器复位,然后将需要写入所述DDR的数据填写到第一FIFO存储器,将目标DDR地址写入到第二FIFO存储器,将待写入数据长度写入到第三FIFO存储器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京和利时系统工程有限公司,未经北京和利时系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011253473.4/2.html,转载请声明来源钻瓜专利网。