`
本帖最后由 赵志峰 于 2021-3-10 10:04 编辑
为公司设计一款控制板,打算用国产芯片GD32F130C8T6,控制板要采集8个开关量输入,其中用到管脚PA0,PA1。PA2和PA3用作RS485串口通讯,调试时发现PA0和PA1不能拉到0V,而换成
STM32F030C8T6就完全没问题。并且配置成下拉输入(外部也有10K下拉),将这两个管脚悬空,用万用表测电压都是3.7V左右。
对比GD和STM的手册,对这两个管脚的描述完全相同。
file:///C:UsersADMINI~1AppDataLocalTempmsohtmlclip1\01clip_image002.jpg
这几个管脚电压标注的都是TTa(3.3V),不能兼容5V。后来经过研究外围
威廉希尔官方网站
发现,PA2和PA3接了5V的SP485芯片,去掉这个芯片后,功能一切正常。
由此得出结论,GD32在5V兼容性上不如STM32,在设计时一定要按照要求设计。
不建议用电阻分压方式。
这里推荐2个3.3V和5V的电平转换方案:
1、 采用专用芯片
file:///C:UsersADMINI~1AppDataLocalTempmsohtmlclip1\01clip_image002.jpgfile:///C:UsersADMINI~1AppDataLocalTempmsohtmlclip1\01clip_image004.jpg
这种方式一个芯片可以转换8路,优点是稳定,缺点是空间大,成本高。
2、 二极管加上拉电阻
如图:
file:///C:UsersADMINI~1AppDataLocalTempmsohtmlclip1\01clip_image006.jpg
公司目前采用第二种方案,经过长期测试稳定可靠,目前已批量生产智嵌物联ZQWL-IO-1DX1S8:
file:///C:UsersADMINI~1AppDataLocalTempmsohtmlclip1\01clip_image008.jpg
`