分类目录:摩登3平台开户

摩登3测试路线_《智能体白皮书2020》:共建全场景智慧

根据IDC的研究,到2025年,全球由数字化产品和服务驱动的数字经济的占比将达到58.2%,数字化产品和服务将成为主流,全场景智慧将加速人类进入数字化时代。 新的科技革命与产业变革已在全球展开,新“智能+”时代正在到来。 IDC、中国信息化百人会、中国信息通信研究院、中国人工智能产业发展联盟与华为联合编撰的《智能体白皮书》指出,在第四次工业革命爆发前的历史拐点,“智能体”的新理念将推动城市、行业、企业在智能升级中合理运用这一参考架构,从而加快整个社会的高质量发展。 白皮书显示,在智慧社会,数据作为重要的生产要素,需要通过“任意对象和信息的数字化”“任意信息的普遍联接”以及“海量信息的存储和计算”的关键共性数字基础设施,把数据资源变成“智源”,才能有力支撑各行各业的数字化转型走向智能升级,重构体验、优化流程和使能创新。这需要多种ICT关键技术形成一体化协同发展,以智能交互为感知系统、以高速联接为神经传导系统、以云上部署的AI为中枢系统,形成具备立体感知、全域协同、精确判断和持续进化的、开放的智能系统,成为一个类似人的智能体。 智能体把联接、计算、云、AI、行业应用一体化协同发展,形成开放兼容、稳定成熟的基础支撑技术体系,是智能升级的参考架构。根据不同的需求提供场景化解决方案,帮助企业客户实现商业成功,帮助政府实现兴业、惠民、善政。 同时,白皮书强调,智能体建设是一项系统性工程,需要进行体系化规划和长期投入,多数项目需要3-5年甚至更长时间才能取得显著成果。经过对大量行业及企业数字化转型实践的分析,业界已经积累了一套具有通用性、普适性的实施框架,包含咨询、规划、实施、运维、持续运营、配套生态体系建设等多个模块。以及,从先建联接,再优化,最后到智能的三阶段实施路径。 如需获取完整版,在回复关键字“”,免费获取。 白皮书部分展示如下: 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3测速登录地址_人工智能再次大放异彩!索尼做菜AI 应运而生

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 2017年12月,人工智能入选“2017年度中国媒体十大流行语”。 提到人工智能,机器人、智能汽车、智慧交通是很多人首先想到的应用领域。调研发现,这些领域人工智能的商用化进程的确很快,并且业内企业正在以惊人的速度成长着。 人工智能的快速发展不仅体现在机器人、智能汽车等“高精尖”领域,更为重要的是,它正在与多个稀松平常的传统行业融合。我们日常生活中的许多场景,正在被人工智能改变,比如食堂、超市、服装店等等。 近日,索尼 AI 官方正式发布了 “美食旗舰”项目,将利用人工智能来创造菜谱、打造与厨师协作的做菜机器人。 据了解,索尼 AI 事业部于 2019 年 11 月成立,2020 年 4 月独立成为一家新公司。根据官方描述,索尼 AI 将利用各种数据源——包括配方和食材的数据,如口味、香气、味道、分子结构、营养成分等——来开发一款菜谱创作 App,该 App 将由专有的 AI 算法驱动,协助世界顶级水平的厨师进行食材搭配、食谱设计和菜单创建的创意过程。 索尼 AI 还同时发布了 “厨师访谈系列”,将打造一个美食创作的社群。索尼 AI 通过在线访谈共采访了 18 位厨师和美食专家,了解他们的灵感来源、菜单创作背后的创意过程、技术运用、对可持续发展的看法以及其他对于美食行业发展的重要趋势。 同时,在我们国内一批优秀的人工智能企业正在飞速发展。在业内人士眼中,人工智能没有产能和市场的极限,随着与传统行业的加速融合,人工智能能够重塑所有传统行业。 人工智能产业必须与行业不断融合才能取得发展,现在的问题是如何开拓更多的人工智能应用场景。应用场景丰富了,与行业融合的程度加深了,人工智能的市场就扩大了。从这个层面来讲,人工智能产业能够重塑所有传统行业,并且没有市场规模的极限或者产能极限。

摩登3官网注册_全网最通俗易懂SPWM入门教程,快来白嫖

目录 基本原理 自然采样法 规则采样法 单极性 双极性 如何编写程序 总结 基本原理 SPWM的全称是(Sinusoidal PWM),正弦脉冲宽度调制是一种非常成熟,使用非常广泛的技术; 之前在PWM的文章中介绍过,基本原理就是面积等效原理,即冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同 。 换句话说就是通过一系列形状不同的窄脉冲信号,相对应时间的积分相等(面积相等),其最终效果相同; 所以SPWM就是输入一段幅值相等的脉冲序列去等效正弦波,因此输出为高的脉冲时间宽度基本上呈正弦规律变化; 这里通常使用的采样方法是:自然采样法和规则采样法; 自然采样法 自然采样法是用需要调制的正弦波与载波锯齿波的交点, 来确定最终PWM脉冲所需要输出的时间宽度,最终由此生成SPWM波; 具体如下图所示,这里会对局部①部分进行简单分析,下面进一步介绍; SPWM波形 局部①的情况如下图所示;简单分析一下整个图形的情况; 锯齿波和调制正弦波的交点为 A和 B; 因此 A点所需时间为 T1, B点所需时间为 T2; 所以在该周期内,PWM所需要的脉冲时间宽度 Ton满足: 最终结论就是,只要求出 A点和 B点位置,就可以求出 ; 自然采样法 这里对于求解A,B位置的推导不做介绍,但是计算量比较大,因此在微处理器中进行运算会占用大量资源,下面再介绍另一种优化的采样方法:规则采样法。 规则采样法 根据载波PWM的电压极性,一般可以分为单极性SPWM和双极性SPWM;下面进一步介绍; 单极性 单极性SPWM在正弦波的正版周期,PWM只有一种极性,在正弦波的负半周期,PWM同样只有一种极性,但是与正半周期恰恰相反,具体如下图所示; 下面取正弦波的正半周期的情况进行分析; 单极性SPWM 正弦波的正半周期整体如下所示;由图中我们可以知道以下几点; 载波PWM的周期为 T; 线段 BO为当前这个等腰三角形的垂线; 线段 BO与正弦曲线 相较于点 A; 所以在该周期内 ,PWM所需要的脉冲时间宽度 Ton满足: 单极性正半周期 具体的推导过程如下: 第一步:由于O点的位置比较好确认,因此,线段 第二步:这里载波锯齿波的最大幅值为1,因此线段 第三步:根据初中学过的相似三角形定理,满足: 最终简化得到: 这里对载波的幅值做了归一化处理,如果锯齿波的最大值为 ,正弦波的幅值最大为 ,则 ; 双极性 只要符合面积等效原理,PWM还可以是双极性的,具体如下图所示;这种调制方式叫双极性SPWM,在实际应用中更为广泛。 双极性SPWM 如何编写程序 上面讲到这里PWM的 时间满足: 其中 为正弦波幅值, 为载波锯齿波幅值; 那么下面以STM32为例,介绍以下如何进行程序编写; 首先得先STM32是如何产生PWM? 通过数据手册可以知道,STM32通过TIM输出PWM,这里有几个寄存器; 计数寄存器: CNT 比较寄存器: CCR (决定了占空比,决定了脉冲宽度) 自动重装寄存器: AAR(决定了PWM的周期) 可能这么说,还是云里雾里的,先看下图; STM32的PWM产生原理 STM32中PWM的模式有普通的PWM,和中央对齐的PWM,上图使用的就是中央对齐PWM; 产生PWM的过程可以分为以下几个过程; 第一步:配置好TIM, 通常时基和ARR都会配置好,这时候PWM的周期就已经被设定好了,另外时基决定了CNT计数寄存器增加一次技术所需的时间; 第二步:刚开始, CNT ,并且 CNT开始增加,这时候PWM的输出都是低电平;当 CNT>CCR之后,PWM输出为高电平; 第三步:当 CNT的值等于AAR之后, CNT开始减少,同理 CNT ,PWM的输出低电平;当 CNT>CCR,PWM输出为高电平; 第四步:循环上述三个步骤; 程序中如何实现? 从上述STM32产生PWM的过程中不难发现, 满足; ① 上一节推导的公式如下: ② 结合①式和②式,可以得到: 上面公式中用CCR表示CCR寄存器中的值,ARR表示ARR寄存器中的值; 最后需要做的三件事 计算出ARR,一般配置TIM定时器的时候能在数据手册找到公式; 调制比,也就是 的系数; 根据③式生成正弦表,然后查表(实时计算因为涉及到较多运算量,所以利用查表,空间换时间,提高效率), 利用PWM的事件去触发中断,更新下一次CCR的值; 正弦函数表: const uint16_t indexWave[] = { 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 89, 98, 107, 116, 125, 133, 142, 151, 159, 168, 176, 184, 193, 201, 209, 218, 226, 234, 242, 249, 257, 265, 273, 280, 288, 295, 302, 310, 317,  324, 331, 337, 344, 351, 357, 364, 370, 376,  382, 388, 394, 399, 405, 410, 416, 421, 426,  431, 436, 440, 445, 449, 454, 458, 462, 465,  469, 473, 476, 479, 482, 485, 488, 491, 493,  496, 498, 500, 502, 503, 505, 506, 508, 509,  510, 510, 511, 512, 512, 512, 512, 512, 512, 511, 510, 510, 509, 508, 506, 505, 503, 502, 500, 498, 496, 493, 491, 488, 485, 482, 479, 476, 473, 469, 465, 462, 458, 454, 449, 445,  440, 436, 431, 426, 421, 416, 410, 405, 399,  394, 388, 382, 376, 370, 364, 357, 351, 344,  337, 331, 324,  317, 310, 302, 295, 288, 280,  273, 265, 257, 249, 242, 234, 226, 218, 209,  201, 193, 184, 176, 168, 159, 151, 142, 133,     125, 116, 107, 98, 89, 81, 72, 63, 54, 45, 36,    27, 18, 9, 0}; 中断服务函数:…

摩登3平台登录_Linux应用编程之进程的PID与PPID

ID:嵌入式情报局 作者:情报小哥 1进程PID 首先介绍PID的相关知识,为后面介绍fork函数进行铺垫。 01 PID与PPID PID不是控制理论的PID算法,而是Prcess ID的简写。进程PID是当操作系统运行进程时系统自动为其分配的唯一标识符,用于唯一标识此进程的一个整数,而PPID就是进程的父进程的PID。 既然是唯一标识,PID也就相当于我们的身份证,一旦被发放即终生标识,这也便于操作系统更好的管理和标识进程,当然一旦进程生命周期结束,此时的PID便会被释放,可供以后的进程再次使用。 02 特殊PID进程 我们可以通过命令行输入 : ps -aux 来查看当前系统所运行的进程。 PID= 0的进程 : 通常也叫调度进程、idle进程,负责进程之间的调度和切换。该进程是内核的一部分,所有进程的根进程,一般我们是看不到该进程的。 PID = 1的进程 : 通常是init进程,Linux几乎所有的进程都是由父进程产生的,PID=1的进程为父原始进程,比如该进程会读取文件系统来完成操作系统的启动。 PID = 2的进程 : 也叫kthreadd进程,它的任务就是管理和调度其他内核线程。 2两个常用API函数 01 两个常用API 同样我们使用命令行 : man 2 getpid ,从而可以找到该API的详解。 其中getpid表示获得当前进程PID,而getppid是获得当前进程的父进程PID,并且两个函数均能成功返回。 02 实验代码 : 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3测试路线_工业电机控制系统方案唾手可得

电机在现代生活中无处不在,从气候控制、电器和商业制冷到汽车、工厂和基础设施。 根据国际能源署(International Energy Agency)的数据,电机占全球总电力消耗的45%,因此电机驱动电子产品的可靠性和能效会对世界各地及各种应用的舒适性、便利性和环境产生影响。 一种提高电机驱动系统能效的方法是,用变速驱动器代替在50 / 60 Hz交流线路电压下驱动的单速电机,从而实现电机的电子速度控制和更高的驱动能效。与开/关调节方法相比,变速控制还可以提供应用层面的高能效。 先进的电机驱动系统的核心是逆变器级,它接收输入的直流电并将其转换成交流电压,频率以所需的速度驱动电机。逆变器含三个半桥,如图2所示。 逆变器的每个半桥相都有一个高边和低边开关,视乎应用需求,可以是硅功率MOSFET,IGBT,碳化硅(SiC)FET或氮化镓(GaN) 高电子迁移率晶体管(HEMT)。 例如,转动泵或风扇,输送电机或机械臂的要求是不同的,工业应用将利用不同的电机技术来适应每种情况:交流电机,有刷或无刷直流,永磁同步电机(PMSM)或开关磁阻为例。 无论应用和技术的范围有多广泛,如果我们探讨工厂环境,驱动系统始终需要满足以下基本的共同要求: 高能效和可靠性 安全可靠性和集成度 耐用和出色的热性能 开发满足所有这些要求的高效可靠的电机驱动器复杂且耗时,但是借助安森美半导体的新的电机开发套件(MDK),使这变得简单。 这综合原型平台包括通用控制器板(UCB),它连接到扩展的电源板选件以创建一个快速启动平台来运行您的电机,从而在设计任何硬件之前对系统进行快速测试、评估和优化。 图4:图形用户接口(GUI) UCB采用功能强大的赛灵思(Xilinx)公司的Zynq®-7000现场可编程门阵列(FPGA) / ARM 系统单芯片(SoC),适用于高端控制和基于人工智能(AI)的应用。UCB与Xilinx开发工具和库完全兼容,并与Trenz Electronic合作开发。 这些电源板含安森美半导体的领先功率器件和模块,及我们广泛产品阵容中的所有其他必要元器件,以开发完整的电机驱动器方案。 首两款电源板采用我们的智能功率模块(IPM),适用于工业和家用电器电机驱动应用。IPM集成用于逆变器的六个功率开关、门极驱动器和一个热电偶,其保护功能包括过压/欠压锁定,防击穿和过流跳闸。 紧凑的IPM电源板(SECO-1KW-MCTRL-GEVK)提供了从市电的交流输入到电动机的交流输出的完整方案。 额定输入电压为230 Vac,它包括一个EMC滤波器和桥式整流器、交错式两通道功率因数校正(PFC)和NFAQ1060L36T IPM作为逆变器级,以及辅助电源、测量和保护。 图5:1 kW板 对于更高的功率水平,采用NFAM5065L4B 650 V智能电源模块。 它的额定输入电压为400 VDC,可以提供高达1 kW的连续功率,并可以在短时间内或通过添加散热器提供高达4 kW的功率。该产品非常适合工业驱动和商业暖通空调和制冷(HVACR)应用。 即将推出的是含我们。这些电机驱动板将支持10 V至100 V的输入电压,功率能力高达1.2 kW,可满足电池供电的和中低电压应用,如电动工具、机器人、自动机器人和无人机。 我们还开发了更多电源板,突出我们广泛的IPM阵容及新模块针对更高功率的电机驱动应用。模块化设计还让我们能够采用一系列PFC方案,从而能够自由组合和匹配功率转换级,以根据您的要求进行优化。 安森美半导体的含一个通用控制平台的通用控制器板(UCB),和一系列不断扩展的电源板,以快速测试和评估全面的电机驱动方案。 基于紧凑的IPM的1 kW 600 V板和基于SPM31的4 kW 650 V板都将在2020年第四季度推出。 还有一个基于安森美半导体TMPIM技术的电源板将于2021年第一季度发布,以驱动高达10 kW的电机。安森美半导体将把更多电源板和扩展的设计支持添加到MDK生态系统中。 ,访问我们的电机开发套件页以了解更多信息。 ,查看赛灵思博客《基于Xilinx Zynq-7000的新的通用控制板(UCB),利用安森美半导体的先进功率级实现最佳的电机控制》,以了解Zynq®-7000 SoC的优势。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3注册网址_中科院辟谣:5nm光刻技术被误读,国产水平在180nm

