基于直接中断触发的OMAP-L138双核通信设计
- 格式:pdf
- 大小:1.36 MB
- 文档页数:5
OMAP-L138双核通信实例Example01使用的开发板:广州创龙公司的TL138_1808_6748-EVMrun.sh########################################################### #!/binset-x./slaveloader startup DSP server_dsp.xe674./app_host DSP./slaveloader shutdown DSP###########################################################运行结果:ARM端程序:1)main():在主函数中,首先检查参数的有效性,然后调用Main_main()函数//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////解析命令行:status=Main_parseArgs(argc,argv);============================================================= Int Main_parseArgs(Int argc,Char*argv[])(1) =============================================================终止SysLink:SysLink_destroy();//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2)Main_main()初始化SysLink:SysLink_setup();调用SysLink的装载回调信号:remoteProcId=MultiProc_getId(Main_remoteProcName);//获取DSP端处理器的IDstatic String Main_remoteProcName=“DSP”;status=Ipc_control(remoteProcId,Ipc_CONTROLCMD_LOADCALLBACK,NULL);调用SysLink的开始回调函数status=Ipc_control(remoteProcId,Ipc_CONTROLCMD_STARTCALLBACK,NULL);应用程序执行阶段status=App_exec(remoteProcId);======================================================================= Int App_exec(UInt16remoteProcId)======================================================================= 3)App_exec()首先是创建一个信号量对象:Module_semH=OsalSemaphore_create(OsalSemaphore_Type_Counting);static OsalSemaphore_Handle Module_semH=NULL;//全局对象注册通知回调函数status=Notify_registerEventSingle(remoteProcId,SystemCfg_LineId,SystemCfg_EventId,App_notifyCB,(UArg)NULL);App_notifyCB:回调函数名(UArg)NULL:回调函数的参数,这里没有指定参数等待通知事件,使用的是信号量机制。
TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核。
本文要介绍的就是其中的一款低功耗处理器OMAP L138。
OMAP L138包括一个主频300M的ARM9处理器内核和一个300M的C6748DSP 内核(均是32位处理器)。
此外还有大量外设在此不做说明,与通用的ARM 与DSP内核相比有如下一些不同点:1.内存映射,该处理器的外设与内存统一编址,DSP与ARM共享4G内存空间。
但其中有一部分DSP仅可见(如DSP的数据指令缓存),一部分ARM仅可见(如ARM的内部RAM),其余的两者都可以访问,具体的请参考其芯片资料。
2.中断,与通用的DSP与ARM相比,达芬奇架构并没有在这两个核中增加用于双核通信及相互控制的指令(也许是本人没发现吧!如果你发现相关的说明,请发个email告诉我,谢谢!),然而却增加两个核之间的中断,共计7个。
当双核需要进行通信时,首先把数据放在双方可以访问的内存上,然后给对方一个中断,对方在中断中接收传递过来的数据,以此实现双方的通信,个人认为这就是DSP Link实现的基本原理吧:)3.能源与休眠配置模块(PSC),这个模块主要负责整个系统的能源管理,可以使能或者休眠ARM核,DSP核以及大部分外设ARM核与DSP核的相互控制主要就依赖这个模块。
对于OMAPL138,上电时默认的是ARM核被禁止,DSP核被使能。
说以开机时是DSP核先启动,然后是DSP的ROM Bootloader做一些初始化后使能ARM 核后,ARM核才开始运行。
不同的达芬奇处理器是不同的,比如OMAPL137就是反过来的,网上资料鱼龙混杂,弄不清楚的话就去看PSC模块中的ARM和DSP核的默认值就可以了。
二、启动过程1.开机上电,用户在BOOT 管脚上配置的启动方式被锁定采样到SYSCFG模块的BOOTCFG寄存器,从而确定可处理器的启动方式。
2.PSC模块中的启动默认值是:ARM核休眠,DSP核使能。
1. 开发板简介YXDSP-OMAPL138至尊板是南京研旭电气科技有限公司特针对高校、研究所和中小企业的设计需求而自主研发的产品。
该开发板可以满足基于OMAPL138开发时的所有应用,板卡提供了丰富的二次开发接口,能够为您基于OMAPL138的设计节约成本和时间。
目前,我们的产品已经广泛应用于众多科研院所、高校、电力电子类、通讯类、工业类、医疗类公司,在长期的客户产品开发使用过程中得到高度认可和好评。
YXDSP-OMAPL138至尊板采用了核心板+功能底板合并分拆的结构,在保证DSP能稳定独立运行、外设资源充分扩展的基础上,优化结构设计,注重EMC处理。
核心板采用6层PCB设计,功能底板采用2层PCB设计。
产品的抗电磁干扰能力性能优越,可将产品用于工业现场。
TI公司的达芬奇架构嵌入式应用处理器开始使用DSP与ARM结合的非对称多核结构。
OMAPL138就是其中的一款低功耗双核嵌入式处理器。
OMAPL138双核构架兼具DSP内核和ARM926EJ-S内核。
ARM926EJ-S是一个执行32位、16位指令和处理32位、16位或8位数据的32为RISC 处理器内核。
该内核采用流水线的结构,因此处理器和储存器系统的所有部件都可连续地工作。
ARM内核有一个协处理器15(CP15)、保护模块、数据和程序储存器管理单元(MMUs)以及后备缓冲器。
它具有分离的16KB的指令高速缓存和16KB的数据高速缓存。
两者通过虚拟索引虚拟标签形成四路关联。
另外,ARM内核还具有一个8KB的RAM(矢量表)和64KB 的ROM。
DSP核采用了一个2级基于高速缓存的架构。
Level1程序高速缓存(L1P)是一个32KB 直接映射的高速缓存,Level1数据高速缓存(L1D)是一个32KB的两路组关联高速缓存。
Level2程序高速缓存(L2P)包含256KB的内存空间,为程序空间和数据包空间所共享。
L2配置为映射内存、高速缓存或者两者的结合。
OMAPL138双核系统的调试方案设计栾小飞【摘要】OMAPL138高性能、低功耗双核处理器为手持式移动设备提供强有力的支持。
对双核通信模块DSPLink的软件架构和在Linux嵌入式操作系统下的编译加载进行了分析和介绍,以消息队列组件为例分析了ARM和DSP双核通信时通道的建立和连接的方式。
通过DSP/BIOS和Linux端DSPLink的MSGQ接口和多线程技术,建立ARM和DSP消息传递通道,提供了在双核开发中对DSP端暗箱调试的解决方法。
%OMAPL138 high-performance low-power dual-core processor provides strong support for handheld mobile devices. The paper provides the analysis for the software architecture of dual-core module DSPLink and the introduction of the methods of compiling and loading the module DSPLink based on the embeded operating system Linux. The process of installation and connection when ARM and DSP communicate with each other by the example of MSGQ is analyzed. Through theDSP/BIOS and Linux side DSPLink of MSGQ in terrace and multi-threading technology, a messaging channel is built between ARM and DSP, providing the solution of DSP side of the black-box debugging in dual-core development.【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2012(012)001【总页数】4页(P16-19)【关键词】OMAPL138;双核处理器;DSPLink;消息队列;调试【作者】栾小飞【作者单位】电子科技大学自动化工程学院,成都611731【正文语种】中文【中图分类】TB511 双核调试困难双核芯片的推出为兼顾强大的数据处理能力和良好的用户体验提供了解决方案,将双CPU集成在一个芯片上也简化了硬件电路设计的难度。
OMAP-L138 DSP与FPGA通信方案设计张伟文;高伟强;林淦;刘建群;阎秋生【摘要】针对双刀头高性能柔性材料切割数控系统,结合OMAP-L138+FPGA控制系统的数据传送需求以及平台资源,提出一种OMAP-L138的DSP通过EMIFA接口与FPGA的FIFO进行数据通信的设计方案,DSP将处理后的数据通过EMIFA接口传送到FPGA的异步缓存FIFO模块。
FIFO在接收DSP发送的高速数据的同时,将缓存的数据输出。
通过逻辑分析仪实验测试验证,该方案能够实现数据的正确通信。
%A data communication design between OMAP-L138 DSP and FPGA FIFO is proposed with the data transfer requirement of OMAPL138+FPGA control system and the platform resources for High performance flexible materials pole head CNC cutting system. DSP transmits the processed data to FPGA via the asynchronous FIFO with EMIFA interface. And the FIFO receivers the high-speed data from DSP, while outputting data from the asynchronous FIFO. The design is verified to achieve the correct communication with the laboratory tests by logic analyzer.【期刊名称】《机电工程技术》【年(卷),期】2015(000)010【总页数】5页(P115-119)【关键词】OMAP-L138;FPGA;EMIFA;FIFO;异步缓存【作者】张伟文;高伟强;林淦;刘建群;阎秋生【作者单位】广东工业大学机电工程学院,广东广州 510006;广东工业大学机电工程学院,广东广州 510006;广东工业大学机电工程学院,广东广州 510006;广东工业大学机电工程学院,广东广州 510006;广东工业大学机电工程学院,广东广州 510006【正文语种】中文【中图分类】TP273OMAP-L138是美国TI公司生产的基于达芬奇(DaVinci)技术的ARM+DSP双核处理器,具有ARM926EJ-S和C674X高速浮点DPS两个异构内核,采用OMAP-L138+FPGA双芯片构建数控系统的硬件平台,能够满足高性能数控系统对界面层、控制层和设备层开发的要求。
基于OMAP-L138的接口传输设计与实现肖玉娟;李洋洋;廖世文【摘要】介绍基带处理中使用的DSP(OMAP-L138)和FPGA的两个接口设计.EMIFA时序参数灵活,使用方便,应用广泛;UPP接口则应用于高速数据传输场合.这对C6000系列接口设计和应用具有普遍意义.【期刊名称】《现代计算机(专业版)》【年(卷),期】2017(000)012【总页数】4页(P81-84)【关键词】EMIFA;UPP;FIFO【作者】肖玉娟;李洋洋;廖世文【作者单位】广州海格通信集团股份有限公司,广州 510663;广州海格通信集团股份有限公司,广州 510663;广州海格通信集团股份有限公司,广州 510663【正文语种】中文FPGA可用做DSP协处理器,或充当高速数据处理器件或高速数据桥接器件。
由于EMIFA具有灵活的时序参数,只需要极少的FPGA逻辑,在这种情况下,只需最低限度的设计工作,使用标准FIFO就可以达到目的,所以Texas Instruments DSP平台[1]中的外部存储器接口(EMIFA)被广泛用做连接到FPGA的接口。
若对于宽带信号的高速数据交互,则需要采用更高速率的UPP接口[2]。
本文主要介绍这两种接口设计及应用。
OMAPL138 EMIFA上的数据总线可以是16位宽,也可以是8位宽。
OMAPL138晶振输入24MHz,经过25倍的PLL乘法器后的频率为600MHz。
选择DIV4.5分频得到133.33MHz的EMIFA输入时钟源。
产生EMIFA时钟源的PLL0频率配置如图1所示。
对于OMAPL138来说需要将片选、输出时钟、地址线、数据线、读使能、写使能等有关复用管脚设置为EMIFA的对应功能管脚,其次将EMIFA模块的电源控制打开,最后配置如图2所示的异步CSn配置寄存器(CEnCFG)对应支持CS2、CS3、CS4和CS5这四个存储器空间。
本设计使用了如图3所示的双口RAM的机制,默认读写的存储深度为2000个16bit的数据。
基于OMAP-L138和PJSIP协议栈的SIP-UA设计与实现王勇江;崔慧娟;唐昆【期刊名称】《信息技术》【年(卷),期】2012(000)009【摘要】在开源PJSIP协议栈的基础上,应用TI公司推出的低功耗高性能的OMAP-L138处理器,提出了PJProject源码移植的方法,并将影响系统性能的iLBC Codec移植到DSP端实现,利用DSPLINK开发包完成ARM和DSP的双核通信,从而实现了SIP-UA的基本功能.实验结果表明,PJMEDIA中的echo canceller和不同的采样率是影响系统的两大因素,同时还比较了定点和浮点运算对系统性能的影响.%According to TI' s low-power and high-performance applications processor OMAP-L138, a SIP-UA terminal system is implemented based on an open source PJSIP. This paper provides a method of transplanting PJProject program code to OMAP-L138, especially shows how to transplant iLBC Codec system-performance affected to DSP endpoint with DSPLINK tools which implement the communication and control between ARM and DSP. The experimental results show that echo canceller module and different sample rates in PJMEDIA are the most significant factors which affect system performance. Meanwhile, the influence of system on between fixed point and float computing is also analyzed in this paper.【总页数】5页(P83-87)【作者】王勇江;崔慧娟;唐昆【作者单位】清华大学电子工程系清华信息科学与技术国家实验室,北京100084;清华大学电子工程系清华信息科学与技术国家实验室,北京100084;清华大学电子工程系清华信息科学与技术国家实验室,北京100084【正文语种】中文【中图分类】TN919.8【相关文献】1.基于OMAP-L138的电话录音系统的设计与实现 [J], 潘玲佼;吴全玉2.基于嵌入式系统BF561的PJSIP协议栈移植 [J], 魏立峰;任荭葳;王庆辉3.基于OMAP-L138的接口传输设计与实现 [J], 肖玉娟;李洋洋;廖世文4.基于LM3S8962的TCP/IP协议栈的设计与实现 [J], 刘凯; 吕海燕; 张立民5.基于Windows套接字的Ethercat主站协议栈设计与实现 [J], 柳青因版权原因,仅展示原文概要,查看原文内容请购买。
目录1实例编译 (2)2实例演示 (3)3实例解析 (6)3.1实例程序结构解析 (6)3.2实例SYS/BIOS应用程序解析 (7)3.3实例Linux应用程序解析 (13)1 实例编译光盘中demo/syslink/ex10_led实例实现了利用MCSDK的SYSLINK组件在ARM端控制DSP端来操作开发板外设LED执行跑马灯程序。
本实例是基于ex03_notify增加DSP控制LED功能。
先按照广州创龙OMAPL138开发板的用户手册《基于OMAPL138的多核软件开发组件--MCSDK开发教程.pdf》安装MCSDK,配置、编译和安装SYSLINK。
然后将ex10_led文件夹拷贝到虚拟机/home/tl/ti/syslink_2_21_01_05/examples目录下(该路径不可随意放置,否者无法包含到SYSLINK里面的头文件),然后进入ex10_led目录,如下图所示:图1执行“sudo make clean”清除编译生成文件,执行“sudo make”命令重新编译该例程,如下图所示:图2图3在该目录的dsp/bin/debug/目录下生成.xe674格式文件server_dsp.xe674,如下图所示:图4在该目录的host/bin/debug/目录下生成Linux端可执行程序app_host,如下图所示:图52 实例演示执行此实例双核通信需要4个文件,syslink.ko、slaveloader、server_dsp.xe674和app_host。
按照《基于OMAPL138的多核软件开发组件--MCSDK开发教程.pdf》教程完成SYSLINK编译和安装后,syslink.ko和slaveloader将位于开发板文件系统如下位置:syslink.ko:/lib/modules/3.3.0/kernel/drivers/dsp/syslink.koslaveloader:开发板任意example的debug目录中,如/ex03_notify/debug/slaveloader。