避坑总结——MCU:stm32f103zet6与FPGA:ep4ce6e22c8 的4层PCB绘制

避坑总结——MCU:stm32f103zet6与FPGA:ep4ce6e22c8 的4层PCB绘制

一.总体介绍

由于下项目需要,最近画了一块基于 stm32f103zet6 和 ep4ce6e22c8 的MCU+FPGA的双芯片PCB,期间遇到了不少坑,在此总结一下注意事项。废话少说直接上图:
正面:
在这里插入图片描述
背面:
在这里插入图片描述
板子尺寸:10cm9cm0.16cm
板子层数:4

  • stm32部分为左半边电路,电路参考的是"正点原子"的开源的原理图. 开发板32部分实现的主要功能包括: 按键, LED, RTC, SD, uart 串口, sram 外扩内存, am2320温湿度传感器, 7寸LCD屏幕, 其他部分引脚保留下来.
  • fpga部分为右半边电路,电路可以参考"达尔文说" 的开源fpga项目资源. 基本功能包括: 程序保存片外flash, 按键, LED, 蜂鸣器, uart串口, 其他引脚引出.

stm32部分与fpga部分绘制基本上是分开的,只是最后有几个交互引脚连了起来.

二. stm32f103zet6 绘制注意事项

  • 1.关于是否需要外扩sram: 看程序需求,程序里用到了外部内存池就需要加. 在第一版设计中由于没加sram,最后带ucos系统的lcd屏全程白屏,开始分开验证各个部分包括lcd都是正常的,排查了很久发现是内存不足导致的白屏.
  • 2.RTC时钟: stm32有两个无源晶振,一个是8Mhz的主晶振时钟; 另一个是32.768khz的rtc时钟,用于断电保持也能靠电池保持的RTC实时时钟. 8Mhz晶振工作基本没问题,但32.768khz的RTC时钟晶振总是难起振,由于引脚引起的附加电容,即使选取了数据手册推荐的负载电容也不工作. 本次使用的一个替换方案是选用有源晶振代替无源晶振 ,将有源晶振的输出接到rtc的输入引脚即可. 有源晶振选取时要注意功耗问题, 一般工作电流在数百微安至几个毫安,根据电池容量也可能需要选取工作电流1-10uA的低功耗的有源晶振(贵).
  • 3.串口芯片ch340: 据朋友说这个芯片是个恶心的玩意儿, 非常容易因为布局不当受到干扰而罢工, 为此我绘制时特别注意了一下,网上也有很多教程.感觉最需要注意的就是usb的差分信号,做到尽量最短对称即可,其他部分其实也没那么矫情,反正最终的6个ch340芯片电路都是能正常工作的.
  • 4.stm32f103也是可以像C51那样只用串口线就下载hex程序的, 用一款 FlyMcu的软件.
  • 5 boot0,b001直接10k电阻下拉接地,亲测省事且好用.
  • 6.晶振边缘可以加一个接地的焊盘用来连接晶振的金属外壳与地,据说有奇效,但我目前没有发现,可能是没有在恶劣环境中工作.
  • 7.四层PCB没有必要完全遵守 电源+地+信号*2的分布, 引脚又多又乱,就用3层信号层吧,剩下一层走电源, 地信号就敷铜解决吧.
  • 8.起初不工作,怀疑SD卡部分需要走等长线, SD有SDIO和SPI两种时序,但毕竟不是在几十M的极限频率下,这点竞争冒险应该还是能够容忍的,最重要原因是板子没空间走等长线了,后来问题解决了,也确实说明和是否等长线关系不大.
  • 想起来了再补充

三. ep4ce6e22c8 绘制注意事项

  • 1.cyclone系列fpga芯片还是比较好选择的, V系列的各种吊打IV系列的芯片,但是V系列的一片都是好几百起步,上不封顶. 而cpld不管是二代还是最新的五代,相比IV系列fpga芯片在资源量上来说都只能是弟弟, 可以用在极低端情况. 自己玩的话,还是得回到iv系列的fpga来, 但稍微贵点的引脚多一点的芯片都是bga封装了, 方便手工焊接的QFP封装的芯片其实只有最低端的那么几款,比如我用到的ep4ce6e22c8. 资源多一点的可以上ep4ce10e22c8, 更快一点的可以从c8 到c7/c6, 这几个在硬件上完全是通用互换的.
  • 2.最要的事情说三遍: 芯片背部的金属焊盘必须要接地, 否则程序都下载不了. 实际绘制时不要直接用altera官网的库,那是给smt用的,自己画时把库中的中央那些小针眼换成超大孔经的焊盘,方便从背面焊接. 亲测使用3.5mm孔经的焊盘比较舒服.
  • 3.芯片有几个专门用于时钟输入的clk脚,只适用于信号的输入,不能输出. nCE脚默认用于多芯片级联编程用的,一般留出来不用就好,非要使用就得在程序里把引脚功能改一下.
  • 4.JTAG电路有的参考上拉接3.3V有的参考接2.5V, 亲测两个都可以工作的
  • 5.JTAG一个口就可以既下载.sof的掉电丢失程序也可以下载掉电保存到片外flash .jic程序.
  • 代补充

四 总结

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值