[MCU] 国产32位单片机兼容性测试非权威报告- AT32F403兼容性测试篇

太白金星   2020-6-16 10:50 楼主

最近贸易战愈演愈烈,加上2020年这突然袭来的疫情,我们公司使用的32位单片机的供货出现了不稳定因素。前两天公司就放风说是考虑国产芯片替换,果不其然,今天老大扔给我和刘工几片国产芯片,包括雅特力科技的AT32F403芯片、北京兆易创新的GD32F103和灵动的MM32F103,是说让我们测测其软件兼容性如何。

 

估计这次国产替换的目的是

1 研究备选方案,预防真正的缺货问题  

2 降成本,据我了解,国产芯片要便宜不少,而且性能还提升蛮多,STC51就是先例  

3 咱也不敢问,咱也不敢说

 

 

作为一个底层工程师,心里肯定是一百个不愿意。心想,我们目前使用的STM32F103用得好好的,几款产品验证下来,稳定性和质量都挺好的。关键是,这不,又是给我们增加工作量吗,又要改代码,又要debug,又要测试,然后又要改代码,又要debug,又要测试 ..

 

 

哎,胳膊拧不过大腿,还是继续搬砖吧。关于兼容性的测试还是硬着头皮做吧,与其反抗不了,不如欣然接受。

 

那就先从雅特力的AT32开始做起吧,谁叫他首字母是“A”呢,我喜欢按首字母排序。

 

AT32F403兼容性测试篇

----------------2020528

拿到雅特力芯片型号是AT32F403ZGT6,据采购部门兄弟说,这款型号和STM32F103ZTG6是脚位兼容和软件兼容,说人话就是除了logo,其他完全一样。关于替换工作,总共分为三步:

步骤一  解焊电路板上的STM32 芯片

步骤二  焊接对应AT32

步骤三  下载原STM32bin

完成。

 

当然,我是将信将疑的,毕竟STM32f10332位单片机,兼容难度与之前STC51那种8位单片不是一个级别的,STM32F103referencemanual1000多页。

 

继续…

本次兼容性测试工作老大也比较重视,我们项目组主要由我和刘工一起负责,

 刘工负责直接将我们的手持云台产品换上AT32F403RGT6,估计一两天就可以有结果,等两天我在该帖中顺便把刘工的结果汇报一下

 我主要负责测试AT32各个外设功能是否ok,因为有些外设我们目前产品暂时没有用到,但未来升级可能用到,必须确保该单片机满足我们未来产品规划

 

验证这么多外设,用什么呢,不可能花力气去把代码都写一遍吧。冥思苦想之际,我一脚踹到了久封多年的正点原子开发板,是STM32F103战舰版。幸好所有的模块都还在,嘻嘻,在原子哥的论坛把最新的代码下载不就软硬件准备好了吗,好主意,。

题外话,原子哥可是我大学的第二个嵌入式学科老师,大学时我们宿舍是通过凑钱购买了一套正点原子开发板轮流使用才渐渐地入行嵌入式软件这个行业的。如果有幸原子哥看到该贴,原子哥我只想跟您说“谢谢您,我是您忠实粉丝,永远支持您”

 

不说那么多了,太肉麻,开工吧。

第一步 解封沉寂多年的正点原子战舰版,真的全是灰尘

第二步 解焊STM32F103ZET6焊接上AT32F403ZGT6ZGT6只是flash容量比ZET6大,其他没有区别

第三步 使用Jlink下载正点原子第一个程序“实验1跑马灯”,

嗯?下载不了,Keil找不到芯片,报错。排查了一个小时,原来芯片没有焊接好。

继续…

说明一下,接下来的测试方法都是这样直接替换方式,代码和硬件电路不做任何修改,否则就失去了兼容性测试的意义。

 

----------------2020529日上午

继续…

[td] 

 

序号

   

测试案例

库函数版-

 

Test   Result

备注

1

