姬盼盼 單如月 戰京景
摘要:HI-3593可單片實現ARINC429通訊功能。使用DSP2812的SPI接口控制HI-3593進行ARINC429總線通訊,軟硬件設計實現簡單、方便,可在航空領域廣泛應用。
關鍵詞:ARINC429 HI-3593;SPI
Design and Research of ARINC429 communication module Based on HI-3593
1.引言
隨著航空技術的發展,航空電氣設備小型化的需求越來越迫切。HOLT公司的HI-3593單片芯片具有總線接口和總現驅動功能,單片實現ARINC429通訊功能。
2.通訊系統硬件設計
如圖1所示,采用DSP2812作為主控制器。采用HI-3593接收器1作為總線接收端口,MR端實現HI-3593復位功能。HI-3593與DSP2812的SPI連接關系:
DSP2812 的SPI_STEA、SPI_SIMO、SPI_SOMI、SPI_CLK分別連接HI3593的/CS、SI、SO、CLK。
HI3593要求時鐘頻率為1MHz[1]。可通過外接時鐘和配置內部分頻寄存器(ACLK)實現。外部有源晶振為10MHz,內部分頻寄存器可配置為0x00。
3.通訊系統軟件設計
HI-3593的SPI通訊過程中,采用“操作碼+數據碼”的形式[2]。HI-3593軟件初始化配置流程如下:
1)配置時鐘,由于外部有緣時鐘為1MHz,使用“操作碼+數據碼”格式“0x38+0x00”,配置HI-3593時鐘為1MHz;
2)使用“操作碼+數據碼”格式“0x04”,復位HI-3593;
3)使用“操作碼+數據碼”格式“0x08+0x64”,配置發送控制寄存器,實現波特率100Kbps、奇校驗、發送先發高字節再發低字節,數據寫入寄存器后立即發送的方式;
4)使用“操作碼+數據碼”格式“0x10+0x80”,配置接收器1控制寄存器,實現禁止SDI匹配、無校驗、禁止Lale濾波、波特率100Kbps。
軟件編程需要注意的是,DSP2812 的所有的控制寄存器都是8位,當寄存器被訪問時,數據位位于低8位,高8位為0,因此,寫入SPI這6個控制寄存器的高8位時無效的。但是數據寄存器SPIRXBUF、SPITXBUF都是16位的。SPITXBUF寄存器內存存放為左對齊,也就是從高位開始存儲,發送時現發送高位。數據在SPIRXBUF中存放是右對齊,也就是從低位開始存儲[3]。因此,通過SPITXBUF發送8位數據時,先將DPS2812發送給HI-3593的8位操作碼左移8位后,寫入SPITXBUF。例如SPI發送操作碼0x38時,需要左移8位,發送0x3800。
HI-3593發送操作流程如下:
將32位ARINC429 總線字存入數組data[4]中,其中,bit32-bit25放入data[0]中,bit34-bit17放入data[1]中,依次類推,先存高字節,后存低字節;查詢發送寄存器為空時,發送數據,具體流程圖見圖2右邊部分所示。
HI-3593接收操作流程如下:
使用操作碼“0xA0”,進行ARINC429接收操作,先接收低字節,在接收高字節。其中,bit3-bit0放入Rcvdata[0]中,bit7-bit4放入Rcvdata[1]中,依次類推。如圖2左邊部分所示。
4 結束語
本文敘述了使用DSP2812控制HI-3593進行ARINC429總線通訊的設計方法。可使用SPI進行控制,軟件、硬件設計簡單,在航電系統中具有較強的實用性。
參考文獻
[1]HOLT.HI -3593 3.3V ARINC429 Dual Receiver [A].SingleTransmitter with SPI Interface,2013:1-24
[2]張妙琳.基于VxWorks 的ARINC429總線驅動開發[J].工業控制計算機,2016(29):3-4
[3]顧衛鋼.手把手教你學DSP--基于TMS320X281[M].北京:北京航空航天大學出版社,2011
作者簡介:姬盼盼(1987.12.03)男,漢族,天津人,碩士學歷,中級職稱,從航空電氣研究工作。現就職于天津航空機電有限公司。
(作者單位:天津航空機電有限公司)