文章
  • 文章
搜索
首页 >> 技术文档 >>转帖专区 >> AG1280Q48 最小系统板 V1
详细内容

AG1280Q48 最小系统板 V1

时间:2022-12-05     作者:icbc0607【转载】

main.png
3d.png
版本 V1.0

  • 外形和引脚定义参考了 Arduino Pro Mini,四层板

  • 只需单路 3.6V~5.5V电源供电,板载两路 LDO,IO 电平为 3.3V

  • 其他板载外设包括:有源晶振,SPI Nor Flash,按键,烧写接口,灯

  • SPI Flash 供电带二极管,可以从背面飞线出来独立烧写

  • 我的做完已经吃灰了

AG1280Q48 简介

  • 自称 CPLD,但我觉得是个内置 Flash 的 FPGA。。

  • LUT4+Carry+FF(chain) 的 Logic Slice 结构

  • 1280 LUTs, 1 PLL, 14*4.5kbit Block RAM

  • 便宜

  • 下载器也便宜,某宝十几块的 USB Blaster 就能用

教程 1:使用内置 PLL 点亮板载的 LED

这个教程:

  • 通过使用内置 PLL 的无输入模式产生一个不怎么准确的时钟

  • 使用该时钟点灯,并随便生成一点什么东西到其他 IO 上,以证明它们没坏

1.1 安装软件

该系列 FPGA/CPLD 需要用到 Quartus II 进行逻辑综合,使用自有的软件 Supra 进行 Map, Place & Route 等。

首先安装 Quartus II 13.1 以及相应版本的 Cyclone IV 系列器件库。
官网传送门
另外别去下最新版,我踩过坑了()
至于 Quartus II 的正确安装方式,请自行搜索。

然后安装 AGM 的软件 Supra,下载链接可以在 官网的这里 找到。
在等待百度云下载结束的一天内,您可以先去干点别的。

1.2 安装软件(第二天)

以 Windows 系统为例,解压下载到的 Supra 压缩包到合适的位置。
Supra 无需安装,启动时运行 bin/Supra.exe 即可。

1.3 在 Supra 中新建工程

运行 Supra,选择 File - Project - New Project:
1.png
2.png
新建一个叫做 blinky1280 的工程,按图填写好工程目录和工程名称,点击 Save。

1.4 在 Supra 中使用内置 PLL

由于我们需要使用内部的 PLL,所以需要先创建 IP。
在 Supra 中创建 IP 的步骤如下,选择 Tools - Create IP - Create PLL :
23.png
这里我们将该 IP 生成的 Verilog 模块命名为 inpll;PLL Type 选择 PLLX;Input Frequency 随便写;Feedback Mode 选择 NO_REFERENCE;output count 选择 1;Output 1 的输出频率填写为 25MHz;点击 Generate:
4.png
下面会打印出实际且大概也不太准的频率。
然后在工程目录下会生成 inpll.ip 和 inpll.v 两个文件,前者需要在编译时在 Supra 中引入,后者则是点灯代码中需要例化的 PLL 模块原型。

1.5 建立 Quartus II 工程并完成逻辑综合

点击 Tools - Migrate,按照图中填写工程细节:
5.png
点击 Next 后,运行 Quartus II,打开工程(目录下的 blinky1280.qpf),该工程中自动包含了一个 blinky1280.v。
打开该文件,并编写点灯代码:
6.png

module blinky1280 ( input wire clk, input wire rst_n, output wire led, output [17:0] gpio ); wire clk_pll_o; inpll pll_inst ( .clkin(clk), // PLL.clkin MUST connect to PIN_XX_GB .clkfb(clk_pll_o), .pllen(1'b1), .resetn(rst_n), .clkout0en(1'b1), .clkout1en(1'b0), .clkout2en(1'b0), .clkout3en(1'b0), .clkout0(clk_pll_o), .clkout1(), .clkout2(), .clkout3(), .lock() ); reg [24:0] counter; assign led = counter[24]; assign gpio[17:0] = counter[23:6]; always @(posedge clk_pll_o or negedge rst_n) begin if (!rst_n)  counter <= 25'b0; else counter <= counter + 1; end endmodule

保存该文件。
然后,确定一下将 PLL IP 设置为 Design Partition:
6.5.png
选择 Quartus II 中的 Tools - Tcl Scripts,选择目录下的 af_quartus.tcl 并运行:
7.png

1.6 Place & Route

当 Quartus II 完成逻辑综合后,回到 Supra,点击 Next:
8.png
在这里先不要点 Finish,先打开工程目录下的 blinky1280.asf 分配引脚:

set_location_assignment PIN_13 -to clk  set_location_assignment PIN_48 -to led  set_location_assignment PIN_41 -to rst_n  set_location_assignment PIN_9 -to gpio[0] set_location_assignment PIN_11 -to gpio[1] set_location_assignment PIN_12 -to gpio[2] set_location_assignment PIN_14 -to gpio[3] set_location_assignment PIN_15 -to gpio[4] set_location_assignment PIN_16 -to gpio[5] set_location_assignment PIN_17 -to gpio[6] set_location_assignment PIN_18 -to gpio[7] set_location_assignment PIN_19 -to gpio[8] set_location_assignment PIN_20 -to gpio[9] set_location_assignment PIN_22 -to gpio[10] set_location_assignment PIN_23 -to gpio[11] set_location_assignment PIN_25 -to gpio[12] set_location_assignment PIN_42 -to gpio[13] set_location_assignment PIN_43 -to gpio[14] set_location_assignment PIN_44 -to gpio[15] set_location_assignment PIN_45 -to gpio[16] set_location_assignment PIN_46 -to gpio[17]

保存,其他参数默认就行,点击 Finish,Supra 就会开始 Place & Route。
一切顺利会输出这样:
9.png
如果不顺利,那就自己多试试,解决不了建议换回 Altera,或者期待天降原厂 FAE

1.7 烧写

准备一个 USB Blaster,我试过淘宝十几块的和正点原子的,都可以用,区别是便宜的慢。
先将 USB Blaster 按照引脚定义对应连接到板子上,然后板子上电,将 USB Blaster 接入电脑。
在 Supra 中打开 Tool - Program,点击 Query Device ID;
AG1280Q48 的 Device ID 是 0x00120010,如果正确连接会读到这个数值。
选择刚刚生成的烧录文件,其中:

  • blinky1280_sram.prg 是烧写到内部 SRAM 的,掉电后丢失

  • 需要掉电保存的话选择 blinky1280_hybird.prg

这里以 SRAM 为例。烧写成功如下图,这时板子上的灯应该就会闪了。
101.png
IMG_20210923_212945.jpg
用示波器测量其他引脚,能看到方波输出:
24204739.png

教程 2:吃灰

将点灯后的板子用立创商城的防静电袋子装起来,这里使用了这个板子上用的 LDO 的袋子。
里面还需要放上每次打板送的干燥剂,并尽量排出空气:
吃灰01.jpg
吃灰02.jpg


AG1280Q48 最小系统板 V1(原理图).png

Schematic_AG1280Q48 最小系统板 V1_2022-12-05.pdf

blinky1280_inpll.rar



关于我们

品牌中心

产品中心

新闻动态

咨询热线:13661545024(全国技术销售热线)

上海天晨芯科技有限公司

销售邮箱:sales@chipmorn.com

技术邮箱:jun.yao@chipmorn.com

公司地址:上海浦东新区东方路1365号5号楼

seo seo