• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      異構(gòu)CAN 總線節(jié)點通信系統(tǒng)設(shè)計

      2022-08-15 06:36:08李樹鳳王志琳劉新月
      關(guān)鍵詞:波特率收發(fā)器總線

      郝 彬,李樹鳳,王志琳,劉新月

      (1.天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津 300222;2.科信達(dá)通(天津) 科技發(fā)展有限公司,天津 300101)

      CAN(controller area network)[1]總線獲得了業(yè)界的認(rèn)可,其應(yīng)用場景也從汽車領(lǐng)域[2-3]延伸至工業(yè)自動化[4]、船舶、醫(yī)療設(shè)備[5]、工業(yè)設(shè)備[6-7]等領(lǐng)域,用途十分廣泛。在我國北方,大棚種植瓜果、蔬菜是廣大農(nóng)民發(fā)展多種經(jīng)營、增加經(jīng)濟收入的重要手段。在大棚技術(shù)[8]管理方面涉及的內(nèi)容很多,主要有光照、溫度、病蟲害、防霜凍等。在北方的冬季,氣溫較低,為了保持大棚內(nèi)的溫度,防止凍害,往往要在塑料薄膜上覆蓋一層或多層草苫,這樣雖可起到保溫的作用,但會影響光照作用。而有時雖然不需要覆蓋草苫,但是受到北方霧霾、陰雪天氣的影響,也會影響大棚內(nèi)作物的采光種植,所以為大棚內(nèi)植物提供充足的光照是一項重要的技術(shù)問題。為實現(xiàn)大棚內(nèi)照明,目前大多采用LED 照明光源[9],在大棚內(nèi)進(jìn)行多點布設(shè)。針對各LED照明節(jié)點,本文研究了基于CAN 總線互聯(lián)的多照明節(jié)點的連接和控制方式,并分析了采用不同控制芯片的CAN 照明節(jié)點的互聯(lián)問題。

      1 系統(tǒng)設(shè)計

      CAN 總線的物理連接只需2 根線,常記為CAN_H和CAN_L,通過差分信號進(jìn)行傳輸。CAN 總線網(wǎng)絡(luò)是一種真正的多主機網(wǎng)絡(luò),其網(wǎng)絡(luò)拓?fù)淙鐖D1 所示。

      圖1 CAN 通信系統(tǒng)拓?fù)鋱D

      在總線處于空閑狀態(tài)時,任何一個節(jié)點單元都可以申請成為主機,向總線發(fā)送消息。最先訪問總線的節(jié)點單元可以獲得總線的控制權(quán);多個節(jié)點單元同時嘗試獲取總線的控制權(quán)時,將發(fā)生仲裁事件,只有優(yōu)先級高的節(jié)點單元能獲得總線的控制權(quán)。

      CAN 總線的通信速率和總線長度有關(guān),在總線長度小于40 m 的場合中,數(shù)據(jù)傳輸速率可以達(dá)到1 Mbps,而即使總線長度達(dá)到1 000 m,數(shù)據(jù)傳輸速度仍可達(dá)到50 kbps,明顯優(yōu)于RS232 和RS485 等通信方式。CAN 總線上的節(jié)點數(shù)理論上沒有上限,但在實際中受到總線上的時延以及電氣負(fù)載的限制,這種傳輸距離完全可以滿足大棚內(nèi)的布線要求。

      由圖1 可知,每個通信節(jié)點由微控制器、CAN 控制器、CAN 收發(fā)器3 部分組成。在構(gòu)造CAN 總線通信節(jié)點時,可以選擇不同廠家的微控制器、CAN 控制器和CAN 收發(fā)器。目前,市場上具有代表性的CAN 控制器有恩智浦公司的SJA1000,在CAN 收發(fā)器方面,有恩智浦公司的PCA82C250 和TJA1050。為提升產(chǎn)品的綜合性能,很多微控制器廠商提供集成了CAN 控制器的MCU 產(chǎn)品,如意法半導(dǎo)體(ST)公司的STM32F103系列的32 位微控制器,恩智浦公司的P87C591 系列的8 位單片機等。

      在一個CAN 總線網(wǎng)絡(luò)中采用完全一致的CAN 節(jié)點設(shè)計無疑是最為方便的方案,但由于功能、成本或其他方面因素的考慮,在同一個CAN 總線網(wǎng)絡(luò)上,各CAN 節(jié)點會采用不同的實現(xiàn)方案。這時就必須解決異構(gòu)CAN 節(jié)點的互聯(lián)互通問題。本文以照明控制應(yīng)用為案例,從實用角度出發(fā),闡述異構(gòu)CAN 節(jié)點間實現(xiàn)互聯(lián)互通時所涉及的主要技術(shù)問題。

      2 節(jié)點電路實現(xiàn)方式

      在本文設(shè)計的照明控制系統(tǒng)中,CAN 網(wǎng)絡(luò)由一個主節(jié)點和多個從節(jié)點組成。主節(jié)點負(fù)責(zé)多點數(shù)據(jù)采集和信息顯示,采用意法半導(dǎo)體(ST)的32 位STM32F103作為控制器[10-11],STM32F103 微控制器內(nèi)置了bx(basic extended)CAN 控制器,集成度高。各從節(jié)點主要功能是負(fù)責(zé)區(qū)域內(nèi)的照度信號檢測,以及控制一組LED 照明燈的光照強度調(diào)節(jié)。出于項目的繼承性和成本方面的考慮,各子節(jié)點采用宏晶科技(STC)的STC89C52RC的8 位51 單片機作為節(jié)點控制器,實現(xiàn)節(jié)點控制和CAN 通信功能。相應(yīng)的節(jié)點框圖如圖2 所示。

      圖2 CAN 通信系統(tǒng)拓?fù)鋱D

      2.1 STM32控制的CAN節(jié)點

      在硬件上,STM32F103 內(nèi)部集成一個bxCAN 控制器。bxCAN 控制器支持2.0A 和2.0B 的CAN 協(xié)議,只需外接1 個CAN 收發(fā)器TJA1050,即可滿足CAN 通信的硬件要求。硬件電路如圖3 所示。

      圖3 STM32F103 控制的CAN 節(jié)點電路圖

      由圖3 可知,STM32F103 的bxCAN 協(xié)議控制器的發(fā)送引腳(CAN_TX)為PA12,接收引腳(CAN_RX)為PA11,與CAN 收發(fā)器TJA1050 對應(yīng)的串行數(shù)據(jù)輸出TXD 和串行數(shù)據(jù)輸入RXD 相連。TJA1050 通過其2 個有差動接收和發(fā)送能力的總線終端CANH 和CANL 連接到CAN 總線網(wǎng)絡(luò)。

      2.2 STC89C52RC控制的CAN節(jié)點

      STC89C52RC 是一款功能單一的傳統(tǒng)8 位51單片機,如要實現(xiàn)CAN 總線通信功能需外擴獨立的CAN 總線控制器和收發(fā)器,如圖2 所示。在實際應(yīng)用中,CAN 控制器選用SJA1000[12],收發(fā)器采用PCA82C250,二者均為恩智浦公司的產(chǎn)品。SJA1000 是一款獨立的CAN 控制器,支持CAN2.0 協(xié)議的新特性。其地址/數(shù)據(jù)復(fù)用總線AD0-AD7 與STSTC89C52RC的P0 口相連,做為單片機的外部存儲器擴展應(yīng)用。ALE、RD、WR 引腳與單片機的對應(yīng)引腳連接,控制讀寫數(shù)據(jù)操作,完成數(shù)據(jù)和地址通信。片選端CS 連接到單片機的P2.0,片選信號低電平有效。復(fù)位端RST 由單片機的P2.3 控制。SJA1000 的16 腳MODE 端接高電平選擇INTEL 模式。SJA1000 的16 腳是中斷信號輸出,接到STSTC89C52RC 的INT1,使單片機以中斷方式接收CAN 總線的數(shù)據(jù)。XTAL1 和XTAL2 共2 個引腳接16 MHz 的晶體,為SJA1000 數(shù)據(jù)的發(fā)送以及校驗等功能提供時鐘。

      SJA1000 的TX0、RX0 連接到CAN 收發(fā)器PCA82-C250 的對應(yīng)引腳,數(shù)據(jù)幀就可以傳送到總線上。由于控制器和收發(fā)器都需要外擴,故與STM32 相比,STC89C52RC 實現(xiàn)的CAN 節(jié)點硬件電路要復(fù)雜一些。

      3 節(jié)點波特率

      在完成了硬件設(shè)計后,具體通信功能要依靠軟件來實現(xiàn)。同其他串行通信方式一樣,CAN 總線在通信時,各節(jié)點要具有相同的波特率。

      3.1 STM32控制的CAN節(jié)點波特率設(shè)置

      CAN 總線的數(shù)據(jù)傳輸速率由波特率決定,它是指發(fā)送單元在非同步狀態(tài)下發(fā)送的每秒位數(shù),也稱為位速率。標(biāo)準(zhǔn)的CAN 協(xié)議的一個位可分為4 個段:同步段(SS)、傳播時間段(PTS)、相位緩沖段1(PBS1)和相位緩沖段2(PBS2)。而每個段又由若干個被稱為最小時間單位tq構(gòu)成。STM32 將傳播時間段和相位緩沖段1 合并為1 個PSB1。同步段的時長為1 個tq,相位緩沖段1 和相位緩沖段2 的時長為tq的整數(shù)倍。正常的位時間是上述3 段的時長之和。STM32 的位時序如圖4所示。

      圖4 bxCAN 的位時序圖

      通信波特率是正常位時間的倒數(shù)。參見文獻(xiàn)[6],正常位時間=1×tq+tBS1+tBS2,其中,tq=(BRP[9 ∶0]+1)×tPCLK,tBS1=tq×(TS1[3 ∶1]+1),tBS2=tq×(TS2[2 ∶0]+1),tPCLK是APB1 總線的時鐘周期。BRP [9 ∶0],TS1[3 ∶1],TS2[2 ∶0]均在CAN 位時間寄存器(CAN_BTR)中定義。通信波特率計算式為

      若取APB1 的時鐘頻率為36 MHz,BRP[9 ∶0] =47,TS1[3 ∶1]=2,TS2[2 ∶0]=1,則可計算出波特率為125 kbps,即為應(yīng)用實例使用的波特率。

      3.2 STC89C52RC節(jié)點波特率設(shè)置

      由51 單片機控制的CAN 節(jié)點是通過STC89C52RC設(shè)置CAN 控制器SJA1000 的相應(yīng)寄存器來實現(xiàn)的。在SJA1000 中CAN 總線的位時間采用了與STM32 相類似的描述方式,因是不同廠家的產(chǎn)品,故使用了不同的稱謂。在SJA1000 中,位時間的最小單位稱為CAN 系統(tǒng)時鐘周期,用Tscl表示,對應(yīng)STM32 中的tq。每一位也是由同步段、時間段1、時間段2 組成,分別用Tsyncseg、Tseg1、Tseg2表示,與STM32 中的同步段、相位緩沖段1 和相位緩沖段2 對應(yīng)。

      由于CPU 的架構(gòu)不同,具體的寄存器設(shè)置方式也不同,這是實現(xiàn)CAN 總線通信的關(guān)鍵技術(shù)細(xì)節(jié)。CAN系統(tǒng)時鐘周期為

      式中:BRP.5 是總線定時器(BTR0)中BRP.5 位的設(shè)置狀態(tài),只有0 或1 這2 種可能;第BRP.4 位、BRP.3 位、BRP.2 位、BRP.1 位和BRP.0 位的設(shè)置狀態(tài)一并代入式(2)計算;Tclk是SJA1000 外部晶振的頻率周期,使用16 M 外部晶振。

      在SJA1000 中,3 個段的計算式為

      式(4)中,Tseg1.3、Tseg1.2、Tseg1.1、Tseg1.0 是總線定時器(BTR1)中對應(yīng)的位設(shè)置,式(5)中Tseg2.2、Tseg2.1、Tseg2.0也是總線定時器(BTR1)中對應(yīng)的位設(shè)置。

      在SJA1000 中

      在應(yīng)用實例中,設(shè)置總線定時器0 預(yù)設(shè)值0x03,即BRP0=0x03,即BRP.1 和BRP.0 為1,其余位為0。由式(2)可計算出CAN 系統(tǒng)時鐘周期Tscl=2×(2+1+1)/16 M。

      總線定時器(BTR1)的設(shè)置值0x1C,即BTR1 =0x1C,即Tseg1.3=1,Tseg1.2=1,Tseg2.0=1,其他位為0,相應(yīng)可以計算出Tseg1= Tscl×(8 + 4 + 1)=13Tscl,Tseg2=Tscl×(1+1)=2Tscl,將其代入式(6)得

      位時間=Tsyncseg+Tseg1+Tseg2=16×Tscl

      波特率=1/(16×Tscl)=125 kbps

      與前述STM32 設(shè)置的通信速率保持一致。

      STC89C52RC 對SJA1000 的訪問是按照外部存儲器方式來實現(xiàn)的,所以訪問的基地址即為0xFE00,地址范圍0xFE00~0xFFFF,采用宏定義語句#define SJA_BASE_ADR0xFE00,定義該基地址后,對SJA1000 的存儲器的方式就是在該基地址基礎(chǔ)上加上相應(yīng)的偏移量,如發(fā)送緩沖區(qū)的第1 個字節(jié)位于第17 個寄存器,其地址為#defineSJA_RBSR0XBYTE[SJA_BASE_ADR+0x10]。

      針對STC89C52RC 控制節(jié)點按照上述波特率設(shè)置方式對SJA1000 進(jìn)行軟件編程,保證主、從節(jié)點使用的波特率相同,即可實現(xiàn)51 單片機控制的各個從節(jié)點與STM32 控制的主節(jié)點的數(shù)據(jù)通信,從而構(gòu)建基于CAN 總線的多節(jié)點照明系統(tǒng)。

      4 驗證系統(tǒng)搭建

      依據(jù)上述方案,項目組搭建了1 個主節(jié)點和3 個從節(jié)點的演示驗證系統(tǒng)。主控節(jié)點采用STM32F103RBT6芯片,如圖5(a)所示,從節(jié)點采用STC89C52RC 單片機控制,由于與從節(jié)點配套的CAN 控制器SJA1000是一個單獨芯片,故采用了模塊化設(shè)計,單獨設(shè)計了一個小印制板,采用插卡式安裝,如圖5(b)所示。

      圖5 演示驗證系統(tǒng)

      這種設(shè)計方案既方便維修,又利于系統(tǒng)的升級換代。如在系統(tǒng)小型化設(shè)計時,需要將插裝的單片機芯片改為貼片設(shè)計,只需重新設(shè)計上部的主控板。演示驗證系統(tǒng)中,主、從節(jié)點CAN 總線通信波特率均設(shè)置為125 kbps,可實現(xiàn)主節(jié)點對從節(jié)點的光照強度控制及各從節(jié)點的狀態(tài)輪詢。為降低節(jié)點成本,照明節(jié)點采用價格較低的LED 燈頭作為照明光源,LED 燈頭的供電驅(qū)動為自主設(shè)計的LED 驅(qū)動板,驅(qū)動芯片使用AMC7150,而照明燈頭直接采購市場上現(xiàn)成的產(chǎn)品。

      5 結(jié) 語

      本文設(shè)計實現(xiàn)了采用不同主控芯片,通過CAN 總線通信,實現(xiàn)多LED 照明節(jié)點控制系統(tǒng)。主節(jié)點功能為多點數(shù)據(jù)采集和信息顯示,采用意法半導(dǎo)體(ST)的32 位STM32F103 作為控制器,內(nèi)置了bxCAN 控制器。從節(jié)點采用低價的STC89C52RC 單片機,需外擴款獨立的CAN 控制器SJA1000。根據(jù)上述方案,本文搭建1 個主節(jié)點和3 個從節(jié)點的演示驗證系統(tǒng)。所有節(jié)點CAN 總線通信波特率均設(shè)置為125 kbps,可實現(xiàn)節(jié)點間通信控制。系統(tǒng)采用的異構(gòu)CAN 節(jié)點通信技術(shù),也可用于其他通信網(wǎng)絡(luò)中,具有一定的應(yīng)用推廣價值。

      猜你喜歡
      波特率收發(fā)器總線
      清管球收發(fā)器設(shè)計細(xì)節(jié)分析及應(yīng)用
      CAN 總線波特率自適應(yīng)程序設(shè)計
      智能制造(2020年5期)2020-07-03 06:24:00
      基于PCI Express總線的xHC與FPGA的直接通信
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      基于FPGA的異步串行通信波特率容錯設(shè)計
      電子測試(2018年7期)2018-05-16 06:27:18
      Virtex5 FPGA GTP_DUAL硬核兩個收發(fā)器獨立使用的實現(xiàn)
      多通道ARINC429總線檢查儀
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
      河南科技(2014年16期)2014-02-27 14:13:22
      C*Core芯片SCI串口波特率容限優(yōu)化
      富士通半導(dǎo)體推出收發(fā)器家族全新LTE優(yōu)化多頻單芯片MB86L13A
      临夏县| 中超| 高雄县| 海淀区| 汶川县| 巴塘县| 宣城市| 永昌县| 昌乐县| 都江堰市| 涿州市| 遂宁市| 满洲里市| 通江县| 德惠市| 郸城县| 罗源县| 雷州市| 皮山县| 赣州市| 界首市| 武胜县| 张北县| 永定县| 夏津县| 信宜市| 阳东县| 文山县| 科尔| 静海县| 登封市| 云阳县| 炉霍县| 青阳县| 晋州市| 攀枝花市| 谷城县| 廊坊市| 元朗区| 沁水县| 广河县|