基于ARM和DSP的嵌入式智能仪器系统设计
1 引言
本文引用地址:http://www.amcfsurvey.com/article/83483.htm随着智能仪器及控制系统对实时性信号处理的要求不断提高和大规模集成电路技术的迅速发展。越来越迫切的要求有一种高性能的设计方案与之相适应,将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通过以太网控制器将数据传输到网络,实现了远程控制与监测。
图1 系统总体硬件框图
3 系统硬件具体设计方案
3.1 ARM与DSP的接口设计
EP7312和TMS320VC5402连接的接口电路如图2所示。VC5402通过HPI与ARM进行连接。ARM先向DSP写入控制字,设置工作模式,然后将访问地址写入地址寄存器(HPIA),再对数据锁存器(HPID)进行读写,即可读出和写入指定的存储单元。主机由两根地址线A2、A1可以寻址到HPI接口的所有控制寄存器、地址寄存器和数据寄存器;由HBIL、HCNTL1、HCNTL0区分16位数据的高、低字节。当向HBIL=0的地址写入数据时,表示是第一个字节,向HBIL=1的地址写入数据表示第二个字节。寻址过程中HCS要为低电平。
图2 EP7312与TMS320VC5402的连接
DSP的HPI接口片选信号使用EP7312扩展片选信号nCS4,HPI各个特殊功能寄存器的映射地址如下:
#define HPIC0 *(volatile unsigned char*)0x40000000
#define HPIC1 *(volatile unsigned char*)0x40000001
#define HPIA0 *(volatile unsigned char*)0x40000004
#define HPIA1 *(volatile unsigned char*)0x40000005
#define HPID0 *(volatile unsigned char*)0x40000006
#define HPID1 *(volatile unsigned char*)0x40000007
设置好DSP的状态后,DSP向ARM发送中断,通知ARM已将数据准备好,等待ARM发中断,DSP在中断中对接收的数据进行处理。ARM在初始化后,等待DSP发送中断通知ARM数据已经准备好。ARM在检测到中断后,先判断中断是否有效,再从HPI口读写数据,在完成向HPI口发送数据后,向DSP发送中断通知DSP接收数据。ARM通过控制端口信号模拟接口时序,来完成对HPI口寄存器的访问。由于DSP在BOOT过程中向ARM发送了中断,所以ARM在初始化时要清除这个中断,并且在数据交互之前要设置控制寄存器中的BOB位,指示高地址在前还是低地址在前。这一步在程序初始化时由ARM来完成。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论