返回列表 发新帖我要提问本帖赏金: 15.00元(功能说明)

[其它] DIY - AT32F437核心板

[复制链接]
3318|14
 楼主| tlled 发表于 2023-5-10 09:08 | 显示全部楼层 |阅读模式
本帖最后由 muyichuan2012 于 2023-5-10 16:18 编辑

#申请原创#  @21ic小喇叭 @21ic小喇叭
参考官网的资源,DIY设计了一个AT32F437核心板。
官网资源地址:https://www.arterychip.com/en/product/AT32F437.jsp#Resource


一、AT32F437芯片简介

超高性能——AT32F437系列,搭载ARM ®  Cortex ® -M4内核,为世界带来了高达288 MHz的运算速度。内置单精度浮点运算单元(FPU)、数字信号处理器(DSP)和内存保护单元(MPU),具有丰富的外设和灵活的时钟控制机制,适用于广泛的应用。尤其是它最大支持4032 KB Flash和512 KB SRAM,在性能上远超同类产品。

此外,AT32F437系列还提供了Security Library。这个库是在主存中一个由代码保护的定义区域,这样解决方案提供商不仅可以安心地在里面编写核心算法,也可以为下游客户提供二次开发的空间。同时,AT32F437 系列包含 2 个 OTG 控制器(设备模式下无 Xtal)、2 个用于外部 SPI 闪存或 SPI RAM 扩展的 QSPI、8 个 UART、2 个 CAN、4 个 SPI/I²S(2 个全双工)、3 个高速ADC 引擎(5.33 Msps)、8~14 位数字视频并行接口(DVP)、用于扩展 SDRAM、SRAM 和 PSRAM 的 XMC,以及用于物联网应用的 IEEE-802.3 10/100Mbps 以太网端口控制器,大大提高了可靠性,同时降低成本。AT32F437 器件可在 -40 至 105 ℃ 的温度范围内表现良好。它还通过其强大的片上资源分配、更高的集成度和成本效益,提供多种芯片供选择,以应对多样化的内存需求。凭借其出色的性能,AT32F437系列无疑将成为工业自动化、电机控制、物联网和消费电子等需要更高计算和更大内存应用的最佳合作伙伴。


AT32F437芯片系列封装表
001.png

这次设计使用了AT32F437ZMT7芯片

二、设计的电路
2.1、设计的电路图
200.png
201.png
202.png

2.2、PCB图
002.png
003.png

2.3、实物
300.jpg
301.jpg

