嘉立创产业服务站群
发作品签到
标准版

AG1280Q48 最小系统板 V1

工程标签

1.4w
0
0
13

简介

AG1280Q48 最小系统板

简介:AG1280Q48 最小系统板

开源协议

CC-BY-NC-SA 3.0

创建时间:2021-08-25 05:03:39更新时间:2021-10-29 11:42:03

描述

AG1280Q48 最小系统

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
然后找个地方摆起来。
吃灰时需要注意,避免外力挤压;避免滑落后踩到;避免不慎食用;不要加入鸡蛋。

其他资料 & 参考

教程 1 涉及到的代码及烧录文件见附件,可用于快速测试好坏。

其他参考:
【LED灯屏控制器】国产FPGA之 AG10KSDE176 初探(1) - ReCclay 该链接中的网盘链接包含 Supra 的使用手册
【LED灯屏控制器】AG10K 烧录程序(2) - ReCclay
AGM技术问题解答集锦-海振远科技 (我没去要这个的完整版

设计图

原理图
PCB

BOM

IDNameDesignatorFootprintQuantity
11.25-6P-TESTPOINT11.25-6P-TESTPOINT1
2100nFC1,C3,C8,C9,C10,C11,C12,C13,C16C0402_NEW9
34.7uFC4,C5,C6,C7C04024
422uFC77C08051
5A2005WV-2X5PCN1HDR-TH_10P-P2.00-V-R2-C5-S2.001

附件

序号文件名称下载次数
1
blinky1280_inpll.zip
187
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航