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

        ?

        AT91M40800與CAN總線的接口設(shè)計與軟件編程

        2010-07-25 08:12:08王小進李世學
        船電技術(shù) 2010年4期
        關(guān)鍵詞:寄存器中斷報文

        王小進 李世學

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

        1 引言

        隨著信息技術(shù)的發(fā)展,變電站自動化系統(tǒng)內(nèi)部各設(shè)備間通訊信息量逐漸增大,傳統(tǒng)的串口傳輸已成為數(shù)據(jù)傳輸?shù)钠款i。文中的接口設(shè)計結(jié)合ARM芯片與CAN控制器具有高實時性、高傳輸速率、高可靠性等特點,完全適合于變電站上設(shè)備間的大數(shù)據(jù)量實時傳輸。

        2 CAN控制器SJA1000介紹

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

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

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

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

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

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

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

        3 AT91M40800簡介[3]

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

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

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

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

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

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

        (6)指令長度固定。

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

        4 接口電路硬件設(shè)計[4]

        CAN屬于現(xiàn)場總線的范疇,是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),其協(xié)議是建立在國際標準組織的開放系統(tǒng)互連模型基礎(chǔ)上的,其模型結(jié)構(gòu)只有三層,只取OSI底層的物理層、數(shù)據(jù)鏈路層和頂層的應(yīng)用層。其信號傳輸介質(zhì)為雙絞線。通信速率最高可達1 Mbps/40 m,直接傳輸距離最遠可達10 km/5 bps??蓲旖釉O(shè)備最多可達110個。

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

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

        圖1 CAN通信接口電路

        5 ARM軟件編程

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

        5.1 SJA1000的初始化

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

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

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

        ③ 設(shè)置中斷使能:開放發(fā)送中斷超載中斷和錯誤警告中斷;

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

        ⑤ 設(shè)置通訊波特率;

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

        5.2 AT91M40800外部中斷設(shè)置

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

        圖2 中斷控制器方框圖

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

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

        節(jié)點電路中把SJA1000作為AT91M40800芯片的一個I/O設(shè)備來看待,設(shè)定IRQ2為優(yōu)先級為2的中斷源,在初始化完成后進入中斷服務(wù)程序,中斷服務(wù)完成后,程序繼續(xù)執(zhí)行原來的代碼。

        表1 AIC中斷源

        外部中斷設(shè)置步驟:

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

        LDR PC,[PC,# -&F20]

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

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

        ② ARM內(nèi)核進入IRQ模式;

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

        ④ 上一步驟將程序跳轉(zhuǎn)到了對應(yīng)的中斷服務(wù)程序;

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

        ⑥ 接著,中斷例程可以保存相應(yīng)的寄存器以保護現(xiàn)場;

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

        ⑧ 在結(jié)束中斷之前還必須執(zhí)行一次對AIC_EOICR的寫操作,向AIC表明中斷已經(jīng)完成;

        ⑨ SPSR(SPSR_irq)被恢復(fù)。

        5.3 報文發(fā)送與接收[5]

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

        圖3 接收流程圖

        圖4 發(fā)送流程圖

        6 結(jié)束語

        本設(shè)計可以作為 CAN總線節(jié)點的一個模塊應(yīng)用于變電站自動化系統(tǒng),可確保實現(xiàn)變電站通信的實時性、可靠性及高速率傳輸性,可以大大促進變電站綜合自動化的進程。

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

        [2] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計[M]. 北京:航空航天大學出版社,2000.

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

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

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

        猜你喜歡
        寄存器中斷報文
        基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        Lite寄存器模型的設(shè)計與實現(xiàn)
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        ATS與列車通信報文分析
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        微處理機(2012年4期)2012-06-13 11:32:24
        亚洲国产另类久久久精品小说 | 国产毛片精品一区二区色| 美丽人妻被按摩中出中文字幕| 亚洲日本va中文字幕久久| 完整在线视频免费黄片| av免费在线观看在线观看| 少妇人妻精品一区二区三区视| 国产白浆一区二区三区佳柔| 中文字幕精品一区二区三区| 护士的小嫩嫩好紧好爽| 人人爽人人澡人人人妻| 天天爱天天做天天爽| 国产人成在线成免费视频| 毛片精品一区二区二区三区| 久久人妻av无码中文专区| 中文字幕av免费专区| 自拍偷自拍亚洲精品播放| 国产一区二区三区视频大全| av在线播放中文专区| 中文字幕免费在线观看动作大片 | 日本超级老熟女影音播放| 久久精品国产清自在天天线| 欲色天天网综合久久| 国产亚洲精品综合一区| 特级毛片a级毛片在线播放www| 在线不卡精品免费视频| 无码熟妇人妻av在线网站| 亚洲av成人片在线观看| 精品人妻一区二区三区四区| 欧美v日韩v亚洲综合国产高清| 91羞射短视频在线观看| 久久青青草原国产毛片| av人摸人人人澡人人超碰妓女| 亚洲电影中文字幕| 中文字幕人妻乱码在线| 激情综合五月婷婷久久| 久久久av精品波多野结衣| 中文字幕永久免费观看| 国产精品亚洲最新地址| 日本饥渴人妻欲求不满| 97人妻碰碰视频免费上线|