基于ARM与DSP的智能仪器系统设计

发布者:DreamyEclipse最新更新时间:2015-05-26 来源: eechina关键字:arm  dsp  系统设计  智能仪器 手机看文章 扫描二维码
随时随地手机看文章
1引言
随着智能仪器及控制系统对实时性信号处理的要求不断提高和大规模集成电路技术的迅速发展。越来越迫切的要求有一种高性能的设计方案与之相适应,将DSP技术和ARM技术结合起来应用于嵌入式系统中,将会充分发挥两者优势以达到智能控制系统中对数据的实时性、高效性的通信要求。该嵌入式系统要求实时响应,具有严格的时序性。其工作环境可能非常恶劣,如高温、低温、潮湿等,所以系统还要求非常高的稳定性。
2嵌入式系统的总体设计
2.1核心器件的主要功能
ARM和DSP分别选用Cirrus Logic公司的EP7312、TI公司的TMS320VC5402。充分利用ARM丰富的片上资源和DSP强大的信号处理功能,实现高效性、实时性的信号处理及网络通信功能。
EP7312是专为高性能、超低功耗产品而设计的微处理器,采用ARM7TDMI处理器内核,具有8kB高速缓冲存储器,支持存储器管理单元,片内集成了液晶显示器控制器,键盘扫描器,数字音频接口,完全的JTAG等功能,广泛地应用于嵌入式领域。TMS320C54xDSP提供了McBSPs(多通道缓冲串口);6通道的DMA控制器;可以与外部处理器直接通信的8位增强HPI(主机接口)。选择这样的SOC(片上系统)作为该系统的核心器件,使得其稳定可靠并具有广泛的扩展功能。
2.2系统总体设计及工作原理
系统总体设计框图如图1所示。本系统主要是实现信号的实时性处理及传输,满足工业现场及各种测量仪器的高可靠性要求。ARM有丰富的片上资源,适合嵌入式系统的开发,在该嵌入式系统中,ARM主要负责操作系统的运行、任务管理和协调以及DSP的控制任务,完成数据的远程通信。扩展了外部扩展了多种外设,如通用串口、LCD显示屏,以太网接口。通过连接以太网控制器实现网络化功能。在ARM中移植了Linux操作系统和实现了系统外部硬件接口的驱动程序。由DSP执行计算密集型操作,实现多种信号处理算法,然后将处理后的数字信号通过主机口接口(HPI)与ARM通信。再由ARM通过以太网控制器将数据传输到网络,实现了远程控制与监测。
20120106104934781.gif 
图1 系统总体硬件框图
3系统硬件具体设计方案
3.1ARM与DSP的接口设计
EP7312和TMS320VC5402连接的接口电路如图2所示。VC5402通过HPI与ARM进行连接。ARM先向DSP写入控制字,设置工作模式,然后将访问地址写入地址寄存器(HPIA),再对数据锁存器(HPID)进行读写,即可读出和写入指定的存储单元。主机由两根地址线A2、A1可以寻址到HPI接口的所有控制寄存器、地址寄存器和数据寄存器;由HBIL、HCNTL1、HCNTL0区分16位数据的高、低字节。当向HBIL=0的地址写入数据时,表示是第一个字节,向HBIL=1的地址写入数据表示第二个字节。寻址过程中HCS要为低电平。
20120106104934533.gif 
图2 EP7312与TMS320VC5402的连接
DSP的HPI接口片选信号使用EP7312扩展片选信号nCS4,HPI各个特殊功能寄存器的映射地址如下:
#defineHPIC0*(volatileunsignedchar*)0x40000000
#defineHPIC1*(volatileunsignedchar*)0x40000001
#defineHPIA0*(volatileunsignedchar*)0x40000004
#defineHPIA1*(volatileunsignedchar*)0x40000005
#defineHPID0*(volatileunsignedchar*)0x40000006
#defineHPID1*(volatileunsignedchar*)0x40000007
设置好DSP的状态后,DSP向ARM发送中断,通知ARM已将数据准备好,等待ARM发中断,DSP在中断中对接收的数据进行处理。ARM在初始化后,等待DSP发送中断通知ARM数据已经准备好。ARM在检测到中断后,先判断中断是否有效,再从HPI口读写数据,在完成向HPI口发送数据后,向DSP发送中断通知DSP接收数据。ARM通过控制端口信号模拟接口时序,来完成对HPI口寄存器的访问。由于DSP在BOOT过程中向ARM发送了中断,所以ARM在初始化时要清除这个中断,并且在数据交互之前要设置控制寄存器中的BOB位,指示高地址在前还是低地址在前。这一步在程序初始化时由ARM来完成。[page]
3.2ARM与以太网控制器之间的通信设计
系统平台实现了以太网接口。提供了以太网芯片的驱动,支持网络功能。以太网控制芯片的数据、地址和控制信号与EP7312的总线相连,如图3所示。片选信号使用EP7312的扩展片选信号nCS2。
20120106104934758.gif 