实验1 跑马灯实验

Pass

2

实验2 蜂鸣器实验

Pass

3

实验3 按键输入

Pass

4

实验4 串口实验

Pass

5

实验5 外部中断实验

Pass

6

实验6 独立看门狗实验

Pass

7

实验7 窗口看门狗实验

Pass

8

实验8 定时器中断实验

Pass

9

实验9 PWM输出实验

Pass

10

实验10 输入捕获实验

Pass

11

实验11 触摸按键实验

Fail

反馈给雅特力FAE得知:AT32F403ZGT6的有几个PIN配置为浮空输入时,会存在很弱的2.1V电平。后续型号有修好。

12

实验12 OLED显示实验

Pass

13

实验13 TFTLCD显示实验

Pass

14

实验14 USMART调试实验

Pass

15

实验15 RTC实验

Fail

反馈给雅特力FAE得知:掉电时间不走,AT32F403ZGT6RTC不支持Back domain单独供电。后续型号会支持。

16

实验16 待机唤醒实验

Pass

17

实验17  ADC实验

Pass

 

18

实验18 内部温度传感器实验

Pass

19

实验19 光敏传感器实验

Pass

20

实验20 DAC实验

Pass

21

实验21 PWM DAC实验

Pass

22

实验22 DMA实验

Pass

23

实验23 IIC实验

Pass

24

实验24 SPI实验

Pass

25

实验25 485实验

Pass

26

实验26 CAN收发实验

Pass

27

实验27 触摸屏实验

Pass

28

实验28 红外遥控实验

Pass

29

实验29 游戏手柄实验

Pass

30

实验30 18B20数字温度传感器实验

Pass

31

实验31 DHT11数字温湿度传感器实验

Pass

32

实验32 MPU6050六轴传感器实验

Pass

33

实验33 无线通信实验

Pass

34

实验34 FLASH模拟EEPROM实验

Pass

----2020 5 29 日晚上

感谢各位大神的回帖,对于我这种菜鸟来说真的是受益匪浅。

-------我是完美分割线----------

从刘工得到消息,他那部分兼容性验证已完成,使用AT32F403RGT6 直接替换到我们的手持

云台,结果直接就可以工作,后面他会将主频拉到192MHz 并做压力测试。

花开两朵,各表一枝。继续我这边的测试...

我还是没有学会上传表格,老规矩,还是继续贴图

继续…

[td] 

 

序号

   

测试案例

库函数版-

 

Test Result

备注

35

实验35 摄像头实验

Pass

 

 

36

实验36 外部SRAM实验

Pass

37

实验37 内存管理实验

Pass

38

实验38 SD_SDIO实验

Pass

39

实验39 FATFS实验

Pass

40

实验40 汉字显示实验

Pass

41

实验41 图片显示实验

Pass

42

实验42 照相机实验

Pass

43

实验43 音乐播放器实验

Pass

44

实验44 录音机实验

Pass

45

实验45 手写识别实验

Pass

46

实验46 T9拼音输入法实验

Pass

47

实验47 串口IAP实验

Pass

48

实验48 USB虚拟串口实验

Pass

49

实验49 USB读卡器实验

Pass

50

实验50 网络通信实验

Pass

51

实验51 UCOSII实验1-1-任务调度

Pass

52

实验51 UCOSII实验1-2-任务创建删除挂起恢复

Pass

53

实验52 UCOSII实验2-信号量和邮箱

Pass

54

实验53 UCOSII实验3-消息队列、信号量集和软件定时器USER

Pass

55

实验54 综合测试实验

Fail

除了前面的实验11和实验15,其他都可以通过。

56

扩展实验1 ATK-HC05蓝牙串口模块实验

Pass

 

 

57

扩展实验2 ATK-NEO-6M GPS模块实验

Pass

 

 

58

扩展实验3 ATK-7' TFTLCD电容触摸屏模块测试实验

Pass

 

 

59

