[{"content":"信号与系统 **线性系统：**输入的线性组合产生响应的线性组合 变换就是一个系统 $y_{zs}$ $zs$ = zero status $y_{zi}$ $zi$ = zero input\n完全响应：$y(\\cdot)=T[{f(\\cdot)},{x(0)}] $ 零状态响应：$y(\\cdot)=T[{f(\\cdot)},{0}]$ 零输入响应：$y(\\cdot)=T[{0},{x(0)}] $\n时不变系统：系统输入延迟多少时间，其零状态响应也相应延迟多少时间。（不考虑$x(0)$）\n模拟电路 预备知识 电容元件定义：一个二端元件，在任意时期$t$，它所积累的电荷$q(t)$与端电压$u(t)$之间的关系可以用$q$-$u$平面上的一条曲线来确定，则称该二端元件为电容元件，简称电容。\n电容的单位为法拉，简称法，符号为$F$\n电容元件电流不取决与该时刻电容电压的大小，而取决于该时刻的电容电压的变化率，所以电容元件称为动态元件。\n电容微分形式$VCR:$ $i=C\\frac {du}{dt}$\n电容电压只能连续变化而不能发生跳变，这说明电容电压只能是时间$t$的连续函数，这种性质称为电容的惯性，电容元件也称为惯性元件。\n电容积分形式$VCR:$ $u(t)=\\frac 1C\\int^t _{-\\infty}i(\\xi)d\\xi$\n任意时刻$t$电容电压并不取决于该时刻的电流值，而是取决于$-\\infty$到$t$所有的时刻的电流值，即与$t$以前电容电流的全部历史有关。电容电压能反映又去电流作用的全部历史，因此可以说电容电压有“记忆”电流的作用。电容是一种“记忆元件”\n电容元件是一个储能元件而不是耗能元件。\n**叠加定理：**对于具有唯一解的线性电路，如果有多个独立源同时作用，则电路中任一响应（电流或电压）等于各个独立源单独作用（其他独立源置零）时在该处所产生的分响应（电流或电压）的代数和。 **齐次性定理：**在线性电阻电路中，若电路只有一个激励（独立电压源或独立电流源）作用，则电路中的任意响应（电压或电流）和激励成正比；若电路中含有多个激励，则当所有激励（独立电压源或独立电流源）都同时增大或缩小$k$倍时（$k$为任意实常数），电路响应也将相应增大或缩小$k$倍。 **戴维南定理：**任意一个线性有源二端网络，就其输入端而言总可与一个独立电压源和一个线性电阻串联的电路等效。其中独立电压源的电压等于该二端网络输出端的开路电压$u_{oc}$；串联电阻$R_0$等于将该二端网络内所有独立源置零时输出端的等效电阻。\n非线性电阻的串、并联运算可以使用解析法或图解法来实现。\n双极晶体管（三极管） $B:base$基极 $E:emission$发射极，发射载流子的 $C:collection $集电极\n$i_B$：直流和交流都存在的瞬时值 $I_B$：直流 $\\dot I_b$：正弦交流量的向量 $i_b$：（正弦）交流分量 $I_b$：正弦交流量的有效值\n三极管→：由P→N，发射结导通的方向\n发射区：重参杂\nN型半导体：也称为电子型半导体。N型半导体即自由电子浓度远大于空穴浓度的杂质半导体。\n发射结：基区与发射区形 成的结 集电结：基区与集电区形成的结 发射结正偏\nN/P沟道增强型绝缘栅型场效应管（MOS管） $g:grid$栅极 $s:source$源极 $d:drain$漏极\nN沟道结型场效应管 场效应管参数 直流参数：$U_{GS(th)}$ $U_{GS(off)}$ $I_{DSS}$ $R_{GS(DC)}$ 交流参数： 跨导（低频）$g_m=\\frac{\\Delta i_D}{\\Delta U_{GS}}|{U{DS}=常数}$ 极间电容 $BJT$共射特性曲线 输入特性曲线 $i_c=f(u_{BE})$ $U_{CE}=常数$\n输出特性曲线 $i_c=f(u_{CE})$ $i_B=常数$ 虽然内部根据电压原则集电极处于正偏状态，但集电结内电子流动属性不是按照正偏二极管方向，而是依然按照三极管集电结扩散运动方向\n直接耦合共射放大电路 阻容耦合共射放大电路\n共射电流放大系数： $$ \\overline\\beta = \\frac {I_{CN}}{I_{BN}}=\\frac{I_C-I_{CBO}}{I_B+I_{CBO}}\\approx\\frac {I_c}{I_B} $$\n$$ \\beta=\\frac {\\Delta {I_C}}{\\Delta {I_B}} $$\n穿透电流：$I_{CEO}$ 共基电流放大系数： $$ \\overline\\alpha=\\frac {I_C}{I_E}=\\frac{\\overline\\beta}{1+\\overline\\beta} $$\n$PN$结每升高一度，正向导通压降小$2$~ $2.5mv$，反向导通，每十度翻一倍。 温度升高，$\\beta$增大 放大电路的性能指标 放大倍数：$A_{uu}$ $A_{ui}$ $A_{iu}$ $A_{ii}$ $R_i$放大电路的输入等效电阻，越大越好 $R_o$放大电路的输出等效电阻 通频带，放大电路的工作频率 非线性失真 最大不失真输出电压 最大输出功率与效率 放大电路的分析方法 直流通路 $u_i=0$\n交流通路\n直流源置0 电容→短路 等效电路法\nQ点 $r_{be}=r_{bb’}+(1+\\beta)\\frac {U_{T}}{I_{EQ}}$ 给出$U_{BEQ}$相当于在二极管中给出了开通电压 $rbb’$代表基区体电阻\n解题思路 静态 直流通路 $V_{CC}=U_{BEQ}+I_{BQ}\\cdot R_B$ $I_{EQ}=(1+\\beta)I_{BQ}$ $→I_{EQ}=?$ 动态 交流通路 (简化)h参数等效 $A_u=\\frac {u_0}{u_i}=\\frac {-ic\\cdot R_L\\parallel R_C}{i_b \\cdot r_{be}}=\\frac{-\\beta\\cdot R_L\\parallel R_C}{r_{be}} $ $R_i=R_B\\parallel r_{be}$ $R_0$越小输出端越近似于电压源 $R_0$越大输出端越近似于电流源\n","date":"2022-10-20T15:43:35+08:00","permalink":"https://www.gechengzhen.com/posts/simulation-electron/","title":"信号与模电"},{"content":" 首先键盘使用的主控是stm32f401CCU6，开发方式为cubemx+keil。键盘主要采用的是USB HID+矩阵键盘扫描，灯光部分使用的是ws2812。此教程适合有一定stm32基础的人。\n##Cubemx配置\n首先用cubemx新建一个工程 选择USB_OTG_FS(有的芯片是USB) mode里选择Device_Only 然后Middleware里选择USB_DEVICE Class For FS IP 里选择Human Interface Device Class(HID) 其中VID和PID可以改成任意你喜欢的值，MANUFACTURER_STRING改成任意你喜欢的值 最后生成代码 keil配置 打开usb_hid.c文件 在文件中搜索HID_MOUSE_ReportDesc（ctrl+f） 因为cubemx默认是生成鼠标报告描述符，所以要将其替换为键盘报告描述符 所以将鼠标描述符内容替换成以下键盘报告描述符内容即可 char ReportDescriptor[63] = { 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x06, // USAGE (Keyboard) 0xa1, 0x01, // COLLECTION (Application) 0x05, 0x07, // USAGE_PAGE (Keyboard) 0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl) 0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x01, // LOGICAL_MAXIMUM (1) 0x75, 0x01, // REPORT_SIZE (1) 0x95, 0x08, // REPORT_COUNT (8) 0x81, 0x02, // INPUT (Data,Var,Abs) 0x95, 0x01, // REPORT_COUNT (1) 0x75, 0x08, // REPORT_SIZE (8) 0x81, 0x03, // INPUT (Cnst,Var,Abs) 0x95, 0x05, // REPORT_COUNT (5) 0x75, 0x01, // REPORT_SIZE (1) 0x05, 0x08, // USAGE_PAGE (LEDs) 0x19, 0x01, // USAGE_MINIMUM (Num Lock) 0x29, 0x05, // USAGE_MAXIMUM (Kana) 0x91, 0x02, // OUTPUT (Data,Var,Abs) 0x95, 0x01, // REPORT_COUNT (1) 0x75, 0x03, // REPORT_SIZE (3) 0x91, 0x03, // OUTPUT (Cnst,Var,Abs) 0x95, 0x06, // REPORT_COUNT (6) 0x75, 0x08, // REPORT_SIZE (8) 0x15, 0x00, // LOGICAL_MINIMUM (0) 0x25, 0x65, // LOGICAL_MAXIMUM (101) 0x05, 0x07, // USAGE_PAGE (Keyboard) 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) 0x81, 0x00, // INPUT (Data,Ary,Abs) 0xc0 // END_COLLECTION }; 然后将所有的HID_MOUSE_ReportDesc改为HID_KEYBOARD_ReportDesc（ctrl+h） 如下图所示：\n打开usbd_hid.h文件 找到#define HID_MOUSE_REPORT_DESC_SIZE 74U（ctrl+f）替换为 #define HID_KEYBOARD_REPORT_DESC_SIZE 63U 将所有文件中的HID_MOUSE_REPORT_DESC_SIZE替换为HID_KEYBOARD_REPORT_DESC_SIZE（ctrl+h） 然后找到红线那一行，0x02改为0x01，注释里说了1为键盘 打开usb_device.h文件添加一行extern USBD_HandleTypeDef hUsbDeviceFS; 在main.c添加头文件**#include “usbd_hid.h”**及以下试验代码 /* USER CODE BEGIN 2 */ uint8_t report[8]={0}; /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { HAL_Delay(2000); report[2] = 4; USBD_HID_SendReport(\u0026amp;hUsbDeviceFS,report,8); HAL_Delay(20); report[2] = 0; USBD_HID_SendReport(\u0026amp;hUsbDeviceFS,report,8); HAL_Delay(1000); /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } 编译烧录 打开记事本 stm32通过type-c连接至电脑。 两秒钟后不断打印aaaa…则配置成功🥳 ##未完待续。。。\n","date":"2022-08-22T18:51:16+08:00","permalink":"https://www.gechengzhen.com/posts/keyboard-usb-hid/","title":"DIY键盘教程（一）配置USB HID"},{"content":" 现在开发网站可比以前容易的多了，只要在电脑上点点几下，你就能拥有一台自己的服务器，这里我选择阿里服务器。主要用的是宝塔+wordpress，甚至你不需要写一行代码，就能拥有自己的个人网站。\n安装宝塔 首先使用SSH远程连接到服务器，再输入以下指令即可。 yum install -y wget \u0026amp;\u0026amp; wget -O install.sh http://download.bt.cn/install/install_6.0.sh \u0026amp;\u0026amp; sh install.sh ed8484bec 注意我使用的系统是centos7，其他系统请查看官网链接宝塔面板下载，免费全能的服务器运维软件 (bt.cn)\n安装成功后会有以下信息，然后根据提示输入网址及用户密码就可以登录宝塔面板啦😘 之后你会看到安装在云服务器上的宝塔面板，有关于你服务器的各种信息。\n初次进入面板会提示安装套件，建议选择编译安装，php建议选高一点，比如php7.4，对wordpress兼容性好。\n安装wordpress 在软件商店里搜寻wordpress，选择一键部署。\n然后输入你的域名即可。记住数据库名称和密码，不记也没关系，可在宝塔面板-数据库-查看密码中找到。\n之后会出现以下弹窗，点击访问站点即可\n最后根据提示安装即可。\nlast but not least，我们的网站就建好了，点击查看站点。你就可以看到你的网站了。\n","date":"2022-07-29T20:33:15+08:00","permalink":"https://www.gechengzhen.com/posts/create-blog/","title":"wordpress搭建个人博客网站"}]