《基于ARM和DSP的嵌入式智能仪器系统设计.docx》由会员分享,可在线阅读,更多相关《基于ARM和DSP的嵌入式智能仪器系统设计.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于ARM和DSP的嵌入式智能仪器系统设计zhangting导语:随着智能仪器及控制系统对实时性信号处理的要求不断进步和大规模集成电路技术的迅速开展。1引言随着智能仪器及控制系统对实时性信号处理的要求不断进步和大规模集成电路技术的迅速开展。越来越迫切的要求有一种高性能的设计方案与之相适应,将DSP技术和ARM技术结合起来应用于嵌入式系统中,将会充分发挥两者上风以到达智能控制系统中对数据的实时性、高效性的通讯要求。该嵌入式系统要务实时响应,具有严格的时序性。其工作环境可能非常恶劣,如高温、低温、潮湿等,所以系统还要求非常高的稳定性。2嵌入式系统的总体设计2.1核心器件的主要功能ARM和DSP分别
2、选用CirrusLogic公司的EP7312、TI公司的TMS320VC5402。充分利用ARM丰富的片上资源和DSP强大的信号处理功能,实现高效性、实时性的信号处理及网络通讯功能。EP7312是专为高性能、超低功耗产品而设计的微处理器,采用ARM7TDMI处理器内核,具有8kB高速缓冲存储器,支持存储器治理单元,片内集成了液晶显示器控制器,键盘扫描器,数字音频接口,完全的JTAG等功能,广泛地应用于嵌入式领域。TMS320C54xDSP提供了McBSPs多通道缓冲串口;6通道的DMA控制器;可以与外部处理器直接通讯的8位增强HPI主机接口。选择这样的SOC片上系统作为该系统的核心器件,使得其
3、稳定可靠并具有广泛的扩展功能。2.2系统总体设计及工作原理系统总体设计框图如图1所示。本系统主要是实现信号的实时性处理及传输,知足工业现场及各种测量仪器的高可靠性要求。ARM有丰富的片上资源,合适嵌入式系统的开发,在该嵌入式系统中,ARM主要负责操纵系统的运行、任务治理和协调以及DSP的控制任务,完成数据的远程通讯。扩展了外部扩展了多种外设,如通用串口、LCD显示屏,以太网接口。通过连接以太网控制器实现网络化功能。在ARM中移植了Linux操纵系统和实现了系统外部硬件接口的驱动程序。由DSP执行计算密集型操纵,实现多种信号处理算法,然后将处理后的数字信号通过主机口接口HPI与ARM通讯。再由A
4、RM通过以太网控制器将数据传输到网络,实现了远程控制与监测。align=center图1系统总体硬件框图/align3系统硬件详细设计方案3.1ARM与DSP的接口设计EP7312和TMS320VC5402连接的接口电路如图2所示。VC5402通过HPI与ARM进展连接。ARM先向DSP写入控制字,设置工作形式,然后将访问地址写入地址存放器HPIA,再对数据锁存器HPID进展读写,即可读出和写入指定的存储单元。主机由两根地址线A2、A1可以寻址到HPI接口的所有控制存放器、地址存放器和数据存放器;由HBIL、HCNTL1、HCNTL0区分16位数据的高、低字节。当向HBIL=0的地址写入数据时
5、,表示是第一个字节,向HBIL=1的地址写入数据表示第二个字节。寻址经过中HCS要为低电平。DSP的HPI接口片选信号使用EP7312扩展片选信号nCS4,HPI各个特殊功能存放器的映射地址如下:设置好DSP的状态后,DSP向ARM发送中断,通知ARM已将数据预备好,等待ARM发中断,DSP在中断中对接收的数据进展处理。ARM在初始化后,等待DSP发送中断通知ARM数据已经预备好。ARM在检测到中断后,先判定中断是否有效,再从HPI口读写数据,在完成向HPI口发送数据后,向DSP发送中断通知DSP接收数据。ARM通过控制端口信号模拟接口时序,来完成对HPI口存放器的访问。由于DSP在BOOT经
6、过中向ARM发送了中断,所以ARM在初始化时要去除这个中断,并且在数据交互之前要设置控制存放器中的BOB位,指示高地址在前还是低地址在前。这一步在程序初始化时由ARM来完成。3.2ARM与以太网控制器之间的通讯设计系统平台实现了以太网接口。提供了以太网芯片的驱动,支持网络功能。以太网控制芯片的数据、地址和控制信号与EP7312的总线相连,如图3所示。片选信号使用EP7312的扩展片选信号nCS2。align=center图3以太网接口原理图/alignRTL8019默认的I/O基地址是300H,用到的地址空间为300H3FFH,因此使用到EP7312的低4位地址线,将RTL8019上的SA19
7、SA10和SA7SA5接为地,SA9、SA8接为VCC。RTL8019AS使用的是16位数据总线方式,因此,将RTL8019上的IOCS16B引脚通过10K的上拉电阻接为VCC;通过IO形式读写以太网控制器,所以SMEMRB和SMEMWB引脚通过上拉电阻接为VCC。当EP7312向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上一帧的发送后,再开场此帧的发送。RTL8019AS接收到的数据通过MAC比拟、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断的方式通知EP7312。FIFO逻辑对收发数据作16
8、字节的缓冲,以减少对本地DMA恳求的频率。以太网控制器有两个指针存放器来控制缓冲区的存储经过,当前页面指针curr和边界指针bnry。curr指向新接收到帧的起始页面,即接收缓冲环的写页面指针;bnry指向读过的最后一个页面,即接收缓冲环读页面指针。自定义指针next_page,表示存储分组缓冲区的边界,初始值为next_page=bnry,读取一页数据后由软件执行bnry加1,curr自动加1。curr不即是bnry时,表示有新的数据包在缓冲区中,读取一包的前四个字节,前四个字节并不是以太网数据包的内容。分别表示数据包存放的页地址和已接收的数据的字节数。假如curr=0,表示读取出错,返回n
9、ull。假如bnry0x7f,那么bnry=0x4c。4嵌入式系统软件设计4.1BootLoader的设计该嵌入式系统引入了Linux操纵系统,可以给系统下的任务提供调度机制,简化任务中的需求操纵,当需求变化时只需要改变任务内容,然后重新和操纵系统发布即可。本系统中EP7312采用的是外部启动方式,也就是从CS0片选的外部NORFLASH启动,系统启动后,执行启动代码,即初始化CPU、内存控制器以及片上设备,然后配置存储映射。启动代码随后执行一个引导装载程序bootloader,将内核从FLASH中解压到SRAM中,然后跳转到内核的第一条指令处执行,内核运行。bootloader完成从硬件启动
10、到操纵系统启动的过渡,用于初始化硬件和启动操纵系统。在内核运行之前需要bootloader作为系统驱动程序完成加载内核和一些辅助性的工作,然后跳转到内核代码的起始地址并执行。对于该系统来讲选择EP7211所使用的bootloaderShoehorn,然后做一些改动。如调整系统各个存放器的地址值;设定SDRAM控制器;调整UART1的波特率等。Shoehorn代码分为host端和target端两局部,一局部由eth.c、serial.c、shoehorn.c和util.c组成,由这些文件编译生成host端的可执行文件shoehorn;另一局部由ini.s和loader.c组成,编译生成一个小于2
11、KB的文件loader.bin,这个二进制文件会被下载到target端的SRAM中用来引导系统的启动。通过一系列的主机与开发板之间的握手通讯、下载程序的方式使得代码相对分散,减小开发板上起始代码的大小,以知足目的板上下载代码的限制。4.2内核的配置该嵌入式系统选择了较成熟稳定的Linux-2.4.13版本内核。为了防止修改内核定制代码时造成代码的不稳定和失去代码的灵敏性,可以通过选择适宜的版本内核,修改该配置文件,裁剪不必要的功能,再编译出符合新配置的内核,得到既知足应用功能要求同时体积又小的内核,产生一个隐藏文件/usr/src/linux/.config。该文件记录了对内核详细功能模块的选
12、择和配置。内核配置时,大局部的选项都可以使用缺省值,只有小局部需要根据需求选择,将与内核关系比拟近且经常用到的功能代码直接编译进内核;将不经常用到的代码编译为可加载模块,有利于减小内核的长度,增加灵敏性。4.3驱动程序的设计在Linux操纵系统中驱动程序是操纵系统内核与硬件设备直接的接口。驱动程序屏蔽了硬件的细节。在应用程序看来硬?通文件一样对硬件设备进展操纵。设备驱动程序可以设计模块化方式。不必编译进内核,而是被分别编译并链接成一组目的文件,这些文件可以被载入正在运行的内核,或者从正在运行的内核中卸载。可以减少内核的长度,具有很大的灵敏性。4.4DSP中信号处理算法的实现多数传感器对于温度、
13、湿度、电源的波动等环境因素都存在着穿插灵敏度,产生较大的误差,测量精度和稳定性都受到一定的影响。在DSP中采用数据交融技术可以消除干扰,进步传感器的测量精度。数据交融是通过组合,将传感器数据之间进展相关,以从输出元素获得更多的信息。保证在环境干扰变化很大的情况下也可以有较高的测量精度和稳定性。采用软件方法对传感器数据交融处理被证实是一种很好的方法。该系统的网络功能可以将多个功能一样或者不同的嵌入式智能仪器连接在一起组成智能传感器网络。每个智能仪器节点都具有数据收集、数据处理和通讯的功能。信息交融技术可以将来自多个传感器的数据进展多级别、多方面、多层次的处理,进而产生新的有意义的信息,而这种新信息是任何单一传感器所无法获得的准确度更高的表征客观环境的信息。这种技术在传感器网络中有着举足轻重的作用。5完毕语该嵌入式智能仪器系统的设计,为仪器仪表方便有效的接入以太网提供了很好的解决方案,实现了远程控制和实时性的数据传输。由于采用并发多任务技术处理该嵌入式系统复杂的外部事件,以及控制软件系统的复杂性,保证了系统的实时性能。该嵌入式系统的软硬件配置精简,抗干扰才能符合环境要求;装配构造便于检修。这种嵌入式智能仪器系统的实现使嵌入式设计在数据处理及检测控制领域里得到了很好的应用。0
限制150内