【裸机】嵌入式相关问题汇总

一、CPU与SOC的关系

CPU——是指单一的中央处理器,包含运算器和控制器。现在几乎没有纯粹的CPU了,都是SoC。
SOC——System On Chip(系统级芯片/片上系统),是一套专有目标的集成电路。包含CPU、一些存储(RAM,ROM)、内部外设(各种控制器:URAT控制器、NAND控制器、LCD控制器等),内部也可以集成例如DSP、GPU等(看具体需求)。
【整理】芯片相关名词对比:CPU,MCU,SoC,MPU,PLC,DSP,ASIC,FPGA
芯片相关名词对比

二、I2C通信概念

1、什么是I2C通信
物理接口:SCL + SDA:
SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。
SDA(serial data): 数据线,通信数据都通过SDA线传输。

2、通信特征:串行、同步、非差分、低速率
1)I2C属于串行通信,所有的数据以bit为单位在SDA线上串行传输。
2)同步通信就是通信双方工作在同一个时钟下。所以同步通信的显著特征就是:通信线中有CLK。
3)因为I2C通信速率不高,而且通信双方距离很近(同一个板子上的2个IC之间的通信),所以使用电平信号通信。
4)I2C一般传输的数据量不大,所以本身通信速率很低(一般几百KHz,不同的I2C芯片的通信速率可能不同,具体在编程的时候要看自己所使用的设备允许的I2C通信最高速率,不能超过这个速率)。

3、突出特征1:主设备+从设备
1)I2C通信的时候,通信双方地位是不对等的,而是分主设备和从设备。通信由主设备发起,由主设备主导,从设备只是按照I2C协议被动的接受主设备的通信,并及时响应。
2)谁是主、从设备是由通信双方来定的(I2C协议并无规定),一般来说一个芯片可以只能做主设备、也可以只能做从设备、也可以既能当主设备又能当从设备(软件配置)。

4、突出特征2:可以多个设备挂在一条总线上
1)I2C通信可以一对一(1个主设备对1个从设备),也可以一对多(1个主设备对多个从设备)。
2)主设备来负责调度总线(每一个从设备在通信中都有一个I2C从设备地址),决定某一时间和哪个从设备通信。

5、主要用途
SoC和周边外设之间的通信(典型的如EEPROM、电容触摸IC、各种sensor等),最大优势是可以在总线上扩展多个外围设备。

6、时序
在这里插入图片描述
1)当SCL和SDA处于高电平的时候表示I2C总线空闲,此时SDA被拉低即表示一个通信开始(主机)。接下来主机会发送8bit(1字节)的地址(1~7位表示地址,8位表示R/W,该地址用来匹配与总线上哪个设备通信),发送完成后,主机将SDA拉高(释放),在下一个时钟的时候读取从机的ACK(如果被拉低了就说明通信成功);
2)后续发送DATA,发送DATA的发送发和接收方是主机还是从机取决于之前发送地址的最后一位。当主机发送,从机需要回复ACK,从机发送,主机需要回复ACK;
3)所有发送过程中都是8位(1字节)+1位ACK,最后主机在SCL高电平的时候拉高总线表示通信停止;

三、SPI通信简介

1、SPI接口
SPI总线包括4条逻辑线,定义如下:
MISO:Master input slave output 主机输入,从机输出(数据来自从机,SDO);
MOSI:Master output slave input 主机输出,从机输入(数据来自主机,SDI);
SCLK :Serial Clock 串行时钟信号,由主机产生发送给从机;
SS:Slave Select 片选信号,通常是低电平有效信号(NSS、CS);
在这里插入图片描述
2、SPI接口特点
1)串行、同步、全双工;
2)主机发送时不需要从机地址,而是使用片选(增加了引脚);发送结束后无应答机制(准确性不好);固定且仅只有一个主设备(I2C是总线式连接,可以切换主从机);

四、串口通信概念

【STM32】串口通信基本原理(超基础、详细版)

1、起始位、数据位、奇偶校验位、停止位
1)串口通信时,收发是一个周期一个周期进行的,每周期传输n个二进制位。这一个周期就叫做一个通信单元,一个通信单元是由:起始位+数据位+奇偶校验位+停止位组成的;
2)起始位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。
3)数据位是本次通信真正要发送的有效数据,是可以设定的(可选的有6、7、8、9,一般选择8位数据位);
4)奇偶校验位是用来给数据位进行奇偶校验的,可以在一定程度上防止位反转。冗余信息,一般不使用;
5)停止位常见的有1位、1.5位、2位停止位,一般用1位;

2、通信方式
1)串口通信是异步通信(因此通信双方必须事先约定好通信参数);
2)串口通信线最少需要2根(GND和信号线),可以实现单工通信,也可以使用3根通信线(Tx、Rx、GND)来实现全双工;

五、存储介质

