當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]討論以PHILIPS公司的SJA1000型控制器為核心、基于CAN總線的深海測(cè)控系統(tǒng)的設(shè)計(jì)過程,圍繞C8051F020型單片機(jī)與SJA1000型控制器詳細(xì)闡述測(cè)控系統(tǒng)的性能要求、組成、硬件連接和軟件設(shè)計(jì)。

摘要:討論以PHILIPS公司的SJA1000型控制器為核心、基于CAN總線的深海測(cè)控系統(tǒng)的設(shè)計(jì)過程,圍繞C8051F020型單片機(jī)與SJA1000型控制器詳細(xì)闡述測(cè)控系統(tǒng)的性能要求、組成、硬件連接和軟件設(shè)計(jì)。該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格低和可靠性等優(yōu)點(diǎn)。
關(guān)鍵詞:SJA1000;控制器;深海;測(cè)控;應(yīng)用

1 引言
      為了開發(fā)海洋資源,人類必須首先了解海底環(huán)境。然而,海底環(huán)境十分復(fù)雜,對(duì)海底探測(cè)的要求很高,深海環(huán)境下需要采集的參數(shù)比較多,包括深度、溫度、鹽度、PH值、溶解氧及各種化學(xué)元素等。

     
深海測(cè)控系統(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總線作為通信方式。

深海測(cè)控系統(tǒng)的基本組成
     
深海測(cè)控模塊由二大部分組成:測(cè)控子模塊和通信子模塊。測(cè)控子模塊的主要功能是根據(jù)甲板控制中心的命令啟動(dòng)系統(tǒng)并完成參數(shù)提取、轉(zhuǎn)換、數(shù)據(jù)處理、存儲(chǔ)及發(fā)送等操作。通信子模塊的功能是完成甲板與水下測(cè)控系統(tǒng)的通信。

     
測(cè)控子模塊以Cygnal公司的C8051F020型單片機(jī)為核心,擴(kuò)展信號(hào)調(diào)理電路及與CAN總線的接口。通信子模塊是Philips公司的SJA1000CAN控制器。

2.1
測(cè)控子模塊
     
深海測(cè)控子模塊由微控制器系統(tǒng)和I/O系統(tǒng)組成。

     
微控制器是Cygnal公司的C8051F020型單片機(jī)。C8051F020采用CIP51型微控制器內(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è)128通道帶可編程增益放大器的A/D轉(zhuǎn)換器和1個(gè)88通道A/D轉(zhuǎn)換器,能滿足深海多路環(huán)境參數(shù)采集;212位電壓輸出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ò)控制。它是PCA82C200CAN控制器(BasicCAN)的替代產(chǎn)品,而且增加了一種新的操作模式--PeliCAN,這種模式支持具有很多新特征的CAN2.0B協(xié)議。

    SJA1000的基本特征如下:

  ·引腳與PCA2C200CAN控制器兼容。
 
·有擴(kuò)展的接收緩沖器(64字節(jié),先進(jìn)先出FIFO)。
   
·支持CAN2.0ACAN2.0B協(xié)議。
    ·支持11位和29位標(biāo)識(shí)碼。
    ·通信位速率可達(dá)1Mb/s。
    ·可與不同的微處理器接口。
    ·可編程的CAN輸出驅(qū)動(dòng)器配置。
   
     SJA1000
的引腳排列如圖1所示,主要引腳的功能如下所述。 

    AD7AD0:地址數(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í)鐘停止位能使該引腳無(wú)效。
    VDD1
VSS1:邏輯電路5V電源和邏輯電路地。
    XTAL
:晶體振蕩器放大器輸入,外部晶體振蕩器信號(hào)由該腳輸入。
    XTAL2
:晶體振蕩器放大器輸出,當(dāng)使用外部晶體振蕩器信號(hào)時(shí),該輸出引腳必須開路。
    VDD3
VSS3:輸出驅(qū)動(dòng)5V電源和輸出驅(qū)動(dòng)地。
    TX0