图3以太网接口原理图
RTL8019默认的I/O基地址是300H,用到的地址空间为300H~3FFH,因此使用到EP7312的低4位地址线,将RTL8019上的SA19~SA10和SA7~SA5接为地,SA9、SA8接为VCC。RTL8019AS使用的是16位数据总线方式,因此,将RTL8019上的IOCS16B引脚通过10K的上拉电阻接为VCC;通过IO模式读写以太网控制器,所以SMEMRB和SMEMWB引脚通过上拉电阻接为VCC。
当EP7312向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上一帧的发送后,再开始此帧的发送。RTL8019AS接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断的方式通知EP7312。FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率。
以太网控制器有两个指针寄存器来控制缓冲区的存储过程,当前页面指针curr和边界指针bnry。curr指向新接收到帧的起始页面,即接收缓冲环的写页面指针;bnry指向读过的最后一个页面,即接收缓冲环读页面指针。自定义指针next_page,表示存储分组缓冲区的边界,初始值为next_page=bnry,读取一页数据后由软件执行bnry加1,curr自动加1。curr不等于bnry时,表示有新的数据包在缓冲区中,读取一包的前四个字节,前四个字节并不是以太网数据包的内容。分别表示数据包存放的页地址和已接收的数据的字节数。如果curr=0,表示读取出错,返回null。如果bnry>0x7f,则bnry=0x4c。
4嵌入式系统软件设计
4.1BootLoader的设计
该嵌入式系统引入了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.4DSP中信号处理算法的实现
多数传感器对于温度、湿度、电源的波动等环境因素都存在着交叉灵敏度,产生较大的误差,测量精度和稳定性都受到一定的影响。在DSP中采用数据融合技术可以消除干扰,提高传感器的测量精度。数据融合是通过组合,将传感器数据之间进行相关,以从输出元素获得更多的信息。保证在环境干扰变化很大的情况下也可以有较高的测量精度和稳定性。采用软件方法对传感器数据融合处理被证明是一种很好的方法。
该系统的网络功能可以将多个功能相同或不同的嵌入式智能仪器连接在一起组成智能传感器网络。每个智能仪器节点都具有数据采集、数据处理和通信的功能。信息融合技术可以将来自多个传感器的数据进行多级别、多方面、多层次的处理,从而产生新的有意义的信息,而这种新信息是任何单一传感器所无法获得的准确度更高的表征客观环境的信息。这种技术在传感器网络中有着举足轻重的作用。
5结束语
该嵌入式智能仪器系统的设计,为仪器仪表方便有效的接入以太网提供了很好的解决方案,实现了远程控制和实时性的数据传输。由于采用并发多任务技术处理该嵌入式系统复杂的外部事件,以及控制软件系统的复杂性,保证了系统的实时性能。该嵌入式系统的软硬件配置精简,抗干扰能力符合环境要求;装配结构便于检修。这种嵌入式智能仪器系统的实现使嵌入式设计在数据处理及检测控制领域里得到了很好的应用。
关键字:arm  dsp  系统设计  智能仪器 引用地址:基于ARM与DSP的智能仪器系统设计

