基于DSP的1553B總線系統(tǒng)設計與實現(xiàn)
通過對以上寄存器的配置。即可完成BC模式的操作。其初始化流程圖如圖4所示。本文引用地址:http://m.butianyuan.cn/article/151369.htm
4.2 自檢模塊
自檢模塊主要完成對BU-64843的4 kB RAM空間的檢查,看是否出現(xiàn)錯誤。實現(xiàn)方法是向該內存空間寫入連續(xù)的數(shù)據(jù),然后讀出來比較看是否相等,若不相等則表示有錯,記錄下所有的錯誤數(shù)并把這個錯誤數(shù)通過串行口發(fā)送給上位機。
4.3 中斷模塊
驅動程序的中斷模塊分為2部分:1)用于接收1553B總線到來的數(shù)據(jù),響應1553B總線數(shù)據(jù)的中斷。利用F2812的XINTl,XINTl采用脈沖下降沿觸發(fā)中斷方式;2)用于接收上位機向DSP發(fā)送的命令,接收上位機的命令是通過F2812的串行通信接口(SCI)來進行的,利用F2812的SCIT-XRXINT中斷。在XINTl中斷服務子程序中設置“讀總線數(shù)據(jù)標志”,在異步串口中斷服務子程序中設置“讀串口數(shù)據(jù)命令標志”。在查詢模塊中,可以通過查詢這兩個標志,來判斷是否有總線數(shù)據(jù)到來以及是否有上位機的命令到來。
4.4 查詢模塊
在查詢模塊中,當“讀總線數(shù)據(jù)標志位”有效時,F(xiàn)2812就從BU-64843的命令堆棧相應地址處開始依次讀4個地址單元的內容。分別為數(shù)據(jù)塊狀態(tài)字、時間標志字、數(shù)據(jù)塊指針和接收到的命令字,根據(jù)命令字和數(shù)據(jù)塊指針到數(shù)據(jù)堆棧讀取總線數(shù)據(jù),然后將接收到的總線上的數(shù)據(jù)轉發(fā)出去。
當“讀串口數(shù)據(jù)命令標志位”有效時,RX接收上位機的命令,根據(jù)不同的命令實現(xiàn)相應的功能。為了能夠保證與上位機實現(xiàn)可靠的握手,在查詢程序中設置了一個數(shù)據(jù)緩沖區(qū),在查詢程序中對緩沖區(qū)中的數(shù)據(jù)進行判斷,看是否收到一幀完整的命令。若收到一幀完整的命令,則根據(jù)不同的命令設置系統(tǒng)的啟動、停止、自檢等相應標志,并將緩沖區(qū)中的數(shù)據(jù)依次向前移動一幀,數(shù)據(jù)指針也向前移動一幀。
5 結論
本文對1553B總線協(xié)議及其接口芯片BU-64843的功能、配置進行詳細說明,并介紹了定點DSP TMS320F2812的基本性能和特點。在此基礎上實現(xiàn)了基于F2812和BU-64843的1553B總線接口的硬件電路和軟件的設計。BU-64843作為全3.3 V供電的1553B總線終端之一,方便與DSP芯片F(xiàn)2812連接。BU-64843芯片功能強大,同時設置也很復雜,因此,對接口芯片的掌握,不但要從硬件接口上入手,還要熟悉其內部寄存器的相關配置?;贒SP的1553B總線接口設計方案有效解決了通訊實時性要求高的問題,對地面電子檢測系統(tǒng)的應用具有參考價值。
評論