基于DSP的1553B總線接口電路設計
4 軟件驅動設計
接口的軟件驅動設計主要應用C語言與匯編語言混合編程方式,這樣有著較好的升級性和高效性。軟件程序目的就是通過上位機的命令來控制接口卡完成系統(tǒng)啟動、自檢、自檢返回、系統(tǒng)停止等工作。在系統(tǒng)啟動后,完成對機載火控數(shù)據(jù)的讀取和采集。軟件驅動的主要功能是要完成C6713和BU-61864的初始化和中斷服務程序,控制RAM空間的自檢、與上位機的通信、中斷響應、總線數(shù)據(jù)的讀取發(fā)送。驅動程序的結構框圖如圖5所示。
4.1 芯片的初始化
本文最終將用于機載火控數(shù)據(jù)的采集工作,1553B總線接口卡主要是工作在MT模式下,記錄來自機載火控系統(tǒng)的飛行數(shù)據(jù),為后期的數(shù)據(jù)記錄、數(shù)據(jù)分析做好準備。
1)對BU-61864的初始化
在MT模式下,要完成對BU-61864的初始化設置包括初始化相應寄存器,設置中斷屏蔽,使其能正確實現(xiàn)MT功能。對BU-61864的初始化有非常嚴格的順序,順序不對可能引起芯片初始化失敗,有關寄存器的配置順序如下:
①首先進行軟件復位,即將開始/復位寄存器設置為0X0001,使BU-61864進入復位。
②配置寄存器3,使其為0X8000,進入增強模式。
③中斷屏蔽寄存器設置成0X0001,使能消息完成中斷。
④初始化地址查找表、非法指令表、子地址寄存器等。
⑤配置寄存器1設置為0X5000,BU-61864進入消息監(jiān)測模式。
⑥配置寄存器2設置成0X0008,使中斷方式為低電平中斷。
⑦將開始/復位寄存器配置成0X0002,來啟動BU-61864的MT模式。
BU-61864初始化流程圖如圖6所示。
2)對C6713的初始化
對C6713的初始化也是設置相關寄存器,但是它的主要是有關寄存器的中斷和串口設置。包括:中斷屏蔽寄存器(IMR)、中斷使能寄存器(IER)、中斷標志寄存器(IFR)、中斷控制寄存器(ICR),波特率設置寄存器(SCIBAUD)等。同時,C6713還要根據(jù)選擇來決定通過C語言程序還是EMDA搬移數(shù)據(jù),據(jù)此初始化相應寄存器。若用C語言編寫,需要使能EINT4中斷。若用EMDA,可以不需要CPU參與,減輕工作壓力,那么初始化內容有:使能全局中斷、使能EMDA完成中斷、對讀通道事件寄存器清零、對讀寫通道的CIPR清零、使能讀寫通道的通道中斷使能寄存器。
4.2 自檢任務描述
自檢模塊的主要任務就是完成對BU-61864的4kbRAM空間的檢查,檢測RAM空間是否出現(xiàn)錯誤。具體的操作方法可以向RAM內存空間寫入連續(xù)的數(shù)據(jù),然后讀出來,與原數(shù)據(jù)進行比較看是否相等,如果是不相等的,那么表示有錯。最后將記錄下的所有的錯誤數(shù)通過串行口發(fā)送給上位機。
4.3 查詢任務描述
在數(shù)據(jù)查詢模塊中,通過查詢“讀總線數(shù)據(jù)標志位”來進行1553B總線數(shù)據(jù)的接收、轉發(fā)和上位機命令的讀取。若“讀總線數(shù)據(jù)標志位”的查詢結果有效,C6713就從BU-61864命令堆棧相應的地址處對4個地址單元的內容進行依次讀取。4個地址單元的內容分別為數(shù)據(jù)塊狀態(tài)字、時間標志字、數(shù)據(jù)塊指針和接收到的命令字。然后根據(jù)命令字和數(shù)據(jù)塊指針到數(shù)據(jù)堆棧讀取總線數(shù)據(jù),最后將接收到的總線上的數(shù)據(jù)轉發(fā)出去。通過查詢“讀串口數(shù)據(jù)命令標志位”是否有效來進行接收上位機的命令,根據(jù)命令實現(xiàn)相應功能。
為了確保與上位機握手的可靠性,在查詢程序中設置一個數(shù)據(jù)緩沖區(qū)。并且在查詢程序中判斷緩沖區(qū)中的數(shù)據(jù),看收到的命令是否是一幀完整的命令。若是,則根據(jù)不同的命令設置系統(tǒng)的啟動、停止、自檢等相應標志,并將緩沖區(qū)中的數(shù)據(jù)依次向前移動一幀,數(shù)據(jù)指針也向前移動一幀。
5 結束語
機載火控數(shù)據(jù)采集記錄逐漸向高速、高效、大容量存儲的方向發(fā)展。DSP芯片的出現(xiàn)和發(fā)展以其出色的運算能力、高效的指令集、智能外設、大容量的片內存儲器和大范圍的尋址能力使得機載火控數(shù)據(jù)采集向著更好的方向發(fā)展。
本文對1553B數(shù)據(jù)總線協(xié)議進行了詳細介紹,結合C6713的性能特點,通過與協(xié)議芯片BU-61864的硬件接口和軟件設計,實現(xiàn)了與1553B數(shù)據(jù)總線接口的MT設計。本文用途明確,將為機載火控數(shù)據(jù)的采集記錄有著實用價值。
評論