上一篇:飞凌ok6410定时器精确控制led
下一篇:Qualcomm和贵州省签订关于服务器芯片组开发和销售谅解备忘录

推荐阅读最新更新时间:2024-03-16 14:03

ARM芯片(S5PV210芯片)——串口通信详解
1、电子通信的基本概念 1.1、同步通信和异步通信 1.同步通信:通信双方有统一的工作节拍,一般需要发送方给接收方发送信息的同时发送时钟信号,接收方根据发送方给它的时钟信号来安排自己的工作节奏。同步通信用在通信双方信息交换频率固定,或者通信频率比较高的场景。 2.异步通信:又叫异步通知,简单来说就是发送方不必考虑接收方,想发信息就发信息,没有固定的工作节拍。但是需要遵循一定的通信协议,比如发送方发送信息时,需要先发起始位通知接收方,然后发送数据,数据发送完成要发结束位表示一帧数据发送完成。 区别: (1)同步通信有统一工作节拍,异步通信没有统一工作节拍。一般来说,同步通信的连接线里有一根是时钟信号线。 (2)同步通信适合通信频率固
[单片机]
<font color='red'>ARM</font>芯片(S5PV210芯片)——串口通信详解
MTE如何改变Arm生态
自从Armv8.5之后,开始支持内存标记扩展(MTE),通过将内存打标(tag),从而追踪常见的非法内存操作。 Arm 终端事业部软件战略总监卢旻盛表示,随着软件的复杂度越来越高,相应的漏洞也越来越多,比如微软就曾于2019年指出,内存安全占了 CVE 严重软件漏洞比例超过 70%。也正因此,通过MTE改善内存漏洞,成为了数字化和智能化体验的基础。 MTE是什么 从理念上来说,内存安全漏洞可分为空间型和时间型两种,如果指针指向超越范围称为空间型漏洞,而如果某个内存已经释放但还被使用,这就被称为时间型漏洞。 Arm实现的 MTE可简单理解为“锁”和“密钥”。如果密钥匹配,则允许访问锁内存;否则,访问可能会被记录下来或
[手机便携]
医疗设备“健康”技术档案系统设计与应用
前言 医疗设备在医院医疗服务中的作用已经越来越重要,医疗设备本身的技术状况管理也是越来越重要。同时由于医疗设备的数量众多,技术复杂,带来一系列管理的困难。每年由于医疗设备的质量安全而引起的医疗事故在医院的医疗事故中占有一定的比例,因此医疗设备的质量安全控制势必执行。医疗设备“健康”技术档案系统(简称健康档案系统)的建设与应用,为医疗设备管理、质量控制、安全运行提供基础保障。 1 医疗设备技术管理现状和困难 (1)医疗设备的技术应用管理是一个复杂而庞大的系统工程,我国二甲以上医院一般都有几千万到几个亿的医疗设备固定资产,数量相当巨大且品种繁多,既有单体价格昂贵的百万以上的如CT、MRI等医疗设备,也有单体价格1000元以下的医疗
[工业控制]
ARM入门笔记(7)
串口DMA控制实验 一.背景 DMA是Direct Memory Access的缩写,即 存储器直接访问 。它是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,即不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为 DMA控制器 的控制下进行的。CPU除了在数据传输开始和结束时作一点处理外,在传输过程中CPU可以进行其它的工作。这样,在大部分时间里,CPU和输入输出都处在并行操作。因此,使整个计算机系统的效率大大提高。 AT91SAM7S64串口外围DAM控制器的工作过程:将要发送的数据缓冲区的起始地址赋给串口DMA控制器的发送指针寄存器,再将要发送的字节个数赋给PDC的发送计数寄存器,然后无须 CP
[单片机]
单片式降压型稳压器为DSP提供片内电源排序
  虽然对任何给定的DC/DC转换器而言可以在外部对启动和停机情况进行跟踪,但是电源排序要求会因系统的不同而存在差异。现有的解决方案包括:可通过一个可编程接口或多个外部元件进行配置的特殊应用标准产品(ASSP)、基于可编程微控制器的方案以及FPGA方案。   在最简单的工作模式下,基本电源排序器将首先接通第一个电源,然后在等待一个指定的已编程延迟时间后接通第二个电源,并依此类推。但是,这种方法并不稳定,而且有可能在多数系统中产生灾难性的后果。基本的电源排序器可以通过实现软起动(采用一个无任何反馈的固定模式)在这个方法上加以改进。大多数应用都需要这样一个排序器以确保所有的电源能够依据各自的斜率(严格受控)一同上升,而且同时相互跟踪。
