亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        采用TMS320F28335 的多節(jié)點(diǎn)CAN 總線通信設(shè)計(jì)

        2021-04-30 07:25:10宋耀東
        電子設(shè)計(jì)工程 2021年7期
        關(guān)鍵詞:設(shè)置設(shè)計(jì)

        宋耀東,于 淼,杜 雪,李 軍

        (中國(guó)電子科技集團(tuán)公司第二十七研究所,河南鄭州 450047)

        CAN 總線指的是控制器局域網(wǎng)(Controller Area Network,CAN)總線,是最先由德國(guó)博世公司提出的用于汽車控制的一種實(shí)時(shí)應(yīng)用的串行通信協(xié)議總線網(wǎng)絡(luò),因其具有高性能、高可靠性、高實(shí)時(shí)性和配置靈活等特點(diǎn),已經(jīng)成為世界上應(yīng)用最多的現(xiàn)場(chǎng)總線之一[1-3]。標(biāo)準(zhǔn)CAN 協(xié)議對(duì)物理層及數(shù)據(jù)鏈路層進(jìn)行了定義,但在實(shí)際應(yīng)用中還要對(duì)應(yīng)用層進(jìn)行協(xié)議明確[4-5]。常見的應(yīng)用層協(xié)議有DeviceNET、J1939、CANOpen 等,這些協(xié)議偏重于通用性,其價(jià)格昂貴、結(jié)構(gòu)復(fù)雜,不適用于具體應(yīng)用。因此,通常需要針對(duì)具體應(yīng)用,根據(jù)標(biāo)準(zhǔn)CAN 協(xié)議設(shè)計(jì)相應(yīng)的具體應(yīng)用總線協(xié)議[6]。

        隨著航天航空電子綜合化技術(shù)的發(fā)展,航天航空器內(nèi)部的系統(tǒng)功能復(fù)雜化和體量龐大化的同時(shí),不同設(shè)備之間需要快速、可靠的通信。只有采用實(shí)時(shí)、穩(wěn)定、可靠的數(shù)據(jù)傳輸技術(shù)才能實(shí)現(xiàn)此種需求[7]。目前,航天飛行器內(nèi)部常用總線有1553B 總線、CAN 總線等。1553B 總線采用雙余度和指令/響應(yīng)方式異步通信的可靠性設(shè)計(jì),在提高可靠性的同時(shí),其成本也居高不下;而CAN 總線擁有很高的性價(jià)比,采用CAN 總線能夠降低飛行器的研制成本[8]。為滿足某航天項(xiàng)目多節(jié)點(diǎn)高可靠總線通信的需求,從高性能、高可靠性、低成本的角度設(shè)計(jì)了一種基于TMS320F28335 的CAN 總線的硬件接口、通信協(xié)議與軟件配置。

        1 CAN總線系統(tǒng)硬件接口設(shè)計(jì)

        CAN 總線是一種有效支持實(shí)時(shí)控制或分布式控制的串行通信網(wǎng)絡(luò)。CAN 總線中的設(shè)備都可以通過其控制單元上的CAN 總線接口進(jìn)行數(shù)據(jù)的接收和發(fā)送,它是一個(gè)多路傳輸系統(tǒng),當(dāng)某一單元出現(xiàn)故障時(shí)不會(huì)影響其他單元的工作。CAN 總線中數(shù)據(jù)在串聯(lián)總線上可以單個(gè)順序傳送,符合ISO11898 標(biāo)準(zhǔn)。最大傳輸距離和傳輸速率成反比,傳輸速率為1 MB/s時(shí),最大傳輸距離為40 m;傳輸速率為5 kB/s 時(shí),最大傳輸距離為10 km。在傳輸介質(zhì)方面多采用雙絞線、同軸電纜等形式。

        在標(biāo)準(zhǔn)CAN 通信協(xié)議中,有遠(yuǎn)程幀、數(shù)據(jù)幀、超載幀和錯(cuò)誤幀等4 種不同的幀格式。該文對(duì)應(yīng)的CAN 總線協(xié)議中只使用數(shù)據(jù)幀進(jìn)行通信,數(shù)據(jù)幀仲裁段采用CAN2.0B 擴(kuò)展格式。利用總線控制器的29 位擴(kuò)展標(biāo)識(shí)符來定義協(xié)議中的重要信息(如發(fā)送、接收設(shè)備等),通訊速率設(shè)為500 kbps,因此,相對(duì)應(yīng)的最大通信距離為130 m。

        1.1 CAN總線多節(jié)點(diǎn)網(wǎng)絡(luò)設(shè)計(jì)

        文中設(shè)計(jì)的CAN 總線網(wǎng)絡(luò)是手拉手形式,連接示意圖如圖1 所示。

        圖1 CAN總線網(wǎng)絡(luò)通信節(jié)點(diǎn)連接方式

        每臺(tái)設(shè)備的通信接口采用一入一出兩個(gè)插座,并在設(shè)備內(nèi)部將兩個(gè)插座的對(duì)應(yīng)接點(diǎn)一一聯(lián)接,通過雙絞電纜網(wǎng)把各接點(diǎn)一一對(duì)應(yīng)聯(lián)接。終端電阻安置在電纜線的兩端或者兩端節(jié)點(diǎn)的內(nèi)部。

        每臺(tái)設(shè)備使用兩個(gè)9 芯插座的標(biāo)準(zhǔn)連接器,這兩個(gè)9芯插座的接點(diǎn)分配完全一致,兩個(gè)連接器各對(duì)應(yīng)點(diǎn)在設(shè)備內(nèi)相互短接,一個(gè)用于連接輸入,一個(gè)用于連接輸出,以方便形成整體鏈路。插座接點(diǎn)分配如表1所示。

        表1 總線插座接點(diǎn)分配

        CAN 總線網(wǎng)絡(luò)采用雙冗余的總線型網(wǎng)絡(luò)結(jié)構(gòu),包括A、B 兩條CAN 總線,結(jié)構(gòu)如圖2 所示。

        圖2 雙冗余CAN總線網(wǎng)絡(luò)結(jié)構(gòu)

        1.2 TMS320F28335處理器功能簡(jiǎn)介

        TMS320F28335 數(shù)字信號(hào)處理器是德州儀器公司出品的一款C2000 系列的浮點(diǎn)DSP 控制器,主頻高達(dá)150 MHz。該DSP 控制器擁有強(qiáng)大的實(shí)時(shí)處理能力,并將控制器需要的核心外設(shè)功能集于一身,具有實(shí)時(shí)控制能力強(qiáng)、外設(shè)豐富、功耗小等特點(diǎn)。在CAN 通信方面,TMS320F28335 集成了兩個(gè)全功能CAN2.0B 模塊——eCAN-A 和eCAN-B,每個(gè)模塊都具有32 個(gè)完整的、可獨(dú)立配置的郵箱和時(shí)間戳,因此其擁有強(qiáng)大而靈活的CAN 串行通信接口。

        1.3 CAN接口電路

        CAN 總線接口芯片采用PHILIPS 公司的PCA82 C250,其管腳定義如表2 所示。

        表2 PCA82C250管腳說明

        TMS320F28335 與PCA82C250 的連接關(guān)系如圖3所示。圖中采用164245電平轉(zhuǎn)換芯片實(shí)現(xiàn)3.3 V和5 V 電平之間的相互轉(zhuǎn)換。

        圖3 CAN接口電路設(shè)計(jì)

        2 CAN總線通信協(xié)議設(shè)計(jì)

        2.1 CAN位速率計(jì)算

        正常位時(shí)間劃分為以下4 個(gè)互不重疊的時(shí)間段:同步段(SYNC_SEG)、傳播段(PROP_SEG)、相位緩沖段1(PHASE_SEG1)和相位緩沖段 2(PHASE_SEG2)。同步段總是等于1 個(gè)時(shí)間單元(TIME QUANTUM,TQ)。在TMS320F28335 的eCAN模塊中,CAN 總線的位長(zhǎng)度由TSEG1(組合了傳播段和相位緩沖段1)、TSEG2(定義了相位緩沖段2)和BRP(通信速率預(yù)定標(biāo))3 個(gè)參數(shù)決定。位速率公式如下式所示[9]:

        其中,BRPreg、TSEG1reg 和TSEG2reg 分別由寄存器BTC 的23-16 位、6-3 位和2-0 位決定。并且設(shè)置需要符合以下規(guī)則:

        ①TSEG1≥TSEG2;

        ②2TQ≤TSEG1≤16TQ;

        ③2TQ≤TSEG2≤8TQ;

        ④2TQ=3/BRP;

        ⑤如果設(shè)置了3 次采樣模式,BRP≥5。

        如果系統(tǒng)頻率為150 MHz,設(shè)置BRPreg=9、TSEG1reg=10、TSEG2reg=2,那么CAN通信速率為500 kHz。

        2.2 CAN擴(kuò)展數(shù)據(jù)幀位序構(gòu)成

        文中采用的是CAN2.0B 協(xié)議,是具有29 位標(biāo)識(shí)符的擴(kuò)展幀。其各個(gè)位的定義如表3 所示。

        表3 CAN2.0B擴(kuò)展幀位序表

        需要注意的是,根據(jù)CAN 總線協(xié)議規(guī)范,在構(gòu)成一幀的幀起始、仲裁場(chǎng)、控制場(chǎng)和CRC 序列均借助位填充規(guī)則進(jìn)行編碼,當(dāng)CAN 發(fā)送器在發(fā)送的位流中檢測(cè)到5 位連續(xù)的相同數(shù)值時(shí),將自動(dòng)地在實(shí)際發(fā)送的位流中插入一個(gè)補(bǔ)碼位。比如,連續(xù)位流000000B,在實(shí)際發(fā)送中變?yōu)?000010B。而其余場(chǎng)采用固定格式,不進(jìn)行填充。出錯(cuò)幀和超載幀也是固定格式,也不進(jìn)行位填充。另外,標(biāo)識(shí)符最高7 位(ID28-ID22)不能全是“隱性”電平,即ID28-ID22 不能全為“1”[10]。

        2.3 CAN總線數(shù)據(jù)幀格式設(shè)計(jì)

        將數(shù)據(jù)幀的29 位標(biāo)識(shí)符分成4 部分,如表4所示[11-12]。

        表4 數(shù)據(jù)幀標(biāo)識(shí)符組成

        優(yōu)先級(jí)PRI 分為00B(備用)、01B(主節(jié)點(diǎn)控制命令)、10B(狀態(tài)查詢、遙測(cè)查詢)和11B(保留)4 種。

        站地址表示數(shù)據(jù)幀的目的地地址。各通信節(jié)點(diǎn)根據(jù)站地址設(shè)置屏蔽字,只接收與本通信節(jié)點(diǎn)有關(guān)的數(shù)據(jù)[13]。

        幀類型分為兩部分,ID20-ID19定義為00B(主節(jié)點(diǎn)發(fā)送的數(shù)據(jù))、01B(從節(jié)點(diǎn)發(fā)送的數(shù)據(jù))、10B(保留)和11B(保留);ID18來定義單幀(0B)和多幀(1B)。

        單幀數(shù)據(jù)場(chǎng)第一字節(jié)為有效數(shù)據(jù)長(zhǎng)度(字節(jié)數(shù)),第二字節(jié)為數(shù)據(jù)包信息標(biāo)識(shí)(包括數(shù)據(jù)類型和發(fā)送端地址),第三字節(jié)開始為有效數(shù)據(jù),數(shù)據(jù)包結(jié)尾為和校驗(yàn)的低字節(jié)[14]。

        多幀數(shù)據(jù)起始幀數(shù)據(jù)場(chǎng)長(zhǎng)度為8 字節(jié),第一個(gè)字節(jié)為幀序0,第二個(gè)字節(jié)為數(shù)據(jù)包有效數(shù)據(jù)的長(zhǎng)度(字節(jié)數(shù)),其他為數(shù)據(jù)[15];中繼幀數(shù)據(jù)場(chǎng)長(zhǎng)度為8 字節(jié),第一個(gè)字節(jié)為幀序,其他為數(shù)據(jù);結(jié)束幀數(shù)據(jù)場(chǎng)長(zhǎng)度必須小于8 字節(jié),第一個(gè)字節(jié)為幀序,其他為數(shù)據(jù),結(jié)束幀有可能只包含一個(gè)字節(jié)的幀序號(hào)[16]。信息數(shù)據(jù)包格式如表5 所示。

        表5 信息數(shù)據(jù)包格式

        信息數(shù)據(jù)標(biāo)識(shí)分為高3 比特(數(shù)據(jù)類型同標(biāo)識(shí)符的幀類型TYPE)和低5 比特(發(fā)送端站地址)。

        校驗(yàn)和是從序號(hào)0 到N的數(shù)據(jù)累加和的低字節(jié)。

        2.4 CAN總線ID設(shè)置示例

        根據(jù)上述規(guī)則設(shè)計(jì)以及TMS320F28335 寄存器設(shè)計(jì),主節(jié)點(diǎn)控制ID、主節(jié)點(diǎn)查詢ID、從節(jié)點(diǎn)控制ID、從節(jié)點(diǎn)查詢ID 示例如表6 所示。

        表6 節(jié)點(diǎn)ID設(shè)置示例

        根據(jù)上表,主節(jié)點(diǎn)控制ID 設(shè)置為0x89200000,主節(jié)點(diǎn)查詢ID 設(shè)置為0x91200000,從節(jié)點(diǎn)控制ID 設(shè)置為0x89690000,從節(jié)點(diǎn)查詢ID 設(shè)置為0x916 C0000。

        3 TMS320F28335 的eCAN 模塊軟件設(shè)計(jì)

        TMS320F28335 的eCAN 配置、發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的步驟為:

        1)使能CAN 模塊的時(shí)鐘;

        2)設(shè)置CANTX 和CANRX 引腳到CAN 功能;

        3)配置MC.SCB:0 為普通模式;1 為增強(qiáng)模式。該文配置為1;

        4)初始化消息控制寄存器。MBOX0 到MBOX31的MSGCTRL 清零;

        5)發(fā)送標(biāo)志TA、接收標(biāo)志RMP、中斷標(biāo)志GIF0、GIF1 寫1 清零;

        6)設(shè)置CCR=1,等到CCE=1,確認(rèn)能夠更改配置寄存器TC;

        7)設(shè)置BRPreg=9、TSEG1reg=10、TSEG2reg=2;

        8)設(shè)置SAM=1,采樣3 次;

        9)設(shè)置CCR=0,等到CCE=0,關(guān)閉配置寄存器TC 通道;

        10)將寄存器ME 清零,以配置郵箱ID;

        11)分配郵箱ID,比如郵箱0 的ID 設(shè)置為0x89200000,郵箱1 的ID 設(shè)置為0x91200000,郵箱2的ID 設(shè)置為0x89690000,郵箱3 的ID 設(shè)置為0x916 C0000;

        12)設(shè)置郵箱方向,比如設(shè)置郵箱0和郵箱1為發(fā)送郵箱(MD=0);郵箱2 和郵箱3 為接受郵箱(MD=1);

        13)使能郵箱,比如使能郵箱0,ME0=1;

        14)設(shè)置郵箱數(shù)據(jù)區(qū)長(zhǎng)度,比如郵箱0 數(shù)據(jù)區(qū)長(zhǎng)度為8,MBOX0.MSGCTRL.bit.DLC=8;

        15)設(shè)置發(fā)送郵箱的數(shù)據(jù)區(qū)數(shù)據(jù),比如MBOX0.M DL.all=0x55AA55BB,MBOX0.MDH.all=0x11 223344;

        16)設(shè)置發(fā)送郵箱發(fā)送標(biāo)志位,比如TRS0=1;等到發(fā)送應(yīng)答標(biāo)志TA0=1;置位TA0=1,寫1 清零,清除發(fā)送應(yīng)答位;

        17)接收數(shù)據(jù)時(shí),接收郵箱的消息掛起寄存器(RMP)中的相應(yīng)位為1,比如郵箱16,判斷RMP16=1,即表明郵箱接收到了數(shù)據(jù);接收程序首先將RMP16寫1 清零,以便接收下一輪數(shù)據(jù)。

        4 CAN通信示例測(cè)試

        利用兩個(gè)CAN 節(jié)點(diǎn)對(duì)文中硬件和軟件設(shè)計(jì)進(jìn)行測(cè)試,設(shè)置為擴(kuò)展幀,速度為500 kbps,CAN 的ID設(shè)置同2.4節(jié)保持一致,數(shù)據(jù)長(zhǎng)度設(shè)置為8字節(jié)。主CAN控制命令測(cè)試數(shù)據(jù)設(shè)置為0x55AA55BB11223344、查詢命令測(cè)試數(shù)據(jù)設(shè)置為0x55CC55DD66 778899;從CAN 控制回復(fù)測(cè)試數(shù)據(jù)設(shè)置為0x7EE7BBAA010 20304、查詢回復(fù)測(cè)試數(shù)據(jù)設(shè)置為0x7EE7DDCC060 70809。

        測(cè)試流程為:1)主CAN 向從CAN 發(fā)送控制命令,從CAN 回復(fù)控制命令;2)主CAN 向從CAN 發(fā)送查詢命令,從CAN 回復(fù)查詢命令。通過CANtest 軟件監(jiān)控CAN 總線數(shù)據(jù)。監(jiān)控結(jié)果如圖4 所示。

        圖4 CANtest軟件監(jiān)控?cái)?shù)據(jù)

        圖4 中第一行數(shù)據(jù)對(duì)應(yīng)主CAN 向從CAN 發(fā)送控制命令數(shù)據(jù),第二行數(shù)據(jù)對(duì)應(yīng)從CAN 回復(fù)控制命令數(shù)據(jù),第三行對(duì)應(yīng)主CAN 向從CAN 發(fā)送查詢命令數(shù)據(jù),第四行對(duì)應(yīng)從CAN 回復(fù)查詢命令數(shù)據(jù)??梢钥闯鰯?shù)據(jù)與設(shè)定值一致。

        另外注意幀ID,此圖中幀ID 不完全等于所設(shè)定的幀ID,是因?yàn)門MS320F28335 設(shè)置的ID 格式中第31 到29 位不屬于CAN 的ID范圍,而第28位到0 位是CAN 擴(kuò)展幀的29 位ID。

        通過示波器觀測(cè)CAN 數(shù)據(jù)的位時(shí)間,實(shí)測(cè)結(jié)果如圖5 所示??梢钥闯觯粫r(shí)間為2 μs,與設(shè)置的500 kbps 一致。

        圖5 CAN數(shù)據(jù)波形圖

        5 結(jié)束語

        1)根據(jù)CAN 總線通信規(guī)范,設(shè)計(jì)了CAN 總線多節(jié)點(diǎn)通信網(wǎng)絡(luò);根據(jù)TMS320F28335 處理器eCAN 外設(shè)特點(diǎn),設(shè)計(jì)了CAN 總線接口電路;

        2)介紹了CAN 位速率計(jì)算方法和CAN 擴(kuò)展型數(shù)據(jù)幀的位序構(gòu)成,設(shè)計(jì)了CAN 總線數(shù)據(jù)幀格式,并給出了ID 設(shè)置示例;

        3)根據(jù)TMS320F28335 處理器eCAN模塊的設(shè)置規(guī)則,對(duì)該模塊進(jìn)行了軟件配置,最終實(shí)現(xiàn)了CAN總線多節(jié)點(diǎn)的收發(fā)通信;

        4)項(xiàng)目的后續(xù)多機(jī)CAN 通信需求可根據(jù)文中所設(shè)定的通信格式進(jìn)行協(xié)議制定。

        猜你喜歡
        設(shè)置設(shè)計(jì)
        中隊(duì)崗位該如何設(shè)置
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        7招教你手動(dòng)設(shè)置參數(shù)
        瞞天過海——仿生設(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        艦船人員編制的設(shè)置與控制
        国产一极内射視颍一| 久久国产色av| 国产日韩欧美网站| 经典女同一区二区三区| 国产av天堂一区二区二区| 三级全黄裸体| 情侣黄网站免费看| 久久精品国产自清天天线| 妞干网中文字幕| 国产黄三级三级三级三级一区二区| 色偷偷亚洲精品一区二区| 中文字幕一区二区人妻秘书| 国产真实乱对白精彩| 激情综合欧美| 日韩欧美在线播放视频| 冲田杏梨av天堂一区二区三区| 亚洲熟女少妇精品综合| 国产精品理论片| 97色伦图片97综合影院久久 | 亚洲av无码电影网| 国产中文久久精品| 亚洲国产精品日韩av专区| 国产精品极品美女自在线观看免费| 亚洲国产成人久久综合| 亚洲av无码av日韩av网站| 精品九九视频| 中文字幕一区乱码在线观看| 免费看黄片的视频在线观看| 国产精品黄色片在线看| 亚洲av永久无码精品一区二区| 99精品久久久中文字幕| 久久综合伊人有码一区中文字幕| 特级做a爰片毛片免费看| 中文字幕丰满伦子无码| 免费无遮挡无码视频在线观看| 粉嫩小泬无遮挡久久久久久| 一本色道久久88加勒比| 国精品午夜福利视频不卡| 99ri国产在线观看| 免费黄网站一区二区三区| 内射干少妇亚洲69xxx|