IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Altium Designer 18 原理图绘制 -> 正文阅读

[嵌入式]Altium Designer 18 原理图绘制

一、绘制电路原理图

1.建立工程

建立工程
在这里插入图片描述
建立原理图
在这里插入图片描述
加载完毕后,如下图
在这里插入图片描述

2.添加元件库

链接:
https://pan.baidu.com/s/1FPWEQcV8F2cJQZvbQU-QlA
提取码:1108

在这里插入图片描述

在这里插入图片描述

3.绘制原理图

从元件库中选取 stm32f103c8t6 芯片
在这里插入图片描述
延长部分管脚
在这里插入图片描述
在这里插入图片描述
放置网络编号(右键点击)
在这里插入图片描述
点击后,元件会挂在鼠标上,此时,先不要放置,按 tab 键进入设置窗口,编辑编号名称:PB12,然后按回车即可退出编辑框,然后左键再放下,方便的是,当放置一个网络标签后,下一个标签的值会
在这里插入图片描述
stm32最小系统的电路原理图:
在这里插入图片描述
指示灯:
在这里插入图片描述
排针:
在这里插入图片描述
输入、输出电源:
在这里插入图片描述
下载方式选择、程序烧录入口:
在这里插入图片描述
降压电路:

在这里插入图片描述
晶振电路:
在这里插入图片描述
复位电路:
在这里插入图片描述
去耦电路:
在这里插入图片描述
STM32原理总图:
在这里插入图片描述

三、STM32+SD卡 的系统原理图设计

下面的步骤就和上面差不多了就不在重复
在这里插入图片描述

四、参考

https://www.bilibili.com/video/BV17E411x7dR?p=2

STM32F103对SD卡的数据读取

一、SD卡协议原理

1、SD卡简述

很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有 U 盘,FLASH 芯片,SD 卡等。他们各有优点,综合比较,最适合单片机系统的莫过于 SD 卡了,它不仅容量可以做到很大(32GB 以上),支持 SPI/SDIO 驱动,而且有多种体积的尺寸可供选择(标准的 SD 卡尺寸,以及 TF 卡尺寸等),能满足不同应用的要求。
只需要少数几个 IO 口即可外扩一个高达 32GB 以上的外部存储器,容量从几十 M 到几十G 选择尺度很大,更换也很方便,编程也简单,是单片机大容量外部存储器的首选。

2、SD卡物理结构

一般SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器 5个部分。
在这里插入图片描述
存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单元进行数据传输;
电源检测单元保证SD卡工作在合适的电压下,如出现掉电或上状态时,它会使控制单元和存储单元接口复位;
卡及接口控制单元控制SD卡的运行状态,它包括有8个寄存器; 接口驱动器控制SD卡引脚的输入输出。

3、SD卡寄存器

SD卡总共有8个寄存器,用于设定或表示SD卡信息。
这些寄存器只能通过对应的命令访问,SDIO定义64个命令,每个命令都有特殊意义,可以实现某一特定功能,SD卡接收到命令后,根据命令要求对SD卡内部寄存器进行修改,程序控制中只需要发送组合命令就可以实现SD卡的控制以及读写操作。

CID 128 卡识别号(Card identification number):用来识别的卡的个体号码(唯一的)
RCA 16 相对地址(Relative card address):卡的本地系统地址,初始化时,动态地由卡建议,主机核准
DSR 16 驱动级寄存器(Driver Stage Register):配置卡的输出驱动 CSD 128 卡的特定数据(Card
Specific Data):卡的操作条件信息 SCR 64 SD配置寄存器(CD Configuration
Register):SD卡特殊特性信息 OCR 32 操作条件寄存器(Operation conditiongs register)
SSR 512 SD状态(SD Status):SD卡专有特征的信息 CSR 32 卡状态(Card Status):卡状态信息

4、SD卡操作模式

