当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]引言 DSP具有高速的计算能力与丰富的外设接口,被广泛应用于嵌入式系统中。很多基于DSP的嵌入式系统被配置于苛刻的环境或偏远地区,当需要软件升级或程序更新时,人员无法进入或很难到达相应环境

引言

DSP具有高速的计算能力与丰富的外设接口,被广泛应用于嵌入式系统中。很多基于DSP的嵌入式系统被配置于苛刻的环境或偏远地区,当需要软件升级或程序更新时,人员无法进入或很难到达相应环境中,必须采用远程加载技术来完成升级和更新。以太网具有传输距离远、传输速率高的优点,是远程数据传输的良好载体,目前主流的DSP芯片均可扩展以太网接口。本文结合以太网技术,以TI公司的DSP芯片为例对DSP远程加载技术进行了研究。

DSP远程加载的核心思想包括3个方面:

①DSP能够收发远程控制端数据;

②DSP能够更新存放用户程序的Flash区域;

③DSP能够获取用户配置选择是否需要远程加载。

基于上述3点,本文对DSP网络接口技术、DSP与Flash接口及驱动技术、远程加载配置技术进行了研究。

1 远程加载的硬件基础

1.1 DSP以太网接口技术

(1)通过专用接口芯片扩展以太网接口

在TI公司早期的DSP中,如C5000、C6201、C6701等系列,芯片内部没有集成专用的以太网控制器,无法直接与以太网进行通信,必须通过DSP的EMIF(外部存储接口)与专用接口芯片连接来扩展以太网。这些专用芯片有CP2200、MC9S12NE6等。图1给出了TMS320C5410与CP2200的接口示意图[1]。

图1TMS320C5410与CP2200的接口示意图

(2)通过片内专用接口扩展以太网接口

随着DSP制造工艺的提高,很多DSP芯片内部已经集成了以太网控制器,如DM642、C6455、C6416等,只需要外接物理层芯片(如RTL8019AS、82540EM等)即可扩展以太网接口。图2给出了DSP通过片内专用接口直接扩展以太网示意图。

图2DSP通过片内专用接口直接扩展以太网示意图

1.2可编程Flash芯片

TI公司的高速DSP(C5000、C6000系列)均没有片上非易失性存储器,必须将程序保存在外部非易失性存储器中。通常采用可编程Flash存储器对DSP程序进行存储和加载,常用的Flash芯片有Intel公司的E28Fxx系列和AMD公司的AM29xx系列。图3给出了DSP与Flash的典型接口电路[2]。

图3DSP与Flash的典型接口电路

1.3远程运行模式配置

DSP在上电后,需要明确知道当前是处于程序更新模式还是处于程序正常运行模式,这就需要采用外部硬件控制电路,对DSP的加载进行配置, 图4给出了一种远程DSP配置加载模式电路的示例。

图4远程DSP配置加载模式电路示例

 

用户通过远程配置DSP的GPIO接口为高电平或低电平来告知加载程序是否执行远程加载,在实际应用中具体实现可由用户自己定义。

2远程加载的软件基础

2.1NDK简介

在DSP上直接编写网络接口程序非常复杂,为了屏蔽底层细节,使用户可以将资源重点投入到应用程序的开发中,TI公司提供了网络开发套件NDK(NetworkDeveloper’sKit)。NDK提供了从DSP底层驱动到TCP/IP"target="_blank">IP协议的整体解决方案,支持常规的TCP/IP服务,是实现DSP以太网扩展的重要支撑工具。图5给出了NDK的系统结构图[3]。

图5NDK系统结构图

2.2Flash驱动程序

Flash芯片需要专用的指令对其进行操作,主要指令包括擦除、读、写、复位等,根据这些操作指令就可以设计Flash驱动程序,图6给出了C6000系列的DSP对AM29F040进行编程的流程[4]。其中EMIF_Base_Addr为DSP外部存储接口地址;Prog_addr为目标Flash编程地址;Prog_data为目标Flash编程数据。

图6Flash编程流程

3基于网络的远程加载方法

3.1远程加载流程

图7给出了典型的DSP加载方式以及程序在Flash中的存储方式,二次加载程序直接将用户程序加载到DSP中,无需额外处理[5]。

图7典型的DSP加载方式

采用图7中所示方式无法实现远程加载,可以对典型加载方式进行扩展,增加网络接口功能,更改Flash存储方式,从而实现远程加载。DSP远程加载方式如图8所示。

图8DSP远程加载方式

图8所示的远程加载步骤如下:

①上电后DSP运行二次加载程序;

②DSP读取外部控制电路状态,判断是否处于程序更新模式;

③如果是更新模式,跳转到第4步,否则跳转到第5步;

④DSP从Flash中加载网络接口程序到DSP片内并运行,通过网络接口接收远程数据,将接收到的数据烧写到用户程序区域完成软件的更新。

⑤DSP加载Flash中用户程序到DSP片内,正常运行程序。

为了配合远程加载流程,需要对图7所示的Flash存储结构进行扩展,在图8中同时给出了用于远程加载的Flash存储结构。与图7中的典型Flash存储结构相比,远程加载的Flash存储结构在二次加载程序和用户程序之间增加了网络加载程序,该区域仅对二次加载程序可见,用于存放远程加载程序。当需要远程加载时,二次加载程序就调用网络加载程序,采用DSP远程加载方式;当无需远程加载时,二次加载程序直接调用用户程序,采用典型的DSP加载方式。

在设计存储结构时需要注意两点:网络加载程序是不能被改变的,必须使用固定大小的存储区域;网络加载程序区域应放在用户程序区域前,便于用户程序的扩展。

3.2网络加载程序设计

网络加载程序运行流程是远程加载的核心部分,如图9所示。

图9网络加载程序运行流程

网络加载程序运行流程主要包括:

①加载NDK网络硬件驱动,配置DSP片上硬件以太网控制器,包括网络速率、单双工传输方式以及MAC地址配置等。

②启动TCP/IP服务。实现配置DSP的网络IP地址、绑定TCP通信端口、开始接收远程数据等功能。

③接收远程数据。从以太网接收远程数据并进行数据正确性和完整性校验,将远程数据存入到数据缓存区中,当缓存区满后启动Flash更新程序。

④Flash程序更新。Flash首先擦除当前用户区域,然后将数据缓存区中的数据烧写到用户区域中。

⑤判断远程数据是否接收完成,如果未完成,跳转到步骤③;如果完成,进行步骤⑥。

⑥完成数据更新后,跳转到二次加载程序,重新加载用户程序。

需要注意的是,当网络加载程序完成用户程序更新后,远程控制端必须及时将DSP加载模式切换到直接加载用户程序模式。

结语

本文研究了基于网络的DSP远程加载技术,介绍了远程加载需要的硬件基础和软件基础,并给出了典型设计;然后从远程加载流程、Flash存储模型设计以及网络接口流程设计三个方面研究了具体的远程加载方法。本文提出的方法不仅能够解决基于DSP的远程嵌入式系统的加载问题,同时为基于其他处理器的远程加载提供了思路,具有较好的工程价值和广阔的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对工业以太网的认识,本文将对工业以太网的原理、工业以太网的关键技术以及工业以太网要解决的问题予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网网络优势、工业以太网和IOLINK的区别予以介绍。

关键字: 以太网 工业以太网 指数

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发
关闭
关闭