问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

纯粹使用CPLD

创作时间:
作者:
@小白创作中心

纯粹使用CPLD

引用
1
来源
1.
https://www.agmcn.com/doc/cpld/

CPLD(复杂可编程逻辑器件)是硬件开发中的重要组件,而AGRV2K系列芯片作为目前主推的CPLD芯片,其开发和应用具有广泛的适用性和参考价值。本文将详细介绍CPLD的型号选择、开发工具的使用、开发流程以及具体的开发示例,帮助读者快速掌握CPLD的开发技巧。

一、型号说明

纯粹使用CPLD的芯片,型号比较多,选型请进。
目前用的比较多的有两个系列:AG1280AGRV2K系列
:其中的AG1280,处于停产阶段。不再有新的出货,支持也在减少。推荐替换成性价比更高的AGRV2K。AGRV2K是目前主推芯片(以下着重介绍)。

AGRV2K系列

AGRV2K系列就是MCU的AG32系列。两种其实是同一颗料,两种叫法:在CPLD市场叫AGRV2K,在MCU市场叫AG32。

关系如下图:

更确切的说:

AG32 = MCU + CPLD,一颗芯片两个内核。MCU核和CPLD核可以单独使用,也可以联合使用。

首页提到过AG32的使用方式:

  1. 只使用 MCU 部分;
  2. 只使用 CPLD 部分;
  3. 同时使用 MCU 和 CPLD(即:MCU 和 CPLD 联合编程);

这里所描述的“纯粹CPLD”其实就是上述的情况2。

二、开发工具、开发流程和烧录工具

开发工具:

纯粹CPLD开发中,只需要两个开发软件:QuartusSupra

两个软件的安装,参考这里的链接。

:纯粹CPLD的开发,不用安装MCU开发的那套软件。

开发流程概述:

  1. 先使用Supra建立新CPLD工程
  • 首先是创建VE配置文件,然后再创建CPLD工程模版,创建的该工程就是Quartus的空工程;
  1. 用Quartus打开该工程并编写代码、综合
  • 用Quartus来编写全部的代码,并且编译通过;
  1. 最后再用Supra来编译出bin
  • 这里编译出的bin就是要烧录到AGRV2K芯片的bin。

烧录工具:

CPLD的烧录,支持两种烧录方式:Supra烧录Downloader烧录

当Supra最终编译完后,会编译出来两个bin:默认的bin、和batch.bin。

  • 默认的bin用Supra来烧录,一般用于正常调试;
  • batch.bin用Downloader工具烧录,一般用于生成线上的出厂烧录。Downloader烧录支持离线烧录。

对芯片来说,这两个bin在通过两种方式烧录后,效果是完全一样的。有差异的,只是烧录软件和方法。

两种烧录的更详细介绍点击这里。

三、开发说明

Quartus下的开发,可以使用Verilog语言,也可以使用VHDL语言。两者之间可以相互调用。

凡是Quartus下正常可用的,这里都可以使用,比如,使用Altera的IP核。只要确保综合后逻辑单元不超过2K即可(确切讲,是2112个逻辑单元)。

由于只有2K的逻辑单元,不支持CPLD的调试。CPLD模块写完后,可以使用ModelSim来仿真。

纯粹CPLD编程时,顶层模块不用再考虑MCU那边的接口,按照正常的设计即可。

开发文档:

全部的开发文档可以从网盘1和网盘2下分别获取。

可以先看2份文档:MANUAL_AGRV2K_3.0.pdfAGRV2K_Rev_3.0.pdf

MANUAL_AGRV2K_3.0.pdf

  • 该文档为软件开发的基础。
  • 在该文档里会讲述:32/48/64/100Pin的引脚定义、Supra软件安装、新建项目、如何使用时钟(外部和内部)、如何使用内存、编译和烧录。
  • 这个文档应重点看完。
  • 这份文档是CPLD开发的基础。后边的开发举例,也是围绕这个文档描述的点展开的。

AGRV2K_Rev_3.0.pdf

  • 该文档为硬件设计文档。

四、开发举例

  1. 建立第一个工程(使用内部晶振,LED闪灯)
  2. CPLD使用ADC
  3. 待补充
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号