火辣西米秀 发表于 2022-2-21 14:41

兆易创新GD系列系统方案评估

<p><span style="font-size:16px;">今年的&ldquo;缺芯风波&rdquo;愈演愈烈,ST芯片动辄10倍,20倍涨价,笔者所在的公司也有点扛不住了,开始选择国产替代芯片。目前选择了两家,华大半导体和兆易创新两家芯片。封装都是TSSOP20,本来笔者打算使用华大半导体做替代,结果发现需要重新画PCB板,因此准备优先选择兆易创新的GD系列,评估芯片资源,性能和应用是否满足需求。<br />
&nbsp; &nbsp;<br />
三款可选芯片</span></p>

<p><br />
<span style="font-size:16px;">笔者后续评估的有两款芯片,一款是M0内核的GD32E230,主要评估USART、TIMER、GPIO、ADC这几种应用;另外一款是M3内核的GD32107VC系列,主要评估USART、TIMER、GPIO、USB HOST、FLASH、IIC、SPI和IAP的应用;感兴趣的朋友可以关注我,一起交流讨论;废话不多说,直接上干货。</span><br />
&nbsp;</p>

<p><span style="font-size:16px;">时钟</span></p>

<p><br />
<span style="font-size:16px;">时钟就像人的心脏,时钟不对了,人就会出问题;任何一款芯片,首先就是保证他的时钟是对的,再继续其他动作。GD32E230F4P6的时钟树有2个来源:内部8M RC振荡器时钟和外部高速晶振时钟。时钟最高可达72MHz。<br />
&nbsp;</span></p>

<p style="text-align: center;">&nbsp;</p>

<p><span style="font-size:16px;"></span></p>

<p style="text-align: center;"><span style="font-size:16px;">&nbsp;<br />
GD32E230F4P6时钟树</span></p>

<p><br />
<span style="font-size:16px;">GD32E230系统时钟最高为72MHz,如下官方程序:PLL=HXTAL*9;HXTAL是外部晶振,一般为8MHz;STM32F031是48MHz,所以笔者把9改成了6,这样就与ST一样了,应用程序也不需要改。<br />
&nbsp;</span></p>

<p><span style="font-size:16px;"> &nbsp;<br />
系统时钟配置</span></p>

<p><br />
<span style="font-size:16px;">应用程序</span></p>

<p><br />
<span style="font-size:16px;">时钟配置完成后,直接点击下载烧录就行了。如下,笔者为了验证,写的程序是输出一个20KHz的PWM,输出占空比0和50%相互交替。<br />
TIM_CLK = [系统时钟/(预分频器+1)]*(Period+1)/分频器<br />
笔者的配置是:预分频器为0;周期为2399,分频器为1;<br />
所以定时器的时钟为: *(2399+1)/1 = 20KHz<br />
之后点击仿真(J-Link-SWD下载)就可以,如下图,定时器1000000时,输出占空比为0;定时器2000000时,输出占空比为50;交替即可<br />
&nbsp;</span></p>

<p><span style="font-size:16px;"> &nbsp;<br />
下载程序仿真</span></p>

<p><br />
<span style="font-size:16px;">示波器滚动模式检查仿真程序;可以看到是符合预期的,输出的占空比50%与0%相互交替;<br />
&nbsp; &nbsp;<br />
占空比50%与0%相互交替</span></p>

<p><br />
<span style="font-size:16px;">触发模式示波器滚动模式检查PWM的频率和占空比;PWM频率为20KHz,占空比为50%;也是符合预期;<br />
&nbsp; &nbsp;<br />
频率20KHz,占空比50%</span></p>

<p><br />
<span style="font-size:16px;"><strong>结语</strong></span></p>

<p><br />
<span style="font-size:16px;">笔者刚刚开始接触兆易创新GD系列芯片,感觉还是不错的,和ST的风格很像,也是PIN对PIN,不用改板;纠结于ST价格贵,交期长的小伙伴可以尝试下,很容易上手。<br />
但是,笔者也发现一个问题,使用IAR进行在线仿真的时候,编译器告警:The stack pointer for stack&#39;CSTACK&#39;(currently 0x00000000)is outside the stack range(0x20000008 to 0x20000208);这个只在GD仿真的时候出现,ST仿真是不会出现这个问题的。<br />
&nbsp;</span></p>

<p> &nbsp;<br />
调试时候的故障信息</p>

wangerxian 发表于 2022-2-21 16:20

<p>这种无缝衔接的芯片最受欢迎了!</p>

ysl245 发表于 2024-10-17 15:31

<p>GD32的生态资料不知道齐全不齐全,求介绍</p>
页: [1]
查看完整版本: 兆易创新GD系列系统方案评估