AGRV2K 应用指南

5 min read CPLD

AGRV2K 应用指南

l AGRV2KL100 Pin-Out

Finger No.Pin nameFinger No.Pin nameFinger No.Pin nameFinger No.Pin name

1IO/PIN_126IO/PIN_2651IO/PIN_5176TCK

2IO/PIN_227GND52IO/PIN_5277IO/PIN_77

3IO/PIN_328VDD3353IO/PIN_5378IO/PIN_78

4IO/PIN_429IO/PIN_2954IO/PIN_5479IO/PIN_79

5IO/PIN_530IO/PIN_3055IO/PIN_5580IO/PIN_80

6VDD3331IO/PIN_3156IO/PIN_5681IO/PIN_81

7IO_GB/PIN_732IO/PIN_3257IO/PIN_5782IO/PIN_82

8NC33IO/PIN_3358IO/PIN_5883IO/PIN_83

9NC34IO/PIN_3459IO/PIN_5984IO/PIN_84

10GND35IO/PIN_3560IO/PIN_6085IO/PIN_85

11VDD3336IO/PIN_3661IO/PIN_6186IO/PIN_86

12NC37IO/PIN_3762IO/PIN_6287IO/PIN_87

13NC38IO/PIN_3863IO/PIN_6388IO/PIN_88

14NRST39IO/PIN_3964IO/PIN_6489IO/PIN_89

15IO_GB/PIN_1540IO/PIN_4065IO/PIN_6590IO/PIN_90

16IO/PIN_1641IO/PIN_4166IO/PIN_6691IO/PIN_91

17IO/PIN_1742IO/PIN_4267IO/PIN_6792IO/PIN_92

18IO/PIN_1843IO/PIN_4368IO/PIN_6893IO/PIN_93

19NC44IO/PIN_4469IO/PIN_6994GND

20GND45IO/PIN_4570IO/PIN_7095IO/PIN_95

21VDDA3346IO/PIN_4671IO/PIN_7196IO/PIN_96

22VDDA3347IO/PIN_4772TMS97IO/PIN_97

23IO/PIN_2348IO/PIN_4873NC98IO/PIN_98

24IO/PIN_2449NC74GND99GND

25IO/PIN_2550VDD3375VDD33100VDD33

可用 IO 总数:76 个。

l AGRV2KL64 Pin-Out

Finger No.Pin nameFinger No.Pin nameFinger No.Pin nameFinger No.Pin name

1VDD3317IO/PIN_1733IO/PIN_3349TCK

2IO_GB/PIN_218GND34IO/PIN_3450IO/PIN_50

3NC19VDD3335IO/PIN_3551IO/PIN_51

4NC20IO/PIN_2036IO/PIN_3652IO/PIN_52

5NC21IO/PIN_2137IO/PIN_3753IO/PIN_53

6NC22IO/PIN_2238IO/PIN_3854IO/PIN_54

7NRST23IO/PIN_2339IO/PIN_3955IO/PIN_55

8IO_GB/PIN_824IO/PIN_2440IO/PIN_4056IO/PIN_56

9IO/PIN_925IO/PIN_2541IO/PIN_4157IO/PIN_57

10IO/PIN_1026IO/PIN_2642IO/PIN_4258IO/PIN_58

11IO/PIN_1127IO/PIN_2743IO/PIN_4359IO/PIN_59

12GND28IO/PIN_2844IO/PIN_4460GND

13VDDA3329IO/PIN_2945IO/PIN_4561IO/PIN_61

14IO/PIN_1430IO/PIN_3046TMS62IO/PIN_62

15IO/PIN_1531IO/PIN_3147IO/PIN_4763GND

16IO/PIN_1632VDD3348VDD3364VDD33

可用 IO 总数:47 个。

l AGRV2KL48 Pin-Out

Finger NoPin nameFinger NoPin name

1VDD3325IO/PIN_25

2IO_GB/PIN_226IO/PIN_26

3NC27IO/PIN_27

4NC28IO/PIN_28

5NC29IO/PIN_29

6NC30IO/PIN_30

7NRST31IO/PIN_31

8GND32IO/PIN_32

9VDD3333IO/PIN_33

10IO/PIN_1034TMS

11IO/PIN_1135IO/PIN_35

12IO/PIN_1236VDD33

13IO/PIN_1337TCK

14IO/PIN_1438IO/PIN_38

15IO/PIN_1539IO/PIN_39

16IO/PIN_1640IO/PIN_40

17IO/PIN_1741IO/PIN_41

18IO/PIN_1842IO/PIN_42

19IO/PIN_1943IO/PIN_43

20IO/PIN_2044GND

21IO/PIN_2145IO/PIN_45

22IO/PIN_2246IO/PIN_46

23GND47GND

24VDD3348VDD33

可用 IO 总数:32 个。

l AGRV2KQ32 Pin-Out

Finger NoPin nameFinger NoPin name

