【推荐】ST处理器价格飞涨GD32F103替换STM32F103评估st公司价值评估
从事IT的同行都应该知道,最近一段时间以来,由于市面上的晶圆价格飞涨,
导致ST处理器的价格也坐上了火箭,
STM32F051R8T6的单价由半年前的5元左右飞涨到20元以上。
STM32F103RCT6的单价也由半年前的8元左右飞涨至30元左右。
而且,有钱还抢不到货,定货交期也延长到几个月至半年。
为了突破这一困境,同时为了支持我国的半导体产业,这段时间对国内的Cortex-M3内核的处理器做了一些研究。
其中GigaDevice的GD32103系列处理器可以完美替代STM32F103系列处理器,本文对这两个系统处理器的异同点做一些分析;
相同部分
1) 内核一样,都是采用Cortex-M3的内核。
2) 芯片的命名规则一样,对于后缀相同的芯片(比如GD32F103RCT6和STM32F103RCT6),其RAM, ROM空间大小一样,管脚定义一样,其管脚的复用功能也一样,芯片封装上可以做到PIN对PIN兼容,有可能不需要重新布板。
3) 芯片内部寄存器以及外设寄存器地址和定义一样,但是默认值稍有不同,在使用时需要注意。
4) 两款芯片都可以使用KEIL、IAR等编译器,开发环境一样;
5) 都可以使用STLINK、JLINK等仿真、烧写工具;
差异部分
硬件方面需要注意的事项
1) 对于BOOT引脚,ST可以悬空,但是GD必须要接到GND
2) 对于采用电池供电的产品,GD系列的单片机在2.6V以下就不能工作了。此时带保护板3.7V锂电池实际上还有电压输出,要考虑电池的续航时间以及GD在临界电压工作电压附近工作是否正常。需要特别做一些测试。
3)由于GD系列单片机的JTAG/SWD引脚的驱动能力较弱,在烧写、仿真时,可能会出现连接不稳定的情况,可以减少连线,或者在SWDIO接10K上拉电阻, SWCLK接10K下拉电阻。
软件方面需要注意的事项
1)GD在配置外设时需要先打开时钟,否则可能导致无法配置,而ST可以先配置再打开时钟。
2)GD为了保证可靠复位,启动时间更长,在使用外部晶振时,需要修改外部晶振起振超时时间,
将宏定义:
#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)
修改为:
#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF)
3)GD32F10X 系统处理器的Flash采用专利技术可以做到取值零等待,而ST需要两个时间周期,因此,如果IIC、SPI等通信有通过执行代码来延时,需要根据情况调整代码。
4)GD对Flash的擦写时间更长, Flash擦写操作的超时等待时间需要加长;
5)Flash分区要求
如果使用的Flash容量大于256KByte,则需要注意:
GD的flash存在分区的概念,在前面256K的code区,CPU读指令不需要等待,而256K范围外的区域被称为data区,这两块区域在擦写操作上没有区别,但在读操作时间上存在较大差别。
code区读操作不需要等待,而data的读操作需要有较大的延时时间 ,因此,两个区代码执行效果不同,建议将实时性要求好的代码放在code区,操作比较少的数据(比如显示图片,文字等)存入data区。
6)A/D转换
A/D通道默认是浮空输入, GD要配置成模拟输入才能正常采集,而ST不需要。
A/D时钟如果没有分频,则为最高频率14MHz,ST在14MHz时钟时能正常工作,而GD不行。
A/D使能之后,GD需要不少于20us的延时才能开始转换,而ST不需要。
GD的A/D转换精度不如ST。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。