模块化嵌入式人工智能软件的开发
2018-12-25赵鹏
文/赵鹏
1 模块化计算机嵌入式工控机操作系统
模块化计算机嵌入式工控机操作系统是华北工控高新技术企业研制开发的,面对工控行业的对数据高速运算能力要求增高的趋势,推出了结构紧凑、功能强大、稳定且性能强大的Mini—ITX嵌入式工业主板HB132,HB132采用了采用Intel H61芯片组,支持Intel Sandy/Ivy Bridge i7/i5/i3处理器,该主板具有很强的扩展能力,抗震性能好、耐高温、接口丰富等优势特点,能广泛应用于电子、视频监控、自助终端、金融终端等行业。工控机,即工业控制计算机。主要是相对于商务计算机而言的一种称呼。主要功能是对生产过程及机电设备、工艺装备进行检测与控制。目前比较流行的一种是便携式的工控机。工业便携机是在保持工业计算优良性能的前提下,吸取了商务计算机便捷的特点。美国BSI便携工控机主要由机箱、显示屏、键盘、ATX主板、底板、CPU、驱动器、电源系统、风扇和便携箱组成。
1.1 高性能处理平台
网络安全应用平台FW-2108,采用Intel SugarBay H61 芯片组,搭配Intel第二代酷睿架 构 LGA1155 i7、i5、i3、Pentium 、Celeron等等具有高计算性能和网络处理能力的处理器,Intel第二代酷睿处理器还具有内置可视性功能,从而为客户带来了全新的技术创新和应 用体验。支持2个DDR3 1333MHz 双通道NON-ECC内存,高可达16GB内存容量。
1.2 适合多功能应用
网络安全应用平台FW-2108,接口丰富,适合多功能应用,提供接口包括1个 VGA接口、1个RJ45 Console口、3个 USB接 口、1个CF卡槽,两个Sata2.0,板载6个千兆以太网口及1个PCI-E*8的网络扩展接口,6个千兆网口采用Intel 82583V(兼容Intel 82574L)10/100/1000Mbps千兆网卡芯片,具有更高的性能和可靠性,且提高性能的同时能显著的降低CPU的处理率。同时LAN3与LAN4、LAN5 与LAN6两组网口具有第3代BYPASS功能,第3代BYPASS功能支持自动切换和人工软件切换方式,可自定义切换临界选择点,能很好的保证数据传输 速率。操作更方便、智能。
1.3 安全稳定
网络安全应用平台FW-2108,可以有效的防止黑客入侵和竞争对手的恶意 破 坏。 使 用 Intel 82583V(兼 容Intel 82574L)10/100/1000Mbps高端千兆网卡芯片,具有优异的网络性能,能够提供极佳的数据传输速率和网络连通功能。采用英特尔先进的处理器平台,稳定性能极佳。该产品能广泛应用于网络安全设备、防火墙、入侵检测系统、上墙解码服务器和基于电信网络或计算机网络的智能终端等各种网络终端机市场。
2 嵌入式人工智能软件的开发
嵌入式人工智能除了对硬件设备有要求外,还需要软件的要求。作为全球领先的智能操作系统及平台技术提供商,中科创达在嵌入式人工智能系统领域具有天然的优势,有望打开嵌入式人工智能的窗口。一个好的引擎,可以让嵌入式人工智能系统落地到嵌入式设备上取得事半功倍的效果。软件方面则需要更加经济的计算模型,在保证准确率的前提下,尽量减少计算量。嵌入式人工智能的应用场景地平线看好三个方向:安防、智能家庭、智能驾驶。同时表示这三个方向在实现难度上也是逐渐递增的。对于嵌入式人工智能的应用场景,云端计算虽然精确度高,但并不是所有的场景都适合,比如:嵌入式人工智能辅助驾驶或者自动驾驶系统,如果在云端计算,设备端采集到数据后上传,计算完成后再返回终端,这样会不可避免的带来一定的延时,而在驾驶的场景中,这种延时意味着危险系数的提高。嵌入式人工智能数据安全,比如家里安装了一个监控摄像头,用来关注老人和孩子的安全,上传到云端的计算也意味着隐私被泄露的风险提升。嵌入式人工智能脱机,虽然现在通信技术发展的很快,但是仍然会碰到在地下停车场、商场里没有信号的情况,这时候就不能指望云端计算有很好的用户体验了。从算法方面来看,目前嵌入式人工智能算法解决方案包括深度学习算法、算法优化、算法集成三个部分。深度学习算法和算法优化这两个部分在执行过程中是高度耦合在一起的,同时算法优化部分的工作非常重要,难度也最大。虽然说嵌入式人工智能的算法具有超强的精准度,但是并不是说所有的场合全部都能够使用,比如说要想使用在辅助驾驶上,就必须要再通过计算后,然后再返回到终端使用,目前的通信技术发展非常的快,但是也有可能会出现脱机的现象,必须要做好全面的开发。
3 嵌入式软件的开发方向
目前我国最常见的是嵌入式开发Linux方向,大概分三个阶段:嵌入式Linux上层应用,包括QT的GUI开发;嵌入式Linux系统开发;嵌入式Linux驱动开发。嵌入式目前主要面向的几个操作系统是,LINUX,WINCE等等Linux是开源免费的,而且其源代码是开放的。C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),一定要非常熟练的掌握。Linux操作系统就是用C语言编写的,一定要了解其内核的精髓。了解ARM的架构,原理,以及其汇编指令,在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂。Linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。Linux驱动程序设计本质是属于Linux内核编程范畴的,因而是对Linux内核和内核编程是有要求的。在学习前你要想了解Linux内核的组成,在实际的开发中还会涉及很多方面。在实际工程中,要掌握主流嵌入式微处理器的结构与原理必须掌握一个嵌入式操作系统必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切 入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些。嵌入式不像应用软件那样容易被盗版。硬件设计一般都是通用的硬件,一般情况下只管设计软件就变成自己的产品了。
4 结束语
总而言之,在网络技术飞速发展的今天,网络创造效益的概念逐渐成为了社会的一个共识,许多企业的业务支撑也越来越依靠于互联网。模块化嵌入式软件的开发研究越来越深入,为人们的工作生活带来了便捷。
参考文献
[1]赵玉霞.浅析模块化嵌入式软件开发研究[J].科技创新与应用,2016,29(15):308-309.