基于CAN总线的DSP芯片程序的受控加载实现

发布者:WhisperingWinds最新更新时间:2012-11-12 来源: 21ic关键字:CAN总线  DSP芯片程序  受控加载 手机看文章 扫描二维码
随时随地手机看文章
   

该技术使对DSP芯片程序的加载可以脱离仿真器而直接受控于列车的主控机。该技术可靠性高、使用灵活方便,具有很强的实用性。

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

 

CAN总线结构图

 

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则是首地址,每次读或写操作后它都会自动指向下一个待读写的地址。

 

[page]

 

   

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分别为读写控制信号。

4.2 软件实现

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

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

 

   

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

上一篇:基于DSP的有源降噪系统分析与研究
下一篇:基于CPLD的DSP人机接口模块的设计

推荐阅读最新更新时间:2024-05-02 22:26

汽车CAN总线局域元件的组成
CAN总线局域元件的组成  1.CAN-BUS局域网的基本系统       汽车控制局域网(CAN)有若干个控制单元、CAN数据传输系统、K线(对于大众车系而言)组成,如图所示:主要有动力CAN总线、3个控制单元(ABS-ECU、AT-ECU、E-ECU)、检测线K线三大部分构成。                          汽车控制局域网结构图 (图片来源于网络) 2 各部件的功能  (1)K线:      它是汽车工业当中广泛采用的一种通信总线标准,在许多场合都有着广泛的应用,在此系统中用于诊断时连结检测仪器。  (2)控制单元:      实现一种或多种控制规律的控制仪表或控制部件。简单地
[嵌入式]
基于CAN总线的旋转编码器采集模块设计
0 引言     随着工业生产自动化水平的提高,各种传感器的应用也越来越多。旋转编码器作为速度和位移反馈的传感器,主要应用于数控机床、高精度的闭环调速系统、伺服电动机、异步电动机、步进电动机、电梯曳引机、电梯门机乃至机械轴等需要对运动速度和位移信息反馈的自动化控制场合,以保证机械的高精度稳定运转,进而提高生产效率和保障安全运营。     本文针对旋转编码器在工业现场中的应用,基于LPCI768硬件平台,设计出一种旋转编码器采集模块,该模块内部具有高精度分析、整形、解码电路,可同时对2路编码器输入信号进行分析、解码。经过处理的旋转信号通过高性能处理器进行采集及数字滤波。旋转编码器同时还对2路编码器信号进行角速度计算,最终模块
[嵌入式]
找到CAN总线(故障)节点的三种办法
CAN总线的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,在带来便利的同时,也为工程师们故障排查增加了难度,所以本文主要给大家介绍了找到CAN总线(故障)节点的三种办法。 1、 将所有节点都拔掉,依次往上接。 当CAN总线出现故障后将所有节点都拔掉,之后一个一个节点往上接,接到系统出错时,即找到最后一个插入节点为故障节点。如下这种情况,图1为新能源车控制总线,车辆启动后仪表显示滞后,显示错误。导致司机判断延迟与错误,影响交通安全。将所有节点拔掉之后,采用此方法挨个节点往上接,直到电机控制器接到总线上出现了通信故障,初步判断为电动机运行产生的强干扰,串扰到CAN总线上,导致帧错误增加,重发频繁,正
[嵌入式]
找到<font color='red'>CAN总线</font>(故障)节点的三种办法
电动汽车CAN总线通讯研究及设计
虚拟仪器(Vinual Instrument,简称VI)是日益发展的计算机硬、软件和总线技术在向其他相关技术领域密集渗透的过程中,与测试技术、仪器仪表技术密切结合共同孕育出的一项全新的成果。由于仪器的专业化功能和面板控件都是由软件形成,因此国际上把这类新型的仪器称为“虚拟仪器”。它是利用微机的数据处理和图形处理功能,将传统物理仪器的专业化功能和面板控件软件化,与检测数据间的接口也通过计算机软件来实现。从虚拟仪器显示面板(如虚拟显示屏、数码显示器和指示灯及示波器等,其在功能上与各种物理仪器相对应)可了解仪器的状态,读取测试结果进行分析。 1 车辆称重传感器概述 本文根据虚拟仪器的特点,利用电容称重传感器的车辆载荷检测装置,以
[嵌入式]
CAN总线信号传输的位定时与位同步理论
CAN协议与其它现场总线协议的区别中有一个是:它使用同步数据传输而不是异步传输(面向字符)。这意味着传输性能得到更有效的发挥,但是另一方面,这需要更加复杂的位同步方法。   在面向字符的协议中的位同步实现起来很简单,在接受每个字符的起始位时进行同步。但在同步传输协议中,只有一帧的开始才有一个起始位。这通常不足以使接收器的位采样和发送器保持同步。为了使接收器在帧结束时也能正确采样到接收的位流,就需要接收器不断进行重新同步。重新同步表示在位流中每个有效的信号边沿都可对接收信号的时钟周期进行检测。在信号边沿间的最大时间周期内,发送和接受振荡器之间最大可能的时间差必须在一个位间隔内的标称采样点之前和之后通过足够的空闲时间(“相位缓冲段”
[嵌入式]
CAN总线在测温系统中的应用
    控制器局部网(controller area network,CAN)属于现场总线的范畴,它是一种有效支持分布式控制的串行通讯网络,被公认为是最有前途的现场总线之一。本文利用MAX6675测温芯片作为传感器,使用CAN总线标准设计了一种智能测温系统(适用范围0℃~+1023.5℃)。该系统精度高(±0.5℃)、可靠性好、结构简单、成本低,在适用范围内可取代传统的测温系统,对该系统稍加修改,可使它应用于在多种测温场合。 1 硬件设计     硬件电路由微处理器、CAN控制器、测温芯片MAX6675、LED、键盘、复位电路、蜂鸣器等几部分组成,如图1所示。单片机AT89C51是硬件电路的核心,承担CAN 控制器的初始化、数据收发
[嵌入式]
CAN总线在中央空调控制系统中的应用
    摘要: 介绍了基于CAN总线的中央空调控制系统,并对系统的总体设计方案及软、硬件设计进行了分析及讨论。该系统能实现高精度温度、湿度的自动控制。     关键词: 现场总线 CAN总线 单片机 控制系统 中央空调控制系统是智能建筑中不可缺少的组成部分。传统的控制方法是采用DDC(直接数字控制器)方式,将各个温度、湿度检测点和控制点连接到一台或多台DDC上,实行多点实时监控。由于现代智能建筑楼层较多,多个空调风机位于不同楼层,温、湿度检测点分布于各个房间,采用DDC方式进行控制具有引线过长、施工不便、系统通信的实时性和可靠性不高等缺点。 在各种通信方式中,面向工业控制的现场总线技术是目前解决工业控制现
[应用]
基于C8051F550的智能节点的设计
CAN总线最早是德国的BOSCH公司为解决汽车的监测,控制系统而设计的。现在,已由汽车行业扩展到过程工业,机械工业,机器人和楼宇自动化等领域。总结各个领域中的应用实例,CAN通信设计的关键在于各个通信模块的设计与实现。通信信号一般有模拟量输入/输出(电压电流采集模块),开关量输入\输出,数字量输入\输出(如计数器模块)等。本文重点就模拟量输入模块和开关量输入模块的设计,采用具有CAN接口的C8051F550单片机作为系统设计的从节点,用来采集模拟量和开关量,实现与上位机中央控制器的通信。 1 CAN总线通信网络系统 如图1所示,本设计中通过带有终端器(120欧电阻)的通信介质(双绞线)将上位机和底层模块连接起来。实验中
[单片机]
基于C8051F550的智能节点的设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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