今年 7月份,中科院发表的一则《超分辨率激光光刻技术制备5纳米间隙电极和阵列》的研究论文引起了广泛的关注。 当时,华为正被美国打压,中国芯片产业成为了国人的心头忧虑。 因此,中科院此新闻一出,遭部分媒体夸张、误解之后,立刻引起了一片沸腾。有媒体将其解读为“中国不用EUV光刻机,便能制造出5nm芯片”,但事实并非如此。 近日,该论文的通讯作者刘前在接受《财经》记者采访时,作出了解答。 刘前表示,论文介绍的新型5nm超高精度激光光刻加工方法,主要用在光掩膜制作上,并非是极紫外光光刻技术,部分媒体混淆了两者的概念。 在光刻过程中,光源通过激光将电路设计图写在光掩膜版上,然后照射在硅片的表面,之后便会进行刻蚀工艺。 可见,光掩膜是集成电路光刻机制造中,不可或缺的重要部分,其对集成电路线宽也起到了一定限制作用。人们常提到的12nm、5nm等,便是集成电路线宽。 长时间来,中国只能制造中低端光掩膜,并且还要依赖海外技术、材料等。 而高端光掩膜版更是成为我国“卡脖子”技术之一。全球高端光掩膜市场主要被美国Photronics、日本印刷株式会社、日本Toppan三者所垄断,余下的市场份额很少。 因此,中科院所攻克的这项新技术,虽然没有部分媒体表述的那样夸张,但对我国高端光掩膜市场的突破,依然具有重要意义。该技术具有完全自主知识产权,并且有成本更低的优点。 但是,该技术仍处在实验室阶段,想要实现商用并非是一件容易事。 而且,我国光刻机技术也有十分漫长的路要走。据AI财经社消息,有半导体产业资深人士表示:目前我国可以实现180nm制程,但仍在试用阶段,还需要攻克。 为何中国光刻机技术发展如此缓慢,有半导体业界人士表示:是产业环境的问题。此前,国产设备不被看好,客户不愿意配合使用与测试。这阻碍了我国光刻机产业的发展。 但是,华为被美国制裁事件发生后,许多相关厂商改变了看法,意识到将关键技术、设备等掌握在自己手中的重要性,中国集成电路产业的发展速度有明显加快。 不过,在中国落后颇多的情况下,想要实现突破并非是一件易事。但即便如此,国产芯片仍要抱有信心,不断追赶。 推荐阅读: 安谋中国推出首款“玲珑”ISP处理器:自主研发,赋能本土! 匡安网络:坚持自主研发创新,筑牢网络安全之堤 青藤云安全“四大利器”,为新基建安全保驾护航 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3注册登录网_手把手教你制作基于IAR、STM32H7的下载算法

关注+星标公众号,不错过精彩内容 作者 | Lucas 编排 | strongerHuang 本文由作者『Lucas』原创并授权发布,地址: https://blog.csdn.net/lin_duo/article/details/110754189 下载算法对于大部分工程师来说,只需要会使用即可,也不用过多去关心里面实现的方法。当然,对于有时间的工程师来说,了解下载算法还是有一定好处的。 之前给大家分享过基于Keil MDK环境的下载算法制作,今天就来给大家分享一篇基于IAR、STM32的下载算法的制作。 嵌入式专栏 1 环境 IDE环境:IAR EWARM 8.32 单片机:STM32H750VBT6 外部Flash:W25Q64 嵌入式专栏 2 背景、知识介绍 我们为什么需要下载算法?下载算法是在哪里使用的? 如上图所示,我们想通过C-SPY将固件直接下载到Flash是不被允许的,那我们怎么才能实现将固件下载进Flash呢? IAR官方文档《FlashLoaderGuide.ENU.pdf》告诉我们说,我们需要先将固件放在RAM缓存里面,然后通过一个名叫”Flash Loader”的小程序,将代码不断的从RAM搬运到Flash(这里的Flash可以是内部Flash,也是可以是外部Flash)。 上文中提到的”Flash Loader”就是需要我们针对不同的硬件去分别实现的代码,也就是所谓的Flash下载算法。 知识介绍: IAR下载算法一共包括4个文件(.out文件、.flash文件、.board文件、.mac文件)。 1、.out文件是由”Flash Loader”代码生成的,里面包含了我们对QPSI管脚的定义,函数FlashInit()、函数FlashWrite()、函数FlashErase()的实现。 2、.flash文件是一个XML文件,里面包含了一些必要的元素和一些不必要的元素,仅针对必要元素做一个简单介绍 exe:指向.out文件 flash_base:Flash的基础地址 page:Flash每页的大小 block:对应Flash有多少个扇区,每个扇区多大。(block元素对应Flash的扇区还是块,待考证) 3、 .board文件同样也是一个XML文件。可以由 *** 进行多个.flash文件设置。每个pass内包含了两个必要的属性 range:表面了Flash的起始地址及结束地址 loader:当前pass调用那个下载算法的路径 4、IAR每次仿真下载完程序是从当前工程的main函数开始运行的。如果我们将代码下载到了0x90000000地址处,我们并没有开启内存映射,是不可以仿真的。这时候就需要采样.mac文件作为一个启动脚本,当程序仿真下载完成后,跳转到0x08000000处开始运行。在0x08000000处进行内存映射,然后马上跳转到0x90000000处,就可以进行仿真了。 嵌入式专栏 3 制作思想 下载”Flash Loader”开源代码 创建一个空工程,将”Flash Loader”开源代码里面的文件添加到工程 完成函数FlashInit()、函数FlashWrite()、函数FlashErase()。 生成.out文件 制作.flash文件 制作.borad文件 根据需要制作.mac文件 嵌入式专栏 4 源码说明 上面已经介绍了下载算法制作的一些基础知识及制作思想,下面我们正式开始动手制作下载算法。 1、下载FlashLoder开源代码。 传送门: https://files.iar.com/public/cmsis/ 下载后的文件内容如下图所示: “flash_loader.c”、“flash_loader.h”、“flash_loader_asm.s”、”flash_loader_extra.h”四个文件是供C-SPY调用的,我们不应该去修改文件内容。真正需要我们去修改的内容是”template”文件夹下的”flash_loader_ram.c”文件。 2、 为了方便,我找到IAR安装路径(“C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.3\arm\src\flashloader\ST”)下的”FlashSTM32H7xx_QSPI”文件夹,对这个文件内容进行更改。我们将”FlashLoder”代码添加进去,并添加相应的路径。 (注:“flash_loader_ram.c”文件当前工程下被改名为”FlashSTM32H7xx_QSPI.c”)。 3、补充函数内容 A.补充FlashInit函数内容 B.补充FlashWrite函数内容 C.补充FlashErase函数内容 4、生成.out文件由三个需要注意的地方 A.我们需要将代码下载到RAM里面执行,IAR->Option->Linker->Config配置如下: B.IAR->Option->Linker->Output配置的是输出.out文件的内容: C.当前工程没有main函数,程序运行的第一个函数将是FlashInit函数,对IAR->Option->Linker->Library配置如下: 5、制作.flash文件,如下图: 6、制作.board文件,如下图: 7、对于H750内存映射外部Flash还需要制作.mac文件,内容如下: 文件内容就很好理解了,下载完成后,pc指针指向中断向量表的Reset_Handler函数,堆栈指针指向程序运行的首地址。这样每次程序仿真下载完成后,就从0x08000000处开始运行。我们可以把Boot程序放在这个地址,Boot程序里面进行内存映射,然后跳转到0x90000000处。 嵌入式专栏 5 效果展示 我们制作好上诉四个文件过后,创建一个工程(该工程要运行在0x90000000处),对这个工程进行简单配置。 IAR->Option->Debugger->Download下,配置如下: IAR->Option->Debugger->Setup下,配置如下: IAR->Option->Linker->Edit下,配置如下: 在代码初始的地址,还需要加上中断向量表地址SCB->VTOR = 0x90000000; 做完上诉配置后,我们进行仿真下载,如下图所示,我们可以看到main函数已经存在与0x90003588处,并且可以进行仿真,说明我们配置是正确的。 将代码全速运行,可以看见串口显示正式我们程序设置的输出。 至此,关于IAR下下载算法的制作与验证就全部介绍完了。 参考资料: FlashLoaderGuide.ENU.pdf EWARM_DebuggingGuide.ENU.pdf FlashLoader源码 ———— END ———— 推荐阅读: 精选汇总 | 专栏 | 目录 | 搜索 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3登录网站_软件实时性: “快是优点么?”

