引 言
嵌入式系统的核心是嵌入式微处理器和嵌入式操作系统。早期的嵌入式系统硬件核心是各种类型的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
关键字:嵌入式 芯片 处理器
引用地址:ARM/DSP双核系统的通信接口设计
嵌入式系统的核心是嵌入式微处理器和嵌入式操作系统。早期的嵌入式系统硬件核心是各种类型的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
上一篇:MPC850中复位逻辑和CPM协议切换的CPLD实现
下一篇:基于MC9328MX1嵌入式最小系统的设计
推荐阅读最新更新时间:2024-05-13 18:15
H.264视频解码芯片中视频控制器的设计
引言
H.264是ITU-T VCEG组织和ISO/IEC MPEG组织共同研究的新型视频压缩标准,相比其他视频压缩算法,具有压缩比高、算法复杂的特点。由于编码算法的复杂性,系统对图像解码速度和功耗要求非常严格,因此,在设计解码器时采用了H.264解码专用芯片的设计方案。对一个大的设计项目,一般采用由顶向下(TOP-DOWM)的设计方法,把各功能模块划分为子模块。视频控制器模块是芯片与显示平台的数据接口,对检验芯片设计是否成功起着重要的作用,有必要把它单独划分为一个子模块。为了提高设计的成功率,在设计初期采用了基于FPGA的原型验证。整个系统的FPGA原型验证平台如图1所示,平台分为2个部分,硬件设计和基于RISC CPU
[嵌入式]
PSoC微处理器在电动车无刷电机控制器上的应用
电动车作为一种新型的代步工具,已经实实在在地被人民群众所接受。尤其是在当前油价飞涨、摩托车牌照发放受限,汽车的梦想可望而不可即的情况下,电动车越来越受到老百姓的青睐。在中国这样一个“自行车王国”,电动车的市场空间是值得期待的。业内人士预测,未来几年内,电动车的容量几乎相当于自行车的市场容量,全国4.5亿辆自行车用户中至少有3亿的用户将成为电动车的用户。随着电动车市场趋向成熟,无刷电机电动车逐渐占据了80%以上的市场份额,无刷电机控制器也在不断的技术进步中被广大用户所喜爱,并且将会不断地推陈出新,以丰富的功能来适应市场的变化。 PSoC微处理器是美国赛普拉斯半导体公司推出的一种现场可编程片上系统。片内备有通用模拟和数字
[嵌入式]

