动态 版块 发帖 消息 我的
小绿叶技术博客
小绿叶技术博客
小绿叶技术Lv154   
EB Mcal SPI 与 adc 和 icu     


########################### EB Mcal ########################
1. EB 是一个电脑
2. 需要装系统
3. 导入包

#----------- MCU 有时钟 -------------#
ADC    
PWM 
SPI 

#------------ PORT -----------------#
PORT 有 模式 ALT1 或者 ALT2 等等。

GPIO  配 DIO 
PWM 
SPI     配极性 和 相序


        


############################ ADC ############################

MCAL处于AUTOSAR架构的最底层 与芯片强绑定,英飞凌 使用 EB 

#---- ADC 简介  ----#
用于将真实世界产生的模拟信号(如温度、压力、声音、指纹或者图像等)转换成更容易处理的数字形式
#DAC 是将数字转模拟

ADC 组成的控制单元: 请求控制,转换控制,模数转换, 结果处理,中断处理
ADC 内核电压选择方案: 1. ADC 模块统一 VAREF  2. 以自己内核的通道 0 作为同意参考电压。
外部模拟 多路复用 

ADC 内核有三个请求源:    不同通道分配不同请求源,请求源优先级可以不同。按照列队顺序转换
若三个请求源(软件,计时,外部事件)同时请求,请求源仲裁器会根据优先级进行转换


#---- EB 配置 ----#
General          [ˈdʒe n rəl]       整体
AdcClockSource    [k lɒ k]          adc 时钟来源
AdcPrescale      
AdcHwUnitInputClass [ˈjuːnɪ t]      adc 单元输入类
AdcChannel          [ˈtʃæ nl]       adc 信道



#---- ADC 关键概念 ----#
ADC 



############################ SPI ############################

#---- 上拉与下拉电阻 ----#
上拉电阻:   信号引脚 通过电阻 与 vcc 电源连接 灌入电流,固定在高电平
下拉电阻:   信号引脚 通过电阻 与 GND 接地

---------
串行外围设备接口,芯片管脚四根线,串行同步通信总线
SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

#---- 主从模式 ----#
通信: 只能有一个主设备Master(提供时钟,发起读写操作),多个从设备Slave(接收时钟)各自片选信号管理,

#---- 4根信号线 ----#
线名    引脚         说明
SDI     MISO        数据输入     主设备 接收, 从设备 发出    
SDO     MOSI        数据输出     主设备 发送, 从设备 接收   
SCK     SCLK        时钟         时钟 主设备产生
CS      CS/SS       片选信号     主设备 来 选择 指定从设备通信

#---- spi连线模型 ----#
Master  SCLK  -->  SCLK        Serial Clock              [ˈsɪə ri əl]  [k lɒ k]  串行时钟 :SCK、CLK
        MOSI  -->  MOSI        Master Output Slave Input      主输出,从输入。也叫:SIMO、MTSR、DI、DIN、SI;   SDI: Slave  Digital Input  [ˈdɪ dʒɪ t l]  从机数字输入
        MISO  <--  MISO        Master Input Slave Output      主输入,从输出。也叫:SOMI、MRST、DO、DOUT、SO    SDO: Slave  Digital Output                从机数字输出                   
        SS    -->  SS          Slave select                   从 选择,低有效,也叫做: nSS、CS、CSB、CSN、EN、nSS、STE、SYNC

SPI  一对多 按照这个线并联起来,主芯片 有多个  ss 脚 来控制片选 从芯片 ss 脚

#---- 工作流程 ----#

主从 都有 一个spi串行移位 寄存器,主设备写 spi 一个字节发起传输。
获取数据必须发送,发送数据必然会接收
A. 只写操作需要 忽略接收的字节
B. 只读一个数据 要发送一个空字节

工作流程:
1. 选择从设备: 拉低 对应 SS 片区信号 
2. 读写数据  : 主机 发送 sclk 时钟信号,来告诉从机 读/写  
3. 主机 发送 数据 到 缓存区Menory 移位寄存器(0-7)  MOSI 移位出去 给 从机
     从机也将自己寄存器数据通过 MISO 信号发送出去; 这样数据就交换

