最新文章计算机网络-计算机网络概述
网络、互联网和因特网图a,具有四个节点和三条链路的简单网络(三台计算机通过三条链路连接到一个集线器上)。图b,有多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络,这样的网络称为:互连网,从图中可以看出互连网也可以被理解为“网络中的网络”。因此全球最大的互连网又叫互联网(因特网 Internet)。网络把许多计算机连接在一起,而互联网则把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机(一般智能手机和智能电视机也行)。
互联网基础结构发展的三个阶段
第一阶段(1969~1990):
1969年美国国防部创建的 ARPANET最初只是一个单个的分组交换网,不是一个互连网。
1983年,TCP/IP协议成为 ARPANET上的标准协议,使得所有使用TCP/IP 协议的计算机都能利用互连网相互通信。
人们把1983 年作为互联网的诞生时间。
1990年,ARPANET正式宣布关闭。
第二阶段(1985~1993):
美国国家科学基金会围绕六个大型计算机中心建设了国家科学基金网NSFNET。它是一个三级结构的计算机网络,由主干网、地区网 ...
FPGA实现UDP协议
基础知识以太网简介以太网是现实世界中最普遍的一种计算机网络。以太网有两类:第一类是经典以太网,第二类是交换式以太网,使用了一种称为交换机的设备连接不同的计算机。经典以太网是以太网的原始形式,运行速度从3~10 Mbps不等;而交换式以太网正是广泛应用的以太网,可运行在100、1000和10000Mbps那样的高速率,分别以快速以太网、千兆以太网和万兆以太网的形式呈现。
TCP/IP协议TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同 ...
SPI接口DAC驱动CBB设计
版本信息
版本号:1.0
编写时间:2024.03.12
变更日志
2024.03.12:初稿
系统框图driver_cbb的系统框图如图所示。系统内部由axi_drvu_slave模块和driver_core两个模块组成,其中axi_drvu_slave模块用于与CPU通讯,CPU将控制信号与数据信号通过axi-lite接口传输给axi_drvu_slave模块。数据信号根据控制信号,选择是否存入driver_core模块里的BRAM中。若不存入,数据直接流向spi_master模块中,经过FIFO缓存后,直接输出SPI信号。若存入,则在存入之前需要设置存入数据的大小(该大小同时对所有通道生效)。BRAM数据写入完成后,控制信号控制系统从BRAM中读取数据传输给spi_master模块并输出SPI信号。
用户接口用户参数
Name
Description
DAC_NUM
DAC芯片个数,大小不超过128
DAC_GROUP
DAC芯片组数,必须能被DAC芯片个数整除,每一组DAC芯片共用同一个sck、cs和update信号
MEMORY_ADDR
BRAM存储地 ...
GitLab-Pages绑定个人域名
前置工作阅读上一篇文章《GitLab-Hexo个人博客搭建》
域名注册选择一个域名注册平台,这里我使用的是阿里云。输入你想注册的域名,这里推荐使用.top域名,价格实惠且很多词汇都没有被注册。注册域名这一步不过多赘述。
Pages绑定
进入GitLab的工程目录,选择部署-Pages,如图1所示。
进入Pages界面后,选择添加新域名,如图2所示。
输入你刚才注册的域名xxxxxx.top。选择使用Let’s Encrypt自动管理证书。之后点击创建新域。记住DNS和验证状态栏里的代码。在第6步和第7步中会用到。
打开阿里云的控制台(在登陆和注册旁边),打开云解析DNS控制台,如图3所示。
点击你的域名进入解析设置界面。
添加记录-记录类型(TXT)-主机记录(“.xxxxxx.top”前的所有字符串)-记录值(状态栏里的代码”=”后面的所有字符串)。
添加记录-记录类型(CNAME)-主机记录(@)-记录值(DNS栏中”ALIAS”后面的字符串)。
返回第三步打开的GitLab界面,点击重试验证-保存更改。
总结对于GitLab-Pages绑定个人域名,其本质是验证域名所 ...
FPGA实现TDC算法
基础知识1.时间数字转换器如果需要测量一个物体的长度,我们需要一个足够长的尺子,尺子的精度为我们的测量精度。将时间测量与长度测量方法类比,我们需要一个足够长的测量工具,该工具的刻度为我们的时间测量精度。例如,在FPGA中,如果想要测量两个上升沿之间的时间,如图1所示。最简单的方法就是使用一个稳定的时钟作为“刻度尺”,通过该“刻度尺“测量上升沿时间。
2.时间测量精度的影响如图2所示,时钟的周期决定了时间测量精度。并且由于时钟与待测信号之间的沿并非固定,因此会引入误差,时钟频率越低,引入的误差越大。对于有些开发任务而言,时间的测量要求不高,那么使用一个稳定的时钟去计数测量则为最快捷简单的方法。但是对于一些时间精度要求高误差要求低的开发任务,则没有那么适用。在FPGA中,用于内部计数使用的用户时钟最高不超过800M(一般性能高的FPGA芯片只用到500M,再高时序不一定能过得去)。因此,使用简单的时钟计数法就不再是一个可选的方案。
几种实现方案在上面的描述当中,我们不难发现,提高测量精度的唯一方法就是提高“刻度尺”的刻度精度(让刻度更密一些)。一开始,我们时钟FPGA内部时钟作为“刻度尺” ...
GitLab+Hexo个人博客搭建
环境配置1.安装GitGit下载地址。下载Git 软件,按默认选项安装。注意需要把安装路径中的bin文件夹添加至系统环境变量中 。在cmd中输入git检查路径是否添加成功。
2. 安装Node.jsnode.js官网 。下载Node.js软件推荐下载稳定版本,然后按默认选项安装。同样需要添加安装路径中的nodejs文件夹至系统环境变量中。在cmd中输入node --version检查路径是否添加成功。
GitLab代码托管1. 新建GitLab项目
GitLab官网 。注册登录GitLab
新建项目,项目名称命名为:用户名.gitlab.io
2.建立Runners
Runner下载。创建一个文件夹,在该文件夹下下载对应的二进制文件。下载完成后修改下载文件名为gitlab-runner。
在项目界面中,点击设置–CI/CD–Runner,关闭共享Runner,点击新建项目runner。
在新建项目runner的界面下,选择好自己的操作系统,勾选运行未打标签的作业,勾选锁定到当前项目。其他内容随意填写,填写完成后,点击创建runner。
创建完成后,保持gitlab页面 ...