三、测试
使用官网的例程,测试下SDRAM读写测试,串口打印结果
3.1、BSP下载地址:https://www.arterychip.com/download/BSP/AT32F435_437_Firmware_Library_V2.1.2.zip
3.2、编辑例程
在SDRAM例程中,添加打印函数。
main.c
  1. #include "at32f435_437.h"
  2. #include "at32f435_437_clock.h"
  3. #include "at_surf_f437_board_delay.h"
  4. #include "at_surf_f437_board_sdram.h"
  5. #include "at_surf_f437_board_lcd.h"
  6. #include "at_surf_f437_board_usart.h"

  7. #define BUF_SIZE                         4096
  8. uint16_t write_buf[BUF_SIZE];
  9. uint16_t read_buf[BUF_SIZE];

  10. /**
  11.   * [url=home.php?mod=space&uid=247401]@brief[/url]  compare whether the valus of buffer 1 and buffer 2 are equal.
  12.   * @param  buffer1: buffer 1 address.
  13.             buffer2: buffer 2 address.
  14.   * @retval the result of compare.
  15.   */
  16. error_status buffer_compare(uint8_t* buffer1, uint8_t* buffer2, uint32_t len)
  17. {
  18.   uint32_t i;

  19.   for(i = 0; i < len; i++)
  20.   {
  21.     if(buffer1[i] != buffer2[i])
  22.     {
  23.       return ERROR;
  24.     }
  25.   }

  26.   return SUCCESS;
  27. }

  28. /**
  29.   * [url=home.php?mod=space&uid=247401]@brief[/url]  main program
  30.   * @param  none
  31.   * @retval none
  32.   */
  33. int main(void)
  34. {
  35.   uint16_t i;

  36.   /* initial system clock */
  37.   system_clock_config();

  38.   /* initial the nvic priority group */
  39.   nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);

  40.   /* initialize delay */
  41.   delay_init();
  42.         
  43.         uart_print_init(115200);

  44.   /* initialize lcd */
  45.   lcd_init(LCD_DISPLAY_VERTICAL);

  46.   /* initialize sdram */
  47.   sdram_init();

  48.   /* display information */
  49.   lcd_string_show(10, 20, 200, 24, 24, (uint8_t *)"SDRAM Test");
  50.         printf("SDRAM Test\r\n");

  51.   /* initialize write buffer */
  52.   for(i = 0; i < BUF_SIZE; i++)
  53.   {
  54.     write_buf[i] = i;
  55.   }

  56.   /* write data to sdram */
  57.   sdram_data_write(0, write_buf, BUF_SIZE);

  58.   /* read data from sdram */
  59.   sdram_data_read(0, read_buf, BUF_SIZE);

  60.   /* compare data */
  61.   if(buffer_compare((uint8_t *)write_buf, (uint8_t *)read_buf, BUF_SIZE * 2) == SUCCESS)
  62.   {
  63.     lcd_string_show(10, 60, 310, 24, 24, (uint8_t *)"sdram write/read ok");
  64.                 printf("sdram write/read ok\r\n");
  65.   }
  66.   else
  67.   {
  68.     lcd_string_show(10, 60, 310, 24, 24, (uint8_t *)"sdram write/read error");
  69.                 printf("sdram write/read error\r\n");
  70.   }

  71.   while(1)
  72.   {

  73.   }
  74. }


3.3 、编译
3003.png
3000.png
3002.png

四、程序运行
4.1、连接下载器
3004.jpg

4.2、串口输出

SDRAM测试结果读写正常 。
4005.png

五、附件

PDF电路图: SCH_AT32F437_CORE_V1.0.pdf (569.55 KB, 下载次数: 20)


打赏榜单

ArterySW 打赏了 15.00 元 2023-05-10
理由:作品优秀

评论

感谢分享,MARK一下,学习了  发表于 2023-6-29 13:38
qiangtech 发表于 2023-5-10 14:32 | 显示全部楼层
大佬又出佳作了。
 楼主| tlled 发表于 2023-5-10 17:13 | 显示全部楼层
qiangtech 发表于 2023-5-10 14:32
大佬又出佳作了。

看到这个芯片了,做个板子测试测试!
trucyw 发表于 2023-5-11 08:30 | 显示全部楼层
怎么看着是多层板呢
tpgf 发表于 2023-6-7 09:17 | 显示全部楼层
为什么我自己画的核心板下载不了程序呢  原理上 也没问题啊
nawu 发表于 2023-6-7 09:26 | 显示全部楼层
板子很小巧啊 相对应的密度真的比较大 是双层板吗
aoyi 发表于 2023-6-7 10:52 | 显示全部楼层
一个核心板是不是只要 有一个主控芯片以及相应的晶振以及电源芯片就可以了啊
zljiu 发表于 2023-6-7 11:10 | 显示全部楼层
288MHz是一个正常的运算速度还是超频运算呢
gwsan 发表于 2023-6-7 11:53 | 显示全部楼层
这个核心板带板载的调试电路部分吗  就是不需要接仿真器了
tfqi 发表于 2023-6-7 12:12 | 显示全部楼层
非常不错的核心板  它的纯硬件成本大概是多少呢
caigang13 发表于 2023-6-8 23:12 来自手机 | 显示全部楼层
搞个黑色PCB才帅气
chenjun89 发表于 2023-6-8 23:46 来自手机 | 显示全部楼层
不错呀,最小系统板。
yang8555u 发表于 2023-6-9 17:53 | 显示全部楼层
SDRAM是预计用来干什么的呢
georgeliu2016 发表于 2023-7-1 15:27 | 显示全部楼层
核心板很不错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

701

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部