🌍首页
📁归档
⏳时光机
🚩友链
📫留言
📧订阅
🌟推荐
📕考研课程
🏜️ 免费壁纸
❤ 捐助本站
💰资助名单
🎵音乐实验
Search
1
【NPN/PNP三极管】放大电路饱和失真和截止失真的区别
20,217 阅读
2
论文写作中如何把word/wps里面所有数字和字母替换为新罗马字体
10,751 阅读
3
【高数】形心计算公式讲解大全
9,117 阅读
4
Vivado-FPGA Verilog烧写固化教程
8,153 阅读
5
【概论】一阶矩、二阶矩原点矩,中心矩区别与概念
7,891 阅读
🪶微语&随笔
励志美文
我的随笔
工作办公
📡电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
⌨️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
登录
/
注册
刘航宇(共319篇)
找到
319
篇与
刘航宇
相关的结果
- 第 19 页
2021-06-13
数字基带系统-USB
摘要本文介绍了USB(通用串行总线)的简介、发展历程、现状、分类、接口回路电路设计、协议和通信协议。USB是一种广泛应用于电脑与外部设备连接和通讯的接口技术,具有即插即用和热插拔功能。USB经历了从低速到超高速的发展,最新版本为USB 3.1,具有更高的传输速率和供电能力。USB接口分为Type-A、Type-B和Type-C等类型,其中Type-C接口具有更小的体积和更高的传输速率。USB协议包括物理特性、数据包格式、信息包格式、事务和传输类型等。关键词:数字基带系统, USB接口, USB协议, USB传输速率, USB分类1 USB简介 USB,是英文Universal Serial Bus(通用串行总线)的缩写,而其中文简称为“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的[1]。 2 USB的发展及现状 2.1 USB发展 USB版本 理论最大传输速率 速率称号 最大输出电流 推出时间 USB1.0 1.5Mbps(192KB/s) 低速(Low-Speed) 5V/500mA 1996年1月 USB1.1 12Mbps(1.5MB/s) 全速(Full-Speed) 5V/500mA 1998年9月 USB2.0 480Mbps(60MB/s) 高速(High-Speed) 5V/500mA 2000年4月 USB3.0 5Gbps(500MB/s) 超高速(Super-Speed) 5V/900mA 2008年11月 / 2013年12月 USB 3.1Gen 2 10Gbps(1280MB/s)[2] 超高速+(Super-speed+) 20V/5A 2013年12月 表1 USB发展情况 2.2 USB现状 USB 3.0是一种USB规范,该规范由英特尔等公司发起。 USB 3.0 也被认为是SuperSpeedUSB——为那些与PC或音频/高频设备相连接的各种设备提供了一个标准接口。只是个硬件设备[2],计算机内只有安装USB3.0相关的硬件设备后才可以使用USB3.0相关的功能!从键盘到高吞吐量磁盘驱动器,各种器件都能够采用这种低成本接口进行平稳运行的即插即用连接,用户基本不用花太多心思在上面。新的USB 3.0在保持与USB 2.0的兼容性的同时,还提供了下面的几项增强功能: 1)极大提高了带宽——高达5Gbps全双工(USB2.0则为480Mbps半 双工)。 2)实现了更好的电源管理。 3)能够使主机为器件提供更多的功率,从而实现USB——充电电池、LED照明和迷你风扇等应用。 4)能够使主机更快地识别器件。 5) 新的协议使得数据处理的效率更高。 USB 3.1是最新的USB规范,该规范由英特尔等大公司发起。与现有的USB技术相比,新USB技术使用一个更高效的数据编码系统,并提供一倍以上的有效数据吞吐率(USB IF协会)。它完全向下兼容现有的USB连接器与线缆。 USB 3.1作为下一代的USB传输规格,通常被称为“SuperSpeed+” ,将在未来替代USB 3.0。 1) USB 3.1(SuperSpeed+)将供电的最高允许标准提高到了20V/5A,供电100W。提供更快的充电。 2) USB 3.1支持高达10Gbps的传输速率,具有更快的传输速度。 3) USB 3.1新增USB A/V影音传输,支持手机显示输出。 USB 3.1是一个万能的通用接口,是手机、平板等小型设备所需要的,能够极大提升设备的连接性。而从目前来看,USB 3.1中的Type-C最有可能成为未来的连接标准,提供数据传输、外设连接、显示输出等一体化的连接方案。 3 USB分类 Type-A:标准的Type-A是电脑、电子配件中最广泛的介面标准,鼠标、U盘、数据线上大的一方都是此接口,体积也最大。 Type-B:一般用于打印机、显示器USB HUB等诸多外部USB设备 Type-C:它拥有比Type-A及Type-B均小得多的体积,其大小甚至能与Mini-USB及Micro-USB相媲美,是最新的USB接口外形标准。另外,Type-C是一种既可以应用在PC(主设备)又可以应用在外部设备(从设备)的接口类型,这是划时代的。 伴随USB2.0传输协议诞生也衍生了Mini-USB及Micro-USB接口。它们也都分别分为Type-A和Type-B[3]。到了USB3.0时代,由于传输速度的提升带来了针脚位的提升,因此仅有Type-A USB3.0接口保持与以往形状一样,Type-B和Micro-USB都改变了外形(体积增大)。 4 USB接口回路电路设计 笔记本一般使用的是Type-A和Type-C 类型母口。对于Type-A 类型接口,配备USB 3.0接口。回路如下图1所示 图片 Type-A接口在硬件回路上由一组USB2.0差分信号信号USB_PN2, USB_PP2以及两组USB 3.0差分信号USB32_RX_N, USB32_RX_P, USB32_TX_N, USB32_TX_P组成。在功能上该接口向下兼容USB2.0功能。一般USB的POWER接 5VS或5VA,USB差分线接BEAD或者共模电感一般为EMI需要。末端接TVS是安规要求。 对于Type-C接口回路如下: 图片 图2 Type-C接口回路 在NFSV15XX系列机种上,Type-C 3.0和Type-C 3.1共用同一接口。由于现有平台PCH没有USB3.1接口[4],故在使用USB3.1通信时需要外加一个转换芯片ASM1142。在NFSV15XX上Type-C3.1包含USB3.1输出传输的功能,但是不支持5V/20A供电输出。同Type-A接口一样,差分信号线接BEAD或者共模电感一般为EMI需要。末端接TVS是安规要求。 kpunhddv.png图片 图3 USB POWER设计 在电脑插入adapter或者battery时候,+3.3VA_PCH提供Enable信号 ,5VA(5VS)电源正常供电。在末端加保险丝,进行过流保护。 5 USB协议 5.1 概述 USB网络采用阶梯式星形拓扑结构,如图示。一个USB网络中只能有一个主机。主机内设置了一个根集线器,提供了主机上的初始附属点。主机定时对集线器的状态进行查询。当一个新设备接入集线器时,主机会检测到集线器状态改变,主机发出一个命令使该端口有效并对其进行设置。位于这个端口上的设备进行响应,主机收到关于设备的信息,主机的操作系统确定对这个设备使用那种驱动程序,接着设备被分配一个唯一标识的地址,范围从0~127,其中0为所有的设备在没有分配惟一地址时使用的默认地址。主机向它发出内部设置请求。当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备删除。总的来说USB网络由主机和设备组成。 5.2 概括 kpunhyf8.png图片 5.3 USB主机 USB的所有数据通信(不论是上行通信还是下行通信)都由USB主机启动,所以USB主机在整个数据传输过程中占据着主导地位。在USB系统中只允许有一个主机。从开发人员的角度看,USB主机可分为三个不同的功能模块:客户软件、USB系统软件和USB总线接口。 1) 客户软件 客户软件负责和USB设备的功能单元进行通信,以实现其特定功能。一般由开发人员自行开发。客户软件不能直接访问USB设备,其与USB设备功能单元的通信必须经过USB系统软件和USB总线接口模块才能实现。客户软件一般包括USB设备驱动程序和界面应用程序两部分[5]。 2)USB系统软件 USB系统软件负责和USB逻辑设备进行配置通信,并管理客户软件启动的数据传输。USB逻辑设备是程序员与USB设备打交道的部分。USB系统软件一般包括USB总线驱动程序和USB主控制器驱动程序这两部分。这些软件通常由操作系统提供,开发人员不必掌握。 3)USB总线接口 USB总线接口包括主控制器和根集线器两部分。根集线器为USB系统提供连接起点,用于给USB系统提供一个或多个连接点(端口)。主控制器负责完成主机和USB设备之间数据的实际传输,包括对传输的数据进行串行编解码、差错控制等。该部分与USB系统软件的接口依赖于主控制器的硬件实现,开发人员不必掌握。 5.3 USB设备 一个USB设备由三个功能模块组成:USB总线接口、USB逻辑设备和功能单元。这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);USB逻辑设备被USB系统软件看作是一个端点的集合;功能单元被客户软件看作是一个接口的集合。SIE、端点和接口都是USB设备的组成单元。为了更好地描述USB设备的特征,USB提出了设备架构的概念。从这个角度来看,可以认为USB设备是由一些配置、接口和端点组成的,即一个USB设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有若干个端点。其中,配置和接口是对USB设备功能的抽象,实际的数据传输由端点来完成。在使用USB设备前,必须指明其采用的配置和接口。这个步骤一般是在设备接入主机时设备进行自举时完成的,我们在后面会进一步介绍。USB设备使用各种描述符来说明其设备架构,包括设备描述符、配置描述符、接口描述符、端点描述符以及字符串描述符,它们通常被保存在USB设备的固件程序中。 5.4 物理特性 USB通信格式: 图片 图5 在USB电缆上使用双向不归零编码和差动信号的传输 USB的数据包使用反向不归零编码(NRZI)。上图描述了在USB电缆段上传输信息的步骤。反向不归零编码由传送信息的USB代理程序完成;然后,被编码的数据通过差分驱动器送到USB电缆上;接着,接收器将输入的差分信号进行放大,将其送给解码器。使用该编码和差动信号传输方式可以更好地保证数据的完整性并减少噪声干扰。 图片 图6 反向不归零编码 使用反向不归零编码方式可以保证数据传输的完整性,而且不要求传输过程中有独立的时钟信号。反向不归零编码不是一个新的编码方式。它在许多方面都有应用。上图给出了一个数据流和编码之后的结果。在反向不归零编码时,遇到“0”转换,遇到“1”保持。反向不归零码必须保持与输入数据的同步性,以确保数据采样正确。反向不归零码数据流必须在一个数据窗口被采样,无论前一个位时间是否发生过转换。解码器在每个位时间采样数据以检查是否有转换。 kpunn3gg.png图片 图7 在USB电缆上使用双向不归零编码和差动信号的传输 若重复相同的“1”信号一直进入时,就会造成数据长时间无法转换,逐渐的积累,而导致接收器最终丢失同步信号的状况,使得读取的时序会发生严重的错误。因此,在NRZI编码之间,还需执行所谓的位填充的工作。位填充要求数据流中如果有连续的六个“1”就要强行转换。这样接收器在反向不归零码数据流中最多每七个位就检测到一次跳转。这样就保证了接收器与输入数据流保持同步。反向不归零码的发送器要把“0”(填充位)插到数据流中。接收器必须被设计成能够在连续的六个“1”之后识别一个自动跳转,并且立即扔掉这六个“1”之后的“0”位。 检测设备连接和速度:在USB设备连接时,USB系统能自动检测到这个连接,并识别出其采用的数据传输速率。USB采用在D+或D-线上增加上拉电阻的方法来识别低速和全速设备。USB支持三种类型的传输速率:1.5Mb/s的低速传输、12Mb/s的全速传输和480Mb/s的高速传输。如图后面图所示。当主控制器或集线器的下行端口上没有USB设备连接时,其D+和D-线上的下拉电阻使得这两条数据线的电压都是近地的(0V);当全速/低速设备连接以后,电流流过由集线器的下拉电阻和设备在D+/D-的上拉电阻构成的分压器。由于下拉电阻的阻值是15KΩ,上拉电阻的阻值是1.5KΩ,所以在D+/D-线上会出现大小为(Vcc*15/(15+1.5))的直流高电平电压。当USB主机探测到D+/D-线的电压已经接近高电平,而其它的线保持接地时,它就知道全速/低速设备已经连接了。 kpunne0a.png图片 图8 检测设备连接和速度 6 USB通信协议 6.1 包 包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。USB包由五部分组成,即同步字段(SYNC)、包标识符字段(PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP)。 1.SYNC字段:由8位组成,作为每个数据封包的前导,用来产生同步作用,使USB设备与总线的包传输率同步,它的数值固定为00000001。 2.PID字段:用来表示数据封包的类型。包标识符中的校验字段是通过对类型字段的每个位求反码产生的。 图片 表2 PID字段包的类型 数据字段:是用来携带主机与设备之间要传递的信息,其内容和长度根据包标识符、传输类型的不同而各不相同。在USB包中,数据字段可以包含设备地址、端点号、帧序列号以及数据等内容。在总线传输中,总是首先传输字节的最低位,最后传输字节的最高位。 (1) 设备地址(ADDR)数据域 ADDR数据域由7位组成,可用来寻址多达127个外围设备。 (2) 端点(ENDP)数据域 ENDP数据域由4位组成。通过这4个位最多可寻址出32个端点。这个ENDP数据域仅用在IN、OUT与SETUP令牌信息包中。对于慢速设备可支持端点0以及端点1作为中断传输模式,而全速设备则可以拥有16个输入端点(IN)与16个输出端点(OUT)共32个端点。 (3) 帧序列号 当USB令牌包的PID为SOF时,其数据字段必须为11位的帧序列号。帧序列号由主机产生,且每个数据帧自动加一,最大数值为0x7FF。当帧序列号达到最大数时将自动从0开始循环。 (4) 数据 它仅存于DATA信息包内,根据不同的传输类型,拥有不同的字节大小,从0到1023字节(实时传输)。 4.循环冗余码CRC字段由不同数目的位所组成。根据不同的信息包类型,CRC数据域由不同数目的位所组成。其中重要的数据信息包采用CRC16的数据域(16个位),而其余的信息包类型则采用CRC5的数据域(5个位)。其中的循环冗余码校验CRC,是一种错误检测技术。由于数据在传输时,有时候会发生错误,因此CRC可根据数据算出一个校验值,然后依此判断数据的正确性 。 5.包结尾字段即发送方在包的结尾发出包结尾信号。USB主机根据EOP判断数据包的结束。 6.2 信息包格式 1.令牌(token)包:在USB系统中,只有主机才能发出令牌包。令牌包定义了数据传输的类型,它是事务处理的第一阶段。令牌包中较为重要的是SETUP、IN和OUT这三个令牌包。它们用来在根集线器和设备端点之间建立数据传输。一个IN包用来建立一个从设备到根集线器的数据传送,一个OUT包用来建立从根集线器到设备的数据传输[6]。 2.数据(data)包:数据封包含有4个域:SYNC、PID、DATA与CRC16。DATA数据域的位值是根据USB设备的传输速度及传输类型而定,且须以8字节为基本单位。也就是,若传输的数据不足8字节,或传输到最后所剩余的也不足8字节,仍须传输8字节的数据域。 3.握手(Handshake)包:握手信息包是最简单的信息包类型。在这个握手信息包中仅包含一个PID数据域而已。 6.3 事务 定义:在USB上数据信息的一次接收或发送的处理过程。类型:事务处理的类型包括输入(IN)事务处理、输出(OUT)事务处理。设置(SETUP)事务处理和帧开始、帧结尾等类型。 处理流程:在输出(OUT)事务处理和设置(SETUP)事务处理中,紧接着SETUP和OUT包后的是DATA包,DATA0和DATA1包是交替地发送的,在DATA包后面,设备将回应一个握手信号,如果设备可以接收数据,就回应ACK包,如果设备忙,就回应NAK包,如果设备出错,则回应STALL包;在IN事务中,IN包后面是设备发来的DATA包或NAK包或STALL包,若设备忙或出错,就发NAK包或STALL包给主机,若设备数据准备好发送,则发DATA包,DATA0和DATA1包也是交替地发送的,紧接着DATA包后面是主机发给设备的握手包,ACK表示主机可以接收数据,NAK包代表主机忙,STALL包代表主机出错。 6.4 USB传输类型 在USB的传输中,制定了4种传输类型:控制传输、中断传输、批量传输以及等时传输。控制传输类型分为2~3个阶段:设置阶段、数据阶段(无数据控制没有此阶段)以及状态阶段。根据数据阶段的数据传输的方向,控制传输又可分为3种类型:控制读取(读取USB描述符)、控制写入(配置USB设备)以及无数据控制。 1.控制传输:控制传输是USB传输中最重要的传输。它包含3种类型:控制读取、控制写入以及无数据控制。这3种控制传输类型又分为2~3个阶段:设置阶段、数据阶段(无数据控制没有此阶段)以及状态阶段。 2.实时传输:实时传输适用于必须以固定速率抵达或在指定时刻抵达,可以容忍偶尔错误的数据上。实时传输一般用于麦克风、喇叭等设备。实时传输只需令牌与数据两个信息包阶段,没有握手包,故数据传错时不会重传。 3.批量传输:用于传输大量数据,要求传输不能出错,但对时间没有要求,适用于打印机、存储设备等。 4.中断传输:中断传输方式总是用于对设备的查询,以确定是否有数据需要传输。因此中断传输的方向总是从USB设备到主机,常用于如键盘、游戏手柄等。 参考文献: [1]赵晓娜.一种基于STM32的USB接口数据通信方法研究[J].山西电子技术,2021(02):85-87. [2]苗旺,李彬华,王锦良,陈柄宇,高诗竹.基于USB2.0总线数据侦听的实时幸运成像系统~(*)[J/OL].天文研究与技术:1-12[2021-06-13].https://doi.org/10.14005/j.cnki.issn1672-7673.20210306.001. [3]陶小亮.基于USB总线的低成本舵偏角采集系统设计与应用[J].电子测量技术,2021,44(02):43-47. [4]赵一超.基于USB数字电离层斜测接收机设计[J].电脑知识与技术,2020,16(32):1-5. [5]曾妍. 汽车USB充电器参数检测台设计[D].长春工业大学,2020. [6]Realtek Semiconductor Corp.; Patent Issued for USB Interface System Capable Of Automatically Adjusting Connection Speed And Power Consumption Capabilities And Method (USPTO 10,684,668)[J]. Electronics Newsweekly, 2020, : 6967-.
通信&信息处理
刘航宇
5年前
0
897
2
2021-06-11
【高数】0到x的积分的被积函数一律可以用等价无穷小!
摘要本文阐述了在高等数学中,0到x的积分的被积函数可以用等价无穷小替换,并通过洛必达法则证明了这一替换的合理性。关键词:高数, 积分, 等价无穷小, 洛必达法则, 数学证明例题: 图片 解答: 学数学永远要重视定义。同样的,要证明等价无穷小,永远是证明两者的比的极限为1记f(x)=ln(1+x²)/x,容易证明f(x)~x,为什么直接可以把这个等价无穷小用到积分号里面,也就是直接把∫ f(t)dt换成∫ tdt要证明可以这样替换,实际上只需要证明lim ∫ f(t)dt/∫ tdt=1(0到x积分),只需要用一次洛必达就可以出结果了。永远重视定义,特别是等价无穷小
我的随笔
刘航宇
5年前
1
3,320
4
2021-06-10
Linux sleep函数
摘要Linux sleep函数用于挂起程序执行,分为秒级sleep和微秒级usleep。sleep以秒为单位,usleep以微秒为单位。Linux下还有delay函数,延时msec*4毫秒。关键词:Linux,sleep函数,usleep,挂起,休眠函数名: sleep、usleep 功 能: 执行挂起一段时间 头文件: #include <unistd.h> 区 别: unsigned int sleep (unsigned int seconds);//n秒 int usleep (useconds_t usec);//n微秒 Linux下的sleep函数原型为: unsigned int Sleep(unsigned int seconds); 而MFC中的Sleep函数原型为: void Sleep(DWORD dwMilliseconds); 也就是说,Linux下(使用的gcc的库),sleep()函数是以秒为单位的,sleep(1);就是休眠1秒。而MFC下的Sleep()函数是以毫秒为单位的,sleep(1000);才是休眠1秒。而如果在Linux下也用微秒为单位休眠,可以使用线程休眠函数:void usleep(unsigned long usec)。 Linux下还有个delay()函数,原型为extern void delay(unsigned int msec);它可以延时msec*4毫秒,也就是如果想延时一秒钟的话,可以这么用 delay(250)。
嵌入式&系统
# 嵌入式
刘航宇
5年前
0
1,386
1
嵌入式与应用知识点学习&复习提纲
摘要本文为嵌入式与应用知识点学习复习提纲,涵盖嵌入式系统分层、特点、gcc编译、Linux命令、Vi编辑器、数组指针、文件IO、进程、有名管道、socket、CPU、SOC等知识点,并提供相关代码示例。关键词:嵌入式系统, 嵌入式处理器, GCC编译, 文件IO, 管道程序自己整理的复习提纲 目录 部分程序讲解 培养目标1提示联网和UI必须答,不答0分,少答扣分 培养目标2 培养目标3 培养目标4 培养目标5 培养目标6 培养目标7 LED会有变动,后面有时间出教程,希望能先理解下面程序这个是什么意思 培养目标8 部分程序讲解 培养目标1 1.嵌入式系统分三层:应用、内核、硬件层。ARM为硬件层、驱动内核层。 2.嵌入式系统与PC的区别 讲解:嵌入式系统一般指非 pc 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 pc 中 bios 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 答案:下面3点缺一不可 隐藏内容,请前往内页查看详情 3.嵌入式系统的特点 1)联网:嵌入式设备支持网络连接,可实现物联。 2)UI:嵌入式设备更多的采用是自定义的简单UI。 提示联网和UI必须答,不答0分,少答扣分 3)包含专用调试电路 4)具有完整的系统测试和可靠性评估体系 培养目标2 4.gcc编译hello.c为hello 答: gcc hello.c -o hello或 gcc -o hello hello.c 5.Linux 删除文件夹命令和CD命令含义 rmdir 目录 或者“rm -rf /目录” cd命令:切换当前目录至其它目录。 知识点补充: 隐藏内容,请前往内页查看详情 6.【判断题】Vi有三种基本工作模式:写程序在文本输入模式。 (对) 知识点补充: 隐藏内容,请前往内页查看详情 培养目标3 7.int p[n]:数组;int *p[n]指针; 必考补充:数组指针和指针数组区分: 隐藏内容,请前往内页查看详情 培养目标4 8.文件IO中write返回正确值为:向内核文件fd中写的字节数 参考P84 培养目标5 9.程序分析题 (1)运行时间小于20秒有几个进程? (2)什么是僵尸进程?什么孤儿进程,20秒后会产生什么? #include "stdio.h" #include "stdlib.h" int main() { int i; int pid; pid = fork(); if(pid > 0) { while(1); } if(pid == 0) { for(i=0;i<20;i++) { printf("我爱刘航宇%d次了\n",i); sleep(1); } } return 0; }答: 隐藏内容,请前往内页查看详情 培养目标6 10.创建有名管道文件函数是: mkfifo pEQzCid.png图片 11.有名管道,管道文件名chat.txt,编写A.c与B.c单向聊天 (1)B发A收 (2)程序具备退出功能 答:本题不要求实现过程可以不写,只写程序,至于过程学习参考本站其它文章 管道程序: #include "stdio.h" int main() { int ret; ret = mkfifo("./chat.txt",0777); if(ret == -1) { printf("mkfifo error\n"); return -1; } return 0; }A端程序:(收方!!!) #include "stdio.h" #include "fcntl.h" #include "string.h" int main() { int fd; int i; char buf[32] = {0}; fd = open("./chat.txt",O_RDONLY,0777); if(fd == -1) { printf("open error\n"); return -1; } //start read while(1) { read(fd,buf,32); if(buf[0] == 'q') { break; } printf("buf = %s\n",buf); for(i = 0 ;i < 32; i++ ) { buf[i] = 0; } } close(fd); return 0; }B端程序(发方): 隐藏内容,请前往内页查看详情 培养目标7 12 socket函数,UDP通信,参数: int type赋值为 SOCK_DGRAM 13 SOC全称是 System on Chip称为芯片级系统或片上系统 14 判断:AHB总线下挂接都是高速模块,如LCD控制器、中断控制器等 (×) 15 判断ARM 公司不生产芯片 (√) 16 简答:CPU、SOC和嵌入式产品关系: 三个要点:1 CPU是一台计算机的运算核心和控制核心。(第一句必答,后面可以简写)CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。主要功能是解释计算机指令以及处理计算机软件中的数据。计算机的可编程性主要是指对中央处理器的编程。2.SOC单片系统或片上系统是一个将电脑或其他电子系统集成到单一芯片的集成电路。(第一句必答,后面可以简写)单片系统可以处理数字信号、模拟信号、混合信号甚至更高频率的信号。单片系统常常应用在嵌入式系统中。单片系统的集成规模很大,一般达到几百万门到几千万门。SoC 可以基于 MCU 或 MPU,并将提供执行某些类型的应用程序所需的一切。隐藏内容,请前往内页查看详情 17.综合题:LED问题(本文推荐用电脑或平板观看,手机可能看不清) 预测题目:点亮GPF4的LED灯,实现其亮灭,将下面程序3个空区域补充完整。 (去年题目是点亮GPF4、5、6。看明白下面程序后可以同学自行尝试做一下,不过据说今年考点亮一个) 平台原理图: pEQzPJA.png图片 例图: 图片 控制与数据端口 pEQzFzt.png图片 程序:(可能与部分同学拍的略微不同,但是程序是一个意思,变量我图快方便写换了一部分,不影响,while循环改成for也是一个道理,这个东西很灵活 ::(勉强) ) //#include "global.h" #define GPFCON 0x56000050 #define GPFDAT 0x56000054 #define MPLLCON 0x4C000004 #define CLKDIVN 0x4C000014 void init_system_clock() { int *p; p = (int *)CLKDIVN; *p = 0x03; // FCLK:HCLK:PCLK=4:2:1, HDIVN=1,PDIVN=1 __asm__ { mrc p15, 0, r1, c1, c0, 0 orr r1, r1, #0xc0000000 mcr p15, 0, r1, c1, c0, 0 } p = (int *)MPLLCON; *p = (0x5c<<12)|(0x01<<4)|(0x02); } void mymain() { int *p; int i; init_system_clock(); //FCLK:HCLK:PCLK=200:100:50MHZ (1)------------ while(1) { (2)------------ for(i = 0 ;i < 10000; i ++); (3)------------ for(i = 0 ;i < 10000; i ++); } return ; }解答: 隐藏内容,请前往内页查看详情 培养目标8 18.rmmod功能:将驱动程序从liunx内核卸载;lsmod:查看内核中存在哪些模块 19.判断:驱动程序设备号分主设备号和次设备号 (√) 20.判断:驱动程序和应用程序一样有main函数 (×) 觉得本文对你有帮助,请点赞哦
嵌入式&系统
刘航宇
5年前
263
6,499
76
2021-06-09
奇函数积分是偶函数吗?偶函数积分是奇函数吗?
摘要奇函数积分得偶函数,偶函数积分不一定是奇函数,需满足特定条件。奇函数性质包括相加、相减、相乘、相除等运算规则。关键词:奇函数积分, 偶函数积分, 奇函数, 偶函数, 积分性质图片 奇函数积分是偶函数,但偶函数积分不一定是奇函数。因为偶函数积分F(x)+C,只有满足F(0)+C=0时,才是奇函数。奇函数是指对于一个定义域关于原点对称的函数f(x)的定义域内任意一个x,都有f(-x)= - f(x),那么函数f(x)就叫做奇函数。 奇函数的性质 两个奇函数相加所得的和或相减所得的差为奇函数。 一个偶函数与一个奇函数相加所得的和或相减所得的差为非奇非偶函数。 两个奇函数相乘所得的积或相除所得的商为偶函数。 一个偶函数与一个奇函数相乘所得的积或相除所得的商为奇函数。 当且仅当 f(x)=0(定义域关于原点对称)时, f(x)既是奇函数又是偶函数。奇函数在对称区间上的积分为零。
我的随笔
刘航宇
5年前
0
3,394
1
2021-06-06
【美句】" 请你摘星"
摘要摘星美句强调人生真谛,如诚实面对自己、努力克服困难、珍惜日常、坚持梦想,并鼓励在逆境中不断前进,低调努力,期待美好未来。关键词:请你摘星, 人生决定, 才华野心, 学习成长, 熬过困难图片 " 决定人生的那一刻,绝不能欺骗自己。" " 每一个闪闪发光的人都在背后熬过了一个又一个不为人知的黑夜。" " 当你的才华还撑不起你的野心时,那你就应该静下心来学习。" " 糟糕的日子熬过去了,剩下的就是好运气。" " 我不想平庸一生,不想成为那种大街上一抓一大把的人。" " 心怀浪漫宇宙,也珍惜人间日常。" " 有时,正确的道路往往不是轻松好走的。" " 我走的很慢,但我从不后退。" " 即使徒劳,也要让这徒劳发生。" 图片 " 隐藏野心,悄悄发光。" " 偷偷厉害,万事尽可期待。"
励志美文
刘航宇
5年前
2
359
5
2021-06-02
【超然/励志】李永乐老师:希望大家可以实现自己的价值【不想学习的时候记得看一下】
摘要李永乐老师九十高龄仍坚持授课,激励年轻人珍惜学习机会,以学习之苦换取生活之苦,鼓励大家努力实现自身价值。关键词:励志, 李永乐老师, 学习动力, 年轻人奋斗, 生活与学习一想到一位九十多的老人上一次课都是两个多小时,就感觉到李爷爷真不容易,老师都这么大年纪了,还在奋斗。年轻人苦点又算得了什么?吃不了学习的苦就要吃生活的苦。加油^0^~继续干
励志美文
刘航宇
5年前
0
344
2
2021-06-02
matlab实现(7,3)线性分组码编码和BPSK调制
摘要本文介绍了使用Matlab实现(7,3)线性分组码编码和BPSK调制的Matlab代码,并通过AWGN信道进行发、收仿真通信,绘制了误比特率随信噪比变化的关系曲线。关键词:Matlab, 线性分组码, BPSK调制, 误码率, 信噪比图片 1编写基于(7, 3)线性分组码编码和BPSK调制,信息字长L = 学号后5位数字,信噪比SNR = [0 0.学号后3位数字],在AWGN信道实现发、收仿真通信的Matlab代码; 2 绘制误比特率随信噪比变化的关系曲线(半对数)。 线性分组码和BPSK 程序完美版: 程序中的L与SNR需要修改为你的学号即可,不用建立脚本,直接复制命令窗口跑一下即可 提示:我们就是统计错误和误码率,不用管这个: . Single-error patterns loaded in decoding table. 8 rows remaining. 2-error patterns loaded. 1 rows remaining. 3-error patterns loaded. 0 rows remaining. clear all; close all; % specify parameters L = 64238;%学号,64238需要修改成你的后5位 SNR=[0:0.01:0.238]; %学号需要修改238为你学号后3位 G = [1 0 0 1 1 1 0;0 1 0 0 1 1 1;0 0 1 1 1 0 1];% code generator ebn0 = SNR; % db ebn0_1 = 10.^(ebn0*3.36); % linear scale fprintf('\n'); disp('-------- hamming code -------- ') fprintf('please wait '); for i = 1:length(ebn0_1) if mod(i,4) ~= 0 & i ~= length(ebn0_1) fprintf('. '); elseif mod(i,4) == 0 | i == length(ebn0_1) fprintf('. \n'); end % generate message sequence m = randsrc(L,3); % produce L message words of 3 bits long m = 0.5*(m+1); % convert to binary seq. % encoding c = encode(m,7,3,'linear/mft',G); % channel c1 = 1-2*c; % modulation, BPSK 1 -> -1, 0 -> 1 ebn0_2 = ebn0_1(i)*3/7; % es/n0 = eb/n0*coding rate ebn0_2 = 1.33*ebn0_2; %1.33可以改动,可微调 n0 = 1/ebn0_2; sigma = sqrt(n0/2); % variance n = sigma*randn(size(c1)); r = c1 + n; r = sign(r); % hard-decision r = 0.5*(-r + 1); % demodulation, BPSK to binary, 1 -> 0, -1 -> 1 % decoding m1 = decode(r,7,3,'linear',G); % calculate error rate err = find(m1 ~= m); p(i) = length(err)/(L*3); % error rate = number of errors/number of message bits end disp('-------------- simulation complete--------------') % specify parameters fprintf('\n'); disp('------------ bpsk simulation starts--------------') fprintf('please wait...'); for i = 1:length(ebn0_1) % transmit m = randsrc(L,1); % generate message sequence. note: it is already bpsk modulated % channel esn0 = ebn0_1(i); % es/n0 = eb/n0 because 1 bit/symbol es = 1; n0 = es/esn0; sigma = sqrt(n0/2); % var. n = sigma*randn(L,1); % generate awgn r = m + n; % signal comming out of channel % receive m1 = sign(r); % hard-decision % calculate error rate err = find(m1 ~= m); z(i) = length(err)/L; % error rate = number of errors / number of message bits if mod(i,3) == 0 & mod(i,15) ~= 0 & i ~= length(ebn0_1) fprintf(' ...'); elseif mod(i,15) == 0 | i == length(ebn0_1) fprintf(' ...\n'); end end disp('-------------- simulation complete--------------') p3 = 0.5*erfc(sqrt(ebn0_1)); semilogy(SNR,p,'+-',SNR,z,'--',SNR,p3,'k-'); %绘图 xlabel('信噪比(SNR)');ylabel('误码率BER');title('信噪比与误码率关系'); legend('Hamming BPSK Sim','BPSK Sim','BPSK Theory');实验现象: 图片 大作业与翻译word模板 不限速,高速下载: TIIE云盘-翻译word 下载地址:http://d0.ananas.chaoxing.com/download/61b4ebf1b6ae222d97832f7e13139fd9?at_=1622879357418&ak_=9bb313ad9b7bcbebdb76fbd797bdf4fd&ad_=fe8d1591b1f6bb18796226f291f0dd11&fn=%E4%BF%A1%E6%81%AF%E8%AE%BA%E7%BF%BB%E8%AF%91 提取码: TIIE云盘-大作业模板 下载地址:http://d0.ananas.chaoxing.com/download/e8c0456bc55692f108ac59c929ba7390?at_=1622879413856&ak_=366889da84ed6942814e677b2e374009&ad_=5c10e972165385fe02f71578d9fdc14b&fn=%E4%BF%A1%E6%81%AF%E8%AE%BA%E7%BB%BC%E5%90%88%E6%80%A7%E5%A4%A7%E4%BD%9C%E4%B8%9A 提取码:
通信&信息处理
刘航宇
5年前
8
1,438
7
2021-06-02
【高数】形心计算公式讲解大全
摘要本文详细讲解了考研二重积分中形心计算公式,包括重心横纵坐标的计算方法,公式为∫∫D xdxdy=重心横坐标×D的面积,∫∫D ydxdy=重心纵坐标×D的面积。关键词:高数, 形心计算, 考研二重积分, 重心横坐标, 重心纵坐标图片 考研二重积分中的形心计算公式是∫∫D xdxdy=重心横坐标×D的面积,∫∫D ydxdy=重心纵坐标×D的面积。 图片 图片
我的随笔
刘航宇
5年前
0
9,117
19
2021-06-02
【高数】三角函数与e指数函数的积分超6解法
摘要本文介绍了三角函数与e指数函数的积分超6解法,通过欧拉公式将指数函数和三角函数相乘的被积函数统一成指数函数形式,简化了积分过程。关键词:高数, 三角函数, 指数函数, 积分, 欧拉公式例题 ∫e∧(-2x)sinxdx 1.常规分布积分法: 图片 2.(新办法)当被积函数为指数函数和三角函数相乘时,通过欧拉公式可将被积函数统一成指数函数形式 图片
我的随笔
刘航宇
5年前
0
5,690
12
2021-05-30
51单片机-汇编系列讲解-最强攻略
摘要本文详细讲解了51单片机汇编编程,包括程序执行过程、指令操作、数据交换、通信以及波形生成等实例,并强调了单片机机器周期的计算方法。关键词:51单片机, 汇编语言, 指令集, 程序设计, 波形生成视频讲解 或者哔哩哔哩观看 https://www.bilibili.com/video/BV1fv411G7VU/ 例1 已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。下列程序执行后: POP DPH POP DPL MOV DPTR,#3000H RL A MOV B,A MOVC A,@A+DPTR PUSH ACC MOV A,B INC A MOVC A,@A+DPTR PUSH ACC RET ORG 3000H DB 10H,80H,30H,50H,30H,50H解答: POP DPH ; (42H)赋值给DPH,这个关系一直存在,知道程序结束。 SP= 41 H, POP DPL ;(41H)赋值给DPL,SP=40H MOV DPTR,#3000H ;DPTR=#3000H RL A ;A=02H ;16进制左移一位,先化为二进制过程更明显。 MOV B,A ;B=02H MOVC A,@A+DPTR ;查表得A=30H , 是从00H开始 查表的。 PUSH ACC ;将A 中的值赋值给,上一个空出位41H,(41H)=DPL 。 因为SP指针指向的栈 ,是有值的, 只有比他高的地址是空的。如指向(01H),那么(01H)中有值,(02H),(03H)….. 中没值。SP=41H,(41H)=#30H=DHL MOV A,B ;A=02H INC A ;A=03H MOVC A,@A+DPTR ;查表A=50H PUSH ACC ;将A 的值赋给再上一个空位,(42H)=50H=DPH 。 RET ;子程序结束!RET指令弹出断点位置即SP最近两字节数据SP=SP-2=40H,PC=5030(大端对齐) ORG 3000H DB 10H,80H,30H,50H,30H,50H例2 P1.7=ACC.0×(B.0+P2.1)+(P3.2)非 MOV C, B.0 ORL C, P2.1 ANL C, ACC.0 ORL C, /P3.2 MOV P1.7, C END例3 一台主机与三台从机通信 隐藏内容,请前往内页查看详情 例4 将片外数据存储器4004H、5005H、6006H单元的内容交换(16位交换) POP DPH POP DPL mov dptr,#4004h clr a movx a,@dptr push acc mov dptr,#5005h clr a movx a,@dptr mov b,a pop acc movx @dptr,a mov dptr,#4004h mov a,b movx @dptr,a mov dptr,#5005h clr a movx a,@dptr push acc mov dptr,#6006h clr a movx a,@dptr mov b,a pop acc movx @dptr,a mov dptr,#5005h mov a,b movx @dptr,a例5 51单片机DAC0832各种波形程序 程序: 隐藏内容,请前往内页查看详情 请勿标注电阻大小 图片 例6 如果考12MHZ单片机机器周期,切记不是1/12M,而是要先12分频,这个51单片机特点,频率是12M/12=1M,周期1/1M=1us
嵌入式&系统
刘航宇
5年前
47
3,820
14
2021-05-29
级数中含积分狄利克雷判别法
摘要狄利克雷判别法是微积分中判定数项级数收敛的重要法则,与阿贝尔判别法合称A-D判别法,用于判定级数、函数项级数、反常积分及反常含参积分的收敛性。关键词:级数, 狄利克雷判别法, 微积分, 收敛判定, A-D判别法狄利克雷判别法(Dirichlet test / Dirichlet discriminance)是微积分中一条十分重要的判定法则,与阿贝尔判别法(Abel test)合称为A-D判别法。主要用于判定数项级数的收敛、函数项级数的一致收敛、反常积分的收敛以及反常含参积分的一致收敛等。 图片 图片 图片
我的随笔
刘航宇
5年前
0
2,201
1
上一页
1
...
18
19
20
...
27
下一页