您的位置 首页 电子

ARM/DSP双核体系的通讯接口规划

引 言嵌入式系统的核心是嵌入式微处理器和嵌入式操作系统。早期的嵌入式系统硬件核心是各种类型的8位和16位单片机;而近年来32位处理器以其高性能

引 言

嵌入式体系的中心是嵌入式微处理器和嵌入式操作体系。前期的嵌入式体系硬件中心是各品种型的8位和16位单片机;而近年来32位处理器以其高功用、低价格,得到了广泛的运用。近年来,又呈现了另一类数据密布处理型芯片DSP。 DSP因为其特别的结构、专门的硬件乘法器和特别的指令,使其能快速地完结各种数字信号处理及满意各种高实时性要求。跟着现代嵌入式体系的复杂度越来越高,操作体系已成为嵌入式体系不行短少的部分。免费的嵌入式操作体系,如Linux等,跟着自身不断的改进,得到了飞速的开展。Linux是一个免费的、强壮的、可信赖的、具有可伸缩性与扩充性的操作体系。Linux完结了许多现代化操作体系的理论,而且支撑完好的硬件驱动程序、网络通讯协议与多处理器的架构,其源码的揭露更有利于操作体系嵌入式运用。

依据上述剖析,笔者开发了依据ARM和DSP芯片的双核嵌入式体系。体系充分运用了ARM和DSP的各自特色,既能够运用ARM和DSP芯片进行协同开发,也能够运用ARM或DSP进行独立开发。操作体系选用了Linux,以利于充分发挥体系的效能。

1 体系的全体规划

因为ARM芯片的操控功用较强,在嵌入式体系中ARM首要用于操控和少数的数据处理。这样,一方面要求CPU要低功耗和有满意的时钟频率来运转操作体系,以满意便携式的要求;另一方面也要求其有满意品种的接口,以利于功用的扩展。依据以上考虑,在开发渠道中选用HY7202作为CPU。

DSP作为数据运算部分,能够充分发挥其对数字信号处理的一起优势。TI公司的C54xx系列16位定点DSP以其高性价比遍及运用于各类通讯、便携式运用傍边。考虑到对数字视频和数字图像等大数据吞吐量运用场合的处理要求,选用TI公司的TMS320C5416芯片。其时钟频率最高可到达206 MHz,体系全体框图如图1所示。

图1体系全体硬件结构框图

体系软件渠道结构如图2所示,软件渠道分ARM部分和DSP部分,以及ARM和DSP的接口软件规划部分。ARM部分以Hynix公司PATCH的ARM Linux Version 2.4.18为操作体系,并在此根底之上移植Linux规范库GLIBC、LIBJPG、LIBPNG、IMLIB、LIBWWW、LIBFLASH及汉字库。图形界面以Microwindows 0.9及其控件库FLNX供给嵌入式图形界面渠道。体系渠道具有强壮的网络通讯功用,经过渠道WEBSERVER、FTP、TELNET、INETD等网络工具和运用程序能方便地开发依据Internet的网络终端、长途操控、长途数据收集、长途数据处理产品。在运用程序层上,体系渠道集成窗口管理程序,全中文化网络浏览器(支撑HTML、XML),Flash播放器(支撑Flash4、Flash5、Flash6),文本编辑器,游戏等用于PDA开发,机顶盒上网解决方案,以及可用于嵌入式数据收集、处理的虚拟示波器等。

图2体系软件的全体结构

DSP部分经过供给完好的HPI驱动程序(DSP部分)及通讯协议,经过添加相应数据处理程操控算法程序,运用HPI并行接口与主机ARM通讯进行数据交换,可用于各种实时处理,操控范畴。

此外,DSP和ARM能够各自作为独立的体系运用,它们均有完好的子体系软件。子体系之间联络的中心是DSP器材自身带有的HPI接口。

2 ARM和DSP的通讯接口规划

(1) DSP的HPI口介绍

HPI是TMS320C54X等芯片供给的一种并行端口,专门用于DSP和外部主机并行通讯。HPI接口有规范HPI接口和增强型HPI接口。关于 C5416和C5420DSP器材,它们的主机接口为增强型主机接口。规范HPI接口是一个8位总线接口,经过2个8位字节组合在一起构成1个16字。增强型HPI接口分8位和16位两种。8位增强型主机接口和规范HPI接口操作时序相同,首要差异在于规范型只能拜访2 KB专用RAM,而增强型能够拜访DSP的整个RAM区。16位增强型HPI接口选用16位总线,只需一个主机操作就能完结拜访操作。

(2) HPI硬件连线

HMS30C7202与TMS320C5416接口电路如图3所示。体系将HPI接口一切操控寄存器、地址寄存器、数据寄存器一致编址,映射到HMS30C7202物理地址0X0C000000开端的I/O内存空间。

图3DSP和主机双向通讯

运用地址线RA\[3:0\]发生HPI拜访所需的操控信号。A0与A1决议拜访寄存器类型。A2决议拜访的是榜首个字节仍是第二个字节:A2=0时,表明写入的数据为榜首个字节;A2=1时,表明写入的数据为第二个字节。在HPI-8中一切地址线和操控线是在HDS1和HDS2的下降沿采样,而不是由 HR/W决议,因而HR/W经过地址线A3表明当时操作是读仍是写,而数据锁存信号由nRCS3和nRW0相与后一起发生。KSCAN[2]设置为 HMS30C7202的PORTA中止输入脚,DSP经过中止办法与Linux底层HPI驱动程序通讯。

3 ARM和DSP的通讯接口驱动程序规划

Linux是Unix操作体系的一种变种。在Linux下编写驱动程序的原理和思维彻底相似于其他的Unix体系,但它和DOS或Window环境下的驱动程序有很大的差异。Linux驱动程序能够编译进内核,也能够模块办法动态地参加和卸载。Linux的这种特色可依据方针体系削减内核,更适合于嵌入式体系。

(1) Linux驱动程序基本原理

在Linux中一切设备分为字符设备、块设备和网络设备三种,一切设备都当作一般文件,因而能够经过用操作一般文件相同的体系调用来翻开、封闭、读取和写入设备。体系中每个设备都用一种设备特别文件来表明。

在Linux中,设备驱动程序是一组相关函数的调集。它包括设备服务子程序和中止处理程序,每个设备服务子程序只处理一种设备或许严密相关的设备。其意图便是从与设备无关的软件中承受笼统的指令并履行。当履行一条恳求时,具体操作是依据操控器驱动程序供给的接口,并运用中止机制去调用中止服务子程序合作设备来完结这个恳求。设备程序运用结构file_operations与文件体系联络起来。在Linux下驱动程序装载如图4所示。

图4模块连接到内核暗示

(2) HPI驱动程序

HPI接口可用I/O端口办法,也能够用I/O存取办法。体系渠道选用I/O存取办法,将HPI拜访操控寄存器、数据寄存器、地址寄存器,映射到内存物理地址为0X0C000000开端的空间,经过拜访存储器指令对HPI进行操作。HPI具体物理地址界说如下:

#defineHPI_BASE0X0C000000//HPI基地址

#define HPD_READ_LOWHPI_BASE+0X0012

//读数据寄存器榜首字节

#define HPA_WRITE_HIGHHPI_BASE+0X000C

//写地址寄存器第二字节

在Linux下,相似Windows,程序不能直接拜访物理地址。设备驱动程序是内核的一部分,它像内核中其他代码相同运转在内核形式,驱动程序假如犯错就会使体系遭到严重破坏,因而需要将物理地址映射到内核空间。在Linux下经过virtul_address= (u32)ioremap(HPI_BASE,HPI_LENGTH)完结。驱动程序首要结构如下:

struct file_operations hpi_fops={

owner:THIS_MODULE,

read: hpi_read,

write: hpi_write,

poll : hpi_poll,

open: hpi_open,

release: hpi_release,

};

HPI通讯协议选用帧结构,因为增强型HPI接口答应拜访DSP内部RAM一切空间,体系通讯在DSP内部分配2 K字(16位)作为帧缓冲区,读写各1 K字,协议选用一位滑动窗口协议。帧格局如表1所列。

结语

本文介绍了运用ARM和DSP双CPU构成的双核嵌入式体系的硬件渠道,以及源代码敞开的Linux作为嵌入式体系中操作体系的办法,给出了体系规划的全体框图,具体介绍了ARM和DSP通讯接口的规划。这一规划办法能够适用于大多数现代嵌入式体系的规划,有必定的实用价值。

参考文献

1 http://www.kernel.org

2 www.linuxdevices.com

3 http://kernelnewbies.org/documents/kdoc

4 Michacl K.Johnson Erik W.Troan. LINUX编程威望攻略. 龙华乔,胡以迳译. 北京:中国电力出版社,2001

5 徐盛,胡剑凌. 数字信号处理器开发实践. 上海:上海交通大学出版社,2003

6 胡剑凌,徐盛. 数字信号处理体系的运用和规划. 上海:上海交通大学出版社,2003

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/298526.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部