采用CAN总线实现DSP芯片程序的受控加载

发布者:dong125612最新更新时间:2014-03-25 来源: EEPW关键字:CAN总线  DSP芯片 手机看文章 扫描二维码
随时随地手机看文章

  磁悬浮列车上有很多基于DSP芯片的模块和系统。目前, DSP芯片程序的加载与运行都主要依赖于仿真器,而DSP仿真器价格高、体积大,这使得磁悬浮列车系统的调试很不灵活方便;且这些基于DSP芯片的系统一旦脱离仿真器就只能运行事前载入的单一的程序,也使系统的灵活性受到了很大的限制。本文研究了DSP芯片程序加载的基本原理,并根据这些原理,基于CAN总线,实现了DSP芯片程序的受控加载,使得DSP芯片程序的加载与启动可直接受控于上位主控机。由于主控机的灵活性很大,磁悬浮列车系统在调试时就可根据需要对其上各个控制模块的主控DSP芯片加载不同的程序,控制它的启动运行,非常方便灵活。

  1 CAN总线的特点及工作原理

  CAN Control Area Network,即控制器局域网总线是一种有效支持分布式控制或定时控制的串行通讯网络它以半双工的方式工作一个节点发送信息 多个节点接收信息实现了全分布式多机系统提高了数据在网络中传输的可靠性。其结构形式如图1所示。CAN总线的信息存取利用了广播式的存取工作方式信息可以在任何时候由任何节点发送到空闲的总线上每个节点的CAN总线接口必须接收总线上出现的所有信息因此各节点都设置有一个接收寄存器该寄存器接收信息 然后根据信息标文符决定是否读取信息包中的数据以判断是否使用这一信息。 CAN总线的特点是以通信数据块编码代替传统的地址编码 CAN总线面向的是数据而不是节点这种方式的优点是可使网络内的节点个数在理论上不受限制加入或减少设备不影响整个系统的工作。基于CAN总线的各种系统可以根据用户需要任意改变节点数量。CAN总线收发数据的长度最多为8个字节因而不存在占线时间问题可以保证通信的实时性通信速率最高可达1Mb/s距离为40m 最远可达10km速率为5kb/s 。对通信介质的要求较低可以是光纤或同轴电缆甚至双绞线。

结构形式

  2 DSP芯片的程序加载与运行原理

  在本项技术中,DSP的程序加载与启动运行是通过对其HPI 8位并行口的操作实现的。下面先简单介绍一下DSP的HPI 8位并行口以及如何对它进行读写操作,然后介绍本文研究的这种DSP程序加载技术。

  2.1 DSP芯片的并口(HPI)简介

  HPI并行口的读写操作主要由DSP的三个16位寄存器控制,它们分别是:HPIC HPI Control Register,控制寄存器 、HPID HPI Data Register,数据寄存器 、HPIA HPI Adress Register,地址寄存器。写HPIC寄存器控制HPI并口的读写方式以及数据高低字节的读写顺序等;写HPIA寄存器控制写入或读出数据的具体地址(自增模式下2 为数据写入/读出时的初始地址);从HPID直接写入/读出数据。

  HPI有两种读写方式:普通模式下的读写按照HPIA的地址将HPID的数据写入内存或将该地址的数据读入HPID;自增模式下HPIA则是首地址,每次读或写操作后它都会自动指向下一个待读写的地址。

  2.2 DSP芯片的程序加载与启动

  由CCS编译器生成的DSP可执行文件是一种.out文件。本方法中首先调用TI公司提供的hex500.exe程序,将其转换为.hex文件3,这种.hex文件的组织结构具体如下: 它由一个一个的块(block)组成,每一个块的第一个字节表示当前块包含的待加载的有效数据的长度,第二、第三个字节表示这些有效数据写入DSP内存时的首地址,从第五个字节开始是待写入DSP内存的有效数据(第四个字节通常为0x00,是无效数据),超出当前有效数据长度的数据不需要处理。需要注意的是,文件的结尾(也就是最后一个块)的第一个字节的数据是0,表示当前块为文件的结尾,其后的任何数据都是无效数据。知道这种.hex文件的组织结构后,就可以分离出其中的有效数据,然后就可将这些有效数据写入DSP的内存。本技术是通过DSP的HPI口来完成写操作的。具体如下: 首先对DSP复位,清除原来的数据;然后在单片机的控制下从.hex文件读出每次写入的初始地址,从这些初始地址开始不断地将有效数据写入DSP的内存;写操作完成后,向DSP的内存地址0x007f写数据0x8000,程序即启动,开始执行。

  3 系统的组成

  系统组成框图如图2所示。 ISA插卡通过ISA插槽与PC机(即相当于磁悬浮系统上的主控机)连接,受PC机的控制,接收来自PC机的数据,向PC机转发收到的数据。插卡上有SJA1000芯片,通过它与PCB板上的SJA1000实现数据交换。

系统组成框图

  CB板上的SJA1000的数据/地址信号线与单片机的P0并口相连,同时P0并口也与DSP的HPI并口数据线HD0~7相连。在单片机的控制下,SJA1000接收来自PC机的数据,并将其通过P0并口发送给单片机,然后单片机再将这些数据通过HPI发送给DSP。

  4 系统的实现

  4.1 硬件实现

  根据系统组成框图,各个具体模块的硬件实现如图3、图4、图5所示。图3为单片机的接口电路,并口P0与SJA1000的并行数据口D0~D7(如图4所示)及DSP的HPI口(如图5所示)相连,实现数据交换:SJA1000接收来自CAN总线的数据,通过并行数据口D0~D7及P0口发送给单片机,单片机接收到数据并经过处理后又通过P0口和HPI口转发给DSP。 HBIL、HCT0、CHT1、HR/W为HPI口的控制信号2,故HPI的读写等操作都受控于单片机。 CSCAN为SJA1000的选通信号,/RST为SJA1000与DSP的复位信号;RD、WR分别为读写控制信号。

单片机的接口电路

并口P0与SJA1000的并行数据口

DSP的HPI口

  4.2 软件实现

  PC机程序负责对.hex文件的分析,并根据分析结果,通过SJA1000,将每一个块的“头部”和有效数据有区别地向CAN总线上发送,直到遇到文件结束符为止。单片机控制程序负责接收从SJA1000上传的CAN总线上的数据,分析数据的性质(即该帧数据是“头部”还是有效数据),然后通过DSP芯片的HPI并行口将有效数据正确地写入相应的内存地址。

  本文研究的这项技术提供了一种简单易行、成本低廉的DSP程序加载方法。这项技术具有高度的可靠性、灵活性和实用性。此项技术用于磁悬浮列车这样一个复杂的DCS系统后,能够很好地控制列车上众多基于DSP芯片的系统的程序加载,并方便地对它们进行调试,使这些系统能根据不同的需要执行不同的程序,取得了很好的效果。目前上海引进的磁悬浮列车也采用了此项在线调试技术。

关键字:CAN总线  DSP芯片 引用地址: 采用CAN总线实现DSP芯片程序的受控加载

上一篇:基于DSP的异步电机矢量控制系统设计
下一篇:DSP和加速度计等器件使得家用监测设备成为可能

推荐阅读最新更新时间:2024-05-02 23:03

基于Cortex-M3内核芯片LM3S2965的CAN总线节点设计
引言   CAN总线具有通信速率高、可靠性高、连接方便和性能价格比高等诸多特点。CAN(Controller Area Network,控制器局域网)属于总线式通信网络,它是一种专门用于工业自动化领域的网络,不同于以太网等管理和信息处理用网络,其物理特性及网络协议特性更强调工业自动化的底层监测及控制。它采用了最新的技术及独特的设计,可靠性和性能超过了已陈旧的现场通信技术,如RS485、BITBUS等。   多数采用微处理器结合CAN控制器芯片的硬件方案,软件实现上是对CAN控制器芯片的寄存器编程,比较繁琐。Luminary Micro公司(现已被TI公司收购)所提供的Stellaris系列是基于 ARM Cortex-M3
[安防电子]
基于Cortex-M3内核芯片LM3S2965的<font color='red'>CAN总线</font>节点设计
电液伺服机构与CAN总线接口设计
1前言   在新型导弹制导和控制系统中采用总线式的数据传输方案,是解决现行的导弹飞行控制系统中,通过点对点直接连接的电缆网传输模拟信号造成的结构复杂、可靠性低、系统的电磁兼容性与抗毁伤能力等诸多弊病的一个较好的途径。电液伺服机构是导弹控制系统中重要的组成部分。它的性能往往严重影响到导弹的控制精度,甚至决定飞行的成败。在总线式导弹控制系统中,导弹电液伺服机构将作为总线上的一个节点挂接在总线上,因此必须设计一个将总线与电液伺服机构连接起来的 接口 。导弹总线式控制系统结构如图1所示。   在导弹飞行中,惯性敏感元件获得导弹的飞行参数后,送到弹上计算机,经过计算机运算后形成控制指令,指令被送到导弹的电液伺服机构,通过导弹电液
[工业控制]
电液伺服机构与<font color='red'>CAN总线</font>接口设计
CAN总线及CAN通讯协议
  CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。         一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强
[嵌入式]
CPLD应用于嵌入式系统与CAN总线网络通信
  1.引言   可编程逻辑器件PLD(Programmable logic Device)就是由用户进行编程实现所需逻辑功能的数字专用集成电路ASIC。可编程逻辑器件在现代电子工程设计中得到了广泛应用。它是在PAL,GAL等逻辑器件的基础上发展起来的,具有高密度,高速度,低功耗体系结构和逻辑单元,灵活以及运用范围宽等特点,同时还具有设计周期短,制造成本低,开发工具先进,标准产品无需测试,质量稳定及可实时布线检验等优点。   现场总线技术广泛应用于工业和军用测控局域网中,它可以实现较远距离、较快速度的信息传输,而且只需要双绞线作为传输媒介,简单可靠。但是,在该技术应用中总线控制器与微机之间的接口电路一般采用单片机来
[嵌入式]
CPLD应用于嵌入式系统与<font color='red'>CAN总线</font>网络通信
基于CAN总线交通信号灯动态调整系统的设计
国内红绿灯交通控制系统中红绿灯切换时间广泛采用固定或者分时段变化的时间间隔,或者由交通指挥中心根据交通状况调整时间间隔,不能够根据实际的交通状况进行动态切换,也不能够根据道路状况预先干预,防止交通恶化。在极端情况下,可能会出现有车的方向红灯禁行,没车的方向绿灯通行的现象。这种方式低效、严重依赖于交管部门的工作效率,且一般只能在交通恶化后才可能介入,不能提前预防。为此本文提出了一种基于CAN总线的红绿灯动态调整系统,它能够根据实际交通状况实时调整红绿灯时间,可以降低道路拥堵几率,保障交通畅通。 1 总体设计方案 总体设计方案如图1所示。图1(a)为每个路口的红绿灯控制器,其中环形线圈和红绿灯之间的虚线表示两者之问的联动关系。图1(
[单片机]
基于<font color='red'>CAN总线</font>交通信号灯动态调整系统的设计
嵌入式CAN总线控制器与DSP的接口
现场总线是一种开放式、 数字化、多点通信的控制系统局域网络, 是当今自动化领域中最具有应用前景的技术之一。CAN总线是现场总线中的应用热点,CAN总线支持分布式控制和适时控制的串行通信网络。   由于CAN总线具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越受到人们的关注。基于CAN总线的CAN控制器具有完成CAN总线通信协议所要求的全部必要功能,因此CAN总线控制器与其它微处理器的接口成为设计CAN总线系统的首要工作。   当前已有一些微处理器将CAN控制器嵌入到系统之中,成为在片的微处理器,例如P8XC592 (其内核即为80C51的CPU),MCS96系列中的 87C196
[嵌入式]
脱机视频图象编/解码系统中高速DSP芯片应用方案
视频图象编/解码的目的一方面要将模拟视频信号转化为数字信号来传输,另一方面,由于单纯的视频模数转换所得到的图像数据量非常庞大,必须应用图象压缩技术减少数据量。在图象编/解码领域有两种实现方式,一种是基于微机平台的实现方式,图象数据通过微机软件或者是利用基于微机总线的图象处理卡进行压缩编码,并且可以通过PC网络进行数据传输。另一种方式抛开了微机平台,应用DSP为主的微处理器算法对图象进行压缩/解压缩的编/解码处理。后一种方式构成的系统被称为脱机图象系统。脱机图象系统由于设备体积小,应用灵活简便,受到广泛的关注。随着微处理技术的发展,专用的图象压缩/解压缩ASIC芯片涌现,图象处理算法已经集成于ASIC中,这就简化了脱机图象系统的
[嵌入式]
脱机视频图象编/解码系统中高速<font color='red'>DSP芯片</font>应用方案
STM32 CAN总线传输波特率的计算
本人用的单片机是STM32F407,其它型号的单片机类似,可做参考! 一、标准CAN协议位时序概念 由于CAN属于异步通讯,没有时钟信号线,连接在同一个总线网络中的各个节点会像串口异步通讯那样,节点间使用约定好的波特率进行通讯。 同时,CAN还使用“位同步”的方式来抗干扰、吸收误差,实现对总线电平信号进行正确的采样,确保通讯正常。 为了实现这个位同步,CAN协议将每个位的时序分解为四段:SS段、PTS段、PSB1段、PBS2段。同时定义最小的时间单位:Tq,四个段的长度用x个Tq表示,加起来就是一个位的时序。 用一个图来表示可能会形象一点,如图一个位的时序就是19Tq。 以上就是CAN标准协议定义的位时序,而S
[单片机]
STM32 <font color='red'>CAN总线</font>传输波特率的计算
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved