第32卷第5期
Vo.l32 No.5
菏泽学院学报
JournalofHezeUniversity
2010年9月Sep. 2010
文章编号:1673-2103(2010)05-0048-04
*
嵌入式系统中软硬件协同设计技术应用研究
康鸿雁
(菏泽学院计算机与信息工程系,山东菏泽274015)
摘 要:协同设计作为嵌入式系统开发的重要方法,克服了传统设计方法的缺陷.通过综合分析系统软
硬件功能,最大限度地挖掘系统软硬件之间的并发性,使软硬件开发紧密结合.从方法学的角度,结合嵌入式系统的设计,介绍了软硬件协同设计方法的流程和一些关键技术.利用这种方法,大大提高了设计的可行性,降低了工作难度,减少了系统设计周期,提高了设计质量.最后结合具体的例子介绍了协同设计的特点.
关键词:嵌入式系统;软硬件;协同设计
+
中图分类号:TP206.1 文献标识码:A
在设计时采用反复试验法,即通过反复修改、反复试验的方法使产品达到设计要求.系统软件和硬件划分完成以后,首先进行硬件子系统的设计与实现,再进行软件子系统的设计与实现,整个系统设计与实现过程基本上是一个串行过程.依赖于设计者的经验,且设计周期长、费用开支大,产品质量难以保证.这种设计方法只能改善硬件和软件各自的性能,难以充分利用有限的软硬件资源,无法满足规模日益增加、系统功能日益复杂的现代嵌入式系统的设计要求.理论和实践都要求以一种新的设计方法代替传统的设计方式,于是以软硬件协同设计为主要特征的系统级设计方法应运而生.这种设计方法是在系统功能指标的统管下,通过综合分析系统软硬件功能及现有资源,最大限度地挖掘系统软硬件之间的并发性,协同软硬件体系结构,找到软硬件的最佳结合点,从而使系统高效工作的一种现代嵌入式系统设计.
从理论上来说,每一个应用系统,都存在一个适合该系统的软件、硬件功能的最佳组合,如何从应用系统需求出发,依据一定的指导原则和分配算法对硬件/软件功能进行分析及合理的划分,从而使系统的整体性能、运行时间、电耗等达到最佳状态,
图 1传统设计方法流程图
[2]
引言
嵌入式系统广泛应用于国民经济和国防各个领域,发展非常迅速.调查数据表明,嵌入式系统的增长为每年18%,大约是整个信息技术产业平均增长
的两倍.嵌入式系统是由硬件和软件两部分组成的综合体,它是以应用为中心、对系统功能和性能指标都有严格要求的专用计算机系统.随着嵌入式系统用户需求和相关技术的迅速发展,嵌入式系统设计对象由单机走向分布式系统,要求由单目标走向多目标.产品更新速度快,要求设计周期不断缩短.新产品的问世时间不断减少,就要求嵌入式设计不断引入新的设计方法.传统的设计方法一般采用自上而下或模块化的设计方法,总体上都是硬件模块优先的设计方法.其基本的设计思路如图1所示
[1]
.
这种设计方法将硬件和软件分成两个独立的部分,由硬件工程师和软件工程师按照流程分别完成,
收稿日期:2010-05-11
基金项目:菏泽学院科研项目(2007YA003)
已经成为硬件/软件协同设计(Hardware/SoftwareCo-design)重要研究内容之一.
*
作者简介:康鸿雁(1975-),男,山东郓城人,讲师,硕士,研究方向:智能仪器仪表.
2010年 康鸿雁:嵌入式系统中软硬件协同设计技术应用研究 第5期
1 软硬件协同设计流程
与传统的嵌入式系统设计方法不同,软/硬件协同设计强调软件和硬件设计开发的并行性和相互反馈,克服了传统方法中把软件和硬件分开设计所带来的种种弊端,协调软件和硬件之间的制约关系,达到系统高效工作的目的,软/硬件协同设计提高了设计抽象的层次,拓展了设计覆盖的范围.嵌入式协同设计的思路如图2所示
[3]
1.2 软硬件功能划分
软硬件功能划分就是要确定哪些系统功能由硬件模块实现,哪些由软件模块来实现,由功能分解算法根据一定的约束条件来确定.分解算法可以根据分解的起始点、分解的粒度、分解的自动化程度等不同特征进行分类.成本函数是进行软硬件功能划分方案选择的依据,成本函数考虑的主要因素有:软件的执行时间、硬件的成本、使用期的功耗、模块间的并发性和重用性等.
成本函数描述如下:F(HW,SW)=min(
.
EH
i=1
n
i
+
ES
j=1
m
j
)
功能划分问题的本质其实就是一类组合优化问题,模型和求解算法的选择是解决软硬件功能划分问题的关键.目前常用的划分算法有:免疫遗传算法、遗传算法、模拟退火算法、整数线性规划算法、动态规划算法、基因算法、贪婪算法等.1.3 软件/硬件综合技术
[4]
软硬件综合实现是指软件系统、硬件系统的具
图2 软硬件协同设计流程图
体制作.设计结果经系统评价确认后,即可按设计要求精心系统制作.即按照前述工作的要求,定制硬件、设计软件,并使它们能够协调一致的工作.
在系统功能分解之后,组成嵌入式系统的各个构件的实现可利用相应的综合工具,通过对分解后的功能描述的综合处理来获得.硬件构件的综合可由硬件高层综合、逻辑综合、版图综合等几个不同阶段构成.软件构件的综合包括硬件高级综合、编译、汇编等几个阶段.接口综合包括为硬件构件添加锁存器、FIFOs、地址译码器,为软件构件添加输入/输出操作、同步操作.确定系统采用的硬件模块(如MCU,DSP,FPGA,存储器,I/O接口等)、软件模块(如操作系统,驱动程序,功能模块等)和软硬件模块之间的通讯方式(如总线,共享存储器,数据通道等)以及这些模块的具体实现方法.1.4 协同仿真和系统测试验证
嵌入式产品竞争越来越激烈,只有缩短产品问世时间才能在激烈的竞争中取胜,因此必须在系统设计和开发过程中尽早发现系统中存在的各种问题和错误.由于嵌入式系统自身的特点,系统不仅对功能有特殊要求,同时对各种性能指标也有严格的限制,如果在系统设计开发完毕才对各种指标进行评价,那么一旦某些指标不满足要求势必会推迟系统问世的时间.
验证的方法一般分为仿真验证和形式化验证.
1.1 系统描述
系统描述是采用一种或多种系统级描述语言对所需设计的嵌入式系统的行为功能和性能进行全面的描述,是建立系统软硬件模型的过程.在这个阶段,常需要对整个系统的行为进行反复验证,以期在设计的开始阶段就能发现系统行为设计中的错误.软硬件协同设计要全面描述系统功能、精确建立系统模型、深入挖掘软硬件之间的协同性,以使系统能够稳定、高效的工作.系统模型应体现以下的因素.
1)性能描述性能描述反映的是系统的整体面貌及体系结构,它应该明确地或隐含的说明系统输入/输出及相关的中间状态及其相互之间的关系.2)功能特点系统应该完成的基本功能,应明确表述各项功能特点与系统输入、输出及中间状态之间的关系.
3)技术指标评价系统质量的指标体系.
4)约束条件规定技术指标的适用范围、系统的工作环境要求以及系统性能的缺陷和不足等.采用的方法包括有限态自动机、统一化的规格语言或其它基于图形的表示工具,作用是对软硬件统一表示,使系统软件、硬件功能折衷及系统功能可以方便地在硬件和软件之间进行转移,便于功能的划分和综合.
2010年 菏 泽 学 院 学 报 第5期
仿真验证时用硬件描述语言完成硬件子系统的描述,用软件来搭建硬件以达到系统软件和硬件并行开发的目的,能够完成系统的联合调试,灵活的纠正软件和硬件设计错误,避免人力和物力的浪费.形式化验证方法通过运用数学手段来检验系统设计形式化描述的正确性,可分为规格说明验证及实现验证两种.规格说明验证是检验系统的高层模型是否具有某种抽象性质,实现验证是检验通过综合获得的较为低级的系统模型是否与系统的高级模型保持一致,同时检验系统的低级模型是否满足实现级的某些要求.
每次遗传操作前,均采用SA算法对其进行处理,获得用于遗传操作的局优解集,遗传操作在局优解基础上进行.利用遗传算法解决硬件/软件划分问题的一个重要方面是确定评价各预选硬件/软件方案性能的适应函数,因为适应函数体现了个体在遗传搜索过程中的繁殖能力,是选择操作的依据.2.4 POLIS方法学
POLIS是面向控制反馈嵌入式系统的协同设计框架,它由微控制器和一些硬件协处理器组成了通用目标结构.POLIS建立在协同设计有限态自动机形式模型基础上,它与传统的有限态自动机(FSM)一样,将一组输入转换成一组有限的状态输出,两者的区别在于传统并发FSM同步通信模型在CFSM中被一个有限、不为0、非常大的反馈时间模型取代,这种模型也称为全局异步、局部同步.CFSM中每个元素模拟系统一个部件,而CFSM规格说明不偏向任何硬件和软件的实现,虽然每次CFSM状态转换两者执行相同的计算,但是硬件和软件具有不同的延时特性.
2 软硬件协同设计方法
[5,6]
软/硬件协同设计方法学的研究始于20世纪90年代初期,第一届InternationalWorkshoponHard-ware/SoftwareCo-design会议于1993年召开,它标志着软/硬件协同设计方法学的研究正式展开,软/
硬件协同设计领域正式确立.软/硬件协同设计不仅是一种设计技术,同时也是一种新的设计方法学,其核心问题是在设计过程中协调软件子系统和硬件子系统.
2.1 基于VHDL的方法
该方法利用VHDL特性,将系统功能描述成VHDL相互影响的并发进程,系统功能被映射到单独的物理单元,其次是设计软件进程.逐步分解操作以及对每种系统功能进行评估是这种方法的主要内容.协同设计过程采用VHDL的显著优点是比其它硬件描述语言更加方便.VHDL描述软件的方法可以很方便地转换成要研究的软件开发内容.2.2 有限态自动机(FSM)方法
FSM(FiniteStateMachine)可以表示系统行为、硬件模型和软件模型.其通信机制适合描述具有反馈特性的实时系统.FSM的数学理论可用于正确性形式验证、仿真、硬件中软件的划分和综合,除了形式方法学以外,这种方法的另一个特点就是从规格说明到具体实现的转换过程非常规范.由于状态空间有限,这种方法仅适合小规模嵌入式控制系统.2.3 基于遗传算法的划分方法
采用遗传操作非重叠的遗传算法,可以从解空间编码、适应函数及个体选择策略、交叉、变异策略、群体局部优化等几个方面对划分算法问题进行分析,实现嵌入式系统的硬件/软件划分.该算法首先确定用于遗传搜索及群体局部优化所需的参数,然后随机生成用于遗传操作满足约束条件的初始解.3 系统设计实例
本系统是基于嵌入式系统设计的自动跟踪型机动车前照灯检测仪
[7]
,自动跟踪型汽车前照灯检测
仪是集光、机、电技术于一体的专用仪器设备.可自动跟踪光轴,利用图像传感器对灯光图像进行采集,并利用数字图像处理技术对灯光图像进行处理,从而得到多个测量参数,是建立在多学科基础上的综合技术.能够测量出前照灯的高度,亮度,远光近光的偏角等参数,从而判断出灯光合格与否.
根据汽车前照灯检测仪的功能和设计要求,设计架构如图3所示.
图3 前照灯检测仪设计架构图
在最初的系统设计阶段,采用UML建模语言作为系统级描述语言,来建立协同设计中各个时期的系统模型,并利用UML中约束的概念,来推动整个协同设计的进程
[8]
.本系统的硬件部分包括图像传
2010年 康鸿雁:嵌入式系统中软硬件协同设计技术应用研究 第5期感器、外围设备、信号采集、显示、电机控制等;软件设计主要包括图像数据的采集程序,灯光图像的处理程序,控制信号的采集,电机驱动程序等;设计主要包括信号的连接和时序逻辑的设计.在系统划分之后,根据约束条件,使用VHDL来进行硬件描述,并逐步细化,直至RTL级、门级的实现,用C语言和汇编语言完成系统初始化和应用程序的编写,直至所有的硬件和软件模块都实现.
重要.
参考文献:
[1]熊光泽,詹瑾瑜.嵌入式系统软/硬件协同设计技术综述
[J].计算机应用,2006,26(4):757-760.
[2]白瑞林,无光霖,吉峰.基于平台和中间件的嵌入式系统软硬件协同设计[J].2005,34(4):104-107.
[3]潘新祥,胡习霜,韩立宏.软硬件协同设计分析[J].指挥控制与仿真,2008,30(3):117-119.
[4]郭晓东,刘积仁.嵌入式系统的协同设计[J].计算机科学,1999,26(9):10-12.
[5]姚放吾.嵌入式系统的硬件/软件协同设计[J].微计算机信息,2001,17(3):1-3.
[6]张江陵,郑世珏,胡金柱.基于移动嵌入式系统硬/软件协同设计的EHSC算法[J].计算机科学,2005,32(10):210-213.
[7]康鸿雁.自动跟踪型前照灯检测仪控制系统研究[J].微计算机信息,2007,23(32):272-274.
[8]陈思功,秦晓.基于UML的软硬件协同设计的模型分析方法[J].软件学报,2003,14(1):103-109.
4 结论
嵌入式系统软/硬件协同设计方法学是一个非常广泛的研究课题,软硬件协同设计作为系统级设计的支持技术,理论上和技术上还在不断地发展和完善中.软硬件协同设计克服了传统设计方法中把
软件和硬件分开设计而带来的种种弊端,通过挖掘软硬件之间的协同性,达到系统高效工作的目的.通过协同设计,可以充分利用现有资源,缩短系统开发周期,降低系统成本,提高系统性能.协同设计技术在系统设计中的应用越来越广泛,作用也将越来越
ResearchonApplication
ofHardware-softwareCo-designinEmbeddedSystem
KANGHong-yan
(DepartmentofComputerandInformationEngineering,HezeUniversity,HezeShangdong274015,China)
Abstract:Asanimportantwayofembeddedsystemdevelopmen,tHardware/SoftwareCo-designovercomes
thelimitationsoftraditionaldevicemethod.Accordingtothecomprehensiveanalysisabouthardware/softwarefunc-tion,theyarewell-integrated.Fromtheangleofmethodology,thispaperintroducestheflowandsomeimportanttechniquesofhardwareandsoftwareco-designmethodologybasedonembeddedsystem.Withthismethod,itcangreatlyimprovethefeasibilityofthedesignidea,reducethedifficultyofwork,lowertheperiodofsystemdesignandimprovethequalityofdesign.Finallyitexplainsthefeaturesofembeddedsystemco-designwithaconcreteexample.
Keywords:embeddedsystem;co-design;traditionaldesign;automatictesterforheadlamps
第32卷第5期
Vo.l32 No.5
菏泽学院学报
JournalofHezeUniversity
2010年9月Sep. 2010
文章编号:1673-2103(2010)05-0048-04
*
嵌入式系统中软硬件协同设计技术应用研究
康鸿雁
(菏泽学院计算机与信息工程系,山东菏泽274015)
摘 要:协同设计作为嵌入式系统开发的重要方法,克服了传统设计方法的缺陷.通过综合分析系统软
硬件功能,最大限度地挖掘系统软硬件之间的并发性,使软硬件开发紧密结合.从方法学的角度,结合嵌入式系统的设计,介绍了软硬件协同设计方法的流程和一些关键技术.利用这种方法,大大提高了设计的可行性,降低了工作难度,减少了系统设计周期,提高了设计质量.最后结合具体的例子介绍了协同设计的特点.
关键词:嵌入式系统;软硬件;协同设计
+
中图分类号:TP206.1 文献标识码:A
在设计时采用反复试验法,即通过反复修改、反复试验的方法使产品达到设计要求.系统软件和硬件划分完成以后,首先进行硬件子系统的设计与实现,再进行软件子系统的设计与实现,整个系统设计与实现过程基本上是一个串行过程.依赖于设计者的经验,且设计周期长、费用开支大,产品质量难以保证.这种设计方法只能改善硬件和软件各自的性能,难以充分利用有限的软硬件资源,无法满足规模日益增加、系统功能日益复杂的现代嵌入式系统的设计要求.理论和实践都要求以一种新的设计方法代替传统的设计方式,于是以软硬件协同设计为主要特征的系统级设计方法应运而生.这种设计方法是在系统功能指标的统管下,通过综合分析系统软硬件功能及现有资源,最大限度地挖掘系统软硬件之间的并发性,协同软硬件体系结构,找到软硬件的最佳结合点,从而使系统高效工作的一种现代嵌入式系统设计.
从理论上来说,每一个应用系统,都存在一个适合该系统的软件、硬件功能的最佳组合,如何从应用系统需求出发,依据一定的指导原则和分配算法对硬件/软件功能进行分析及合理的划分,从而使系统的整体性能、运行时间、电耗等达到最佳状态,
图 1传统设计方法流程图
[2]
引言
嵌入式系统广泛应用于国民经济和国防各个领域,发展非常迅速.调查数据表明,嵌入式系统的增长为每年18%,大约是整个信息技术产业平均增长
的两倍.嵌入式系统是由硬件和软件两部分组成的综合体,它是以应用为中心、对系统功能和性能指标都有严格要求的专用计算机系统.随着嵌入式系统用户需求和相关技术的迅速发展,嵌入式系统设计对象由单机走向分布式系统,要求由单目标走向多目标.产品更新速度快,要求设计周期不断缩短.新产品的问世时间不断减少,就要求嵌入式设计不断引入新的设计方法.传统的设计方法一般采用自上而下或模块化的设计方法,总体上都是硬件模块优先的设计方法.其基本的设计思路如图1所示
[1]
.
这种设计方法将硬件和软件分成两个独立的部分,由硬件工程师和软件工程师按照流程分别完成,
收稿日期:2010-05-11
基金项目:菏泽学院科研项目(2007YA003)
已经成为硬件/软件协同设计(Hardware/SoftwareCo-design)重要研究内容之一.
*
作者简介:康鸿雁(1975-),男,山东郓城人,讲师,硕士,研究方向:智能仪器仪表.
2010年 康鸿雁:嵌入式系统中软硬件协同设计技术应用研究 第5期
1 软硬件协同设计流程
与传统的嵌入式系统设计方法不同,软/硬件协同设计强调软件和硬件设计开发的并行性和相互反馈,克服了传统方法中把软件和硬件分开设计所带来的种种弊端,协调软件和硬件之间的制约关系,达到系统高效工作的目的,软/硬件协同设计提高了设计抽象的层次,拓展了设计覆盖的范围.嵌入式协同设计的思路如图2所示
[3]
1.2 软硬件功能划分
软硬件功能划分就是要确定哪些系统功能由硬件模块实现,哪些由软件模块来实现,由功能分解算法根据一定的约束条件来确定.分解算法可以根据分解的起始点、分解的粒度、分解的自动化程度等不同特征进行分类.成本函数是进行软硬件功能划分方案选择的依据,成本函数考虑的主要因素有:软件的执行时间、硬件的成本、使用期的功耗、模块间的并发性和重用性等.
成本函数描述如下:F(HW,SW)=min(
.
EH
i=1
n
i
+
ES
j=1
m
j
)
功能划分问题的本质其实就是一类组合优化问题,模型和求解算法的选择是解决软硬件功能划分问题的关键.目前常用的划分算法有:免疫遗传算法、遗传算法、模拟退火算法、整数线性规划算法、动态规划算法、基因算法、贪婪算法等.1.3 软件/硬件综合技术
[4]
软硬件综合实现是指软件系统、硬件系统的具
图2 软硬件协同设计流程图
体制作.设计结果经系统评价确认后,即可按设计要求精心系统制作.即按照前述工作的要求,定制硬件、设计软件,并使它们能够协调一致的工作.
在系统功能分解之后,组成嵌入式系统的各个构件的实现可利用相应的综合工具,通过对分解后的功能描述的综合处理来获得.硬件构件的综合可由硬件高层综合、逻辑综合、版图综合等几个不同阶段构成.软件构件的综合包括硬件高级综合、编译、汇编等几个阶段.接口综合包括为硬件构件添加锁存器、FIFOs、地址译码器,为软件构件添加输入/输出操作、同步操作.确定系统采用的硬件模块(如MCU,DSP,FPGA,存储器,I/O接口等)、软件模块(如操作系统,驱动程序,功能模块等)和软硬件模块之间的通讯方式(如总线,共享存储器,数据通道等)以及这些模块的具体实现方法.1.4 协同仿真和系统测试验证
嵌入式产品竞争越来越激烈,只有缩短产品问世时间才能在激烈的竞争中取胜,因此必须在系统设计和开发过程中尽早发现系统中存在的各种问题和错误.由于嵌入式系统自身的特点,系统不仅对功能有特殊要求,同时对各种性能指标也有严格的限制,如果在系统设计开发完毕才对各种指标进行评价,那么一旦某些指标不满足要求势必会推迟系统问世的时间.
验证的方法一般分为仿真验证和形式化验证.
1.1 系统描述
系统描述是采用一种或多种系统级描述语言对所需设计的嵌入式系统的行为功能和性能进行全面的描述,是建立系统软硬件模型的过程.在这个阶段,常需要对整个系统的行为进行反复验证,以期在设计的开始阶段就能发现系统行为设计中的错误.软硬件协同设计要全面描述系统功能、精确建立系统模型、深入挖掘软硬件之间的协同性,以使系统能够稳定、高效的工作.系统模型应体现以下的因素.
1)性能描述性能描述反映的是系统的整体面貌及体系结构,它应该明确地或隐含的说明系统输入/输出及相关的中间状态及其相互之间的关系.2)功能特点系统应该完成的基本功能,应明确表述各项功能特点与系统输入、输出及中间状态之间的关系.
3)技术指标评价系统质量的指标体系.
4)约束条件规定技术指标的适用范围、系统的工作环境要求以及系统性能的缺陷和不足等.采用的方法包括有限态自动机、统一化的规格语言或其它基于图形的表示工具,作用是对软硬件统一表示,使系统软件、硬件功能折衷及系统功能可以方便地在硬件和软件之间进行转移,便于功能的划分和综合.
2010年 菏 泽 学 院 学 报 第5期
仿真验证时用硬件描述语言完成硬件子系统的描述,用软件来搭建硬件以达到系统软件和硬件并行开发的目的,能够完成系统的联合调试,灵活的纠正软件和硬件设计错误,避免人力和物力的浪费.形式化验证方法通过运用数学手段来检验系统设计形式化描述的正确性,可分为规格说明验证及实现验证两种.规格说明验证是检验系统的高层模型是否具有某种抽象性质,实现验证是检验通过综合获得的较为低级的系统模型是否与系统的高级模型保持一致,同时检验系统的低级模型是否满足实现级的某些要求.
每次遗传操作前,均采用SA算法对其进行处理,获得用于遗传操作的局优解集,遗传操作在局优解基础上进行.利用遗传算法解决硬件/软件划分问题的一个重要方面是确定评价各预选硬件/软件方案性能的适应函数,因为适应函数体现了个体在遗传搜索过程中的繁殖能力,是选择操作的依据.2.4 POLIS方法学
POLIS是面向控制反馈嵌入式系统的协同设计框架,它由微控制器和一些硬件协处理器组成了通用目标结构.POLIS建立在协同设计有限态自动机形式模型基础上,它与传统的有限态自动机(FSM)一样,将一组输入转换成一组有限的状态输出,两者的区别在于传统并发FSM同步通信模型在CFSM中被一个有限、不为0、非常大的反馈时间模型取代,这种模型也称为全局异步、局部同步.CFSM中每个元素模拟系统一个部件,而CFSM规格说明不偏向任何硬件和软件的实现,虽然每次CFSM状态转换两者执行相同的计算,但是硬件和软件具有不同的延时特性.
2 软硬件协同设计方法
[5,6]
软/硬件协同设计方法学的研究始于20世纪90年代初期,第一届InternationalWorkshoponHard-ware/SoftwareCo-design会议于1993年召开,它标志着软/硬件协同设计方法学的研究正式展开,软/
硬件协同设计领域正式确立.软/硬件协同设计不仅是一种设计技术,同时也是一种新的设计方法学,其核心问题是在设计过程中协调软件子系统和硬件子系统.
2.1 基于VHDL的方法
该方法利用VHDL特性,将系统功能描述成VHDL相互影响的并发进程,系统功能被映射到单独的物理单元,其次是设计软件进程.逐步分解操作以及对每种系统功能进行评估是这种方法的主要内容.协同设计过程采用VHDL的显著优点是比其它硬件描述语言更加方便.VHDL描述软件的方法可以很方便地转换成要研究的软件开发内容.2.2 有限态自动机(FSM)方法
FSM(FiniteStateMachine)可以表示系统行为、硬件模型和软件模型.其通信机制适合描述具有反馈特性的实时系统.FSM的数学理论可用于正确性形式验证、仿真、硬件中软件的划分和综合,除了形式方法学以外,这种方法的另一个特点就是从规格说明到具体实现的转换过程非常规范.由于状态空间有限,这种方法仅适合小规模嵌入式控制系统.2.3 基于遗传算法的划分方法
采用遗传操作非重叠的遗传算法,可以从解空间编码、适应函数及个体选择策略、交叉、变异策略、群体局部优化等几个方面对划分算法问题进行分析,实现嵌入式系统的硬件/软件划分.该算法首先确定用于遗传搜索及群体局部优化所需的参数,然后随机生成用于遗传操作满足约束条件的初始解.3 系统设计实例
本系统是基于嵌入式系统设计的自动跟踪型机动车前照灯检测仪
[7]
,自动跟踪型汽车前照灯检测
仪是集光、机、电技术于一体的专用仪器设备.可自动跟踪光轴,利用图像传感器对灯光图像进行采集,并利用数字图像处理技术对灯光图像进行处理,从而得到多个测量参数,是建立在多学科基础上的综合技术.能够测量出前照灯的高度,亮度,远光近光的偏角等参数,从而判断出灯光合格与否.
根据汽车前照灯检测仪的功能和设计要求,设计架构如图3所示.
图3 前照灯检测仪设计架构图
在最初的系统设计阶段,采用UML建模语言作为系统级描述语言,来建立协同设计中各个时期的系统模型,并利用UML中约束的概念,来推动整个协同设计的进程
[8]
.本系统的硬件部分包括图像传
2010年 康鸿雁:嵌入式系统中软硬件协同设计技术应用研究 第5期感器、外围设备、信号采集、显示、电机控制等;软件设计主要包括图像数据的采集程序,灯光图像的处理程序,控制信号的采集,电机驱动程序等;设计主要包括信号的连接和时序逻辑的设计.在系统划分之后,根据约束条件,使用VHDL来进行硬件描述,并逐步细化,直至RTL级、门级的实现,用C语言和汇编语言完成系统初始化和应用程序的编写,直至所有的硬件和软件模块都实现.
重要.
参考文献:
[1]熊光泽,詹瑾瑜.嵌入式系统软/硬件协同设计技术综述
[J].计算机应用,2006,26(4):757-760.
[2]白瑞林,无光霖,吉峰.基于平台和中间件的嵌入式系统软硬件协同设计[J].2005,34(4):104-107.
[3]潘新祥,胡习霜,韩立宏.软硬件协同设计分析[J].指挥控制与仿真,2008,30(3):117-119.
[4]郭晓东,刘积仁.嵌入式系统的协同设计[J].计算机科学,1999,26(9):10-12.
[5]姚放吾.嵌入式系统的硬件/软件协同设计[J].微计算机信息,2001,17(3):1-3.
[6]张江陵,郑世珏,胡金柱.基于移动嵌入式系统硬/软件协同设计的EHSC算法[J].计算机科学,2005,32(10):210-213.
[7]康鸿雁.自动跟踪型前照灯检测仪控制系统研究[J].微计算机信息,2007,23(32):272-274.
[8]陈思功,秦晓.基于UML的软硬件协同设计的模型分析方法[J].软件学报,2003,14(1):103-109.
4 结论
嵌入式系统软/硬件协同设计方法学是一个非常广泛的研究课题,软硬件协同设计作为系统级设计的支持技术,理论上和技术上还在不断地发展和完善中.软硬件协同设计克服了传统设计方法中把
软件和硬件分开设计而带来的种种弊端,通过挖掘软硬件之间的协同性,达到系统高效工作的目的.通过协同设计,可以充分利用现有资源,缩短系统开发周期,降低系统成本,提高系统性能.协同设计技术在系统设计中的应用越来越广泛,作用也将越来越
ResearchonApplication
ofHardware-softwareCo-designinEmbeddedSystem
KANGHong-yan
(DepartmentofComputerandInformationEngineering,HezeUniversity,HezeShangdong274015,China)
Abstract:Asanimportantwayofembeddedsystemdevelopmen,tHardware/SoftwareCo-designovercomes
thelimitationsoftraditionaldevicemethod.Accordingtothecomprehensiveanalysisabouthardware/softwarefunc-tion,theyarewell-integrated.Fromtheangleofmethodology,thispaperintroducestheflowandsomeimportanttechniquesofhardwareandsoftwareco-designmethodologybasedonembeddedsystem.Withthismethod,itcangreatlyimprovethefeasibilityofthedesignidea,reducethedifficultyofwork,lowertheperiodofsystemdesignandimprovethequalityofdesign.Finallyitexplainsthefeaturesofembeddedsystemco-designwithaconcreteexample.
Keywords:embeddedsystem;co-design;traditionaldesign;automatictesterforheadlamps