三种嵌入式操作系统的深入分析与比较
1、嵌入式系统与嵌入式操作系统
1.1 嵌入式系统
嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。
嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。
1.2 嵌入式操作系统
[应用]
您是否真的适合做嵌入式开发(三)
6、处理器芯片的选择
处理器芯片的选择为本年度新增的调研项目,据调查统计数据的结果显示,TI(德州仪器)和SAMSUNG(三星),成为最受开发者欢迎的嵌入式处理器芯片提供商,占据了接近一半(47%)的市场份额,其他知名厂家处理器芯片所占市场份额分布为:Qualcomm(高通)10%、Intel(英特尔)8%、NXP(恩智浦)6%、Atmel(爱特梅尔)5%、Nvidia(英伟达)5%、Freescale(飞思卡尔)4%、Renesas(瑞萨)3%,除以上厂家之外的其他处理器则占总体市场份额的12%。
7、软件开发语言的使用
来自2012-2013年度华清远见的调查统计数据显示,在嵌入式产
[模拟电子]
2014年终端芯片:多模多频在挑战中走向普及
进入4G时代,运营商已经公开表示将建设TDD/FDD融合网,这对多模多频提出了很高要求。就目前我国通信行业的现状来看,将出现4G与三家运营商三种不同的3G制式,甚至还要与2G的GSM和CDMA网络兼容的市场格局。鉴于此,“多模多频”芯片已经成为4G终端不可避免的标配。 4G融合催生多模多频需求 几乎所有分析机构都认为2014年全球4G市场“看中国”。去年,工信部发放LTE运营牌照之后,中国移动在合作伙伴大会上宣布:2014年,中国移动LTE TDD终端销售目标将达1亿部。而中国电信董事长王晓初也表示,2014年中国电信天翼终端销量将达1亿部,其中4G终端3600万部。除运营商外,终端厂商中兴也称,2014年其智能手机全球出货目
[手机便携]
手机多媒体芯片受宠风投 启明下单方秦
当风险投资公司纷纷追逐互联网企业时,掌管着2亿美元资金的启明风险投资公司(以下简称启明)董事总经理邝子平却将眼光锁定在手机多媒体芯片产业上。 记者日前获悉,由启明领衔,德丰杰全球创业投资基金和IDG公司参与的上海方泰电子新一轮融资计划已于6月初成功完成,共计融集资金1200万美元,全部用于加速方泰电子新一代移动多媒体处理器的研发和生产。 “这是启明进入中国市场的第一笔风险投资。”邝子平表示,启明已经规划了在中国的长期投资计划,将重点关注中国本土芯片设计企业,预计每年会进行6到8次投资活动,每次投资的规模大约在300万美元至700万美元之间。 “此次融资成功,可助方泰电子加快实验室产品的市场化速度,以在3G多媒
[焦点新闻]
专注红外探测器及激光芯片领域,焜腾红外完成2亿元融资
2021年12月30日,浙江焜腾红外科技有限公司(以下简称“焜腾红外”)完成B轮融资增资协议的现场签署工作,融资金额2亿元,引入浙江华睿控股有限公司下属两支基金、杭州市金融投资集团有限公司下属三支基金、共青城永谦创业投资合伙企业(有限合伙)、嘉兴市优优企业管理有限责任公司,并已完成工商变更手续。 焜腾红外官网显示,企业专注于制冷型红外探测器及激光芯片领域,及红外探测芯片材料、器件、测试、封装等关键技术的研发,凭借十余年积累的制冷型红外探测芯片工艺技术,掌握了具有自主知识产权的以II类超晶格红外探测器及机芯组件为主的技术核心,在浙江嘉兴建成了一条完整的探测器芯片生产线,成功研发用于光学气体成像的II类超晶格制冷型红外探测器及配套
[手机便携]
Motorola32位嵌入式微处理器MPC860的开发应用
摘要: 分析了Motorola MPC860嵌入式微处理性能和特片,描述了MPC860在ADM系统中的应用,突出了MPC860嵌入式微处理器的通信处理能力。
关键词: STM MPC860嵌入式微处理器 ADM系统
1 MPC860
MPC860 PowerQUICC是当今比较流行、性能相当优越的单片集成嵌入式微处理器。它内部集成了微处理器和一些控制领域的常用外围组件,特别适用于互联网络和数据通信。PowerQUICC可以称为MC68360在网络和数据通信领域的新一代产品,各方面性能包括适应性、扩展能力和集成度等获得了较大提高。MPC860 PowerQUICC通信处理器可根
[应用]
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
更多热门文章
更多每日新闻
- 微软领先科技巨头,成为英伟达Hopper芯片最大买家
- 芯启源(上海)将持续发力,“做深做精”EDA及IP产品
- 本田严厉警告日产:若与鸿海合作,那么本田与日产的合作将终止
- Microchip推出新款交钥匙电容式触摸控制器产品 MTCH2120
- Matter对AIoT的意义:连接AIoT设备开发人员指南
- 我国科学家建立生成式模型为医学AI训练提供技术支持
- Diodes 推出符合车用标准的电流分流监测器,通过高精度电压感测快速检测系统故障
- Power Integrations面向800V汽车应用推出新型宽爬电距离开关IC
- 打破台积电垄断!联电夺下高通先进封装订单
- Ampere 年度展望:2025年重塑IT格局的四大关键趋势
更多往期活动
厂商技术中心