1IO_GB/PIN_117GND

2IO/PIN_218IO/PIN_18

3IO/PIN_319IO/PIN_19

4NRST20IO/PIN_20

5IO/PIN_521IO/PIN_21

6VDDA3322IO/PIN_22

7IO/PIN_723IO/PIN_23

8IO/PIN_824JTMS

9IO/PIN_925JTCK

10IO/PIN_1026IO/PIN_26

11IO/PIN_1127IO/PIN_27

12IO/PIN_1228IO/PIN_28

13IO/PIN_1329IO/PIN_29

14IO/PIN_1430GND

15IO/PIN_1531IO/PIN_31

16VDD3332VDD33

可用 IO 总数:24 个。

l AGRV2K 封装图

AGRV2KL100 :LQFP-100 封装

 

 

AGRV2KL64 :LQFP-64 封装

 

 

AGRV2KL48 :LQFP-48 封装

 

 

AGRV2KQ32 :QFN-32 封装

 

 

l 电源与配置电路

AGRV2K 需 3.3V Vcc 供电,通过 Compact-JTAG 两线(TCK/TMS)方式进行烧写,使用 J-LINK下载器AGM Blaster 专用下载器(CMSIS-DAP 模式),请参考下图:

 

 

 

NC 为悬空脚,请勿接任何电源或信号。

NRST 为软复位管脚,低有效,可用于外部控制复位。由于 NRST 有内部上拉,如不需要外部控制,也可以作为 NC 悬空,上电后会自动复位。

AGRV2K 的 3.3V 建议单独一路供电,需采用磁珠与 PCB 上其它 3.3V 供电进行隔离,以确保器件的稳定供电。

l 软件开发流程

1.)软件安装:

解压缩或执行安装文件,安装 Supra 软件。安装目录不能有中文或空格。执行文件为 bin 目录中的 Supra.exe。

运行 Supra,选择菜单 File -> Import license,选择 license 目录中的 licence.txt 文件并导入。

2.)新建项目:

新建一工程目录。打开 Supra ,在该目录中新建 project,设置项目目录和名称。

进入 Tools -> Migrate:

 

 

Target Directory 默认为新建的工程目录,Migrate from directory 不填,输入设计名称(这里范例名称为 led),Device 选 AGRV2K 系列型号。选择 ve 文件(管脚分配文件)。IP 文件不用填。

选择对应开发 Mode:Native 选项(AGM 自有 EDA 综合工具),Synplicity 选项(第三方综合工具,例如 Synplify ,Mentor 等),Compatible 选项(兼容 Altera Quartus II 的综合工具)。下面主要介绍 Supra 基于 Quartus II 综合的设计流程,其它工具设计流程类似。

Mode 选择 Compatible,点 next , 自动产生一个以 led 命名的 Quartus II 项目(qpf 文件),以及空的设计文件(v ,qsf ,sdc 等)。

ve 文件为 IO 管脚位置设置,可通过任意文本编辑器自行编辑产生。管脚名称请参考前面的管脚说明表格(PIN_1 ,PIN_2 格式),全局时钟信号或 PLL 输入时钟要选 IO_GB 管脚。

ve 文件格式如下(管脚设计名称+空格+封装管脚名称,#为注释符):

 

 

3.)项目设计:

工程目录中,用 Quartus II 打开 led.qpf 项目文件,工程已设置好,不要修改型号。默认为EP4CE75,如果 Quartus II 没有这个器件,需要先安装 Cyclone IV 系列器件库。

空的项目中加入你的设计文件.v,或添加其它类型设计文件,Quartus 支持的都可以使用。无需设置管脚位置。

设计完成后,Quartus II 中选择菜单中 Tools -> Tcl Scripts…,窗口中选 af_quartus.tcl,点击 Run进行编译,编译综合后产生所需网表文件(simulation/modelsim/led.vo)。

4.)项目编译:

Supra 里继续执行 Next ,开始进行编译。编译选项,默认即可。

 

 

编译成功后即可得到最终烧写文件,led.bin。

如未改变工程路径,修改设计代码后,Quartus 里只需执行正常的编译(Start Compilation)流程,可以不再执行 Migrate 和运行 af_quartus.tcl 文件的步骤。然后在 Supra 中打开 Tools -> Compile ,完成编译即可。

Win10/11 OS 下,正常编译最后一步会利用 Python 功能产生 led_batch.bin。这是用于离线烧录的芯片完整 bin 文件。如果 WIN7 或以下 OS,最后这步会出错,应已产生 led.bin,可以先忽略。在 supra 中可正常烧录的。

5. )芯片烧写:

Supra 软件中选 Tools –> Program ,下载线选 JLINK 或 CMSIS-DAP。速度默认即可。可以先点击 Query device ID,查看是否检测到器件,正确 ID 为:40200001

