摘要:LCD是嵌入式常见设备,如何在LCD上显示汉字和英文?矢量字体和点阵字体有何不同?同一个字符为何有多种编码?GB2312、GB18030指什么?他们之间有关系吗?嵌入式设备如何支持多国语言?从哪里获取字库?需要付费吗?以上问题,本文一一道来! 嵌入式屏幕上的汉字原来是这样显示的
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, 不能建立网络驱动器映射。
解决办法:
本地现在就可以建立映射网络驱动器了。