TX1CAN輸出驅(qū)動(dòng)器01輸出到物理總線。
    INT
:中斷輸出,用于觸發(fā)微控制器中斷;內(nèi)部中斷寄存器的任何位置位,INT將低電平輸出;INT為開環(huán)輸出;該引腳為低電平將電路從睡眠狀態(tài)激活。
    RST
:復(fù)位輸入,用于復(fù)位CAN接口(低電平有效)。
    VDD2
VSS2:輸入比較器5V電源和輸入比較器地。

    RX0RX1:從物理CAN總線輸入到SJA1000的輸入比較器。
    SJA1000
與微處理器的接口非常簡(jiǎn)單,微處理器以訪問外部存儲(chǔ)器的方式來訪問SJA1000。由于SJA1000的內(nèi)部寄存器分布在連續(xù)的地址內(nèi),所以完全可以把SJA1000當(dāng)作外部RAM。在設(shè)計(jì)接口電路時(shí),SJA1000的片選地址應(yīng)與其他外部存儲(chǔ)器的片選在邏輯上無(wú)沖突。

系統(tǒng)設(shè)計(jì)
      SJA1000
CAN控制器兼容CAN2.0ACAN2.0B二種規(guī)范。CAN2.0B具有二種不同的幀格式:標(biāo)準(zhǔn)幀和擴(kuò)展幀,前者為11位標(biāo)識(shí)符,后者為29位標(biāo)識(shí)符。前者的標(biāo)識(shí)符比后者的標(biāo)識(shí)符少2個(gè)字節(jié)。深海測(cè)控系統(tǒng)的CAN節(jié)點(diǎn)數(shù)量少,只有上位機(jī)節(jié)點(diǎn)和水下測(cè)控中心節(jié)點(diǎn),所以即使距離比較遠(yuǎn),對(duì)傳輸數(shù)據(jù)速度和可靠性的影響也不是很大。

3.1
單片機(jī)與CAN控制器的硬件設(shè)計(jì)
       
2C8051F020型單片機(jī)與SJA1000型控制器的硬件連接電路原理。SJA1000占用了0x80000x80FF的外部RAM空間。當(dāng)單片機(jī)訪問以上空間時(shí)片選信號(hào)會(huì)選中SJA1000。

      C8051F020有高低2個(gè)外部存儲(chǔ)器接口。因此,SJA1000AD0AD7連接到C8051F020的高端口P7口,CS連接到基址為0x8000的外部存儲(chǔ)器片選信號(hào)。當(dāng)C8051F020訪問地址0x80000x80FF時(shí),CPU可對(duì)SJA1000執(zhí)行相應(yīng)的讀/寫操作。SJA1000RDWRALE分別與C8051F020的對(duì)應(yīng)引腳相連,INTC8051F020INT0引腳,于是C8051F020可通過中斷方式訪問SJA1000SJA1000的復(fù)位信號(hào)RST為低電平有效。C8051F020AD0AD7口用于地址/數(shù)據(jù)的輸入/輸出,將其配置為漏極開路方式,利用4.7kΩ上拉電阻器拉至5V。通過設(shè)置數(shù)字交叉開關(guān),將C8051F020的外部中斷引腳配置到P2.7口。

        CAN
能夠使用多種物理介質(zhì),例如雙絞線和光纖等。該設(shè)計(jì)方案采用雙絞線。信號(hào)以差分電壓傳送,2條信號(hào)線為CAN_HCAN_L,靜態(tài)時(shí)為2.5V,此時(shí)狀態(tài)表示邏輯"1",也叫做"隱性"。CAN_HCAN_L高,表示邏輯"0",稱為"顯性",此時(shí)CAN_H3.5VCAN_L1.5V。TJA1050CAN總線收發(fā)器是CAN協(xié)議控制器和物理總線之間的接口,CAN總線上二端節(jié)點(diǎn)須加60Ω電阻器和47nF電容器將信號(hào)吸收,以避免信號(hào)反射。為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,SJA1000TX1RX1通過6N137型高速光耦后與TJA1050相連。這樣就很好地實(shí)現(xiàn)了總線上各CAN節(jié)點(diǎn)間的電氣隔離。其中,光耦部分電路的2個(gè)電源VCCV_CAN必須完全隔離,否則采用光耦就是失去了意義。電源的完全隔離可采用小功率電源隔離模塊和通過帶多個(gè)5V隔離輸出的開關(guān)電源模塊實(shí)現(xiàn)。

