Board logo

标题: 基于ARM和DSP的嵌入式智能系统设计(3) [打印本页]

作者: yuyang911220    时间: 2014-8-30 17:51     标题: 基于ARM和DSP的嵌入式智能系统设计(3)

4 嵌入式系统软件设计          4.1 BootLoader的设计
          该嵌入式系统引入了Linux操作系统,可以给系统下的任务提供调度机制,简化任务中的需求操作,当需求变化时只需要改变任务内容,然后重新和操作系统发布即可。
          本系统中EP7312采用的是外部启动方式,也就是从CS[0]片选的外部NORFLASH启动,系统启动后,执行启动代码,即初始化CPU、内存控制器以及片上设备,然后配置存储映射。启动代码随后执行一个引导装载程序bootloader,将内核从FLASH中解压到SRAM中,然后跳转到内核的第一条指令处执行,内核运行。
          bootloader完成从硬件启动到操作系统启动的过渡,用于初始化硬件和启动操作系统。在内核运行之前需要bootloader作为系统驱动程序完成加载内核和一些辅助性的工作,然后跳转到内核代码的起始地址并执行。对于该系统来说选择EP7211所使用的bootloader—Shoehorn,然后做一些改动。如调整系统各个寄存器的地址值;设定SDRAM控制器;调整UART1的波特率等。Shoehorn代码分为host端和target端两部分,一部分由eth.c、serial.c、shoehorn.c和util.c组成,由这些文件编译生成host端的可执行文件shoehorn;另一部分由ini.s和loader.c组成,编译生成一个小于2KB的文件loader.bin,这个二进制文件会被下载到target端的SRAM中用来引导系统的启动。通过一系列的主机与开发板之间的握手通信、下载程序的方式使得代码相对分散,减小开发板上起始代码的大小,以满足目标板上下载代码的限制。
          4.2 内核的配置
          该嵌入式系统选择了较成熟稳定的Linux-2.4.13版本内核。为了避免修改内核定制代码
          时造成代码的不稳定和失去代码的灵活性,可以通过选择合适的版本内核,修改该配置文件,裁剪不必要的功能,再编译出符合新配置的内核,得到既满足应用功能要求同时体积又小的内核,产生一个隐藏文件/usr/src/linux/.config。该文件记录了对内核具体功能模块的选择和配置。
          内核配置时,大部分的选项都可以使用缺省值,只有小部分需要根据需求选择,将与内核关系比较近且经常用到的功能代码直接编译进内核;将不经常用到的代码编译为可加载模块,有利于减小内核的长度,增加灵活性。
          4.3 驱动程序的设计
          在Linux操作系统中驱动程序是操作系统内核与硬件设备直接的接口。驱动程序屏蔽了硬件的细节。在应用程序看来硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。
          设备驱动程序可以设计模块化方式。不必编译进内核,而是被分别编译并链接成一组目标文件,这些文件可以被载入正在运行的内核,或从正在运行的内核中卸载。可以减少内核的长度,具有很大的灵活性。
          4.4 DSP中信号处理算法的实现
          多数传感器对于温度、湿度、电源的波动等环境因素都存在着交叉灵敏度,产生较大的误差,测量精度和稳定性都受到一定的影响。在DSP中采用数据融合技术可以消除干扰,提高传感器的测量精度。数据融合是通过组合,将传感器数据之间进行相关,以从输出元素获得更多的信息。保证在环境干扰变化很大的情况下也可以有较高的测量精度和稳定性。采用软件方法对传感器数据融合处理被证明是一种很好的方法。
          该系统的网络功能可以将多个功能相同或不同的嵌入式智能仪器连接在一起组成智能传感器网络。每个智能仪器节点都具有数据采集、数据处理和通信的功能。信息融合技术可以将来自多个传感器的数据进行多级别、多方面、多层次的处理,从而产生新的有意义的信息,而这种新信息是任何单一传感器所无法获得的准确度更高的表征客观环境的信息。这种技术在传感器网络中有着举足轻重的作用。
          5 结束语
          该嵌入式智能仪器系统的设计,为仪器仪表方便有效的接入以太网提供了很好的解决方案,实现了远程控制和实时性的数据传输。由于采用并发多任务技术处理该嵌入式系统复杂的外部事件,以及控制软件系统的复杂性,保证了系统的实时性能。该嵌入式系统的软硬件配置精简,抗干扰能力符合环境要求;装配结构便于检修。这种嵌入式智能仪器系统的实现使嵌入式设计在数据处理及检测控制领域里得到了很好的应用。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0