高 楊,王則勝
(鎮江船艇學院,江蘇鎮江212003)
隨著計算機、電子技術的發展,越來越多的數字化的航海儀器被應用到艦船上來,如GPS導航儀、北斗導航儀、羅蘭 C、數字氣象儀、測深儀、加裝磁航向傳感器的磁羅經等,這些航海儀器各司其職為艦船安全航行提供了重要保證,對于部分小型艦船這些儀器只能獲取艦船當前航行過程中的相關數據,并不能傳遞、處理、利用彼此的信息,由于這些儀器安裝位置比較分散,航行數據需要人工單獨采集整理,比較費時費力,不利于船長在緊急情況下做出情況處置,尤其在戰時,對于贏得戰場戰機比較被動。本論文的研究內容就是設計一個導航儀器的信息采集及轉發裝置,將比較分散的各相關的航海數據以電子顯示的方式顯示在帶上位機的導航儀器上,以便船長綜合分析航行數據,為船長做出情況處置提供數據依據。
裝置主要由單片機控制電路、液晶驅動及顯示電路、光電隔離及電平轉換電路、鍵盤電路、CAN總線控制電路、旋轉編碼器等組成如圖1所示。裝置的控制核心選用了C8051F340單片機,該單片機具有高可靠性、高性能和強干擾能力,性價比高的優點[1]。裝置的主要完成以下任務:利用單片機自帶的串口采集標準的 IEC-61162-1異步串行信號如磁羅經的航向信息、北斗導航儀的位置信息、測深儀的水深信息等,利用可編程計數器/定時器陣列(PCA)采集編碼器的角度信息(角度可以是方位值也可以使舷角值),再對這些信息進行打包處理,最后將打包后的信息發送CAN總線供帶屏幕顯示的導航儀器接收,以達到信息共享的目的,同時利用液晶驅動及顯示電路顯示實際采集的數據[2]。

各航海儀器與裝置的連接主要是通過 RS232或RS485,電路的設計為了考慮裝置的通用性,設置了兩種電平轉換電路。考慮到裝置的安全,設計了光電隔離電路及將串行信號轉換為 TTL信號[3]。電路如圖2所示。
市面上8段數碼顯示電路眾多,考慮到裝置使用環境多在露天,8段數碼管的顯示效果不如液晶顯示效果,裝置的數據顯示采用1621芯片作為驅動,用于顯示采集到的數據[4]。
電路如圖3所示。


裝置采集到的信息采用 CAN總線的形式進行共享分發,本文設計的 CAN總線控制電路采用Philips公司生產的CAN微控制器SJA1000,該控制器符合 CAN2.0B協議,完全兼容PCA82C200;支持29位標識符模式,有64B的接收緩沖區、能通過驗收屏蔽碼寄存器和驗收碼寄存器對標準幀或擴展幀進行單向/雙向接收濾波;對 CAN總線上的每一個錯誤可進行錯誤中斷;可通過檢測具體位來仲裁丟失中斷等特性。通過與 RX、TX 連接的電路采用的是PCA82C250。它是SJA1000控制器與物理總線之間的接口,可以提供對總線的差動發送能力和對CAN控制器的差動接收能力,具有很強的抗干擾能力[5]。
本裝置的軟件框圖如圖4所示。主要用于系統自檢、鍵盤掃描、數據采集、數據顯示、數據轉發功能的實現。

整個系統軟件由主程序和子程序組成。主程序進行數據初始化設置,在系統通電后先進行系統自檢。子程序包括設置液晶顯示、鍵盤掃描、串口通信、PCA采集、CAN總線通信。鍵盤掃描采用中斷方式,用掃描法識別被按下鍵來選擇航海儀器數據源,采用串口中斷形式來查詢各航海儀器是否發送數據過來,采用可編程計數器PCA記錄旋轉編碼器的脈沖數來計算旋轉角度。航海儀器數據采集的實現流程圖如圖5所示。

上述單艦船航海儀器信息采集裝置在設計方面充分利用 C8051F340單片機自身的軟硬件資源,大大降低了軟硬件設計的復雜度和整個裝置開發、維護的成本,提高了系統的可靠性。相比其它實現方案,具有使用器件少、節約成本、調試方便等特點,很好地滿足了航海儀器信息采集對實時性、同步性、通用性的要求。此裝置在應用時配上不同的航海儀器,稍加改動,便可在艦船多個部門得到應用,因而具有較高的實用性和開發價值。
[1]尹海宏.基于單片機技術的數據采集系統的設計[J].信息技術,2008.
[2]唐寶成.基于C8051F020單片機的數據采集設計[J].科學與財富,2010.
[3]許文斌,曾全勝.單片機實時數據采集系統設計[J].機械與電子,2009.
[4]鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,2001:1-32.
[5]Philips Semiconductors.SJA1000Stand-alone CAN controller.Preliminary specification[M],1997:46-49.