1、NandFlash、SDCard、MMCCard、iNand、eMMC 的关联
1)NandFlash 是芯片化的,由于有很多缺陷,后出现了卡片式的存储(相比于Nor,Nor存储少、读快、寿命短,Nand存储大、写快寿命长);
2)最早出现的是MMC卡,按照MMC协议设计(相较于NandFlash芯片来说,MMC卡有2个优势:第一是卡片化,便于拆装;第二是统一了协议接口,兼容性好);
3)后来出现SD卡,兼容MMC协议。SD卡较MMC有一些改进,譬如写保护、速率、容量等;
4)iNand/eMMC在SD卡的基础上发展起来,较SD卡的区别就是将SD卡芯片化了(解决卡的接触不良问题,便于设备迷你化);
5)iNand和eMMC的关联:eMMC是协议,iNand是Sandisk公司符合eMMC协议的一种芯片系列名称;

2、iNand/eMMC的内部结构与NandFlash的区别
1)iNand内部也是由存储系统和接口电路构成(和Nand结构特性类似,不同之处在于接口电路功能不同);
2)iNand的接口电路挺复杂,功能很健全。譬如:
第一,提供eMMC接口协议,和SoC的eMMC接口控制器通信对接;
第二,提供块的ECC校验相关的逻辑,也就是说iNand本身自己完成存储系统的ECC功能,SoC使用iNand时不用再进行ECC相关操作,大大简化了编程难度
第三,NandFlash分2种:SLC和MLC,SLC更稳定,但是容量小价格高;MLC容易出错,但是容量大价格低。而iNand芯片内部使用MLC Nand颗粒,所以性价比很高;
第四,iNand接口电路还提供了cache机制,所以inand的操作速度很快;

3、iNand/eMMC的物理接口和SD卡物理接口的对比
1)对比inand和SD卡接线,发现:这两个接线几乎是一样的,唯一的区别就是SD卡IO线有4根,而iNand的IO线有8根;
2)在实际操作iNand芯片时和操作SD卡时几乎是一样的;
3)iNand/eMMC其实就是芯片化的SD/MMC卡,软件操作和SD卡相同;

4、SD卡/iNand操作
1)硬件接口:DATA、CLK、CMD;
2)iNand的IO线(DATA)有8根,支持1、4、8线并行传输模式;SD卡IO线有4根,支持1、4线并行传输模式;
3)CMD线用来传输命令、CLK线用来传输时钟信号,说明通信是同步的,工作速率是由主机给它的CLK频率决定的;
4)SD协议事先定义了很多标准命令,SD卡工作的时候就是一个一个的命令周期组合起来的;

六、定时器、看门狗和RTC

1、定时器(timer)的原理
1)定时器计时其实是通过计数来实现的(定时器内部有一个计数器);
2)计时开始把一个计数值放入TCNT寄存器中,然后每隔一个时钟周期TCNT中的值会自动减1(硬件自动完成,不需要CPU软件去干预),直到TCNT中减为0的时候,TCNT就会触发定时器中断;
3)定时时间是由2个东西共同决定的:一个是TCNT中的计数值,一个是时钟周期;

2、定时器和看门狗、RTC、蜂鸣器的关系
1)看门狗其实就是一个定时器,只不过定时时间到了之后不只是中断,还可以复位CPU;
2)RTC是实时时钟(RTCCON 寄存器),它和定时器的差别就好象闹钟(定时器)和钟表(RTC)的差别一样;
3)蜂鸣器是一个发声设备,在ARM里面蜂鸣器是用定时器模块来驱动的(PWM定时器:);

3、SoC中的定时器
一般有这么4类定时器件:
1)PWM定时器
一般SoC中产生PWM信号都是靠这个定时器模块的。
2)系统定时器
系统定时器也是用来产生固定时间间隔(TCNT×时钟周期)信号的,称为systick,这个systick用来给操作系统提供tick信号(作为操作系统的时间片 time slice)。
3)看门狗定时器
(1)看门狗定时器本质上也是一个定时器,和上面2个没有任何本质区别。
(2)看门狗定时器可以设置在时间到了的时候产生中断,也可以选择发出复位信号复位CPU。
(3)看门狗定时器在实践中应用很多,尤其是工业领域(环境复杂、干扰多)机器容易出问题,而且出问题后后果很严重,此时一般都会用看门狗来进行系统复位。
4)实时时钟RTC(real time clock)
RTC中工作用的是时间点(xx年x月x日x时x分x秒星期x,由于他是bnd码,所以需要转化)。

七、x210开发板相关

配置相关
SoC:三星S5PV210
内存:512M DDR2
Nand:4G iNand

SoC相关
是三星推出的一款适用于智能手机和平板电脑等多媒体设备的应用处理器,S5PV210和S5PC110功能一样,110小封装适用于智能手机,210封装较大,主要用于平板电脑和上网本。
S5PV210采用了:
1、ARM Cortex-A8内核;
2、ARM V7指令集;
3、主频可达1GHZ;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值