• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    基于DSP的熱網(wǎng)現(xiàn)場控制器的CAN網(wǎng)絡(luò)通信設(shè)計(jì)
    • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):紡織印刷    
    • 點(diǎn)擊數(shù):2022     發(fā)布時(shí)間:2006-07-24 01:19:43
    • 分享到:
    本文重點(diǎn)介紹了CAN總線在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用,提出了基于DSP的現(xiàn)場測控器硬件系統(tǒng),制定了用戶層通信協(xié)議,并詳細(xì)介紹了CAN網(wǎng)絡(luò)通信部分的硬件和軟件。

     

    一、引言

    目前我國北方許多城市已經(jīng)或者即將進(jìn)行熱網(wǎng)改造工程,將傳統(tǒng)的分散供熱改造為集中供熱。

    隨著現(xiàn)場總線技術(shù)的發(fā)展及其在工業(yè)自動(dòng)化領(lǐng)域的不斷深入,傳統(tǒng)的DCS將會被新一代的現(xiàn)場總線式集散控制系統(tǒng)(Field Distributed Control System ,FDCS) 所取代。經(jīng)過對目前比較有影響的幾種現(xiàn)場總線技術(shù)進(jìn)行研究,在分析對比的基礎(chǔ)上,選擇了CAN總線作為熱網(wǎng)監(jiān)控系統(tǒng)設(shè)備層通信總線。CAN總線(Controller Area Network) 䘎其他總線相比有如下特點(diǎn):

    (1)    CAN為多主方式工作;

    (2)    廢除了傳統(tǒng)的站地址編碼,而代之以對通信數(shù)據(jù)塊進(jìn)行編碼;

    (3)    數(shù)據(jù)段長度最多為8個(gè)字節(jié), 保證了通信的實(shí)時(shí)性;

    (4)    CAN的每幀信息都有CRC校驗(yàn)及其它檢錯(cuò)措施,保證了數(shù)據(jù)通信的可靠性。

    本文介紹的是針對熱網(wǎng)監(jiān)控系統(tǒng)開發(fā)的現(xiàn)場控制和通信的子系統(tǒng),能安全可靠地實(shí)現(xiàn)現(xiàn)場數(shù)據(jù)采集、閉環(huán)控制及數(shù)據(jù)傳輸。鑒于篇幅,本文重點(diǎn)介紹CAN網(wǎng)絡(luò)通信部分的設(shè)計(jì)與實(shí)現(xiàn)。

    二、熱網(wǎng)監(jiān)控系統(tǒng)結(jié)構(gòu)及其硬件構(gòu)成

    21 系統(tǒng)結(jié)構(gòu)

    熱網(wǎng)監(jiān)控系統(tǒng)主要由上位機(jī)和現(xiàn)場控制器組成,總體結(jié)構(gòu)如圖1所示。


    1 熱網(wǎng)監(jiān)控系統(tǒng)總體結(jié)構(gòu)

       
    熱網(wǎng)監(jiān)控系統(tǒng)是在一次設(shè)備(傳感器變送器、各種執(zhí)行機(jī)構(gòu))的基礎(chǔ)上完成對熱網(wǎng)的監(jiān)測與控制,通過調(diào)節(jié)供熱管網(wǎng)的供水流量、供水溫度、供水壓力,保證熱網(wǎng)安全、可靠、高效、穩(wěn)定的運(yùn)行。根據(jù)上述要求,本系統(tǒng)在保證系統(tǒng)可靠工作和降低成本的條件下,考慮到通用性、實(shí)時(shí)性和可擴(kuò)展性等方面的因素,采用了主要由上位計(jì)算機(jī)系統(tǒng)和現(xiàn)場控制器構(gòu)成的系統(tǒng)結(jié)構(gòu)。


        系統(tǒng)工作過程如下
    :上位機(jī)首先初始化CAN網(wǎng)卡,設(shè)置網(wǎng)卡工作模式、接收碼、接收掩碼和波特率,然后進(jìn)入運(yùn)行狀態(tài),在適當(dāng)條件下與現(xiàn)場控制器進(jìn)行通信。現(xiàn)場控制器主要完成現(xiàn)場數(shù)據(jù)的采集與處理、現(xiàn)場設(shè)備的控制等功能,以查詢或中斷方式與主機(jī)進(jìn)行通信。


    2
    2 硬件系統(tǒng)

    CAN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)采用總線式結(jié)構(gòu),其結(jié)構(gòu)簡單、成本低,系統(tǒng)可靠性高。信息的傳輸采用CAN通信協(xié)議,通信介質(zhì)采用雙絞線。

    1.上位機(jī)

        上位計(jì)算機(jī)采用工控機(jī),其負(fù)責(zé)對整個(gè)系統(tǒng)進(jìn)行管理。上位機(jī)通過CAN網(wǎng)卡與現(xiàn)場控制器通信,同時(shí)通過局域網(wǎng)或者公共電話交換網(wǎng)與整個(gè)工廠或者公司的計(jì)算機(jī)信息網(wǎng)絡(luò)進(jìn)行連接,實(shí)現(xiàn)信息共享。上位機(jī)具有組態(tài)、數(shù)據(jù)采集、參數(shù)設(shè)置、遠(yuǎn)程控制、流程顯示、數(shù)據(jù)存儲、趨勢顯示、報(bào)表打印、通信等功能。

    2CAN網(wǎng)卡

    CAN網(wǎng)卡是負(fù)責(zé)CAN總線與PC機(jī)之間數(shù)據(jù)交換的功能模塊。CAN網(wǎng)卡上存在兩個(gè)方向的數(shù)據(jù)交換:CAN網(wǎng)卡與PC機(jī)之間的數(shù)據(jù)交換(通過雙端口RAM實(shí)現(xiàn))以及CAN網(wǎng)卡與CAN總線之間的數(shù)據(jù)交換(由微處理器通過訪問CAN控制器的接收緩沖區(qū)以及發(fā)送緩沖區(qū)來實(shí)現(xiàn))CAN網(wǎng)卡上的CAN控制器選用的是PHILIPS公司的SJA1000芯片。

    3.現(xiàn)場控制器

    現(xiàn)場控制器的結(jié)構(gòu)框圖如圖2所示。


    2 現(xiàn)場控制器的結(jié)構(gòu)框圖

       
    該現(xiàn)場控制器具14路模擬量輸入端口、2路模擬量輸出端口、4開關(guān)量輸入端口、4開關(guān)量輸出端口以及時(shí)鐘接口、數(shù)據(jù)存儲接口、液晶顯示接口、網(wǎng)絡(luò)通信接口、報(bào)警輸出接口等。本系統(tǒng)采用TI公司的帶有10A/D轉(zhuǎn)換器和CAN控制器的DSP芯片TMS320LF2407A作為CPU

       
    網(wǎng)絡(luò)通信接口單元是用來對CAN總線進(jìn)行讀寫訪問的一部分控制電路。當(dāng)需要發(fā)送數(shù)據(jù)時(shí),中央處理單元將數(shù)據(jù)交給網(wǎng)絡(luò)接口單元電路,由網(wǎng)絡(luò)接口單元電路進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換、串并轉(zhuǎn)換和信號形式轉(zhuǎn)換,將數(shù)據(jù)按照CAN協(xié)議信號形式發(fā)送到CAN總線上。當(dāng)CAN總線上有數(shù)據(jù)時(shí),它負(fù)責(zé)從CAN總線上讀取數(shù)據(jù)。首先通過幀過濾功能判斷是否接收此幀,若接收,則通過與發(fā)送相反的過程,將數(shù)據(jù)交給中央處理單元。

       
    網(wǎng)絡(luò)通信接口單元主要由TMS320LF2407A片內(nèi)CAN控制器及CAN收發(fā)器82C250組成。CAN控制器負(fù)責(zé)將數(shù)據(jù)的鏈路層格式轉(zhuǎn)換和串并轉(zhuǎn)換,承擔(dān)網(wǎng)絡(luò)通訊的控制任務(wù)。CAN收發(fā)器82C250CAN控制器和物理總線間的接口,負(fù)責(zé)信號的電平及形式轉(zhuǎn)換,可以提供對總線的差動(dòng)發(fā)送能力和對CAN控制器的差動(dòng)接收能力。為防止CAN總線上的干擾進(jìn)入板卡,本系統(tǒng)采用光電隔離器件6N137來實(shí)現(xiàn)收發(fā)雙向隔離。網(wǎng)絡(luò)通信接口單元具體電路如圖3所示。


    三、CAN通信軟件設(shè)計(jì)與實(shí)現(xiàn)

       
    CAN遵從OSI模型,按照OSI基準(zhǔn)模型,CAN結(jié)構(gòu)劃分為兩層:數(shù)據(jù)鏈路層和物理層。然而,在實(shí)際應(yīng)用中,即使只是實(shí)現(xiàn)簡單的基于CAN的分布式系統(tǒng),僅有物理層和數(shù)據(jù)鏈路層是遠(yuǎn)遠(yuǎn)不夠的。比如對于傳輸長度超過8個(gè)字節(jié)的數(shù)據(jù)塊、帶有握手協(xié)議的數(shù)據(jù)傳輸過程、標(biāo)識符分配、通過網(wǎng)絡(luò)管理節(jié)點(diǎn)等,這些功能就不能實(shí)現(xiàn)。

    因此需要在這兩層之外附加一層來支持應(yīng)用過程,即應(yīng)用層。這一層功能對應(yīng)OSI基準(zhǔn)模型中的上五層,主要完成網(wǎng)絡(luò)層和傳輸層的工作,提供接口,使得通信模塊和具體應(yīng)用模塊分離。針對熱網(wǎng)監(jiān)控系統(tǒng),應(yīng)用層協(xié)議需要通信雙方具體協(xié)商制定。


     

     4 標(biāo)識符分配方案


     

    31 CAN通信應(yīng)用層協(xié)議

       
    現(xiàn)場控制器軟件設(shè)計(jì)中與上位機(jī)的通信是最關(guān)鍵的部分之一。針對熱網(wǎng)監(jiān)控系統(tǒng),經(jīng)過通信雙方具體協(xié)商制定,使用現(xiàn)場總線CAN網(wǎng)絡(luò)技術(shù),制定了CAN應(yīng)用層協(xié)議。應(yīng)用層完成的主要工作有:標(biāo)識符分配、多報(bào)文數(shù)據(jù)包的處理、報(bào)文發(fā)送與接收等。

    1.  標(biāo)識符分配方案

    TMS320LF2407A支持CAN 2.0B協(xié)議,本系統(tǒng)通信的信息幀采用擴(kuò)展幀,具有29位標(biāo)識符,標(biāo)識符分配方案如圖4所示。

    其中,DIR表示方向。DIR=0時(shí),表示主站向從站發(fā)送數(shù)據(jù);DIR=1時(shí),表示從站向主站發(fā)送數(shù)據(jù)。TYPE為報(bào)文幀類型,當(dāng)TYPE.2=0時(shí),表示點(diǎn)對點(diǎn)發(fā)送;TYPE.2=l時(shí),表示廣播發(fā)送。當(dāng)TYPE.1TYPE.0=0Xb時(shí),表示單幀報(bào)文;=11b時(shí),表示非結(jié)束多幀報(bào)文;=10b時(shí),表示結(jié)束多幀報(bào)文。另外還有目標(biāo)地址和源地址各七位,命令符八位。命令符是用來標(biāo)識上位機(jī)對現(xiàn)場控制器的控制命令,或現(xiàn)場控制器對上位機(jī)的上傳命令。

    2.  報(bào)文的處理

    本文對CAN通信中的報(bào)文處理做了以下規(guī)定:

    1)單報(bào)文:

    單報(bào)文由標(biāo)識符中的數(shù)據(jù)類型TYPE.1決定,當(dāng)其為0時(shí)表示為單報(bào)文,此時(shí)待傳送的數(shù)據(jù)不超過8個(gè)字節(jié),數(shù)據(jù)段中為實(shí)際傳送的數(shù)據(jù)。

    2)多報(bào)文的首幀和中間幀:

    多報(bào)文的首幀和中間幀由TYPE.1TYPE.0決定,當(dāng)其為11b時(shí)表示為非結(jié)束多報(bào)文,即為多報(bào)文的首幀和中間幀,此時(shí)待傳送的數(shù)據(jù)超過8個(gè)字節(jié),數(shù)據(jù)段中第1個(gè)字節(jié)為索引項(xiàng),后7個(gè)字節(jié)為傳送的數(shù)據(jù)。

    3)多報(bào)文的尾幀:
        
    多報(bào)文的尾幀由TYPE.1TYPE.0決定,當(dāng)其為10b時(shí)表示為結(jié)束多報(bào)文,即為多報(bào)文的尾幀,此時(shí)規(guī)定該幀中數(shù)據(jù)長度為2個(gè)字節(jié),數(shù)據(jù)段中第1個(gè)字節(jié)為索引項(xiàng),第2個(gè)字節(jié)為待傳送數(shù)據(jù)的總長度,單位為字節(jié)。

    32 CAN通信初始化

     CAN通信初始化主要是設(shè)置CAN的通信參數(shù),包括配置位定時(shí)器和初始化郵箱兩部分。需要初始化的寄存器有:位配置寄存器2、位配置寄存器1、標(biāo)識符寄存器、控制寄存器、局部屏蔽寄存器等。需要注意的是,只有當(dāng)全局狀態(tài)寄存器中的改變配置使能位為高時(shí),才能配置位定時(shí)器;當(dāng)主控制器中的改變配置請求位為1,即CAN控制器處于復(fù)位工作方式時(shí),才能配置標(biāo)識符寄存器、控制寄存器和數(shù)據(jù)域。在訪問位配置寄存器時(shí),由于其內(nèi)容決定波特率的數(shù)值,位配置寄存器的初始化字必須依據(jù)系統(tǒng)中各CAN控制器的晶振頻率而設(shè)定。配置位定時(shí)器和初始化郵箱的的流程圖分別如圖5a)和(b)所示。


     

           


     

    33 數(shù)據(jù)發(fā)送

    信息從CAN控制器發(fā)送到CAN總線是由CAN控制器自動(dòng)完成的。發(fā)送程序只需把要發(fā)送的信息幀送到相關(guān)的CAN寄存器,啟動(dòng)發(fā)送命令即可,數(shù)據(jù)發(fā)送采用通用定時(shí)器周期中斷,定時(shí)發(fā)送采集到的數(shù)據(jù)到上位






    6 通用定時(shí)器周期中斷服務(wù)程序
    機(jī),實(shí)現(xiàn)數(shù)據(jù)的存儲,以便用戶查詢。由于采集到的數(shù)據(jù)超過8個(gè)字節(jié),所以需對數(shù)據(jù)包進(jìn)行分片構(gòu)造報(bào)文,見4.1CAN通信應(yīng)用層協(xié)議部分。通用定時(shí)器周期中斷服務(wù)程序

     

    34 數(shù)據(jù)接收

    信息從CAN總線到CAN接收郵箱是由CAN控制器自動(dòng)完成的,數(shù)據(jù)接收采用郵箱中斷。在中斷服務(wù)程序中讀取接收到的數(shù)據(jù),對接收到的數(shù)據(jù)進(jìn)行解碼,并置位相應(yīng)標(biāo)志位。在主程序循環(huán)中查詢標(biāo)志位,當(dāng)檢測到標(biāo)志位被置位,則進(jìn)入相應(yīng)處理程序,同時(shí)對標(biāo)志位清零。程序流程如圖7所示。


     
         圖7a)主程序                b)接收郵箱中斷服務(wù)程序


    四、結(jié)束語

       
    應(yīng)用層協(xié)議是CAN網(wǎng)絡(luò)應(yīng)用的關(guān)鍵,因此在該系統(tǒng)中,重點(diǎn)工作是:在現(xiàn)場控制器與上位機(jī)之間的通信中,使用現(xiàn)場總線CAN網(wǎng)絡(luò)技術(shù),制定了用戶層通信協(xié)議。而且本系統(tǒng)已經(jīng)完成了在實(shí)驗(yàn)室階段的調(diào)試工作,通信部分能夠正常工作。本文介紹的CAN 通信設(shè)計(jì)具有很強(qiáng)的通用性,其成果可以應(yīng)用在很多數(shù)據(jù)采集的場合。

     


    參考文獻(xiàn):

    [1]孫翠娟,蔣洪.CAN 總線在遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,20033: 54-56.

    [2]饒運(yùn)濤,周繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京航空航天大學(xué)出版社.

    [3]劉和平,嚴(yán)利平,張學(xué)鋒,卓清鋒.TMS320LF240X DSP結(jié)構(gòu)、原理及應(yīng)用[M].北京航空航天大學(xué)出版社.

     

    熱點(diǎn)新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: