色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的1553B總線接口電路設(shè)計(jì)

          基于DSP的1553B總線接口電路設(shè)計(jì)

          作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏
          基于DSP的1553B總線接口電路設(shè)計(jì)

          4 軟件驅(qū)動設(shè)計(jì)

          接口的軟件驅(qū)動設(shè)計(jì)主要應(yīng)用C語言與匯編語言混合編程方式,這樣有著較好的升級性和高效性。軟件程序目的就是通過上位機(jī)的命令來控制接口卡完成系統(tǒng)啟動、自檢、自檢返回、系統(tǒng)停止等工作。在系統(tǒng)啟動后,完成對的讀取和采集。軟件驅(qū)動的主要功能是要完成C6713和的初始化和中斷服務(wù)程序,控制RAM空間的自檢、與上位機(jī)的通信、中斷響應(yīng)、總線數(shù)據(jù)的讀取發(fā)送。驅(qū)動程序的結(jié)構(gòu)框圖如圖5所示。

          基于DSP的1553B總線接口電路設(shè)計(jì)

          4.1 芯片的初始化

          本文最終將用于的采集工作,總線接口卡主要是工作在MT模式下,記錄來自機(jī)載火控系統(tǒng)的飛行數(shù)據(jù),為后期的數(shù)據(jù)記錄、數(shù)據(jù)分析做好準(zhǔn)備。

          1)對的初始化

          在MT模式下,要完成對的初始化設(shè)置包括初始化相應(yīng)寄存器,設(shè)置中斷屏蔽,使其能正確實(shí)現(xiàn)MT功能。對BU-61864的初始化有非常嚴(yán)格的順序,順序不對可能引起芯片初始化失敗,有關(guān)寄存器的配置順序如下:

          ①首先進(jìn)行軟件復(fù)位,即將開始/復(fù)位寄存器設(shè)置為0X0001,使BU-61864進(jìn)入復(fù)位。

          ②配置寄存器3,使其為0X8000,進(jìn)入增強(qiáng)模式。

          ③中斷屏蔽寄存器設(shè)置成0X0001,使能消息完成中斷。

          ④初始化地址查找表、非法指令表、子地址寄存器等。

          ⑤配置寄存器1設(shè)置為0X5000,BU-61864進(jìn)入消息監(jiān)測模式。

          ⑥配置寄存器2設(shè)置成0X0008,使中斷方式為低電平中斷。

          ⑦將開始/復(fù)位寄存器配置成0X0002,來啟動BU-61864的MT模式。

          BU-61864初始化流程圖如圖6所示。

          基于DSP的1553B總線接口電路設(shè)計(jì)

          2)對C6713的初始化

          對C6713的初始化也是設(shè)置相關(guān)寄存器,但是它的主要是有關(guān)寄存器的中斷和串口設(shè)置。包括:中斷屏蔽寄存器(IMR)、中斷使能寄存器(IER)、中斷標(biāo)志寄存器(IFR)、中斷控制寄存器(ICR),波特率設(shè)置寄存器(SCIBAUD)等。同時(shí),C6713還要根據(jù)選擇來決定通過C語言程序還是EMDA搬移數(shù)據(jù),據(jù)此初始化相應(yīng)寄存器。若用C語言編寫,需要使能EINT4中斷。若用EMDA,可以不需要CPU參與,減輕工作壓力,那么初始化內(nèi)容有:使能全局中斷、使能EMDA完成中斷、對讀通道事件寄存器清零、對讀寫通道的CIPR清零、使能讀寫通道的通道中斷使能寄存器。

          4.2 自檢任務(wù)描述

          自檢模塊的主要任務(wù)就是完成對BU-61864的4kbRAM空間的檢查,檢測RAM空間是否出現(xiàn)錯(cuò)誤。具體的操作方法可以向RAM內(nèi)存空間寫入連續(xù)的數(shù)據(jù),然后讀出來,與原數(shù)據(jù)進(jìn)行比較看是否相等,如果是不相等的,那么表示有錯(cuò)。最后將記錄下的所有的錯(cuò)誤數(shù)通過串行口發(fā)送給上位機(jī)。

          4.3 查詢?nèi)蝿?wù)描述

          在數(shù)據(jù)查詢模塊中,通過查詢“讀總線數(shù)據(jù)標(biāo)志位”來進(jìn)行總線數(shù)據(jù)的接收、轉(zhuǎn)發(fā)和上位機(jī)命令的讀取。若“讀總線數(shù)據(jù)標(biāo)志位”的查詢結(jié)果有效,C6713就從BU-61864命令堆棧相應(yīng)的地址處對4個(gè)地址單元的內(nèi)容進(jìn)行依次讀取。4個(gè)地址單元的內(nèi)容分別為數(shù)據(jù)塊狀態(tài)字、時(shí)間標(biāo)志字、數(shù)據(jù)塊指針和接收到的命令字。然后根據(jù)命令字和數(shù)據(jù)塊指針到數(shù)據(jù)堆棧讀取總線數(shù)據(jù),最后將接收到的總線上的數(shù)據(jù)轉(zhuǎn)發(fā)出去。通過查詢“讀串口數(shù)據(jù)命令標(biāo)志位”是否有效來進(jìn)行接收上位機(jī)的命令,根據(jù)命令實(shí)現(xiàn)相應(yīng)功能。

          為了確保與上位機(jī)握手的可靠性,在查詢程序中設(shè)置一個(gè)數(shù)據(jù)緩沖區(qū)。并且在查詢程序中判斷緩沖區(qū)中的數(shù)據(jù),看收到的命令是否是一幀完整的命令。若是,則根據(jù)不同的命令設(shè)置系統(tǒng)的啟動、停止、自檢等相應(yīng)標(biāo)志,并將緩沖區(qū)中的數(shù)據(jù)依次向前移動一幀,數(shù)據(jù)指針也向前移動一幀。

          5 結(jié)束語

          采集記錄逐漸向高速、高效、大容量存儲的方向發(fā)展。芯片的出現(xiàn)和發(fā)展以其出色的運(yùn)算能力、高效的指令集、智能外設(shè)、大容量的片內(nèi)存儲器和大范圍的尋址能力使得機(jī)載火控?cái)?shù)據(jù)采集向著更好的方向發(fā)展。

          本文對數(shù)據(jù)總線協(xié)議進(jìn)行了詳細(xì)介紹,結(jié)合C6713的性能特點(diǎn),通過與協(xié)議芯片BU-61864的硬件接口和軟件設(shè)計(jì),實(shí)現(xiàn)了與1553B數(shù)據(jù)總線接口的MT設(shè)計(jì)。本文用途明確,將為機(jī)載火控?cái)?shù)據(jù)的采集記錄有著實(shí)用價(jià)值。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