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