一种基于CAN总线的DSP程序加载技术
关键词:CAN总线 单片机 DSP HPI ISA
磁悬浮列车上有很多基于DSP芯片的模块和系统。目前,(凹丫丫范文网fanwen.oyaya.net收集整理)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)组成,每一个块的第一个字节表示当前块包含的待加载的有效数据
《一种基于CAN总线的DSP程序加载技术》