STOpen硬件设计4-周边模块设计二(CAN+RS485+UART+IO扩展等)

本章继续设计剩余的模块,完成一个基本系统的设计工作,然后就可以开始软件工作了:

  1. 一个调试UART,一个输出UART

UART的设计相对比较简单,把RX,TX直接连接到需要输出的插座就可以。在本项目设计中,我们一路串口用来输出调试信息(也可以预留其他功能),一路用来连接到扩展板和其他模块通讯。
需要注意的几点:
 1. 我们的TX,RX的电平是3.3V,如果是连接到PC,需要外部使用带电平转换的线缆。
 2. 如果是连接到一些控制模块,比如4G模块,可能是1.8V的IO,还需要增加电平转换电路
 3. 如果是直接连接到外部插座,需要增加ESD的防护器件。人体容易接触的其他接插座,比如USB,JTAG等也需要增加ESD保护器件,防止人体静电击穿电路连接的器件和IO。
 4. 其中一路,板载458转换器,使用常见的SP3485。
在这里插入图片描述

  1. 一个CAN

使用一路高速can总线,连接外部can设备。驱动芯片使用常用的TJA1042T
在这里插入图片描述

  1. 一路I2C

我们设计一个采用I2C接口的IO扩展芯片来学习如何使用硬件I2C和软件I2C,并且让它们的驱动切换非常容易,同时融合进系统来,和其他模块协调工作。
在设计这个硬件模块的时候,要注意几点:
 因为I2C的输出是开漏的,以支持多个设备的并联(线与功能),所以通讯线要提供上拉电阻。阻值根据I2C的速度来设置,速度越高,阻值越小,保证信号的上升沿和下降沿的斜率符合规范要求。
 LED的选择:我们选用0603的LED,一共16个,来组成一个8字和1字。根据其规格书,电压范围1.6-2.3V,我们工作电压是3.3V,所以我们需要串联一个限流电阻。这个限流电阻的选择,根据工程实战经验,红灯发光比较亮(人眼的感觉),并不需要提供20mA那么大的电流(16个灯,全亮的时候会需要很大的电流),我们暂定2mA左右,实际效果根据最后亮度情况来调整。
 驱动电平选择:根据PCF8574的规格,它的IO在上电的时候是输出高的,为了保证开机所有的LED都是熄灭的状态,我们使用低有效来驱动LED。该芯片的吸收电流能力很强,所以我们用IO直接驱动即可,无需外部其他电路。
在这里插入图片描述
在这里插入图片描述

  1. 三路PWM输出和PWM捕获共用

预留驱动三色RGB灯,或者电机

  1. 2路ADC
  2. 2路DAC

ADC和DAC的电路我们暂时预留,后面根据需要再通过扩展板来实现。

  1. 7个按键

我们提供7个按键作为用户输入接口,其中一个具有外部中断功能,用来作为系统休眠后的唤醒操作。在STM32F103的芯片上,外部中断需要一个上拉电阻。
在这里插入图片描述

  1. 一个蜂鸣器

提供一路直流无源蜂鸣器作为提示音,用来作为用户操作反馈和其他信息提示音
在这里插入图片描述

  1. 8路输入IO

输入IO也直接引导IO扩展板,可以提供光耦隔离等各种模式的输入方式

  1. 8路输出IO

输出IO也直接引导IO扩展板,可以提供光耦隔离,继电器,晶体管输出等各种模式的输出方式

  1. MCU接口的16bits TFT LCD屏

LCD我们选择支持8080 MPU接口,所需的信号包括数据线D[15-0],写信号WR,读信号RD,片选CS,命令和寄存器选择信号D/C,再加上一条RESET信号,地线,电源就构成了我们的LCD接口。如果需要做待机控制,我们还需要一条背光控制线,在系统待机的时候关闭LCD的背光电源。
LCD板我们采用扩展板的方式引出去,减少核心板的大小,提供更好的柔韧性,LCD扩展板设计的时候我们可以兼容多种LCD屏幕,使用一个底板。
在这里插入图片描述

以上基本模块设计完成后,我们再把所有的IO通过两个插座引出来使用,以后再添加其他功能的时候就可以通过扩展板的方式来实现,最终完成一个实用的,功能齐全的,扩展性极强的,可以量产的稳定系统。
一个系统的稳定,不仅仅是硬件的稳定,还包括软件的稳定。要到达这个目标,需要在非常多的细节上下功夫,不断的积累经验,搞懂每一个小的细节,要有打破砂锅问到底的永不放弃精神,技术需要知其然知其所以然,多问几个为什么,多问问自己,是不是还可以做得更好。
好了,基本的原理图设计就到这里了,基于这个硬件板子,我们就可以学习到非常多的关于STM32F103的编程知识,学会使用里面的所有硬件模块,并且把它们全部组合起来,记住喔,是全部整合到一个工程里面喔,不是一个模块一个工程的验证,最后组合的时候就傻眼的学习方式喔。请紧跟着STOpen开源项目的脚步(由于时间关系,更新可能有点慢,谅解,有兴趣一起做这个项目的朋友,可以通过博客留言,公众号留言或者发邮件到邮箱huangembed@163.com),你将会见证和学会如何一步一步的完成一个从0开始的项目,学会如何从0开始构建一个完备的软硬件系统,然后你可以根据自己项目的需要去裁剪和添加对应的硬件模块,裁剪软件功能,最终实现独特的应用,相信我,你经历完这个项目的洗礼,你将会比别人跑快至少3年。
原创文章,欢迎转载,请注明来源,未经书面允许,请勿用于商业用途。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值