目录
目录
1 内联汇编 __asm
2 电路中的电源符号
1 内联汇编 __asm
内嵌汇编一般举例在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。
C/C++ 中内联汇编格式:
__asm( 汇编语句模板: 输出部分: 输入部分: 破坏描述部分)
共四个部分:汇编语句模板,输出部分,输入部分,破坏描述部分,
各部分使用“:”格 开,汇编语句模板必不可少,其他三部分可选,如果使用后面的部分,而前面部分为空, 也需要用“:”格开。
demo1 :__asm("movl %1,%0" : "=r" (result) : "r" (request));
//MOV DST,SRC(从SRC复制数值,覆盖DST)
//根据__asm内联汇编语法:"=r" (result)是输出部分,"r" (request)是输入部分
//所以eax寄存器值输出给result,request值输入给eax寄存器
//“r”将变量与某个通用寄存器关联起来,也就是eax ,ebx,ecx,edx,esi,edi中的一个
demo2:
IFX_INLINE unsigned int Ifx__getDataParamRet(void)
{
unsigned int var;
__asm(" movt %0, d2":"=d"(var));
return var;
}
2 电路中的电源符号
电路设计中,会有各种各样的电源符号,经常会把人绕晕,总结下:V代表Volatge
2.1 元器件
VCC:电路的供电电压,C可以理解为三极管的集电极Collector或者电路Circuit(即接入电路的电压),指电源正极。
VDD:芯片的工作电压,D可以理解为MOS管的漏极Drain或者设备Device,指电源正极,在普通的电子电路中,一般Vcc>Vdd。
VEE:E可以理解为三极管的发射极Emitter,指电源负极;负电压供电,场效应管的源极(S)
VSS:S可以理解为MOS管的源极Source,指电源负极,S=series 表示公共连接的意思,也就是负极。
VBB:B可以理解为三极管的基极B,一般指电源正极。
2.2 模数电源(如果电路或者器件没有模拟数字之分,那就是用VCC、VDD)AVCC,A是Analog的意思,模拟VCC,一般模拟器件会有。
AVDD,A是Analog的意思,模拟VDD,一般模拟器件会有。
DVCC,D是Digital的意思,数字VCC,一般在数字电路中。
DVDD,D是Digital的意思,数字VDD,一般在数字电路中。
2.3 模数地本质上都是GND,区分开来,更多的是为了PCB走线的需求,有一些单点接地或者多点接地的处理,避免干扰。
AGND,模拟GND,对应AVCC或者AVDD的负极。
DGND,数字GND,对应DVCC或者DVDD的负极。
PGND,P是Power的意思,功率GND,比如DC-DC中就会有功率地和信号地区分。
2.4 其他常用的电源符号Vpp,有的好像叫Vpk,电压峰峰值,对于正弦信号,就是波峰电压减去波谷电压,最大值减去最小值。
Vrms,rms是root mean squre的缩写,均方根的意思,Vrms一般指交流信号的有效值。
VBAT,BAT是电池BATTERY的简写,一般指电池电压。当使用电池或其他电源连接到VBAT脚上时,当VDD 断电时,可以保存备份寄存器的内容和维持RTC的功能。如果应用中没有使用外部电池,VBAT引脚应接到VDD引脚上。
VSYS,SYS是SYSTEM的简写,一般指平台方案(如MTK)的系统供电。
VCORE,CORE指核心的意思,一般指CPU、GPU等芯片的核电压。
VREF,REF是reference的意思,参考电压,比如ADC内部的参考电压等。
PVDD,P是Power的意思,功率VDD。
CVDD,这个C也是CORE,核电源VDD的意思。
IOVDD,IO就是GPIO,指给GPIO供电的VDD,CAMERA里面会用到,I2C通信的上拉电源。
DOVDD,CAMERA里面用到的,由外部供给CAMERA,一般也是模拟电源。
AFVDD,Auto Focus VDD,意为自动对焦VDD电源,CAMERA里面会用到,给马达供电用的。
VDDQ,DDR里面用到的,DDR里面有一个DQ信号,可以理解为给这些数据信号供电的。
VPP,这个VPP是全大写的,DDR4里面用到的,DD3里面是没有的,称为激活电压,字位线的开启电压。
VTT,一般VTT=1/2VDDQ,也是在DDR里面用到的,给一些控制信号提供电源的。
VCCQ,在nand flash里面会用到,比如手机常用的eMMC、UFS等存储器,一般给IO供电。
2.5 场景 对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。例如,对于ARM单片机来说,其供电电压VCC一般为5V,一般经过稳压模块将其转换为单片机工作电压VDD = 3.3V
有些IC既有VDD引脚又有VCC引脚,说明这种器件自身带有电压转换功能。
在场效应管(或COMS器件)中,VDD为漏极,VSS为源极,VDD和VSS指的是元件引脚,而不表示供电电压。