SD卡一般都支持 SDIO 和 SPI 这两种接口。
其中SD卡模式的信号线有:CLK、CMD、DAT0-DAT3,6根线。
SPI模式的信号线有:CS、CLK、MISO(DATAOUT)、MOSI(DATAIN),4根线。
SD卡的命令格式:命令CMD0就是0,CMD16就是16,以此类推。
SD卡的命令总共有12类,下表为几个比较重要的命令:

CMD0(0X00) NONE R1 复位SD卡 CMD8(0X08) VHS+Check Pattern R7 发送接口状态命令
CMD9(0X09) NONE R1 读取卡特定数据寄存器 CMD10(0X0A) NONE R1 读取卡标志数据寄存器
CMD16(0X10) 块大小 R1 设置块大小(字节数) CMD17(0X11) 地址 R1 读取一个块的数据
CMD24(0X18) 地址 R1 写入一个块的数据 CMD41(0X29) NONE R3 发送给主机容量支持信息和激活卡初始化过程
CMD55(0X37) NONE R1 告诉SD卡,下一个是特定应用命令 CMD58(0X3A) NONE R3 读取OCR寄存器

5、SD卡初始化(SPI模式)

SPI操作模式下:在SD卡收到复位命令时,CS为有效电平(低电平),则SPI模式被启用,在发送CMD之前要先发送74个时钟,64个为内部供电上升时间,10个用于SD卡同步;之后才能开始CMD操作,在初始化时CLK时钟不能超过400KHz。
1、初始化与SD卡连接的硬件条件(MCU的SPI配置,IO口配置);
2、上电延时(>74个CLK);
3、复位卡(CMD0),进入IDLE状态;
4、发送CMD8,检查是否支持2.0协议;
5、根据不同协议检查SD卡(命令包括:CMD55、CMD41、CMD58和CMD1等);
6、取消片选,发多8个CLK,结束初始化

这样我们就完成了对SD卡的初始化,注意末尾发送的8个CLK是提供SD卡额外的时钟,完成某些操作。通过SD卡初始化,我们可以知道SD卡的类型(V1、V2、V2HC或者MMC),在完成了初始化之后,就可以开始读写数据了。

6、SD卡读取与写入(SPI模式)

1、发送CMD17;
2、接收卡响应R1;
3、接收数据起始令牌0XFE;
4、接收数据;
5、接收2个字节的CRC,如果不使用CRC,这两个字节在读取后可以丢掉。
6、禁止片选之后,发多8个CLK;
以上就是一个典型的读取SD卡数据过程,SD卡的写于读数据差不多,写数据通过CMD24来实现,具体过程如下:
1、发送CMD24;
2、接收卡响应R1;
3、发送写数据起始令牌0XFE;
4、发送数据;
5、发送2字节的伪CRC;
6、禁止片选之后,发多8个CLK;
以上就是一个典型的写SD卡过程。

二、cube配置

勾选User-defined
在这里插入图片描述
SYS配置
在这里插入图片描述
GPIO配置
在这里插入图片描述
SPI1配置
在这里插入图片描述
USART1配置
在这里插入图片描述
Clock Configuration配置

在这里插入图片描述
修改堆栈大小为0x1400
在这里插入图片描述
找到创立的工程文件夹,移植此文件到自己的路径下
在这里插入图片描述
打开刚刚建立的工程
修改user_diskio.c函数
添加头文件
#include “diskio.h” /* Declarations of disk functions */
#include “SDdriver.h”
在这里插入图片描述
添加文件并修改接口里面的内容映射到SPI上,建议直接复制源码放进去,修改函数后面列举
在这里插入图片描述
main.c函数修改
在这里插入图片描述
修改函数内容:USER_initialize、USER_status、USER_read、USER_write、USER_ioctl
具体修改内容与源码对比
链接:https://pan.baidu.com/s/1f9O1bUbCLm0vNUY5JKwi1w
提取码:1108

四、烧录结果

在这里插入图片描述

五、总结

这次实验有的时候报错老是出现许多我不理解的地方,多尝试几次有无缘无故的成功,说明对这次的基础原理还是掌握的不好。

六、参考

https://blog.csdn.net/qq_46475595/article/details/122028621

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:38:44  更:2021-12-24 18:39:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:50:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码