#---- 四种通信模式 ----#
模式切换方式,设置 SCLK 时钟信号线:   
CPOL:  clock polarity  [pə(ʊ)ˈ la rɪ ti]  时钟极性 正负极,如 0 低 1 高 
CPHA:  clock phase     [feɪ z]            时钟相位 第一个边沿有效 还是  第二个边沿有效。
数据 0 1 0 1
采集 0 1 0 1    在如果是高有效 那么: 再高电平 对应的数据 被采集 到。

CPOL = 0; 表示 SCLK = 0 时处于空闲,则 SCLK 高电平有效
CPOL = 0; 表示 SCLK = 1 时处于空闲,则 SCLK 低电平有效

边沿是 发生信号后开始的跳变, 一个周期的中间位置半周期的竖线,上升还是下降 由左到右 观察。
mode0:CPOL=0 && CPHA=0; 空闲时 SCLK 处于低,_|-|_|-      采第1个边沿 采样是半周期位置沿上升沿 ,数据发送是一个周期的结束位置是下降
mode1:CPOL=0 && CPHA=1; 空闲时 SCLK 处于低,-|_      采第2个边沿 下降沿
mode2: CPOL=1 && CPHA=0;  空闲时 SCLK 处于高,-|_     采第 1个边沿 下降沿
mode3:CPOL=1 && CPHA=1;  空闲时 SCLK 处于高,_|-      采第2个边沿 上升沿 

总结: CPOL=0 && CPHA=0; 级别表示:信号开始 是高还是低,0为开始是低 然后上升; 相位:数据的高低 是看第一边沿还是 第二边沿。

SDI    Slave Out Master In    [ˈsɪə ri əl]   c rui luo 连续数据输入 
SDO    Slave Out Master In    联系数据输出  

设备接线
SDI  与 原来有什么区别
SDO  与 原来有什么区别




#---- 三种工作模式 ----#
运行模式:  Run Mode 
等待模式:  Wait Mode    低功耗 
停止模式:  Stop Mode    低功耗


#---- SPI 配置 ----#
1. 初始化 GPIO 口, 配置引脚的复用功能,使能 SPIx 时钟。 调用函数 GPIO_Init();
2. 使能 SPI 时钟总线  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE)
3. 配置 SPI 初始化的参数 设置 SPI 工作模式: SPI Init(SPI1,&SPI_Initstructure)
4. 使能 SPI 外设 SPI_Cmd(SPI1,ENABLE) 

SPI_Direction  [dəˈ re k ʃn] 方向: 通信方式,可以选择为半双工,全双工,以及串行发和串行收方式
SPI_Mode                     模式: 设置SPI的主从模式,主机模式SPI_Mode_Master,从机模式(PI_Mode_Slave)
SPI_DataSiz                  数据大小: SPl_DataSize_8b (8位) , SPl_DataSize_16b (16位)
SPI_CPOL                     设置时钟极性
SPI_CPHA                     设置时钟相位: 选择 串行同步时钟的 第几个跳变沿,
SPI_NSS                      设置 NSS 信号信号由 硬件 NSS 管脚 还是 软件控制
SPI_BaudRatePrescaler        波特率 预 分频器:决定 SPI 的时钟参数,从 不分频道 256 分频 8 个可选
SPI_FirstBit        设置数据传输顺序是MSB位在前还是LSB位在前。SPIFirstBitMSB(高位在前)SPI FirstBit                    
SPI_CRCPolynomial            设置 CRC 校验多项式,提高通信可靠性 ,大于 1 即可








#--- dio ---#

#--- port ---#








 0  已被阅读了265次  楼主 2024-04-02 14:46:10
回复列表
admin
2F
小绿叶技术Lv154   



ChaGPT  : https://kimi.moonshot.cn/chat/co6eklucp7f54u8i71cg

 0   2024-04-03 14:02:39  回复

回复:EB Mcal SPI 与 adc 和 icu

guest
登录之后更精彩~
Powered by HadSky 7.12.10
© 2015-2024 PuYueTian
您的IP:34.236.191.0,2024-05-30 07:32:00,Processed in 0.02326 second(s).
Powered by HadSky
小绿叶技术博客