嵌入式设计流程及设计案例.ppt
- 文档编号:5221651
- 上传时间:2023-05-08
- 格式:PPT
- 页数:50
- 大小:2.37MB
嵌入式设计流程及设计案例.ppt
《嵌入式设计流程及设计案例.ppt》由会员分享,可在线阅读,更多相关《嵌入式设计流程及设计案例.ppt(50页珍藏版)》请在冰点文库上搜索。
2023/5/8,PartIV嵌入式系统开发流程及案例,
(1)高级进阶,2023/5/8,主要内容,软硬件协同设计基本概念,2,1.嵌入式系统开发流程简介,嵌入式系统的软硬件框架,串口、并口、USB、以太网等,LED、LCD、触摸屏、键盘等,Linux、uCLinux、uC/OS-II、WinCE等,单线程应用程序开发,嵌入式系统的开发流程,系统需求分析确定设计任务和目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。
系统的需求一般分功能性需求和非功能性需求两方面。
功能性需求是系统的基本功能,如输入输出信号、操作方式、完成的算法等;非功能需求包括:
系统性能、成本、功耗、体积、重量;良好的界面(HMI)?
用户对设备(产品)的使用方式?
产品外观设计的考虑扩展性要求?
形成完整的规格说明书,说明具体的性能指标说明等,形成完整的文档,备案!
如果对方对需求不是很清晰时,一定要认真沟通,把握其真实的想法!
主要考虑的问题有:
系统架构的确定(功能划分)选择主处理器根据处理任务的需求,确定是否采用RTOS?
确定编程语言(用什么语言开发?
)开发环境的选择相关的测试设备、辅助工具的确定,体系结构设计描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。
一个好的体系结构是设计成功与否的关键。
2023/5/8,规划与方案选择,项目组长要考虑的问题!
基于整体规划,具体的系统设计要考虑的问题!
硬件/软件协同设计基于体系结构,对系统的软件、硬件进行详细设计。
为了缩短产品开发周期,设计往往是并行的。
系统集成把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。
系统测试对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求,嵌入式系统是一个迭代优化的设计过程,嵌入式系统的设计:
只有更好,没有最好!
反复迭代,反复迭代,TimetoMarket,需求提出,2.TheconceptionofSW/HWconcurrentdesign,软硬件协同设计定义Themeetingofsystem-levelobjectivesbyexploitingthetrade-offsbetweenhardwareandsoftwareinasystemthroughtheirconcurrentdesign主要概念Concurrent(并发):
hardwareandsoftwaredevelopedatthesametimeonparallelpathsIntegrated(交互):
interactionbetweenhardwareandsoftwaredevelopmentstoproducedesignsthatmeetperformancecriteriaandfunctionalspecifications,传统的嵌入式系统设计模型,传统软硬件设计过程的基本特征:
系统在一开始就被划分为软件和硬件两大部分软件和硬件独立进行开发设计“Hardwarefirst”approachoftenadopted隐含的一些问题:
软硬件之间的交互受到很大限制软硬件之间的相互性能影响很难评估系统集成相对滞后导致:
Poorqualitydesigns(设计质量差)Costlymodifications(设计修改难)Scheduleslippages(研制周期不能有效保障),传统设计过程中的尖锐矛盾随着设计复杂程度的提高,软硬件设计中的一些错误将使开发过程付出昂贵的代价“Hardwarefirst”approachoftencompoundssoftwarecostbecausesoftwaremustcompensateforhardwareinadequacies,2023/5/8,软硬件设计过程发展方向协同设计,2023/5/8,软硬件协同设计的基本需求,统一的软硬件描述方式软硬件支持统一的设计和分析工具(技术)允许在一个集成环境中仿真(评估)系统软硬件设计支持系统任务在软件和硬件设计之间的相互移植交互式软硬件划分技术允许多个不同的软硬件划分设计进行仿真和比较辅助最优系统实现方式决策,完整的软硬件模型基础SupportsevaluationatseveralstagesofthedesignprocessSupportsstep-wisedevelopmentandintegrationofhardwareandsoftware正确的验证方法确保系统设计达到目标要求,2023/5/8,典型的软硬件协同设计过程,2023/5/8,软硬件协同设计的优势,在设计初始阶段就可进行软硬件交互设计和调整Providescontinualverificationthroughoutthedesigncycle(贯穿整个设计周期)SeparateHW/SWdevelopmentpathscanleadtocostlymodificationsandscheduleslippages关键技术(如可编程逻辑综合技术、器件接口和功能模型描述)的进步使得软硬件交互设计变得简单起来,2023/5/8,3.一个简单的例子,设计实例要求设计一个系统,完成图像颜色空间变换的实时处理,输入图像大小为VGA分辨率(640480),图像的彩色空间变换公式,图像的基本概念,数字图像其实就是一个二维矩阵分为彩色图像和灰度图像,2023/5/8,
(1)确定系统的数据处理流程上述任务的处理流程可分解为三步:
输入接口,输出接口,处理器,算法分析,2023/5/8,图像的彩色空间变换公式:
RGB-HSI,假定:
这里的X,Y,Z就是我们需要的转换的结果(并不是真实的HSI结果),从算法的分析,可以得到如下特点:
每次运算只涉及1个像素每个像素的运算量是:
9次乘法+6次加法,读入整幅图像数据,然后再进行处理,简称Frame-In模式读取一个图像点,就处理一个图像点,简称Pixel-In模式,根据每次运算只涉及到1个pixel,可以采用两种可能的输入方式,同理可知,数据的输出也有方式:
整幅图像数据处理完成后,一次性的存储到外部缓存中,简称Frame-Out模式逐个像素点的存储。
每处理完一个点就输出处理结果,简称Pixel-Out模式,输入、输出性能分析,无论哪种方式(pixel/Frame模式),对IO接口的最低要求是:
每个像素有3bytes的数据输入(RGB),3bytes输出(HSI),输入输出基本对称1pixel=3次读操作+3次写操作每帧图像:
640*480*1pixel每秒种:
PAL制(625线*25):
25*640*480*1pixelNTSC制(525线*29.97):
30*640*480*1pixel,2023/5/8,算法运算量估计,核心算法的计算量估算试计算每个像素处理需要的计算量?
处理一幅图像需要的计算量?
每秒中处理30帧(frame,N制)需要的计算能力?
1pixel3次乘法2次乘加1frame6404801pixel1秒30帧301frame,核心算法处理能力要求1秒30帧9216000(1pixel),2023/5/8,两种可能的方案,
(1)方案1:
Pixel方案Pixel方案Pixel-inPixel-Out,方案2:
Frame模式Frame方案Frame-inFrame-Out,核心算法处理能力要求1秒30帧9216000(1pixel)总的IO性能要求假定处理器的Read/Write(ARM什么指令?
)指令周期一样,则IO-Perform=2*301frame,两种方案对数据处理单元的性能要求,如果采用ARM处理器实现,则处理器的性能需求最少满足上述要求,2023/5/8,两种架构的对比Pixel方案:
数据流程简单缺点是:
这种IO接口形式,对前后级造成很大压力。
对于ARM系统来说,处理器的效率较低Frame方案数据流程中加入缓存,尽管增加了实现的复杂性,但有利于保证数据的连续性可利用DMA功能进行IO传输,从而提高处理器的利用率,两种架构的最大区别在于对IO接口的性能要求上,Pixel方案对接口的性能要求高很多!
经过不同架构的比较,最终确定系统的设计方案Pixel方案:
适合FPGA实现Frame方案:
适合处理器来实现根据架构的各个部分对性能的要求,可以确定系统各部分设计选型时需要的性能指标!
基于ARM的Frame方案,
(1)处理器的性能需求已经确定
(2)输入、输出接口的确定采用什么接口合适?
RS232?
IIC?
USB1.0,1.1,2.0?
100MHz网络?
试分析以上接口的性能?
2023/5/8,如何选择合适的嵌入式处理器,主要依据是:
处理能力的需求:
算法处理IO接口的处理操作要求最低处理性能是否需要有MMU功能?
如果希望使用WinCE或标准Linux,减少软件开发时间,可选用有MMU功能的内核,如ARM720T,920T等ARM7TDMI,Cortex-M3等不带MMU单元。
这时也可以选择不需要MMU支持的操作系统,如uClinux片上存储器容量有不少的处理器内部就设计了大的存储器,这时,甚至不需要外扩存储器就可以,简化了系统设计片上集成的功能模块及资源根据不同应用领域的需求,ARM扩展了不同的功能接口模块,如USB,IIS,LCD控制器,键盘,RTC,ADC、DAC、PWM、DSP协处理器等根据系统接口的需求,选择芯片集成的模块和应用要求相适应的处理器型号,其它考虑包括封装、功耗等,2023/5/8,处理器选择之后,根据系统接口功能的需求,可以完成主要的外围接口电路的设计如果处理器内部有集成的功能模块,则只需要引出相应的接口如果没有,可以采用一定的方式进行扩展,这种情形下,扩展方式很灵活完成主要部分的器件的选择存储器的性能一般要和处理器的读取速度相适应,以发挥处理器的效率其它接口器件:
输入、输出部分各部分功耗的估算,得到电源的大致需求,留有余量后,选择电源芯片,系统方案设计中,其它要考虑的因素:
人机接口使用者如何操作?
系统对功耗的需求电源管理问题选择功耗低的器件精心的电源管理方案如果可能,适当考虑系统的升级性能,这也是设计时要考虑的因素之一,基于ARM的嵌入式系统已经得到普遍应用,尤其是在CE行业。
有些公司提供开发平台,可充分利用它们!
2023/5/8,系统硬件开发过程,硬件系统开发的一般过程及工具工具主要分为三类:
原理图(SCHAMTIC)设计及工具印制电路板(PCB)设计及工具仿真工具,2023/5/8,原理图设计阶段根据选择的主处理器、外围器件、电源等,考虑是否将整个硬件系统划分成若干子系统实现,子系统与子系统之间的连接关系等,整理出原理框图(它对应于硬件设计)定义外部接口形式,如USB、UART等具体实现:
器件原理图库的准备原理图的设计(自上而下,或自下而上),2023/5/8,相关的EDA工具MentorGraphicsPowerLogicCandence的产品Capture/CIS(ORCAD软件)Altium公司的产品Protel系列P-CAD系列,2023/5/8,基于orCAD的CaptureCIS原理图设计,2023/5/8,处理器子系统的实现,原理图设计,其它文件输出,2023/5/8,PCB电路设计输入:
原理图生成的网表文件器件的封装图库设计过程:
布局(placing)布线(Routing)其它:
丝网调整,可测性设计的考虑,电源分割等输出:
PCB文件Geber文件用于PCB生产厂商生产PCB丝网图(silk层)、表贴层(SMD)PCB焊接厂商用,2023/5/8,PCB设计常用工具MentorGraphicsPowerPCB(Layout,Router)Candence的产品Allegro,Layout等(ORCAD软件)Altium公司的产品Protel系列其它EDA产品,2023/5/8,PCB完成布局之后,2023/5/8,PCB完成布线之后,2023/5/8,PCB设计完成之后将生成的Geber文件发给PCB板厂商加工完成之后,进行器件焊接;,焊接完成之后的硬件系统,接下来做什么?
2023/5/8,硬件调试及测试软件的编程硬件调试需要和软件结合起来,对于嵌入式系统而言,通常是软、硬件结合的!
开发环境也是如此!
嵌入式处理器处理能力分析练习,羽毛球运动员击打羽毛球飞行最高速度可达330kph,球场长13.4米,按这样的速度,1秒钟羽毛球可在场中飞行将近7趟要求视觉系统完成识别、定位与追踪的总体反应时间不超过0.1秒,2023/5/8,课后扩展,
(1)学习如何看懂原理图?
结合试验箱的原理图进行分析。
(2)学习一些Sch,PCB的设计工具,2023/5/8,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 设计 流程 案例