a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于CAN總線的智能節點的設計

基于CAN總線的智能節點的設計

作者: 時間:2016-10-16 來源:網絡 收藏

摘要性能優越,是當前的研究熱點,本文提出一種基于和SN65HVD230組成的測試系統。分別設計了基于系統的硬件結構和軟件設計,實現了穩定可靠的數據測量控制,提高了工業現場的可操作性。實際應用表明,該方案提出的組態靈活、結構簡單、性能穩定、擴展性好。

本文引用地址:http://www.j9360.com/article/201610/307873.htm

關鍵詞:CAN總線;智能節點;

現場總線是工業自動化領域中實現分布式控制而產生的工業級局域網,其可以實現控制系統內各節點的實時數據通信,具有良好的可靠性,成為當前工業控制領域內的研究熱點。在眾多現場總線中,CAN總線以其高性能的特點,被廣泛應用于航天航空、工業控制、環境監測,醫療設備等多個方面。基于CAN總線的控制節點可實現對工業控制中多點

的分布式控制,具有重要的研究價值。

1 總體結構設計

CAN總線采用了不同于傳統的分布式控制系統的構架,由分散于工業控制中現場智能節點完成傳統系統中主機的常規測試與控制。因此基于CAN總線的分布式控制系統的主機不必監控底層設備,實現高性能的高層次控制與管理。一般基于CAN總線的工業分布式控制系統中由主機、數據轉換器以及智能節點組成。

整個系統的結構如圖1所示,主機和智能節點通過CAN總線連接,智能節點作為從機通過CAN接口連接CAN總線。主機由基于LabVIEW設計的監測軟件和硬件資源組成,主要實現對智能節點的監測以及測試數據的顯示和存儲。數據轉換器是串口轉CAN總線實現數據的轉換,并實現轉發。各個智能節點都掛接到 CAN總線上,將采集到的數據發送到CAN總線上或者接受CAN總線上數據進行處理。智能節點主要由微控制器、CAN收發器以及相應I/O接口組成。

a.jpg

智能節點設計使用作為其主控芯片,集成多項高性能工業標準接口的互聯型微處理器,其采用32位ARM Cortex—M3核心,主頻高達72 MHz,其出色的兼容性以及高性能,低價格,具有較大的RAM和ROM,對于程序量較大的嵌入式系統有良好的支持,廣泛應用于工業控制中。

新STM32外設豐富強大,包括10個定時器,其中一些不僅可以進行普通的定時還可以進行脈沖捕獲、以及PWM生成;2個12位AD模數轉換器,其最大采樣率高達2M sample/s、2個12位DA數模轉換器、2個I2C接口、5個UART接口支持最高921 600 bps和3個SPI端口和高質量數字音頻接口IIS,擁有全速USB(OTG)接口,支持2路CAN2.0B接口,以及高速以太網10/100 MAC模塊接口。

CAN收發器選擇德州儀器的SN65HVD230,該器件具有高速率、高抗干擾能力和高可靠性CAN總線的串行通信。該芯片在CAN總線系統中具有廣泛的應用,便于更換。

2 系統硬件設計

一般的CAN總線智能節點由三個部分:微控制器、CAN總線控制器以及CAN總線收發器組成。微控制器STM32F107內部已經集成了CAN總線控制器,故本文涉及的智能節點主要由STM32F107和CAN總線收發器組成。

圖2是基于STM32F107智能節點系統的CAN總線部分原理圖。圖中STM32F107的PD0和PD1腳分別為CANRX和CANTX引腳,為 CAN總線的輸入輸出管腳,連接CAN總線收發器才能與CAN物理總線相連。CAN收發器SN65HVD230,具有速度高達1 Mbps的差分發送、差分接收能力,提供三種工作模式:高速、低電流待機和斜率控制。自身具有短路保護、失地保護、過壓保護和過熱保護。常態下工作電壓是 -2V~7V,瞬時耐壓范圍是-25V~25V。CAN收發器SN65HVD230第8引腳經10 k電阻與PD15連接,這樣可以由微控制器控制其工作模式,當PD 15為低電平時為高速工作模式,PD15為高電平時為低電流待機模式。CAN收發器SN65HVD230與CAN總線的接口設計時采用較強的抗干擾措施,以及過流保護等方式。其中與CANH、CANL串連的5 k電阻可起到一定的限流作用;并聯在CANH、CANL和地之間的32 pF的小電容,防止高頻干擾,同時具有一定的防電磁輻射能力;在CAN總線的輸入端與地之間接的防雷擊管,可以濾除CAN總線輸入端和地之間的瞬態突變干擾。

b.jpg

復位電路則是包括按鍵復位電路和上電自動復位電路組成,加強其可靠性。本文為了系統的調試,集成了JTAG的調試接口。

3 系統軟件設計

基于CAN總線的智能節點主程序流程如圖3所示,其發送方式通過查詢實現,而發送數據方式通過中斷來實現。智能節點的主程序主要包括系統及外設初始化、CAN控制器初始化、數據發送、數據接收部分。

c.jpg

在CAN控制器初始化時,必須要求其控制寄存器中復位位置較高時,才可以訪問寄存器。因此,在初始化寄存器前,系統必須確保已經進入復位狀態,在訪問CAN總線時寄存器中的內容決定波特率的大小。總線定時寄存器的初始化值應根據CAN控制器的晶振頻率進行設計。

數據發送時,CAN控制器將數據發送到CAN總線是由CAN控制器自動完成的,發送主程序將發送數據的信息幀發送到CAN的發送緩沖區,然后啟動發送命令即可。

數據接收時,CAN控制器從CAN總線將數據讀取到CAN接收緩沖區也是自動完成的。接收程序需要從接收緩沖區讀取數據。設計時充分考慮讀接收緩存器(RBF0和RBF1)內容后,微控制器必須通過置釋放接收緩存位為高,從而釋放緩存器,使得另一個立即變為有效。

4 結束語

以STM32F107微處理器為核心,設計了CAN總線的智能數據采集節點,該系統充分發揮CAN總線的優點,具有高可靠性、高抗干擾性、高傳輸率以及靈活的組網方式等。該智能節點可實現分布式多節點測試,實現了測試過程智能化和網絡化,在工業測控領域有廣闊的應用前景,尤其是處理數據較多和實時性嚴苛的環境下,該設計節點會更加有優勢。

  • STM32單片機中文官網
  • STM32單片機官方開發工具
  • STM32單片機參考設計


評論


相關推薦

技術專區

關閉