关注+星标公众号,不错过精彩内容 作者 | 傻孩子 转自 | 裸机思维 下面分享一篇王工(网名:傻孩子)整理的文章: 【序】 不知道你发现没有,平时我们讨论嵌入式软件开发时总绕不开与实时性(Real Time)相关的话题。相信不少朋友和我一样是通过实时性操作系统(Real Time Operating System, RTOS)第一次接触到实时性概念的——我记得那还是大学时代、参加机器人竞赛的时候。工作以后自信地以为加深了不少对实时性的本质认识——现在看来其实还未摸到门道。就这样浑浑噩噩一直到毕业后的第八年,因为工作变动的原因,我被迫要在一周内要做一个实时性原理相关的研究报告,也就在那时,我体会到了疯狂练功走火入魔的感觉:走路在思考、吃饭在看资料、头一直发烧一样的微微发热、甚至连睡觉都在梦中推演模型——头发一把一把的掉,幸好有截稿时间,否则真的要秃了。 也就是经过那一次,我突然发现自己之前对实时性的认知可谓徒有其表,甚至从未做对实时性模型本身的定量分析——所幸,那次研究报告如期交付,工作变动也如愿以偿。然而,3年后我发现“我又双叕天真了”——那是有一次,我正跟人讨论嵌入式基本范式,就突然一个瞬间,脑海中原本毫不相关的一些模型猛地被联系到了一起(音效请脑补): 我甚至本能的立即意识到:之前自己在某篇文章中“言之凿凿”的推论过程其实存在巨大漏洞——当然,那本书从未出版过,而且会闲到对我进行深究的人估计也没有几个。 今天,即便我非常确信——在前方至少还有几道数学的深谷阻碍着我触碰“实时性”的圣杯——然而我并不是计算机科学家,现有结论对我来说已经足够装逼 。回头看来,根据我的经验以及与朋友讨论的结果,大致认为大部分人对实时性的认知过程通常会分以下几个阶段: Lv1:“实时性” = “越快越好”,认为用好中断是保证实时性的关键;这类朋友通常最擅长的是裸机下的“前后台系统”; Lv2:“实时性” = RTOS,认为选一个好的RTOS,或者会用RTOS就可以保证实时性;这一阶段的朋友对RTOS充满了好奇,以编写自己的RTOS为“ 终(zhong)极(er)目标”; Lv3:“实时性” = 任务拆分,这一阶段已经能正确的理解实时性窗口的概念,意识到实时性并不意味着越快越好,但也认为“在可能的情况下”“快一点响应事件没啥坏处”;这一阶段的朋友可能已经可以在裸机和RTOS之间自由的反复横跳,无论是裸机下的状态机还是RTOS下的线程都已了如指掌、任务间通信更是游刃有余; Lv4:这一阶段开始思考实时性模型的特点,并逐渐意识到模型本身其实隐含了足以颠覆过往所有关于实时性认知的秘密;到达这一阶段的朋友通常觉得没必要、也没心思继续思考实时性更本质的数学意义——因为此时获得的结论已经足够了应付几乎所有的工程开发了。顺便说一下,我就在这里 。 Lv5:到了这个阶段,不仅脑洞大开、战斗力惊人、估计打针也没法阻止你抓破脖子了吧 ——以上只是暴露年龄的玩笑,但肯定 可以水几篇SCI论文了…… 在理解了实时性的模型以后,我(本能的排除了自己比较笨这个可能性,然后)意识到:其实这一过程完全没必要如此漫长和曲折——很多结论和道理是如此简单——不仅书本上有,而且解释和学习起来都不费什么力气。可能这就是“挠破头”想通某个道理之后,回头再看时忍不住要“苦笑”时的感受吧。 按照约定,为了将经验和知识分享给大家,从本文开始,我将以几篇文章的篇幅:从基础模型开始,由浅入深、由理论到实践,推演关于实时性的几个重要结论——从而直接跳跃到Lv4的认知阶段。如果你看了这个系列后有什么话想说的、想问的,还请在评论区写下您的留言。求评论、求转发、求收藏。 【击碎 “唯快不破” 的神话】 图1展示了一个标准的实时性模型: 基于物理世界客观法则的限制,很多应用在制定需求说明的时候,从某一个事件发生的时刻计算,会规定一个死线(Dead Line),即:一旦事件发生了,如果不在这个死线之前完成整个对事件的处理,就视作失败; 这里,从事件发生到死线这段时间长度,习惯上称为实时性窗口。当事件发生时,只有在死线内任意时刻完成了对事件的处理,才能称为实时性得到了满足; 容易注意到,处理事件的过程也需要消耗时间——一般称为事件处理时间; 图1 实时性基本模型 考虑一个有趣的问题:对一个实时性任务来说,实时性窗口内的时间,其价值是一样的么?换句话说,横竖处理事件消耗的时间是不变的,早点做迟点做都是做,有什么区别么? 图2 实时性窗口内不同时间段完成事件响应 对比图2所示的三种情况,可以很清楚的得出结论:理论上,从满足实时性的角度出发,在时间窗口内任意时段完成对事件的处理都满足实时性要求;早做没有任何额外的好处,“踩着上课铃到校”也没有任何惩罚——简单说就是早做迟做无所谓。 你说“我不管,我不管”,既然什么时候做都一样为什么不能“尽早做”?“你也说了尽早做没啥不好”,“中断来了,服务程序执行了,我想让它迟点执行也做不到啊?” 为了回答这个问题,我们不讲大道理,先看一个常见的例子: 超级循环里有三个任务A、B和C; void main(void){ ...    while(1) {   task_a();   task_b();        task_c();    }} 每个任务都使用轮询的方式在等待一个来自芯片外界的事件发生(先不考虑存在中断的情况); 当一个任务函数被执行时会检查对应的事件是否已经发生,如果确实已经发生,则执行后续的处理;反之则立即退出任务函数——释放处理器; A、B、C三个事件的实时性窗口分别为10ms, 6ms和4ms;处理三个事件的处理程序分别需要4ms、3ms和0.4ms。如图3所示: 图3 三个事件的实时性窗口和事件处理时间示意图 需要强调的是,task_a()、task_b()和task_c()三个函数的策略本质上都是一样的——“一旦检测到事件立即处理,绝不迟延”! 基于上述事实,容易发现:假如某一时刻,A、B、C三个函数都处于触发状态(等待处理的状态),而超级循环恰巧进入task_a()执行——这种情况其实比想象中容易发生,比如从task_a()退出到task_c()执行完成期间,事件A触发了;从task_b()退出到task_c()执行完成期间,事件B触发了;在task_c退出()之后恰巧事件C又触发了……此时,任务A会立即响应,消耗4ms的时间来完成事件处理;当从task_a()函数退出时,剩余给task_b()的时间窗口只有2ms(6ms–4ms),而事件B的处理函数需要3ms——显然事件B的实时性是无法得到保证的——当然事件C已经死得透透了…… 图 4 “越快处理越好” 导致其它任务无法满足实时性要求 通过上面的例子,我们知道“越快处理越好”是值得反思的——至少会存在情况导致系统在某些时刻无法满足实时性要求;那么从模型上来说,如何理解这一现象呢? 让我们重新来看图1所示的模型: 实际上,如果单纯从一个实时性任务自身出发来看,的确在实时性窗口内,任意时间完成事件的处理都是一样的;然而,通过前面的举例我们其实可以发现,当一个系统中存在多个实时性任务时,虽然一个实时性窗口内的任意时间对任务自己都是等价的,但越靠前的时间对“别人”来说是越宝贵的: 当你使用“越快越好”策略时,你不会有额外的收益,而实际上是走了别人的路,让人无路可走——典型的损人不利己; 当你在别人需要的时候,在自己实时性得到保证的前提下,尽可能让出对你没有额外价值的靠前的时间,实际上是一种“利他主义”; 当所有的任务都采用这种利他策略时,就变成了“人人为我,我为人人”的合作策略——这种情况下,如果数学证明整个系统一定存在一个方案来满足所有任务的实时性需求,那么利他策略一定能找到这样的解决方案。 图 5 一种可能的解决方案(不是唯一) 作为一个系统开发者,我们显然是需要从全局考虑的,因此完全没有必要从单个实时性任务的自私视角来看问题,因此结论就变得更为直接:实时性窗口内越靠前的时间价值越高,从总体上来看“单纯”越快越好的策略对实时性是有害的。 既然单纯的“越快越好”不可取,且“实时性窗口内”越靠前的时间越有价值,是否意味着,其实“越靠后越好呢”? 为了验证另外一个极端“越慢越好(越靠后越好)”是否是正确的,我们不妨以同样的例子来推演一下,仅仅更新task_a()、task_b()和task_c()的执行策略:从“越快越好”变为“越慢越好”——这实际上意味着: 每一个事件处理任务都清楚的知道“距离事件发生已经过去了多长时间”; 为了做到“卡着上课铃进教室”,不到最后时刻,绝对不执行任务处理。 根据这一算法,我们推演得到以下的尴尬情形: 图 6 过于谦让的后果…… 不妨分析下过程:首先,task_a()执行,在了解到距离自己的最后时刻还有6ms的实时后毅然的决定把宝贵的时间留给他人;于是,CPU来到了下一个任务函数,基于类似的原因,task_b()也摆摆手……最终第一轮三个任务都决定再等一等…… 如此谦让(浪费)了3ms以后,任务B终于决定下场——在执行了3ms任务处理后,成功的将随后的任务C逼上了绝路……随着A的沦陷,大型翻车现场成就达成…… 从结论上看,另外一个极端“越慢越好”也是走不通的。那么究竟如何才能从模型分析的角度出发得出一个令人信服的、容易理解的、满足所有任务实时性需求的方法呢?关于这一点,我们下次再聊。 【小结】 从系统全局来看,实时性窗口内的时间越靠前越有价值,应该尽可能留给别的更紧急的任务来使用。事件发生时“越快处理越好”的策略直接占用了它人的“生命线”——当所有的任务都试图“损人不利己”时,那么整个系统没有一个任务是可以保证自己的实时性不被它人破坏的。从结论上看简单的“越快越好”策略在实时性系统中是不允许的。 ———— END ———— 推荐阅读: 精选汇总 | 专栏 | 目录 | 搜索 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3注册网站_以中医“闻与切”的功夫,为工业安全把脉