选择编程文件 led.bin,点击 program 开始烧写文件。如没有出现错误信息,显示“done with code 0 ”,即烧写成功,程序开始运行。

 

 

勾选下面的 Full Chip erase before program,可以在烧录前擦除芯片程序,并写入默认设置启动项。

勾选 Lock after program ,则芯片烧录后打开加密锁功能,无法读取出内部程序数据。另外,可以选择 Erase 功能,进行程序的擦除。

l 安装下载器驱动

AGRV2K 的下载器仅支持 JLINK 或 AGM DAP-LINK。

WIN 下JLINK 需安装驱动。运行 supra 目录中提供的 zadig-2.8.exe 文件,点击菜单 Options – List all devices,选择下面的 Jlink。有的版本 Jlink 会显示为 BULK …等,驱动显示为已安装的原 Jlink驱动。

 

 

点击 Replace Driver 按键,把 Jlink 原驱动替换为 WinUSB 版本。

 

 

安装成功后,Jlink 驱动显示 WinUSB。

 

 

WIN10 及以上 OS ,DAP-LINK 免安装驱动。WIN7 中同样需要按上述流程给 DAP-LINK 安装驱动。

l 内部 IP 的使用

1.)PLL

AGRV2K 器件支持 1 个 PLL。若需用到 PLL,可以直接在 Quartus II 工程中添加 MegaWizard IP (ALTPLL),即可直接转换。不用在 Supra 中添加 IP。

PLL 输入时钟要选 IO_GB 管脚。如果用了别的 IO 输入,可以通过 ALTCLKCTRL IP 进入全局时钟网络,即可出到 PLL 的时钟输入。

注意:如果 PLL 输出时钟要直接输出到管脚,Supra 编译可能会出错。

因为 Quartus II 编译不会把输出放到全局时钟网络,可能自动分配到了 PLLOUT 专用管脚, AGRV2K 没有这种管脚。

这里可以在 Quartus II 工程里把这个输出管脚随意分配个普通 io 位置,比如 PIN_A3,PIN_A4等。这样 Quartus II 编译出的网表文件就可以了,Supra 可以编译通过。当然,管脚位置最终还是按照 ve 文件分配的。

PLL 时钟输出到内部逻辑可以不用以上设置。

2.)RAM

AGRV2K 器件支持 4 个 M9K Block(1K Byte),共 4K Byte 空间。可直接在 Quartus II 工程的MegaWizard 中添加各种 Memory IP。不要超过 4 个 M9K。

3.)内部晶振

AGRV2K 器件内部有一 8MHz 晶振,可作为逻辑设计的时钟输入,也可接入 PLL ,并支持精度自校准。

设计中使用这个晶振的时钟输入,需要在 ve 文件中指定时钟输入管脚位置为 PIN_OSC,如:

clk PIN_OSC

并在项目的设置文件,如 led.asf 中加入语句:

set_config -loc 18 0 0 CFG_RCOSC_EN 1’b1

工程编译完成后,烧录界面,Program 需选择“Full chip erase before program”。

Program 后显示的信息中包含“Info : Oscillator calibrated with value xx ”即表示内部晶振已打开并校准,可以正常使用。

某些 JLINK 下载器时钟精度较差,利用JLINK 校准后,时钟输出频率会偏差较大。建议用 AGM Blaster。

 

 

l IO 特性设置

在工程的设置文件(*.asf,默认为空的文本文件)中加入相关语句,可以设置如下 IO 特性。这里 xxx 为代码中 IO 的名称。

1.)上拉电阻:

set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to xxx

2. )下拉电阻:

set_instance_assignment -name CFG_KEEP -to xxx 2’b01 -extension

3. )驱动电流:

set_instance_assignment -name CURRENT_STRENGTH -to xxx 8MA默认是 8MA,可以设置范围 2-30mA,偶数值。

注意:上边一行添加完后,务必在后边添加回车换行(保证这行不是文件最后一行)。

l 外部时钟输入

全局管脚 IO_GB 只能接入有源晶振,进入系统时钟网络,及接入 PLL。

 

 

Supra 2025 之后版本,支持 AGRV2K CPLD 使用无源晶体作为系统时钟输入,和 AG32 MCU 一样接入 OSC_IN 和 OSC_OUT 管脚。

AGRV2KL100L64L48Q32

OSC_INPIN_12PIN_5PIN_5PIN_2/IO

OSC_OUTPIN_13PIN_6PIN_6PIN_3/IO

VE 管脚文件设为 PIN_HSE,如:

 

 

 

下载 bin 文件时,选中“Enable HSE clock”即可。

 

 

l 订货信息

AGRV2K 为 AGM 软件中的型号,实际是 AG32 MCU 系列芯片中的逻辑部分。所以芯片封装丝印为 AG32 MCU 的 AG32VF 系列型号。订货时只需参考 MCU 型号的对应封装,即可作为AGRV2K 系列 CPLD 使用。

 

 

这篇文档有帮助吗?