2023.7.24-7.28周总结(3)

本文详细记录了一周内的便携式电源开发过程,包括程序调试、硬件修改和软件ADC调试。讨论了滤波算法、ADC参考电压的重要性以及计算机底层的总线系统、中断管理和DMA技术。还介绍了网卡工作原理和优化数据包处理的DPDK技术。
摘要由CSDN通过智能技术生成

WORK

2023.7.24 周一

1.调试便携式电源程序(程序逻辑服务于功能及硬件设计,对软件进行设计要先搞清楚功能需求及硬件设计)

NOTE

该电路重点在二极管保护作用的使用,二极管相关知识在收藏夹中http://t.csdn.cn/ttoq5

专题:二极管中

供电1为蜂鸣器提供1路电源,因其设置原因会使正负极调换顺序,供电2提供另一路,假如供电1正负极顺序反转,下方二极管不仅能保护蜂鸣器,同时不让供电2的负极与供电1的正极直接导通;上方二极管使供电2正极与供电1负极不导通,保护电路。

2023.7.25 周二

1.协助便携式电源调试

2.杂活

NOTE

1.软件编程规范;

http://t.csdn.cn/DHnJm

见收藏夹

2.各类工具使用。

见收藏夹

2023.7.26 周三

1.手提式电源程序编写调试:

float moving_average_filtre1(float xn1)
{
  static int index1 = -1;
  static float buffer1[MVF_LENGTH];
  static float sum1 = 0;
  float yn1 = 0;
  int i1 = 0;
  if(index1 == -1)
  {
	//初始化
    for(i1 = 0; i1 <MVF_LENGTH; i1++)
    {
      buffer1[i1] = xn1;
    }
    sum1 = xn1*MVF_LENGTH;
    index1 = 0;
  }
  else
  {
    sum1 -= buffer1[index1];
    buffer1[index1] = xn1;
    sum1 += xn1;
    index1++;
    if(index1 >= MVF_LENGTH)
    {
      index1 = 0;
    }
  }
  yn1 = sum1/MVF_LENGTH;
  return yn1;
}

递推平均滤波法(又称滑动平均滤波法)

2.ADC硬件连接时需注意:避免干扰,选择间隔较远的通道

NOTE

ADC处的滤波算法值得注意及借鉴

http://t.csdn.cn/W44I6

在收藏夹中

2023.7.27 周四

1.便携式电源硬件修改及安装

2.软件ADC调试(该模块自己独立修改,牛波一)

NOTE

ADC采样最高值为2.743V(外部基准电压为2.743V)?

什么是ADC的参考电压,为什么需要参考电压?

这个参考电压也叫做基准电压,如果没有基准电压,就无法确定被测信号的准确幅值。例如基准电压为2.5V,则当被测信号达到2.5V时ADC输出满量程读数,使用者就会知道ADC输出的满量程等于2.5V。不同的ADC,有的是外接基准,也有的是内置基准无需外接,还有的ADC外接基准和内置基准都可以用,但外接基准优先于内置基准。

2023.7.28 周五

1.安装便携式,箱式应急电源

2.参加公司级安全培训

BOOK

《趣话计算机底层》第三章

3.1计算机中的高速公路

3.1.1早期的总线系统(数据总线,地址总线,控制总线——由总线控制器管理,仲裁)

3.1.2南桥与北桥(总线挂接设备增加,效率不一,通信需求量增加——引入南桥与北桥芯片)

北桥负责高速设备,集成:内存控制器,总线控制器,图形控制器等。

南桥负责低速设备,根据IO设备的不同,进一步划分PCI总线,USB总线,SATA总线等。

3.1.3消失的北桥(北桥的活集成到了CPU里)

3.2其他设备如何与CPU通信(中断通信,原因:其他设备太慢,CPU不可能一直等,因此采用中断)

3.2.18259A可编程中断控制器

该芯片专门负责统一管理办事单位,CPU给各办事单位分配编号,叫中断向量,并做了表格IDT;idtr寄存器指向这个表格。

注意:中断是异步的,异常是同步的。

3.2.2APIC高级可编程中断控制器(8259A的升级版)

分两个部分:IO APIC,负责接待办事单位;Local APIC ,入驻到CPU中。

3.2.3中断亲和性(中断由哪个核处理的分配策略)

3.3计算机启动过程

1)CPU自检;2)从ROM的BIOS开始取指令并执行;3)读取MBR(硬盘主引导记录);4)操作系统加载工作,进入保护模式(虚拟地址)

3.4CPU把数据搬运的工作“外包”出去

3.4.1PIO模式(CPU与外设通过IO端口与内存,硬盘通信,速度慢)

3.4.2DMA技术(直接存储器访问,用于外部设备与内存之间搬运数据)(解放CPU,将数据传输工作外包,DMA完成后以中断通知)

3.4.3DMA全面开花(网卡,显示器摄像头等集成自己的DMA)

3.5神奇的零拷贝技术

3.5.1数据的四次拷贝

3.5.2零拷贝技术

3.6网卡是如何让工作的

3.6.1集线器时代

收到的信号做增强处理后发给全部端口(一条总线),导致发送数据前需要先监听线路,发送时也要检测是否有冲突,因此以太网帧的长度有了限制。

3.6.2数据收发过程

数据封装为以太网帧(帧头部:收件人地址(MAC地址,网卡的身份证号,在出生那一刻就确定了;发件人地址)

3.6.3交换机时代

取代集线器,不再往全部端口发送,隔离冲突域+全双工通信

3.7网卡收到数据包后会发生什么

3.7.1数据帧校验

a)CRC校验;b)对照MAC地址

3.7.2DMA数据传输

DMA将网卡数据放到内存中

3.7.3软中断

网卡发给CPU的中断为硬中断,硬中断的响应需要快速完成,而数据包的处理很费时间,因此硬中断不能处理,而是创建一个软中断后续处理。

3.7.4轮询收包

中断+轮询的方式处理网卡数据

3.7.5协议帧

以太网帧的内容经过各层协议解析

3.8绕过操作系统,直接收发数据包

网络监控软件:监控网卡上的数据包

3.8.1万兆流量需求

流量越来越大,监控软件需要提速

当前流程:

存在问题:

a)搬运耗时;b)解析耗时c)CPU切换耗时

3.8.2中断问题

解决问题c)CPU切换耗时,让监控软件的工作线程可以独占CPU

3.8.3超快的抓包技术:DPDK

解决问题a)搬运耗时b)解析耗时,用户态用轮询方式,不走系统协议栈和netifilter,直接在用户态读取,不用搬运——DPDK技术。

3.8.4空转问题

独占cpu但没工作时,DPDK处于休眠状态,有工作时唤醒独占CPU。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值