This sample is based on R-Car S4 SDK v3.16.0.
SCP sample application consists of Linux on CA55, SCP sample application on CR52 and SCP sample application on G4MH and they can communicate with SCMI.
You need to rebuild Linux Image, dtb, ICUMX firmware and Security BSP for SCP.
SCP sample application on CR52 and G4MH is built on MCAL build tree. You need to install SCP code on MCAL build tree and to edit MCAL build systems to build SCP module.
SCP module needs MCAL MCU library. You must build MCAL MCU module before building SCP sample application.
Index | Software Name | Software Type |
---|---|---|
1 | R-Car S4 G4MH MCAL ASIL | mcal_sdk-gateway_v3.16.0_release.exe |
2 | R-Car S4 CA55 SCP for Linux | rcar-xos_sdk1-gateway_v3.16.0_release.exe |
3 | Poky Linux toolchain | rcar_tool_ubuntu_v3.16.0.zip |
Index | Terminal Name | Link |
---|---|---|
1 | git bash | https://gitforwindows.org/ |
2 | VS Code terminal | https://code.visualstudio.com/ |
3 | Cygwin terminal | http://www.cygwin.com/ |
Index | Compiler | Target | License |
---|---|---|---|
1 | GHS | for (G4MH) MCU library, G4MH SCP sample application; for (ICUMX) IPL, Dummy FW and Dummy MCU | license is necessary |
2 | ARM Compiler | for (CR52) MCU library, | license is necessary |
3 | Cygwin terminal | http://www.cygwin.com/ | |
4 | GNUWin32 | C:\d_disk\RenesasMCUHWM\RCar\Gen4\R-Car_S4\s4_dev\tools\GnuWin32\GetGnuWin32\gnuwin32\bin |
(here, git bash is used.)
# Step 1. Install SCP code
# Unzip SCP source tree on MCAL source tree.
a5059726@CHN-5CG1064GKY MINGW64 /c/Renesas/mcal/v3.16.0/sw_src/g4mh_mcal/rel/modules/scp
$ unzip g4mh_scp.zip
# Step 2. Apply the patches to build MCU libraries with reset function
# Apply the patches to enable reset function on MCAL MCU module.
a5059726@CHN-5CG1064GKY MINGW64 /c/Renesas/mcal/v3.16.0/sw_src/g4mh_mcal
$ patch -p 1 <rel/modules/scp/patches/0001-edit-mcu-config-for-scp.patch
patching file rel/modules/mcu/sample_application/S4/19_11/config/App_MCU_S4_RTM8RC79FG_Sample.arxml
a5059726@CHN-5CG1064GKY MINGW64 /c/Renesas/mcal/v3.16.0/sw_src/g4mh_mcal
$ patch -p 1 <rel/modules/scp/patches/0002-add-rte-for-scp.patch
patching file rel/common/generic/stubs/19_11/Rte/include/SchM_Scp.h
patching file rel/common/generic/stubs/19_11/Rte/make/rte_rules.mak
patching file rel/common/generic/stubs/19_11/Rte/src/SchM_Scp.c
a5059726@CHN-5CG1064GKY MINGW64 /c/Renesas/mcal/v3.16.0/sw_src/g4mh_mcal
$ patch -p 1 <rel/modules/scp/patches/0003-edit-common.mak.patch
patching file rel/S4/common_family/make/ghs/Common.mak
a5059726@CHN-5CG1064GKY MINGW64 /c/Renesas/mcal/v3.16.0/sw_src/g4mh_mcal
$ patch -p 1 <rel/modules/scp/patches/0004-enable-mfis-interrupt.patch
patching file rel/S4/common_family/src/ghs/Interrupt_VectorTable_PE0.c
a5059726@CHN-5CG1064GKY MINGW64 /c/Renesas/mcal/v3.16.0/sw_src/g4mh_mcal
$ patch -p 1 <rel/modules/scp/patches/0005-SampleApp.bat-enable-build.patch
patching file rel/S4/common_family/make/ghs/SampleApp.bat
C:\Renesas\mcal\v3.16.0\sw_src\g4mh_mcal\rel\S4\common_family\make\ghs>SampleApp.bat mcu R19-11 S4 No
...
common.mak:125: \cygdrive\c\Renesas\mcal\v3.16.0\sw_src\g4mh_mcal\rel\common\generic\compiler\19_11\ghs\make\ghs_rh850_r19_11_defs.mak: No such file or directory
...
note:
# 查看环境变量"GNUMAKE"
PS C:\Renesas\mcal\v3.16.0\sw_src\g4mh_mcal\rel\S4\common_family\make\ghs> $env:GNUMAKE
3.3V->2.5V / 2.5V->3.3V / 1.8V->3.3V : LSFT0101DRYR/HD74LV1GT08A
3.3V<->2.5V : TXS0102DCUT
参考:
正文:
单片机的基准电压一般为3.3V,如果外部信号超过了AD测量范围,可以采用电阻分压的方法,但是要注意阻抗匹配问题。
比如,SMT32的模数输入阻抗约为10K,如果外接的分压电阻无法远小于该阻值,则会因为信号源输出阻抗较大,AD的输入阻抗较小,从而输入阻抗对信号源信号的电压造成分压,最终导致电压读取误差较大。
因此,对于使用单片机读取外部信号电压,外接分压电阻必须选用较小的电阻,或者在对功耗有要求的情况下,可选用大阻值的电压分压后,使用电压跟随器进行阻抗匹配(电压跟随器输入阻抗可达到几兆欧姆,输出阻抗为几欧姆甚至更小)。如果信号源的输出阻抗较大,可采用电压跟随器匹配后再接电阻分压。
对于外置的ADC芯片,在选型时,要留意其类型(SAR型、开关电容型、FLASH型、双积分型、Sigma-Delta型),不同类型的ADC芯片输入阻抗不同——
Sigma-Delta型:这是目前精度最高的ADC类型,需要重点注意如下问题:
a. 测量范围问题:
SigmaDelta型ADC属于开关电容型输入,必须有低阻源。
所以为了简化外部设计,内部大多集成有缓冲器。
缓冲器打开,则对外呈现高阻,使用方便。
但要注意了,缓冲器实际是个运放。那么必然有上下轨的限制。
大多数缓冲器都是下轨50mV,上轨AVCC-1.5V。
在这种应用中,共莫输入范围大大的缩小,而且不能到测0V。
一定要特别小心!
一般用在电桥测量中,因为共模范围都在1/2VCC附近。不必过分担心缓冲器的零票,通过内部校零寄存器很容易校正的;
b. 输入端有RC滤波器的问题:
SigmaDelta型ADC属于开关电容型输入,在低阻源上工作良好。
但有时候为了抑制共模或抑制乃奎斯特频率外的信号,需要在输入端加RC滤波器,一般DATASHEET上会给一张最大允许输入阻抗和C和Gain的关系表。
这时很奇怪的一个特性是,C越大,则最大输入阻抗必须随之减小!
刚开始可能很多人不解,其实只要想一下电容充电特性久很容易明白的。还有一个折衷的办法是,把C取很大,远大于几百万倍的采样电容Cs(一般4~20PF),则输入等效纯电阻,分压误差可以用GainOffset寄存器校正。
c. 运放千万不能和SigmaDelta型ADC直连!
前面说过,开关电容输入电路电路周期用采样电容从输入端采样,每次和运放并联的时候,会呈现低阻,和运放输出阻抗分压,造成电压下降,负反馈立刻开始校正,但运放压摆率(SlewRate)有限,不能立刻响应。于是造成瞬间电压跌落,取样接近完毕时,相当于高阻,运放输出电压上升,但压摆率使运放来不及校正,结果是过冲。而这时正是最关键的采样结束时刻。
所以,运放和SD型ADC连接,必须通过一个电阻和电容连接(接成低通)。而RC的关系又必须服从datasheet所述规则。
d. 差分输入和双极性的问题:
SD型ADC都可以差分输入,都支持双极性输入。
但这里的双极性并不是指可以测负压,而是Vi+ Vi-两脚之间的电压。假设Vi-接AGND,那么负压测量范围不会超过-0.3V。
正确的接法是Vi+ Vi- 共模都在-0.3~VCC之间差分输入。
一个典型的例子是电桥。
另一个例子是Vi-接Vref,Vi+对Vi-的电压允许双极性输入。
windows10, 不能建立网络驱动器映射。
解决办法:
本地现在就可以建立映射网络驱动器了。
参考下述连接: Kicad应用总结(转)
首先说明一下,热键(即单个按键)直接用字母表示;组合键(是指先按住第一个键不放,然后按下第二个键,再放开这两个键。)则用 “ + ” 表示;多次按键(是指先按下第一个键并放开,然后按下第二个键并放开,以此类推。)则用 “ - ” 表示。
1、常规
快捷键 | 功能 |
---|---|
Ctrl + N | 新建 |
Ctrl + O | 打开 |
Ctrl + S | 保存 |
Ctrl + Shift + S | 另存为 |
Ctrl + Z | 撤销 |
Ctrl + Y | 重做 |
Ctrl + X | 剪切 |
Ctrl + C | 复制 |
Ctrl + V | 粘贴 |
Ctrl + F | 查找 |
F1 | 放大 |
F2 | 缩小 |
F3 | 缩放重绘 |
F4 | 缩放中心 |
Home | 适合屏幕 |
E | 编辑 |
2、原理图
快捷键 | 功能 |
---|---|
C | 重复的器件符号或标签 |
R | 旋转 |
M | 移动 |
A | 添加器件符号 |
P | 添加电源符号 |
X | X轴镜像 |
Y | Y轴镜像 |
W | 画线 |
B | 放置总线 |
L | 添加标签 |
H | 添加分层标签 |
Ctrl + L | 添加全局标签 |
J | 添加连接点 |
Q | 添加禁止连接标志 |
F8 | 更新到 PCB |
3、PCB
快捷键 | 功能 |
---|---|
O | 放置封装 |
D | 保持角度拖动布线 |
X | 布线 |
Q | 编辑线宽/过孔尺寸 |
L | 锁定/解锁封装 |
V | 常规状态下,切换层;布线状态下,放置过孔并切换层 |
N / Shift + N | 切换网格大小 |
Ctrl + H | 板层高对比模式(单层显示) |
W / Shift + W | 切换线宽 |
Ctrl | 保持角度 |
/ | 布线轨迹切换 |
B | 填充所有铜层区域 |
Ctrl + Shift + M | 测量 |
Alt + 6 | 差分布线 |
G | 调整铜层区域 |
4、库封装
快捷键 | 功能 |
---|---|
M | 移动 |
X | X轴镜像 |
Y | Y轴镜像 |
Instert | 重复引脚 |