《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM處理器的CAN節點設計
基于ARM處理器的CAN節點設計
摘要: 目前越來越多的ARM處理器內部自帶了CAN控制器,極大的方便了開發人員對CAN總線的開發。本課題是基于ARM2104的微處理器CAN總線系統節點開發,采用CAN總線可以將節點控制器直接安裝在現場,數據經處理后發送到總線上,實現了信息的全數字方式傳輸,提高了傳輸的抗干擾能力,增加了信息的傳輸量。
Abstract:
Key words :

 引言

隨著信息技術的飛速發展,基于ARM在嵌入式系統方面的優勢和CAN總線的廣泛應用,目前越來越多的ARM處理器內部自帶了CAN控制器,極大的方便了開發人員對CAN總線的開發。本課題是基于ARM2104的微處理器CAN總線系統節點開發,采用CAN總線可以將節點控制器直接安裝在現場,數據經處理后發送到總線上,實現了信息的全數字方式傳輸,提高了傳輸的抗干擾能力,增加了信息的傳輸量。

總體設計方案

本課題中所設計的是CAN總線系統節點,系統節點結構圖如圖1。


圖1 系統節點結構圖

CAN總線系統應用要求:CAN總線接口的擴展、點對點通信。

CAN節點的設計主要是CAN通信控制器與微處理器之間、CAN總線收發器與物理總線之間的電路的設計。微控制器主要負責CAN控制器的初始化,進行與CAN控制器的數據傳遞,并按照預定的程序進行處理;CAN的通信協議主要由CAN控制器完成,CAN控制器主要負責將數據以CAN報文的形式傳遞,并進行系統的診斷、測試以及處理CAN總線上的錯誤等;而CAN總線收發器是CAN控制器和CAN總線之間的接口,完成物理電平的轉換,功能是增大通信距離,提高系統的瞬間抗干擾能力,保護總線,降低射頻干擾(RFI)。

通常一個完整的CAN節點應該包括三個部分:微控制器、CAN控制器、CAN收發器。目前廣泛流行的CAN總線器件有兩大類:一類是獨立的CAN控器,另一類是帶有在片CAN的微控制器。

CAN節點硬件電路設計

對于CAN節點硬件電路的的各接口電路的設計有:CAN接口電路、CPU模塊、外圍電路(復位電路和JATG接口電路)。其中CPU及電源電路如下圖2所示:


圖2 CPU及電源模塊

LPC2104要使用兩組電源,I/O供電電源為3.3V應用系統。首先,電源DW1將電源整流,經過C1、C3濾波,然后通過78M05將電源穩壓至5V,再使用LDO芯片(低差壓電源芯片)穩壓輸出3.3V及1.8V電壓。LD0芯片采用S-1131B33UC和S-1131B18UC,其特點為輸出電流大、精度高、穩定性高、功耗低。

設計中的CPU芯片與控制器SJA1000的配腳圖如圖3所示。


圖3 模擬總線硬件圖

CAN節點的軟件設計

CAN節點的軟件設計主要包括ARM處理器的編程和SJA1000驅動程序的設計。在硬件電路確定以后,系統控制的主要功能將依賴于軟件來實現。系統能否正常可靠的工作,除了硬件的合理設計以外,與功能完善的軟件設計是分不開的。

軟件程序流程圖如下圖4所示:


圖4 主程序流程圖

配置軟件包使用的GPIO必須在文件config.h中進行,其程序清單如列表1所示,其中程序清單(1)設置地址總線的寬度,只能為8、16、和24三個值之一。清單(2)設置信號AD0對應GPIO,其中0對應P0.0,1對應P0.1,以此類推。地址/數據總線的其它信號以這個信號為基準,順序定義。清單(3)信號ALE對應GPIO,其中0對應P0.0,1對應P0.1,以此類推。清單(4)信號WR對應GPIO,其中0對應P0.0,1對應P0.1,以此類推。

程序清單列表1 配置總線使用的GPIO

#define ADDR_N_BIT 16 (1)

#define AD0_PIN_NUM 8 (2)

#define ALE_PIN_NUM 0 (3)

#define WR_PIN_NUM 1 (4)

#define RD_PIN_NUM 4 (5)

#include“exbus.h” (6)

本系統CAN控制器采用SJA1000,SJA1000控制器在微控制器正常通訊前,都必須先在相應地址寄存器中加載,確定接收標識碼、總線接收波特率以及輸出控制等,這就是CAN控制器的初始化。系統所用的CAN總線控制器SJA1000和CAN2.0A以及CAN2.0B兩個版本的協議同時兼容。本系統設計以CAN2.0A的Basic CAN為協議標準進行設計。

測試之前編寫的程序前首先要確定SJA1000的片選地址,確定與其他外部存儲器無沖突。其次,微處理器對SJA1000的控制訪問是以外部存儲器的方式,來訪問SJA1000的內部寄存器,所以應該正確定義微處理器訪問SJA1000時,SJA1000內部寄存器的訪問地址。

整個流程進行測試之后,SJA1000有8個不同的中斷,這些中斷可使主控制器立即作用在CAN控制器的某些狀態上。一旦CAN產生中斷,SJA1000就將中斷輸出(管腳16)設為低電平,直到主控制器通過讀SJA1000的中斷寄存器對中斷采取相應措施,在主控制器響應后中斷,或接收INFO里有更多有效數據,SJA1000立刻將中斷輸出再次設為低電平。采用中斷接收的方式來接收數據,LPC2104的P0.16設置為外部中斷INT,整個數據接收模塊由數據接收函數void ReceiveData(uint8 *Rt)、中斷處理函數CANException(void)構成。當SJA1000接收到CAN總線數據,通過接收中斷使得LPC2104產生外部中斷INT而使其進入中斷處理函數,進而對接收到的數據進行處理。

可想,在CAN節點的軟件設計的整個流程中,當硬件電路確定以后,系統控制的主要功能將依賴于軟件來實現,并且能夠正常可靠的工作。

結論

以ARM芯片作為主控制器,CAN總線作為數據傳輸方式來進行通訊的嵌入式系統得到了越來越廣泛的應用。同時CAN通訊的可靠性也成為影響系統性能的關鍵部分之一。

本文以LPC2104為例,給出了一類微處理器與CAN控制器SJA1000之間的較為通用的硬件連接方法,對CAN總線節點進行了可靠性設計,采用CAN總線可以將節點控制器直接安裝在現場,數據經處理后發送到總線上,實現了信息的全數字方式傳輸,提高了傳輸的抗干擾能力,增加了信息的傳輸量。

該設計現已在工廠車間中的車身控制系統中得到了應用,且運行可靠。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久综合伊人77777尤物| 国产精品hd| 一区二区三区精品视频在线观看| 欧美一二区视频| 在线视频一区二区| 亚洲激情专区| 亚洲福利视频在线| 尤物yw午夜国产精品视频明星| 国产午夜精品美女毛片视频| 国产欧美日韩三区| 国产亚洲一二三区| 国产真实久久| 国产日韩精品一区二区三区在线| 国产精品呻吟| 欧美少妇一区| 国产精品爱啪在线线免费观看| 欧美日韩国产二区| 欧美日韩www| 欧美精品在线播放| 欧美日韩国产91| 欧美日韩一区二区三区高清| 欧美性猛交视频| 国产精品女主播| 国产日韩欧美在线播放不卡| 国产一区二区三区在线观看精品 | 亚洲国产免费| 亚洲欧洲免费视频| 日韩一二在线观看| 在线午夜精品自拍| 亚洲免费在线视频| 欧美中文在线视频| 老巨人导航500精品| 美女主播一区| 欧美日韩国产综合网 | 亚洲精品永久免费| 一区二区三区高清视频在线观看| 亚洲免费婷婷| 久久高清一区| 麻豆精品在线播放| 欧美日韩国产免费| 国产精品麻豆欧美日韩ww| 国产欧美精品xxxx另类| 国产综合亚洲精品一区二| 亚洲国产精品久久人人爱蜜臀| 亚洲精品久久| 亚洲欧美日韩在线不卡| 亚洲国产精品成人| 一区二区免费在线观看| 欧美一级二区| 男人的天堂亚洲| 欧美性生交xxxxx久久久| 国产精品色在线| 在线观看av一区| 99人久久精品视频最新地址| 香蕉久久国产| 亚洲精品日产精品乱码不卡| 亚洲一区二区在线免费观看| 久久久99免费视频| 欧美区在线观看| 国产精品一区在线观看你懂的 | 在线播放亚洲| 亚洲视频中文| 亚洲激情精品| 性欧美1819性猛交| 欧美高清视频一区二区三区在线观看 | 日韩亚洲一区二区| 亚洲欧美韩国| 久久女同精品一区二区| 欧美精品久久一区二区| 国产欧美日韩亚洲| 亚洲精品一区二区三区不| 午夜精品偷拍| 一本色道久久综合亚洲精品不 | 亚洲欧洲日夜超级视频| 亚洲一区在线免费观看| 久久九九精品| 欧美日韩亚洲一区二区三区四区| 国产一区二区| 亚洲最新视频在线播放| 亚洲国产高清在线| 午夜欧美电影在线观看| 欧美精品一区二区三区四区| 国产一区二区高清视频| 一本色道久久综合亚洲精品不 | 欧美激情综合网| 国产精品自拍三区| 亚洲乱码日产精品bd| 久久精品1区| 亚洲在线视频网站| 欧美精品二区| 一区二区视频免费完整版观看| 亚洲综合大片69999| 一区二区三区欧美成人| 欧美ed2k| 国内揄拍国内精品少妇国语| 中国成人黄色视屏| 亚洲精品视频在线观看网站| 久久久久国产一区二区三区| 国产精品久久久久久户外露出| 亚洲国产片色| 亚洲国产欧美日韩另类综合| 久久精品国产成人| 国产精品欧美日韩一区| 亚洲久久视频| 日韩一区二区高清| 欧美77777| 在线观看日韩欧美| 亚洲第一综合天堂另类专| 久久久久一区二区| 国产日韩欧美三级| 午夜精品影院在线观看| 午夜日韩激情| 欧美性猛交99久久久久99按摩 | 国产精品人人做人人爽人人添| 亚洲国产一区在线| 亚洲高清在线播放| 久久精选视频| 国产夜色精品一区二区av| 欧美一级理论片| 久久精品人人做人人爽电影蜜月| 国产精品久久久久久久浪潮网站 | 一本色道久久综合亚洲二区三区| 日韩视频一区二区三区在线播放免费观看| 久久久水蜜桃| 国产一区二区三区高清播放| 欧美一二三区在线观看| 久久精品一本| 激情成人在线视频| 久久精品视频在线播放| 蜜臀a∨国产成人精品| 在线观看亚洲精品| 亚洲精品精选| 欧美看片网站| 在线视频亚洲欧美| 午夜欧美精品久久久久久久| 国产日韩欧美高清| 欧美一区在线视频| 可以免费看不卡的av网站| 在线播放亚洲| 99国产精品99久久久久久粉嫩| 欧美日本一区二区视频在线观看| 亚洲精品三级| 亚洲综合另类| 国产精品一区二区三区乱码| 午夜精品免费| 久久综合色8888| 亚洲人成高清| 亚洲愉拍自拍另类高清精品| 国产精品免费网站| 性欧美超级视频| 免费亚洲一区二区| 亚洲精品你懂的| 亚洲淫片在线视频| 国产偷自视频区视频一区二区| 亚洲国产精品电影在线观看| 蜜乳av另类精品一区二区| 亚洲精品一区二区三区不| 亚洲欧美日本伦理| 激情偷拍久久| 一区二区三区欧美在线观看| 国产麻豆日韩| 亚洲电影在线观看| 欧美区一区二区三区| 亚洲欧美国产精品桃花| 美女图片一区二区| 日韩午夜高潮| 久久久精品日韩| 亚洲精品乱码| 午夜在线精品偷拍| 在线精品观看| 亚洲欧美日韩综合一区| 伊人成年综合电影网| 一区二区三区高清| 国产主播在线一区| 一区二区三区精品在线 | 99riav久久精品riav| 欧美一级艳片视频免费观看| 极品少妇一区二区| 亚洲无玛一区| 国产揄拍国内精品对白| 日韩午夜av电影| 国产精品一区二区三区免费观看| 91久久精品日日躁夜夜躁国产| 欧美特黄a级高清免费大片a级| 久久精品99国产精品| 欧美午夜精品久久久久久久| 久久精品夜色噜噜亚洲aⅴ| 欧美美女福利视频| 久久精品国产99国产精品澳门| 欧美丝袜一区二区三区| 亚洲欧洲精品天堂一级| 国产精品欧美一区喷水| 99国内精品久久久久久久软件| 国产一级久久| 亚洲欧美日韩专区| 亚洲精品在线三区| 久久尤物电影视频在线观看| 亚洲欧美日本国产有色| 欧美日韩伦理在线| 亚洲人成网站在线播|