扩展实验4 ATK-SIM900A GSM模块测试实验

Pass

 

 

60

扩展实验5 ATK-RM04 WIFI模块测试实验

Pass

 

 

61

扩展实验6 ATK-OV2640 摄像头模块测试实验

Pass

 

 

62

网络实验1 LWIP无操作系统移植

Pass

 

 

63

网络实验2 LWIPUCOS操作系统移植

Pass

 

 

64

网络实验3 RAW_UDP实验

Pass

 

 

65

网络实验4 RAW_TCP客户端实验

Pass

 

 

66

网络实验5 RAW_TCP服务器实验

Pass

 

 

67

网络实验6 RAW_Webserver实验

Pass

 

 

68

网络实验7 NETCONN_UDP实验

Pass

 

 

69

网络实验8 NETCONN_TCP客户端

Pass

 

 

70

网络实验9 NETCONN_TCP服务器

Pass

 

 

71

网络实验10 NETCONN _WEBserver实验

Pass

 

----------------2020 5 30 

感谢大家的关注,继续把后面的测试做完...

另外,发现个小技巧,原来该论坛发帖是可以贴表格的

[td] 

 

序号

   

测试案例

库函数版-

 

Test Result

备注

72

EMWIN实验1 STemWin无操作系统移植

Pass

 

 

73

EMWIN实验2 STemWinUCOSIII移植

Pass

 

 

74

EMWIN实验3 文本显示

Pass

 

 

75

EMWIN实验4 数值显示

Pass

 

 

76

EMWIN实验5 2D绘图

Pass

 

 

77

EMWIN实验6 绘制位图

Pass

 

 

78

EMWIN实验7 颜色条绘制

Pass

 

 

79

EMWIN实验8 存储设备

Pass

 

 

80

EMWIN实验9 分段存储设备

Pass

 

 

81

EMWIN实验10 自动设备对象

Pass

 

 

82

EMWIN实验11 WM重绘背景

Pass

 

 

83

EMWIN实验12 WM函数使用

Pass

 

 

84

EMWIN实验13 WM裁剪

Pass

 

 

85

EMWIN实验14 GUIbulider使用

Pass

 

 

86

EMWIN实验15 BUTTON使用

Pass

 

 

87

EMWIN实验16 BUTTON位图显示

Pass

 

 

88

EMWIN实验17 CHECKBOX小工具

Pass

 

 

89

EMWIN实验18 DROPDOWN小工具

Pass

 

 

90

EMWIN实验19 EDIT小工具

Pass

 

 

91

EMWIN实验20 FRAMEWIN小工具

Pass

 

 

92

EMWIN实验21 XBF格式汉字显示

Pass

93

EMWIN实验22 TTF格式字体显示

Pass

94

EMWIN实验23 汉字显示(FLASH外置字库)

Pass

95

EMWIN实验24 BMP图片显示

Pass

96

EMWIN实验25 JPEG图片显示

Pass

97

EMWIN实验26 GIF图片显示

Pass

98

EMWIN实验27 PNG图片显示

Pass

 

 

99

EMWIN实验所需SD卡文件

-

 

 

100

1-1 UCOSII移植

Pass

 

 

101

4-1 UCOSIII移植

Pass

 

 

102

6-1 UCOSIII任务创建和删除

Pass

 

 

103

6-2 UCOSIII任务挂起和恢复

Pass

 

 

104

6-3 UCOSIII时间片轮转调度

Pass

 

 

105

7-1 UCOSIII空闲任务钩子函数的使用

Pass

 

 

106

9-1 UCOSIII软件定时器

Pass

 

 

107

10-1 UCOSIII直接访问共享资源

Pass

 

 

108

10-2 UCOSIII使用信号量访问共享资源区

Pass

 

 

109

10-3 UCOSIII使用信号量进行任务同步

Pass

 

 

110

10-4 UCOSIII优先级反转

Pass

 

 

111

