接口/总线/驱动
01
USB接口
STM32F1系列MCU支持USB2.0接口,查阅芯片规格书知道,当使用全速USB时,需要在信号线DP上上拉1.5kΩ至3.3V,详细如下图圈出的note所示。
对于这个问题,ST的评估板提供了一个解决方案,先看下图,图中的1.5kΩ上拉电阻主要受三极管T1和T2的开关状态控制,这里做个控制逻辑分析。
a. 当JP14的2号脚被短接至JP14的1号脚,T1断开,这时T2的开关状态取决于USB口CN14是否接到PC端,如果接到PC端的话,PC为CN15供电,即U5V上有5V电压,T2打开,此时如果MCU内有USB相关的固件的话,PC端会检测到USB设备并枚举识别为全速USB设备。
b. 当JP14的2号脚被短接至JP14的3号脚,T1受GPIO信号控制,当GPIO为低电平时,情况跟上述a一样,当GPIO为高电平时,T1导通,T2断开,此时1.5kΩ电阻没有被上拉至3.3V,所以CN14接到PC的USB接口上后,不会被识别为全速设备。
这里这样处理的目的主要有两个,一是软件可以控制切换USB工作模式,另外是USB线插在PC端后,重新烧录固件时不用手动插拔USB线让PC检测USB设备重新枚举。
02
CAN接口
CAN是汽车、计算机控制系统和嵌入式工业控制局域网的标准总线,它有很多优点,如传输距离远(最远-),因为自带CRC校验和重传,所以传输可靠等。
STM32F1系列MCU集成了CAN2.0B的控制器,硬件设计时只需要再加一个CAN的PHY芯片即可,CAN有CAN_TX和CAN_RX两个信号,参考规格书的Table 5,我们可以知道有多个引脚可以复用为CAN信号,我们根据IO资源分配情况选择可以用的IO,如官方评估板使用的是PB8(CAN_RX)和PB9(CAN_TX)。
对应CAN_TX连接到PHY芯片的D,CAN_RX连接到PHY芯片的R。PHY芯片的CANH和CANL是一对差分信号,当CAN总线上挂多个CAN设备时,需要在第一个和最后一个设备的CANH和CANL之间连接一个120Ω的匹配电阻,如下为ST官方评估板的CAN PHY参考设计。
全部0条评论
快来发表一下你的评论吧 !