3.2
軟件設(shè)計(jì)
     
通信協(xié)議采用"ID+命令+數(shù)據(jù)+校驗(yàn)"的形式,其中ID為網(wǎng)絡(luò)設(shè)備的標(biāo)識(shí)符,采用ID.18ID.20。標(biāo)識(shí)符ID.21ID.28作為固定命令,不參與驗(yàn)收濾波。數(shù)據(jù)表示通信的具體內(nèi)容。校驗(yàn)為1個(gè)字節(jié),采用校驗(yàn)和的形式,由于CAN總線本身具有15CRC校驗(yàn),并且該系統(tǒng)節(jié)點(diǎn)數(shù)少,競(jìng)爭(zhēng)不會(huì)很激烈,通信可靠性比較高。

    軟件設(shè)計(jì)思想為系統(tǒng)上電后C8051F020先對(duì)自身和SJA1000進(jìn)行初始化以確定工作主頻、波特率和輸出特性等,然后接收來自甲板上位機(jī)的控制命令,同時(shí)將獲取的采樣參數(shù)通過SJA1000傳送到CAN總線上或備份到Flash存儲(chǔ)器中;對(duì)SJA1000的初始化設(shè)計(jì)是重點(diǎn),也是難點(diǎn),必須對(duì)寫入每個(gè)寄存器的內(nèi)容進(jìn)行仔細(xì)和全面考慮,否則系統(tǒng)將無(wú)法正常運(yùn)行。可設(shè)上位機(jī)SJA1000適配卡的ACRxx20,AMRFF00。水下測(cè)控中心SJA1000ACRxx40AMRFF00。
遵循上述思路,筆者采用C51編寫了應(yīng)用軟件,下面是部分程序清單。

    初始化部分:

    void CAN_Init(void)

    { CANMODE=0x09;//進(jìn)入復(fù)位模式,單向驗(yàn)收濾波,對(duì)SJA1000初始化

    CANCDR=0x88;  //選擇PeilCAN模式

    CANIER=0x1A;  //開放接收中斷、超載中

   

    
     
由于深海測(cè)控系統(tǒng)對(duì)通信的實(shí)時(shí)性要求很高,一旦接收到甲板上傳來的控制命令就必須及時(shí)響應(yīng),為此從CAN總線上接收信息采用中斷方式。即SJA1000無(wú)錯(cuò)地接收到消息后使INT變?yōu)榈碗娖?,下降沿觸發(fā)C8051F020的外部中斷0,使其進(jìn)入中斷服務(wù)程序。其流程如圖3所所示。  

    如果要向CAN總線發(fā)送數(shù)據(jù),則必須將符合PeilCAN幀格式的一組數(shù)據(jù)寫入SJA1000的發(fā)送緩沖區(qū),然后調(diào)用發(fā)送子函數(shù)。這里筆者采用查詢方式來實(shí)現(xiàn)發(fā)送。流程如圖4所示。  

結(jié)束語(yǔ)
      
基于SJA1000CAN控制器的深海測(cè)控系統(tǒng)基本上滿足了功耗低、體積小、重量輕、易擴(kuò)展的要求,同時(shí)與甲板上位機(jī)之間的通信可靠,完全能滿足深海探測(cè)的需要,并能廣泛應(yīng)用于海洋油、氣田作業(yè),海洋污染監(jiān)控和防治,海上漁業(yè)生產(chǎn)等,前景廣闊。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