基于MCU和FPGA设计车载信息娱乐系统
以下为文章全文:(本站微信公共账号:cartech8)

汽车零部件采购、销售通信录 填写你的培训需求,我们帮你找 招募汽车专业培训老师
软件架构的概念设计实际上可以在操作系统明确之前就开始。软件设计不一定非要遵从POSIX规范,而是要满足系统的高性能、设计的模块化、应用的可伸缩性和代码的可重用性及可移植性。 通常一个基于MCU的复杂软件系统应该定义以下的软件层: BSP:处理和MCU初始化相关的事务,如IPL(Initial Program Loader)和Startup Program等; 设备驱动:所有和硬件相关的程序,如FLASH driver、CAN driver和图形图像驱动等; OS:核心操作系统,负责提供资源管理和安全任务调度等服务,它甚至也可以包含一些高层次的驱动设备,如标准输入输出设备驱动等; 中间件:介于操作系统和应用程序之间的程序,如各种API和FPGA Loader等; 应用程序:具有高度可重用性的、完成特定功能的程序模块,如媒体播放器和导航软件。 在MCU+FPGA的架构之下,每个和FPGA相关的应用程序都自带一个初始化例程。该初始化例程在需要启动该应用程序之前将该应用程序映射到FPGA,然后该应用程序在FPGA上运行。根据应用程序的要求,MCU可以在完成映射之后,保持和FPGA强的或弱的通讯联系。这种结构部分解放了MCU,使之能够有效地进行任务调度和资源管理,而FPGA也能够在特定环境下高效运行。这种系统的另外一个好处就是非常稳定且容易维护。运行在FPGA中的应用程序的不良动作或崩溃通常不会影响到运行在MCU中的操作系统。在发现某个应用程序失效之后,操作系统可以从容地重新开始该应用程序的新例程,而不必重启整个系统。 运行在FPGA中的应用程序,虽然看起来和普通运行在ASIC或ASSP中的系统并无区别,但是这些应用程序的结构实际上有很大的区别。运行在ASIC或ASSP中的系统是根据已经确定的具有特定功能硬件环境设计的,而运行在FPGA中的应用程序是根据将要完成的功能,自己调整FPGA的逻辑单元,使之能够适应环境。正是FPGA这种现场可编程性,使我们能够在适当的时候启动适当的应用程序,这大大增加了设计的灵活性。(哈曼贝克汽车多媒体系统(深圳)有限公司) << 前一页 |
文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到
你的权益请联系542334618@126.com,我们会及时处理。
会员评价:
共0条 发表评论