CAN控制器在深海測控中的應用
1引言
為了開發(fā)海洋資源,人類必須首先了解海底環(huán)境。然而,海底環(huán)境十分復雜,對海底探測的要求很高,深海環(huán)境下需要采集的參數比較多,包括深度、溫度、鹽度、PH值、溶解氧及各種化學元素等。
深海測控系統工作時需要接收來自甲板控制中心的命令,同時要將采集到的數據反送到甲板控制中心,二者之間的最大通信距離大于5km,因此,它們之間的通信要求很高。CAN總線與一般的通信總線相比,它的數據通信具有突出的可靠性、實時性和靈活性。CAN的直接通信距離最遠可達10km(速率在5kb/s以下),報文采用短幀結構,傳輸時間短,受干擾概率低,保證了數據出錯率極低。為此,筆者采用CAN總線作為通信方式。
深海測控模塊由二大部分組成:測控子模塊和通信子模塊。測控子模塊的主要功能是根據甲板控制中心的命令啟動系統并完成參數提取、轉換、數據處理、存儲及發(fā)送等操作。通信子模塊的功能是完成甲板與水下測控系統的通信。
測控子模塊以Cygnal公司的C8051F020型單片機為核心,擴展信號調理電路及與CAN總線的接口。通信子模塊是Philips公司的SJA1000型CAN控制器。
2.1測控子模塊
深海測控子模塊由微控制器系統和I/O系統組成。
微控制器是Cygnal公司的C8051F020型單片機。C8051F020采用CIP-51型微控制器內核及流水線指令結構,70%的指令執(zhí)行時間為1個或2個系統時鐘周期,峰值速度達到25MI/s,能滿足深海環(huán)境下多路數據的快速采集與分析。C8051F020型單片機內部集成1個12位8通道帶可編程增益放大器的A/D轉換器和1個8位8通道A/D轉換器,能滿足深海多路環(huán)境參數采集;2路12位電壓輸出D/A轉換器;16位可編程定時/計數器陣列PCA可用于輸出PWM以控制步進電機的運轉;64個耐5V電壓的通用I/O口可控制開關器件的啟動和停止。
微控制器系統還包括了單片機的一些基本外圍電路。系統還開展了1片容量達64Mbyte的串行Flash存儲器,用以保存采集到的數據,以避免CAN通信不暢時造成數據丟失。使用時只要微控制器外接相應的傳感器、繼電器、電機等就可以完成各種環(huán)境下參數的采集及相應的控制
2.2通信子模塊
SJA1000是PHILIPS公司推出的一款獨立的CAN控制器,主要用于移動目標和一般工業(yè)環(huán)境中的區(qū)域網絡控制。它是PCA82C200型CAN控制器(BasicCAN)的替代產品,而且增加了一種新的操作模式——PeliCAN,這種模式支持具有很多新特征的CAN2.0B協議。
SJA1000的基本特征如下:
·引腳與PCA2C200型CAN控制器兼容。
·有擴展的接收緩沖器(64字節(jié),先進先出FIFO)。
·支持CAN2.0A和CAN2.0B協議。
·支持11位和29位標識碼。
·通信位速率可達1Mb/s。
·可與不同的微處理器接口。
·可編程的CAN輸出驅動器配置。
SJA1000的引腳排列如圖1所示,主要引腳的功能如下所述。
AD7-AD0:地址數據復用線。
ALE/AS:ALE輸入信號(Intel模式)或AS輸入信號(Motorola模式)。
CS:片選信號,低電平允許訪問SJA1000。
RD/E:來自微控制器的RD信號(Intel模式)或E使能信號(Motorola模式)。
WR:來自微控制器的WR信號(Intel模式)或RD/WR使能信號(Motorola模式)。
CLKOUT:SJA1000產生用于微控制器的時鐘輸出信號;時鐘信號由內置晶體振蕩器通過可編程除法器產生;時鐘除法寄存器中的時鐘停止位能使該引腳無效。
評論