高明的中医总是能通过把脉的方式来从脉搏的跳动中微弱差异(脉象)中神奇地找到病因,而今天普遍使用的听诊器,则将脉搏的震动转换为耳朵可以清晰听到的声音波动,一样可以帮助辅助判断病情、病因。 与人体会生老病死一样,世间万物都有其运行规律。在工业领域,设备一样面临“生老病死”的命运,其运行规律和健康状况与工业效率与安全息息相关,生产设备的健康必须得到有效的监测和维护,而过去的设备健康状态监测需要依靠工作人员通过对设备运行振动、声音和产品质量的观察进行判断。与中医对脉象的判断通常需要几十年的经验积累类似,这在以前是只有少数具备数十年机器振动、声音观察分析经验的一线专业人员才能驾驭的检测工作。 任何深谙设备维护必要性的人都知道,设备发出的声音和振动有多重要。通过声音和振动进行适当的设备健康监测,可以将维护成本降低一半,使用寿命大大延长。很明显,这类监测方法需要进行状态信息的传感拾取、以及微弱传感信号的变换和数字化采集,以及数字化信息的分析解读,因此这对于擅长模拟信号信号链和数字化采集分析的ADI公司来说,是一个必须抓住也必然可以抓住的商业应用领域,ADI团队在过去20年里一直致力于理解人类是如何解读声音和振动的,其目标是建立一个系统,能够学习来自设备的声音和振动,破译它们的含义,以检测异常行为并进行诊断。 设备是否健康?“把脉”一下就知道 中医的把脉又称为切脉,是中医师用手按病人的动脉,根据脉象,以了解疾病内在变化的诊断方法。把脉是由动脉搏动的显现部位(深、浅)、速率(快、慢)、强度(有力、无力)、节律(整齐与否、有无歇止)和形态等方面组成的。脉象是中医辨证的一个重要依据,对分辨疾病的原因、推断疾病的变化、识别病情的真假,以及判断疾病的预后等,都具有重要的临床意义。 在早期的机械加工生产中,有经验的操作人员往往凭直观感觉来判断刀具是否已经磨钝:当工件加工表面粗糙度开始增大,切屑的形状和颜色发生变化,工件表面出现挤亮的带,切削过程产生振动或刺耳噪声等,都标志着刀具已经磨钝。 后来,陆续出现手持式振动检查设备,不需要操作者具备丰富经验即可对设备的振动进行分析判断。然而,此类设备的一个主要局限是测量结果不可重复,探头位置或角度稍有改变,就会产生不一致的振动剖面,从而难以进行精确的时间比较。因此,维护技术人员首先需要弄清所观察到的振动偏移是由机器内部的实际变化所致,还是仅仅因为测量技术的变化所致。 理想情况下,这样的监测传感器应当结构紧凑并且充分集成,能够直接永久性地嵌入目标设备内部,从而消除测量位置偏移问题,并且可以实时地进行监测。例如具有先进的系统级功能并可用于嵌入式应用的ADXL100x系列加速度计,以及具备低噪声等级特性(噪声低至20 μg/√Hz,带宽为1500 Hz)、在更严格的带宽范围内观察发现的ADXL35x系列产品。 ADXL100x系列具有宽带宽和低噪声特点。但是,它们采用单轴,需要配备相关的处理电子设备。为了简化设计,ADI公司提供了一套完整的解决方案,采用 ADcmXL3021型号实施三轴测量。这款产品包括三个基于ADXL1002的测量链、一个温度传感器、一个处理器和一个FIFO。整个装置封装在一个铝壳 (23.7 mm × 26.7 mm × 12mm) 内,可以即时安装在旋转机器上,具有仅 25 μg/√Hz的极 低噪声水平和10 kHz带宽,这些特点使其能够在大量应用中捕捉振动特征。 这类监测模块除了为预测性维护构建模型之外,与人工智能和云访问结合还开启了通向诸多可能性的大门。例如,将振动测量数据与来自其他传感器的数据(压力、温度、旋转、功率等)相关联,可以推断出关于系统状态的许多信息,不仅可用于检测机械故障,还能够处理诸如空输送带、内部没有流液的泵、不含膏体的搅拌器等。 设备健康监测创新,对设备健康“听诊”分析 人类对声音具有天然的敏感性,通过了解设备发出的正常声音,当声音出现变化时,就可以确认出现异常。传统上,我们依靠经验丰富的技工人员和工程师带来人工成本和独特人才资源的压力。声音拾取和智能分析能力与技术日渐成熟的今天,通过电子系统来实现已经变得可行。ADI的OtoSense的体系结构就是这样一种设备健康监测系统,通过对设备运行中的噪声采集、处理和分析,支持基于计算机听觉理解设备行为,实现无接触的性能检测和分析。 OtoSense的系统设计理念就从人类神经学中获得灵感,它是一名研究失聪儿童和患有精神疾病儿童的语言病理学家(上图为OtoSense系统的创建者、ADI公司OtoSense产品开发团队负责人Sebastien Christian)的杰作,并在2019年被ADI成功并购。传感解译技术依赖于传感数据,而ADI在这方面显然更胜一筹。传感模式经信号链转换为数字模式以及数字处理能力,与先进的ADI模拟信号链和数字信号处理技术整合,这样一来OtoSense的优势不仅仅是算法,还在于能够通过信号链接收高度准确可靠的信号。 OtoSense系统是一种致力于传感解译的人工智能,它能够使用数据进行学习,并与人类交互,以实现在边缘、实时、离线检测异常事件。其可用于机器监控、简化专业维护人员的工作,以及避免人们接近即将出现重大故障的机器,大大降低了工业环境运行风险。 本文总结 中医将人体作为一个复杂的系统,认为各种疾病能在脉象、舌苔等身体特征中表现出不同的差异,对于工业设备的安全监测应用来说何尝不是呢?设备的机械特征变化也会在振动、噪声特征中必然有反应。有意思的是,ADI的OtoSense技术就已在医疗保健应用中进行了成功测试,实现对慢性阻塞性肺病患者的咳嗽监测、睡眠呼吸暂停检测、胸声监测、老年人身体监测,等等。OtoSense高级预测性维护系统、基于MEMS的振动监测系统将越来越多的应用到工业设备预测维护中,以及在汽车、楼宇监测等更多领域获得广泛拓展。 关于世健 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