[电源管理]
单片式降压型稳压器为<font color='red'>DSP</font>提供片内电源排序
基于DSP28335的飞控计算机DAC扩展电路设计
  模拟量控制和PWM控制是当前无人机舵机控制系统最常用的两种控制方式。其中模拟量控制作为一种传统控制方式,至今仍被广泛应用,绝大多数的飞行控制计算机都提供模拟量输出通道,因此,D/A转换模块是飞行控制计算机中必备的功能模块之一。 DSP28335 片上没有DAC模块,所以必须使用片外扩展。   DAC模块设计涉及D/A转换芯片的选择、参考电压源的配置、数字输入码与模拟输出电压的极性等问题,而其中最核心的问题是D/A转换芯片的选择与应用问题,主要需要考虑的技术指标有分辨率和建立时间等。本文选用BURR—BROWM公司的D/A转换芯片 DAC7725N 实现此功能。   DAC7725是一款高输出电压和低功耗的D/A转换器件,产品功
[嵌入式]
基于<font color='red'>DSP</font>28335的飞控计算机DAC扩展电路设计
Windows 8+ARM组合,预计2012年底正式亮相
在ARM处理器上运行Windows,简称WOA。这种Windows 8+ARM组合,预计在2012年年底正式亮相。而采用WOA架构的笔电,最快会在2013年6月进入市场。 ARM阵营厂商,如NVIDIA和高通已加强ARM处理器性能,并且降低功耗,以期成功支持Windows 8,并且获得Window 8平台应用程序的支持。 消息人士指出,WOA平台可能很快就能对英特尔和AMD竞争。并且,ARM处理器厂商都在积极推动WOA平台,并希望该平台将能够提高他们在平板电脑市场份额,并帮助他们进入由Wintel联盟主导的笔电市场。 ARM CPU厂商正在和华硕、联想等笔电厂商合作,预期在2013年年中试水笔电市场,并进一步在2014
[单片机]
基于DSP DUC的短波阵列信号发生器
一、引言 阵列信号处理作为数字信号处理领域的一个重要分支,广泛应用于雷达、声纳、通信、地震勘探和医用成像等众多领域;短波频段则常用于短波测向和波束合成技术。 在短波频段,阵列信号处理设备通常包括短波天线阵、短波多波道接收机、后端阵列信号处理机3个主要组成部分。其中,短波天线阵接收空间短波信号,短波接收机对HF信号作模拟下变频,阵列信号处理机则对短波多波道接收机输出信号作数字采样并进行相应的阵列信号处理算法,给出最终运算结果。 短波天线阵由于短波频段的限制,通常天线单元的体积比较大,天线阵的孔径也比较大,占地往往近十亩;而且为了达到比较好的接收效果,短波天线阵对周边电磁环境的要求也相当高。这都给短波阵列信号处理机研制过程中的调
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved