采用CAN总线实现DSP芯片程序的受控加载
该技术使对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机的
DSP CAN总线 DSP芯片程序的受控加载 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...