999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AT91M40800與CAN總線的接口設計與軟件編程

2010-07-25 08:12:08王小進李世學
船電技術 2010年4期
關鍵詞:設置設計

王小進 李世學

(中國船舶重工集團公司第712研究所, 武漢430064)

1 引言

隨著信息技術的發展,變電站自動化系統內部各設備間通訊信息量逐漸增大,傳統的串口傳輸已成為數據傳輸的瓶頸。文中的接口設計結合ARM芯片與CAN控制器具有高實時性、高傳輸速率、高可靠性等特點,完全適合于變電站上設備間的大數據量實時傳輸。

2 CAN控制器SJA1000介紹

SJA1000[1]是Philips生產的獨立CAN總線控制器,它是早期的 PCA82C200的替代產品。它與 PCA82C200在管腳、電氣特性上完全兼容,不僅有和 PCA82C200一樣的基本 CAN(BasicCAN)工作模式,而且新增加 CAN(PeliCAN)工作模式,這種模式支持具有很多特性的 CAN2.0B協議。經過簡單連接和正確設置的SJA1000,能自動完成CAN總線物理層和數據鏈路成的所有功能,對于 ARM 芯片AT91M40800來說,只要把它堪稱一個基本的I/O設備即可,使用非常簡單、方便。SJA1000的主要特性如下[2]:

(1)擴展的接收緩沖器(64字節,先進先出FIFO);

(2)和CAN2.0B協議兼容;

(3)同時支持11位和29位識別碼;

(4)位速率最高可達1Mbits/s;

(5)支持多種微處理器接口;

(6)可編程的CAN輸出驅動器配置。

3 AT91M40800簡介[3]

采用RISC架構的ARM微處理器一般具有如下特點:

(1)體積小、低功耗、低成本、高性能;

(2)支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;

(3)大量使用寄存器,指令執行速度更快;

(4)大多數數據操作都在寄存器中完成;

(5)尋址方式靈活簡單,執行效率高;

(6)指令長度固定。

AT9140800是美國ATMEL公司推出的AT91系列微控制器中的成員,它基于ARM7TDMI核,包含8KB SRAM、外部總線接口EBI和一些外圍部件。外圍部件包括定時器、USART和中斷控制器。AT91M40800是用于系統主控制器的理想通用微控制器,其內核 ARM7TDMI處理器的性能使得可由軟件實現DMA、SPI和ISO7816接口等附加的外圍功能。

4 接口電路硬件設計[4]

CAN屬于現場總線的范疇,是一種有效支持分布式控制或實時控制的串行通信網絡,其協議是建立在國際標準組織的開放系統互連模型基礎上的,其模型結構只有三層,只取OSI底層的物理層、數據鏈路層和頂層的應用層。其信號傳輸介質為雙絞線。通信速率最高可達1 Mbps/40 m,直接傳輸距離最遠可達10 km/5 bps。可掛接設備最多可達110個。

CAN通信模塊的硬件電路主要包括:CAN通信控制器與微處理器之間,以及 CAN總線收發器與物理總線之間的接口電路。運用AT91M40800和SJA1000設計的CAN總線節點接口電路如圖1所示。

用Philips獨立CAN控制器SJA1000作為通信控制器,使用Philips的82C251作為CAN控制器接口芯片,為了增強 CAN總線節點的抗干擾能力,SJA1000的TX0和RX0通過采用高速光耦 6N137實現收發器與控制器之間的電氣隔離,滿足在最高速率1Mb/s下的電氣響應。

圖1 CAN通信接口電路

5 ARM軟件編程

基于AT91M40800和SJA1000設計的CAN總線節點的軟件設計主要包括三大部分:SJA1000初始化、AT91M40800外部中斷設置、報文發送與接收。結合圖1接口電路圖來從以下三個方面對ARM軟件編程進行簡要描述:

5.1 SJA1000的初始化