摩登3测试路线_神奇的天体摇摆仪

在头条的西瓜视频看到一段拆解 神奇的天体摇摆仪[1] 的视频。作者展示了一件天体摇摆仪桌面摆件从静止到启动的过程。之所以将这段视频看完,是因为在上个月初,在 山东大学开智能车竞赛技术研讨会[2] 时,中午去千佛山游览图中也看到过这种玩具,手动拨动它,猜想其中的驱动原理。这段视频作者就将该装饰摆件拆开并分析其中的原理。 ▲ 天体摇摆仪 天体摇摆仪的原型金属框底部有一个永磁铁,受到底部中电磁铁的驱动产生持续的摆动。底部黑色塑料壳上,除了承载四节五号电池(6V)仓盒之外,有一个电磁铁和它底部的驱动电路板。 电磁铁具有两个绕组,使用万用表可以测量到两个绕组的直流电阻分别是2000Ω和25Ω。假设两个绕组使用相同漆包线绕制,那么从对应的直流电阻可以大体推测这两个绕组的匝数大概是80:1。 ▲ 底座上的电磁铁和它的驱动电路   最为不寻常的是电磁铁非常简单的驱动电路,上面就只有一个有源器件。视频中作者经过测量确定这个器件是一个NPN型的三极管。与继电器三个绕组、驱动电源之间的连接电路如下图所示: ▲ 驱动电路 在这个驱动电路中,NPN型三极管并没有进行b-e偏置,因此静态时它是截止的,整个电路是不消耗电能的。 视频作者在后面的分析中讲解到,当摇摆的永磁铁在靠近电磁铁时,会在电磁铁中线圈 感应出电动势,当它超过三极管b-e之间的导通电压,便会产生基极 电流,经过三极管电流放大,在三极管发射极输出 的电流。该电流流经 ,经过电磁铁内部的耦合,重新增强了 ,使得三极管饱和导通。此时电磁铁产生吸力吸引永磁铁加速靠近。 ▲ 视频作者分析电路工作原理 当永磁铁经过最低点开始远离电磁铁磁芯时,电磁铁内部的感应电动势开始反向,这会使得三极管有导通转向截止,电磁铁失去励磁电流。所以在永磁铁离开时,电磁铁不产生吸引力。于是在电磁铁的驱动下,固定有永磁铁的天体摇摆仪便产生周期摆动。 ▲ 增加了显示三极管导通状态的LED电路 视频作者的讲解清晰明了。后面他又通过在L2上并联一个发光LED来显示三极管导通的状态,演示了摇摆仪摆动过程中,三极管导通的变化。 ▲ 慢镜头显示LED闪烁与金属框运动的关系   到此为止,似乎天体摇摆仪工作原理讲明白了,但是稍微深入思考一下,就会发现还是会使人产生更多的疑问: 1.问题一: 永磁铁在靠近电磁铁时,根据电磁感应中的 楞次定律(Lenz Law) ,线圈中所产生的感应电流应该是阻碍由永磁铁所引起的磁场变化,换句话说,此时电磁铁中的电流以及对应三极管放大后的电流所产生的磁场会抵消永磁铁引起的磁通量的变化。此时,电磁铁不是吸引永磁铁,而是排斥永磁铁。 这样,上面解释的基础就不存在了。 2.问题二: 上述电路中,如果三极管从导通变化到截止过程中,线圈中原本流通的电流由于不能够发生突变,那么在该电路中,线圈电流经过什么 续流电路[3] 而流动呢? 3.问题三: 各种摩擦力、空气的阻尼力都会消耗天体摆动仪中的机械动能。上述电流是将电池中的电能,转换到线圈中的磁场能量,近而耦合到摆动仪金属框架的运动动能。那么电能到机械能能的转换过程是什么呢? ▲ 天体摇摆仪运行过程 实际上,解决上面的疑问并不困难,需要借助于示波器将电路上各点的电压、电流波形给出,便可以对电路工作原理进行合理的解释。 很遗憾,视频作者并没有给出,我手边也没有这个天体摇摆仪。也许下一次再看到景区出售这个桌面摆件时,应该购买一个。 参考资料 [1] 神奇的天体摇摆仪: https://www.ixigua.com/6902320140856230403/ 大,突发奇想自制的单车车模。开始快乐的调车之路哈哈哈哈哈。 免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!