注:以下内容选自Renesas SH7269 HW(Hardware Manual,硬件手册)。
A/D转换器将模拟输入通道输入的模拟值一边和模拟基准电压进行比较一边转换为10位的数字值。此时的A/D转换绝对精度,即输入模拟值和输出数字值的偏差包含以下误差,按照下图,依次说明每个误差。但是,为了使图容易理解,将10位的A/D转换器简化为3位的A/D转换器。
是指在数字输出值从最小值(零电压)“B’0000000000”(图中是“000”)变为“B’0000000001”(图中是 “001”)时实际A/D转换特性与理想A/D转换特性的偏差 (图1(1))为。
是指在数字输出值从 “B’1111111110”(图中是 “110” )变为最大值 (满刻度电压)“B’1111111111”(图中是 “111”)时实际A/D转换特性与理想A/D转换特性的偏差 (图1(2))。
是指A/D转换器固有的偏差,表示为1/2LSB(图1(3))。
是指从零电压到满刻度电压之间的实际A/D转换特性与理想A/D转换特性的偏差 (图1(4)),但是不包含偏移误差、满刻度误差和量化误差。
注:以下内容选自Renesas SH7269 HW(Hardware Manual,硬件手册)。
注:以下内容选自Renesas SH7269 HW(Hardware Manual,硬件手册)。
在使用A/D转换器时,必须注意以下几点。
能通过待机控制寄存器设定允许或者禁止A/D转换器的运行,初始值为停止A/D转换器的运行。
能通过解除模块待机模式,使寄存器变为可存取的状态。
如果在超过以下电压的设定范围使用A/D转换模块,就会给A/D转换器的可靠性带来不良影响。
在A/D转换过程中,必须将模拟输入引脚ANn的外加电压设定在AVSS ≤ ANn ≤ AVCC的范围内 (n=0~7)。
AVCC和AVSS的输入电压必须为(PVCC-0.3V) ≤ AVCC ≤ PVCC,AVSS = VSS。
而且,在不使用A/D转换器时或者在软件待机模式中,不能将AVCC引脚和AVSS引脚置为开路。不使用时,必须将AVCC连接到电源(PVCC)并且将AVSS接地 (VSS)。
AVref引脚的基准电压范围必须为3.0V ≤ AVref ≤ AVCC。
在设定电路板时,必须尽量将数字电路和模拟电路分开,不能使数字电路的信号线和模拟电路的信号线交叉或者靠近。
否则,会因电感等引起模拟电路的误动作并且给A/D转换值带来不良影响。必须通过模拟接地(AVSS)将模拟输入信号(AN0~AN3)、模拟基准电压(AVref)、模拟电源(AVCC)必须通过模拟接地 (AVSS)和数字电路分开,并且模拟接地 (AVSS)必须和电路板上稳定的数字接地 (VSS)进行单点连接。
为了防止过大电涌等异常电压对模拟输入引脚 (AN0~AN7)的破坏,必须连接如下图所示的保护电路。
此图的电路还有RC过滤器功能,能抑制由噪声引起的误差。
图中的电路是设计例子,必须在考虑实际的使用条件的基础上决定电路常数。
模拟输入引脚的等效电路如下图所示,模拟输入引脚的规格如表1所示。
对于信号源阻抗不超过5k欧姆的输入信号,本LSI的模拟输入能保证转换精度。
这是为了在采样时间内,对A/D转换器的采样&保持电路的输入电容进行充电而制定的规格。
在传感器的输出阻抗超过5k欧姆时,可能发生充电不足并且不能保证A/D转换精度的情况。
在单通道模式中进行转换并且外接大电容的情况下,因为输入负载实际上只有3k欧姆的内部输入电阻,所以信号源阻抗可忽略不计。
但是,由于形成低通滤波器,因此可能无法跟踪大微分系数的模拟信号(例如,大于等于5mV/us)(图3)。
在转换高速模拟信号时或者在扫描模式中进行转换时,必须插入一个低阻抗的缓冲器。
由于附加电容会导致与GND的耦合,因此,如果在GND中有噪声,就可能降低绝对精度,所以AVSS等必须与电稳定的GND连接。
另外,必须注意:在安装电路板上滤波器电路不要干扰数字信号也不要充当天线。
要转移到深度待机模式时,必须将ADST位清 “0”, 禁 止A/D转换。如果本LSI在允许A/D转换的状态下变为深度待机模式,就不保证A/D的引脚状态。
如果在扫描模式和多通道模式停止后立即开始转换,就可能产生错误的转换结果。 要连续进行转换时,必须在将ADST位置 “0”后经过1个通道的A/D转换时间 (1个通道的转换时间因分频寄存器的设定而不同),然后开始转换 (ADST位为 “1”)
使用A/D转换采集按键的值,如图:
现象:
第一次上电采样值是正确的,再次采样,会出现采样值偏高的情况。
分析:
由A/D部分等效电路可知,改电路相当于一阶全响应电路,采样处电压应该如下图中的曲线2:
如果两次按键时间较短,会导致等效电容放电时间不够,会采集到较大电压值。
措施:
延长A/D采样时间。
结论:
以前见过一个利用一阶电路零状态响应的产品(给电容充电,检查电容的电压),今天自己应用,有切身体会了。
如Tektronix的RSA3068,或 Agilent N9320B。
步骤1:连接好SPI-USB调试编程下载线缆,上电。
步骤2:运行uEnergyTest
设定右侧的channel值,蓝牙就会输出相应的频率。
用频谱仪观察该频率,就会发现实际频率与理想频率的频差是多少,以决定Trim补偿数值。
这里,channel 0的频率是2402MHz。
蓝牙基本知识:
2.4G带宽80M,2M一个频带,40个频道
即,channel0 —2402MHz, channel39 — 2480MHz
输入校正值,点击Execute,校正值输入的CSR1010中。
再次CW TRANSMIT,用频谱仪观察校正后的频率数值,观察偏差,调整Trim的值。
重复上述过程,使实际频率接近理想频率。
记下该Trim的值。
如果想观察实际写入CSR1010的Trim值是多少,可以用CsConfig的“Crystal frequency trim”选项观察。
如下图中,实际的值是0x003F。该值的设定范围为:0~63.
停止蓝牙输出。
如果有多个信号时,可以通过该选项关闭蓝牙输出。
再用CW TRANSMIT输出蓝牙信号,可以再频谱仪上观察哪个信号是待测蓝牙信号。
如果输出信号看不到或幅度不大,可以增加该设定值。
CSR1010就以该校准值运行了。可以通过CsConfig查询实际的校准值。
LPDDR4, Low Power Double-Data-Rate 4th Generation Synchronous Dynamic Random Access Memory。
属于SDRAM(结构是1个transistor+1个capacitor)。
这里有一些DDR的基本知识说明
最初是为移动装置设计的,后来推出了满足汽车温度等级的LPDDR4 SDRAM。
将来的后续发展是LPDDR4X,LPDDR5.
从CPU到DRAM颗粒之间依次按层级由大到小分为channel > DIMM > rank > chip > bank > row/column。
天然2通道,有2套命令地址(CA)输入和2套数据总线(DQ)。
功耗比DDR2/DDR3/DDR4更低,如引入DBI(Data Bus Inversion)特性。
为使功耗降低,LPDDR4将Data IO从
SSTL(终端电压是VDD/2)
->
POD(Pseudo Open Drain,(终端电压是VDD))
意味着,当总线上是高电平时,无电流流动。
这也是DBI(Data Bus Inversion)实现的基础。
DBI - 让高电平尽可能的多(无电流流动,功耗就低了),至少5bit低电平时,对所有的信号进行反转,同时,DBI=’0’(低电平)。
由于结构(1个transistor+1个capacitor)原因,会有泄漏电荷,所以需要定期刷新(refresh)来避免数据的丢失。而且,温度越高,要求刷新频率越频繁。
需要具有更高温度抗性的位单元。
引入纠错机制(注:是内联ECC,不是ECC),将(64data+8Hamming ECC)同时存放在同一memory内,所以在传输时,相比与ECC,带宽利用率较低。
与SOC互联时,要求SOC满足特定的汽车可靠性标准。
- AE-Q100,专注于可靠性和温度方面。
- ISO26262,专注于设计流程,设计和认证。
目前主要生产厂家:Micron, Hynix, Samsung。
R-Car系列支持的LPDDR4通道数量不同(32bits/通道)。
H3 | M3 | M3N |
---|---|---|
4 | 2 | 1 |
最大连接8GBytes。
LPDDR4的双通道连接方式有以下四种。
在R-Car开发板中采用的连接是“共享CA”方式。
实际应用中,用户根据需要选择适合自己的LPDDR4(厂家,容量,速率,等等),并搭建自己的连接,如果与Renesas官方学习板不同,就需要对代码进行修改,并且更改后要进行足够的评估。
以下是Yocto v3.15 DDR部分的目录结构和DDR的初始化流程(包括四部分内容:PHY、DRAM、Training、DBSC),供参考。
用户只需关心修改文件“boot_init_dram_config.c”以适应实际的硬件连接。
如果用到DRAM backup(fastboot中会用到),还需关心修改文件“dram_sub_func.c/.h”,有几个选项需要修改。
详细情况,请参考文档“引用7”。
索引 | 更改点 | 文件 | 说明 |
---|---|---|---|
1 | 宏 DBSC_REFINTS | boot_init_dram_regdef.h 或 build option(RCAR_REF_INT) | DBRFCNF1/2 register相关。refresh模式,会影响到QoS |
2 | 宏 BOARDNUM | boot_init_dram_config.c | Renesas评估板编号0~21 |
3 | 宏 BOARD_JUDGE_AUTO | boot_init_dram_config.c | 自动识别board |
4 | boardcnf.phyvalid | boot_init_dram_config.c | PHY通道是否valid |
5 | boardcnf.dbi_en | boot_init_dram_config.c | DBI模式 |
6 | boardcnf.cacs_dly/_adj | boot_init_dram_config.c | CA/CS delay及调整 |
7 | boardcnf.dqdm_dly_w/r | boot_init_dram_config.c | DQ W/R delay |
8 | boardcnf.channel.ddr_density | boot_init_dram_config.c | density of every channel(每个通道有2个CS端)。例:LPDDR4 DRAM内部有2 dies, 每个die容量8Gbit,2ranks, 总容量就是16Gbits. 设置为{0x02, 0x02}. First field: rank-1 (CS0) DRAM容量 die Second field: rank-2 (CS1) DRAM容量 |
9 | boardcnf.channel.ca/dqs/dq/dm_swap | boot_init_dram_config.c | swap(CA,DQS,DQ,DM),和实际物理连接顺序有关 |
10 | 宏 WDQLVL_PAT | boot_init_dram_config.c | data patterns for DQ/DM |
11 | boardcnf.channel.cacs_adj | boot_init_dram_config.c | 可以通过Eye Opening Tool查看调整后效果 |
12 | boardcnf.channel.dm_adj\w/r | boot_init_dram_config.c | DM调整。可以通过Eye Opening Tool查看调整后效果 |
13 | boardcnf.channel.dqdm_adj\w/r | boot_init_dram_config.c | DQ调整。可以通过Eye Opening Tool查看调整后效果 |
14 | 宏 _def_LPDDR4_ODT | boot_init_dram_config.c | MR11 register相关 |
15 | 宏 _def_LPDDR4_VREFCAT | boot_init_dram_config.c | MR12 register相关 |
16 | 宏 JS2_DERATE | boot_init_dram_config.c | 在温度区间[85~105 摄氏度]添加额外的timing margin |
17 | 宏 DDR_FAST_INIT | boot_init_dram_config.c | 初始化时间会快一点 |
18 | CLK & DIV | boot_init_dram_config.c | Extal时钟相关。MD14/MD13引脚相关 |
19 | 宏 DDR_FAST_INIT | boot_init_dram_config.c | MD17/MD19引脚相关,调整DDR速率 |
EMC知识整理如下: