找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3661|回复: 1
打印 上一主题 下一主题
收起左侧

STM32开发板开发过程|4通讯部分电路设计

[复制链接]
跳转到指定楼层
楼主
ID:117358 发表于 2016-5-1 06:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从今天开始,就开始着手设计一款STM32单片机开发板,我每天会把开发的过程跟大家分享出来,尽量做到细致,让初学者对单片机开发有个入门的印象,同时也和大家一起探讨、分享STM32单片机的学习经验,和大家一起成长为单片机高手。
历史回顾:
STM32开发板开发过程|1芯片选型
STM32开发板开发过程|2最小系统设计
STM32开发板开发过程|3GPIO部分设计
1. STM32F103C8T6-通讯口介绍C8T6单片机有如下几个通讯口:
  • UART通讯3个
    PA9   - UART1,TXD;
    PA10- UART1,RXD;
    PA2  - UART2,TXD;
    PA3  - UART2,RXD;
    PB10- UART3,TXD;
    PB11- UART3,RXD;
  • I2C通讯2个
    PB6 - I2C1,SCL;
    PB7 - I2C1,SDA;
    PB10-I2C2,SCL;
    PB11-I2C2,SDA;
  • SPI通讯2个
        PA5  - SPI1,SCK;
        PA6  - SPI1,MISO;
        PA7  - SPI1,MOSI;
        PB13 - SPI2,SCK;
        PB14 - SPI2,MISO;
        PB15 - SPI2,MOSI;
  • CAN通讯1个
    PA11 - CAN,RXD;
    PA12 - CAN,TXD;
2. UART1通讯口设计UART1可以用来ISP给单片机下载程序,所以这个接口使用CH340G通讯芯片,设计如下:


CH340G实现USB/TTL的功能,单片机的复位引脚与13脚连接,当DTR是低电平的时候实现单片机的复位,当RTS是低电平的时候BOOT0是高电平处于自举模式。而当无程序下载时间发生时DTR和RTS均为高电平,这时候RESET引脚是高电平,BOOT0引脚是低电平,所以单片机处于运行状态,所以该芯片可以实现ISP的自动下载。
3. UART2通讯口设计UART2连接的是MAX232芯片,实现TTL电平和232电平的转换,其设计电路如下:

这个电路相信大家都不陌生,如果用过51开发板的朋友那肯定见过这个电路。
4. UART3/SIP2通信口设计UART3和SIP2通讯口是复用的,本设计使用SIP2功能,SIP2的功能暂时先保留,最后再介绍,目前我没有想好如何利用该接口。
5. SIP1通讯口设计SPI1接口接入了一颗flash存储芯片,该存储芯片为SO8的封装,该存储芯片为台湾厂商生产,容量1G,2G甚至更高都有,接口方式为SPI通讯,实现方便。



同时该接口还预留了一款4×2的2.54mm插座,可以用来实现NRF24L无线通讯。
其他几部分的通讯设计正在设计。

-----------------

1. IIC通讯口设计IIC又叫I2C,是一种两线时的通讯方式,最常见的就是AT24Cxx系列的存储芯片了。本设计中通过AT24C02来实现IIC。


该芯片接在单片机的片上资源I2C1上,即可以使用片上资源实现IIC通讯,也可以通过GPIO口来模拟实现。需要注意的是具有IIC片上资源的引脚一般都是开漏极,也就是如果用作GPIO输出的话是必须要接上拉电阻的,这一点大家在设计产品的时候务必要引起重视,否则这两个口是无法输出高电平的。
2. RS485通讯电路设计RS485接口是工业现场应用非常普遍的一种接口,因为可以实现主从通讯,一台主机就可以轮训多台分机节点。该接口是通过UART配合电平转换芯片来完成的。本设计中使用SP385作为电平转换芯片。


由于只是在实验室环境下做实验学习之用,该电路被没有加隔离部分,如果要应用到现场最好做隔离处理。
3. CAN通讯接口设计CAN总线目前被广泛的应用在汽车电子和工业环境中,CAN总线也是两线制总线,传输速率高、传输距离远,最重要的是如果总线上的某一个分机节点出现故障而不会对总线造成压力。目前CAN接口设计的常用方案为:片上CAN资源+电平转换芯片。


CAN通讯是一种非常复杂的通讯,相对于RS485而言其报文结构比较复杂。CAN通讯的数据帧格式可以分为29位ID的扩展帧和11位ID的标准帧。我对RS485和CAN总线的总结如下:
RS485:所见即所得;
CAN:所见非所得;
什么意思,比所说RS485的分机地址为5,那么我直接把数值5赋给地址变量就可以了。但是CAN总线确实非常的麻烦,因为其ID有11位或29位之多。
4. USB通信口设计对USB大家已经不陌生了,其接口非常常见,如U盘、MP3、MP4、手机、鼠标等。USB只有D+和D-两根线,硬件极其简单但是协议极其复杂。有兴趣的朋友可以搜一下USB协议规范,有几百页之多。


昨天和今天的内容都是通讯接口,通讯接口部分的工作量有一个很大的特点:硬件简单,协议复杂。通讯接口就像一条高速公路一样,路就是硬件,但车怎么走就是软件的事情了。如果管理的好那路上就不堵车,如果管理不好那就天天堵。所以说通讯协议是最考验大家编程能力的。
我还想在这块学习板上加一个彩屏,但是在淘宝上找了一下现成的TFT真彩屏都好贵的,要六七十,甚至一百多。这远远超出了我的设计预算。关于屏的事情,这两天我再好好考虑一下设计方案,争取做到低成本。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:112486 发表于 2016-5-1 16:30 | 只看该作者
STM32中国峰会上展示了都是F4的产品,老大这时搞F103,起点低了点不?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表