10-5 UCOSIII互斥信号量

Pass

 

 

112

10-6 UCOSIII任务内嵌信号量

Pass

 

 

113

11-1 UCOSIII消息传递

Pass

 

 

114

11-2 UCOSIII任务内建消息队列

Pass

 

 

115

12-1 UCOSIII事件标志组

Pass

 

 

116

13-1 UCOSIII同时等待多个内核对象

Pass

 

 

117

14-1 UCOSIII内存管理

Pass

 

放点测试的照片----

 更换为AT32F403ZGT6之后的正点原子战舰板

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.001.png

 

 综合实验-主界面

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.002.png

 综合实验-记事本

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.003.png

 综合实验-时钟

 

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.004.png

 综合实验-Tom

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.005.png

 综合实验-手写画笔

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.006.png

 综合实验-录音机

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.007.png

 综合实验-计算器

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.008.png

 综合实验-陀螺仪

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.009.png

 综合实验-系统设置

  0653c4bc-e0a9-4023-9a69-6122fa6c2c70.010.png

测试三天,来个总结

优势

1 兼容性出乎意外,这里打个90 分吧,打消了我之前对国产32 位单片机的固有偏见,看来目前的国内IC 设计技术的确突飞猛进。

 

2 性能增强部分比较满意,打个80 分吧。尤其是200MHz 主频和224 Kbytes SRAM。这对于我们产品升级帮助很大,对于我们开发者来讲,只是为了增加SRAM 和主频就换ST 更高级型号成本太高。

 

3 AT32 的售后服务好,85 分。关于实验11 15 通不过问题,他们FAE 还是挺专业资深的,会快就查到问题点。尤其是那个Chario 李伟华,李工(不过,干嘛搞个英文名,而且他们从来不叫中文名,怪怪的)。

 

4 AT32 的迭代更新也是蛮快的,据说新设计的AT32F403A,在原403 的基础上进一步完善,不但修了实验11 和实验15 的问题,主频更是提升到240MHz。有机会的话,可以拿来测试测试。

不足

1 由于是新厂家,宣传太少又过于低调,导致相关资料不多,在网上不是很好找。

 

2 产品线少,目前只有403/413/415/403A/407 几个型号。听他们FAE 421,435 即将量产,

这是个好消息。下图是雅特力李工发的AT32 产品线规划,还是蛮期待的。

0653c4bc-e0a9-4023-9a69-6122fa6c2c70.011.png

 

最后,由于以上测试样本不多,有一定局限性,欢迎各位帖友补充自己的测试结果。

另外,我有将正点原子综合程序配置为192M主频,升主频后在AT32上跑起来的确要比72M时顺畅很多,代码也贴一份吧。

回复评论 (8)

国产芯片现在做的越来越好了。

点赞  2020-6-16 11:18

AT32F403 一定要顶一下。这芯片性价比高。用M4的人赶快上。

楼主的排版好好整理一下。否则拖AT32F403后腿             哈哈。

本帖最后由 damiaa 于 2020-6-19 14:42 编辑
点赞  2020-6-19 14:41

刚好最近在用,这个文章很及时,谢谢楼主分享

1084534438 欢迎交流  [加油,一切皆有可能]
点赞  2021-1-18 22:38

给大佬赞一个,看到这个测试,突然想到我们之前为了替换为GD32 时候做的测试,是多么的水

点赞  2021-1-20 15:04

无论结果如何,支持国产是必须的,慢慢来,一切都会有的!

چوآن شـين
点赞  2021-4-1 20:41

雅特力AT32F403芯片、兆易创新的GD32F103和灵动的MM32F103,这几款目前来说都发展势头很好

就是看谁能把握住这次机会了

目前STM32F103价格已经涨到天上了,,

点赞  2021-4-1 20:47

谢谢楼主分享

点赞  2021-4-7 10:56

现在AT缺货更厉害,想不到吧

点赞  2021-5-15 12:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复