微波EDA网,见证研发工程师的成长! 2025婵犵數濮撮惀澶愬级鎼存挸浜炬俊銈勭劍閸欏繘鏌i幋锝嗩棄缁炬儳娼¢弻鐔告綇閸撗呮殸缂備胶濯崹鍫曞蓟閵娾晜鍋嗛柛灞剧☉椤忥拷04闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晜閽樺缃曢梻浣虹帛閸旀洟骞栭銈囦笉妞ゆ牜鍋為悡銉╂煟閺囩偛鈧湱鈧熬鎷�28闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈡晝閳ь剛绮eΔ浣虹闁瑰瓨鐟ラ悘鈺冪磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偞鐗犻、鏇㈠Χ閸屾矮澹曞┑顔结缚閸樠冣枍瀹ュ洠鍋撶憴鍕;闁告濞婇悰顕€宕堕澶嬫櫌婵犵數濮撮幊澶愬磻閹捐閿ゆ俊銈勮兌閸欏棝姊虹紒妯荤闁稿﹤婀遍埀顒佺啲閹凤拷濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姳鍗抽弻鐔虹磼閵忕姵鐏堢紒鐐劤椤兘寮婚妸鈺傚亞闁稿本绋戦锟�
首页 > 硬件设计 > 嵌入式设计 > 基于通道控制的双余度DSP设计

基于通道控制的双余度DSP设计

时间:03-17 来源:3721RD 点击:

引言

具有自动控制功能的电子设备已广泛应用于我国多型机上,用于飞机上各机载设备的控制、调节等功能。如图1所示,其控制系统主要由传感器信号输入、核心控制板及经过处理驱动后的控制信号输出,最后输出到机上的具体应用。本文将主要介绍如何利用通道复用技术设计实现具有双余度DSP的控制板部件,重点描述如何实现系统的双余度DSP设计、双DSP间如何通讯以及DSP的故障判定法则等。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

控制板硬件设计

控制板的硬件框图如图2所示,主要由外部信息采集单元、双余度DSP模块、应用处理及其输出单元等组成。其中,双余度单元的CPU选用16位定点DSP TMS320LF2407A,其运行最高速率可达40MHz、片内集成多种外设。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

图中,两个DSP通过CAN总线及I/O口进行控制信息交换及数据通信。两个DSP分别与收发器1、收发器2相连,这两个通道与外部数据或控制总线是相连的,即共享一个外部接口,通道控制逻辑使同一时刻只能有一个通道打开,保证系统工作的稳定性。其中DSP1是控制逻辑的主控制机,在正常工作的情况下由它控制着相应通道的通断及当前主控CPU。每个DSP都有自己的EEPROM存储器,用于存储系统的各种即时信息,并通过CAN总线在双机间进行传输。控制板工作时采集传感器及外部控制信息,通过CPU运算处理后由其对应的通道输出控制信息到相应控制盒,控制相应设备的动作。

双余度DSP模块硬件设计

双余度DSP模块是本设计的重点,其硬件原理如图2的双余度DSP模块。它由双DSP核及通道控制逻辑两部分组成。其中DSP1为主CPU,DSP2为辅CPU。当系统上电启动后主CPU通过I/O口通知辅CPU进行自检并采集其自检信息,同时当主CPU的EEPROM内容发生改变时,主CPU通过CAN总线发送相应的数据给辅CPU以更新辅CPU的EEPROM内容,如图3所示。图中CAN收发器为两个对连的CAN总线收发器,负责实现双机间系统即时信息的传送,并存储于各自对应的EEPROM中,供维护和查询。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

通道控制逻辑决定着整个系统的当前工作CPU,即当其中一个CPU被认为有故障时,通道控制逻辑将主动或是被动地切换到系统认为没有故障的CPU,或决定由其中的一个CPU强制工作。通道控制逻辑的硬件原理如图4所示。所谓的主动切换是指当主DSP通个自检发现自身有故障(包括其对应的通道故障),而其程序能正常工作的情况下,由其程序产生的通过控制I/O口的逻辑电平而产生的通道切换。被动切换是指非DSP自检的因素产生,而是由于通道控制逻辑本身硬件故障引起的通道意外切换。通道控制逻辑硬件由门电路组成,能有效地防止双机的抢权问题。同时控制逻辑返回给两个DSP一个"CTL_BACK"状态回读信号,用于判断当前的通道情况。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

主DSP通过控制输入端口的逻辑状态来使能相应的通道,只有当两个控制端同时有效时选通主通道,此时主DSP工作。其他任何状态都将打开辅通道。可以有效避免由于主控DSP I/O口失效而产生不能切换的后果。同时主DSP不断检测"CTL_BACK"状态回读信号的状态,否则将产生被动切换,说明通道控制逻辑硬件故障。辅DSP上电后不断检测"CTL_BACK"状态回读信号,若检测到为有效,则说明通道已经切换到了辅通道,辅DSP开始工作。

应用处理及其输出单元

针对于不同的应用其处理及输出单元具有各自的特殊性,本应用要求输出多路电压控制信号,主要由带SPI接口的16路模数转换芯片及驱动电路组成,并通过DSP的I/O口控制D/A的复位、清零等操作。

系统软件

系统软件设计主要基于CCS2.2 Code Composer Studio集成开发环境,主程序采用汇编语言编写,软件调试及仿真完成。控制板DSP软件流程框图如图5所示,系统软件主要实现双机间的通讯及故障判别并切换,并完成控制任务处理。包括主DSP软件及辅DSP软件两部分,其中任务控制处理功能部分是相同的,重点在于双机间的交互问题。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

在双机交互的切换问题中,起主要作用的是通道的切换,当前打开的通道具有最高优先权,不管产生DSP切换的原因是什么,其最终的结果都将是当前只有一个通道是打开的,通道的切换可能是由主DSP程序主动控制而切换,或是控制逻辑本身的硬件原因,但是只有这个对应的打开通道的DSP能真正控制外部的输出,这即所谓的通道分用。切换依据如图5所示。

系统应用控制软件主要实现系统的具体的应用功能,主要由以下功能子程序组成:系统自检子程序、双机交互及故障判断切换子程序、控制应用功能子程序等。其中主DSP、辅DSP双机交互软件流程如图6a、图6b所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...

结语

双余度DSP系统在对控制器要求较高的场合具有很好的实用意义,其基于通道复用的硬件设计结构简单且易于实现,有效地解决了双机共同工作的权限

鐏忓嫰顣舵稉鎾茬瑹閸╃顔勯弫娆戔柤閹恒劏宕�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top