SJA1000具有兩種工作模式,即 BasicCAN模式和PeliCAN模式。在BasicCAN模式下支持CAN2.0A協議,在PeliCAN模式下支持CAN2.0B協議,功能更加強大。本節點是將SJA1000設置成在PeliCAN模式下工作。SJA1000的初始化只有在復位模式下才可以進行,具體的初始化主要注意以下幾個方面:

① 設置為復位模式:向MOD模式寄存器中寫入0x09選擇單濾波驗收,進入復位模式;

② 設置工作模式和時鐘分頻:向時鐘分頻寄存器CDR中寫入0x88選擇PeliCAN模式,關閉時鐘輸出CLKOUT,跳過輸入比較器;

③ 設置中斷使能:開放發送中斷超載中斷和錯誤警告中斷;

④ 定義驗收代碼和屏蔽代碼;

⑤ 設置通訊波特率;

⑥ 設置為正常操作模式:向MOD模式寄存器中寫入0x08,將SJA1000設為單濾波的總廠操作模式,這樣SJA1000就可以開始正常工作了。

5.2 AT91M40800外部中斷設置

AT91系列微控制器內部的有一個8優先級、可單獨屏蔽的向量中斷控制器,稱為先進中斷控制器 AIC(Advanced Interrupt Controller)。AIC可以將中斷處理的程序及時間開銷大大降低。中斷控制器方框圖如圖2所示。

圖2 中斷控制器方框圖

AIC中斷源如表1所示,從圖2可以看到,中斷控制器與ARM7TDMI的NFIQ(fast interrupt request)和 NIFQ(standard interrupt request)相連。NFIQ只能由快速請求引腳 FIQ產生,而 NIRQ則可以由片內外圍及外部中斷請求線 IRQ0~IRQ2產生。8優先級中斷編碼器允許用戶定義不同NIRQ中斷源的優先級。

內部中斷源可編程為電平敏感中斷或是邊沿觸發中斷。外部中斷則可編程為上升沿、下降沿觸發和高電平、低電平中斷敏感。

節點電路中把SJA1000作為AT91M40800芯片的一個I/O設備來看待,設定IRQ2為優先級為2的中斷源,在初始化完成后進入中斷服務程序,中斷服務完成后,程序繼續執行原來的代碼。

表1 AIC中斷源

外部中斷設置步驟:

首先假設:第一、AIC已經正確編程,AIC_SVR也已經寫入正確的中斷服務程序的入口地址,且中斷已經使能;第二、地址0x18(IRQ中斷向量地址)指令為

LDR PC,[PC,# -&F20]

當NIRQ到來,且CPSR的位I為0時,步驟如下:

① CPSR被拷貝到SPSR_irq,當前程序計數器PC的值被保存到IRQ鏈接寄存器(R14_irq),同時PC(R15)自身被賦予新值0x18;

② ARM內核進入IRQ模式;

③ 當指令 LDR PC,[PC,# -&F20]得到執行后,PC就被賦予了AIC_IVR的內容;

④ 上一步驟將程序跳轉到了對應的中斷服務程序;

⑤ 清零CPSR的位I就可以使其它中斷不被屏蔽,再施加的NIRQ可以被內核接受;

⑥ 接著,中斷例程可以保存相應的寄存器以保護現場;

⑦ 在退出中斷之前首先要置位 CPSR的位I,以便屏蔽其它中斷,保證多個中斷有序地完成;

⑧ 在結束中斷之前還必須執行一次對AIC_EOICR的寫操作,向AIC表明中斷已經完成;

⑨ SPSR(SPSR_irq)被恢復。

5.3 報文發送與接收[5]

SJA1000接受到匹配的數據幀后向控制器發出中斷請求,接收數據只需從接收緩沖區讀取數據,將其放在發送緩沖區中。AT91M40800與SJA1000構成的 CAN節點通信是一個半雙工通信模式,報文發送的前提是報文接收到的字節符合協議格式,在確定接收報文正確后給出協議響應來完成報文的發送。節點接收和發送程序流程圖如圖3和圖4所示。

圖3 接收流程圖

圖4 發送流程圖

6 結束語

本設計可以作為 CAN總線節點的一個模塊應用于變電站自動化系統,可確保實現變電站通信的實時性、可靠性及高速率傳輸性,可以大大促進變電站綜合自動化的進程。

[1] Philips Semiconductors.SJA1000 Stand_alone CAN controller[S].2000.

[2] 鄔寬明. CAN總線原理和應用系統設計[M]. 北京:航空航天大學出版社,2000.

[3] 馬忠梅等. AT91系列ARM核微控制器結構與開發[M]. 北京:北京航空航天大學出版社,2003.

[4] 楊紅科, 雷立英. 基于SJA1000的CAN總線接口電路的設計[J]. 南京工業職業技術學院學報,2006(6):54-56.

[5] 黎新亮, 關沫, 馬君璞. 基于SJA1000的CAN總線通訊模塊的設計.[J] 沈陽工業大學學報,2004(1):99-102.

猜你喜歡
設置設計
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
7招教你手動設置參數
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
艦船人員編制的設置與控制
主站蜘蛛池模板: 免费看的一级毛片| 无码AV日韩一二三区| 国产精品第一区在线观看| 四虎永久免费地址在线网站 | 国产精品部在线观看| 人妻无码中文字幕第一区| 嫩草在线视频| 精品伊人久久久久7777人| 欧美专区在线观看| a在线亚洲男人的天堂试看| 狠狠做深爱婷婷综合一区| 特级精品毛片免费观看| 久久久久久久久18禁秘| 亚洲AⅤ综合在线欧美一区| 色丁丁毛片在线观看| 91成人免费观看在线观看| 日韩中文精品亚洲第三区| 97国产精品视频自在拍| 夜夜操狠狠操| 99re在线视频观看| 日本欧美精品| 免费人成在线观看成人片| 2022国产91精品久久久久久| 国产丝袜无码一区二区视频| 五月天久久婷婷| 亚洲美女操| 亚洲黄网在线| 亚洲一区二区三区麻豆| 欧洲av毛片| 天天做天天爱夜夜爽毛片毛片| 欧美激情视频二区| 日韩成人高清无码| 美女被狂躁www在线观看| 亚洲中文字幕国产av| 中国一级毛片免费观看| 免费无码网站| 免费中文字幕在在线不卡| 国产精品理论片| 亚洲av无码成人专区| 秋霞午夜国产精品成人片| 真人高潮娇喘嗯啊在线观看| 高清不卡一区二区三区香蕉| 国产欧美精品专区一区二区| 成人日韩欧美| 91精品网站| 国产综合日韩另类一区二区| 色AV色 综合网站| 少妇高潮惨叫久久久久久| 国产日韩精品一区在线不卡| 久久99国产综合精品1| 免费一级毛片在线观看| 国产在线观看精品| 狠狠做深爱婷婷综合一区| 国产在线观看精品| 思思热在线视频精品| 亚洲国产理论片在线播放| 亚洲资源在线视频| 免费不卡在线观看av| 在线观看91香蕉国产免费| 97超碰精品成人国产| 欧美va亚洲va香蕉在线| 天堂av综合网| 特级做a爰片毛片免费69| 国产美女丝袜高潮| 香蕉视频在线观看www| 激情国产精品一区| 一级毛片免费不卡在线视频| 国产波多野结衣中文在线播放| 日本不卡在线播放| 国产精品香蕉在线| 国产xxxxx免费视频| 91精品免费高清在线| 99免费视频观看| 国产剧情无码视频在线观看| 国产一区二区三区日韩精品| 午夜a级毛片| 伊人久久大香线蕉aⅴ色| 97久久精品人人做人人爽| 国产人成在线观看| 国产乱码精品一区二区三区中文| 久久精品国产精品青草app| 久久6免费视频|