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

        ?

        CAN總線通信接口設(shè)計(jì)

        2010-12-19 10:36:46張建文李百余
        關(guān)鍵詞:單片機(jī)程序設(shè)計(jì)

        張建文, 馮 林, 李百余

        (東華理工大學(xué),江西撫州 344000)

        CAN總線通信接口設(shè)計(jì)

        張建文, 馮 林, 李百余

        (東華理工大學(xué),江西撫州 344000)

        提出了一種用單片機(jī) STC89C52及 SJA1O00總線控制器組成CAN總線智能節(jié)點(diǎn)的設(shè)計(jì)方案,給出了硬件電路,并詳細(xì)介紹了 SJA1000初始化、接收及發(fā)送數(shù)據(jù)程序的框圖及程序設(shè)計(jì)。設(shè)計(jì)中程序均已通過(guò)調(diào)試,介紹的設(shè)計(jì)方法易于掌握且具有較強(qiáng)的靈活性和通用性,方便使用者學(xué)習(xí)和掌握。

        CAN總線;STC89C52單片機(jī);SJA1O000控制器;PCA82C25;通信

        CAN-bus(Controller Area Net work),即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。CAN-bus是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測(cè)出產(chǎn)生的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)到 10 km時(shí),CAN-bus仍可提供高達(dá) 5 kbps的數(shù)據(jù)傳輸速率。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CAN-bus已被廣泛應(yīng)用到汽車電子、自動(dòng)控制、智能大廈、電力系統(tǒng)、安全監(jiān)控等各領(lǐng)域的自動(dòng)化控制系統(tǒng)中。

        本設(shè)計(jì)是基于 SJA1000的 CAN總線通信模塊的設(shè)計(jì),可以完成在 CAN總線上的信息通信,筆者對(duì)CAN總線節(jié)點(diǎn)的硬件和軟件設(shè)計(jì)作了詳細(xì)的介紹。

        1 CAN系統(tǒng)硬件設(shè)計(jì)

        CAN總線系統(tǒng)節(jié)點(diǎn)硬件電路如圖 1所示,從圖中可以看出,電路主要由 MAX232、微控制器89C52、獨(dú)立 CAN通信控制器 SJA1000、CAN總線驅(qū)動(dòng)器 PCA82C250、高速光電耦合器 6N137、8位拔動(dòng)開關(guān)和 2個(gè)發(fā)送按鍵構(gòu)成。當(dāng)有兩個(gè)或多個(gè)CAN節(jié)點(diǎn)時(shí),可構(gòu)成一個(gè) CAN互聯(lián)網(wǎng)絡(luò),網(wǎng)絡(luò)中的任一節(jié)點(diǎn)均可向其他節(jié)點(diǎn)發(fā)送報(bào)文,網(wǎng)絡(luò)中的任一節(jié)點(diǎn)也可向其他節(jié)點(diǎn)發(fā)送遠(yuǎn)程請(qǐng)求幀,請(qǐng)求對(duì)方發(fā)送本節(jié)點(diǎn)所需的報(bào)文。為了方便測(cè)試,將已接收的數(shù)據(jù)通過(guò) RS232串口發(fā)送到計(jì)算機(jī),通過(guò)計(jì)算機(jī)調(diào)試軟件進(jìn)行測(cè)試。串口與單片機(jī)接線電路采用的常規(guī)接線法,串口初始化程序、串口發(fā)送程序在此也不做介紹。

        本系統(tǒng)通信方式為:按 K1鍵啟動(dòng)一次點(diǎn)到點(diǎn)通信,按指定 I D號(hào)向指定節(jié)點(diǎn)發(fā)送一幀報(bào)文,按K2鍵啟動(dòng)一次請(qǐng)求數(shù)據(jù)操作,本節(jié)點(diǎn)可獲得指定I

        D節(jié)點(diǎn)的數(shù)據(jù)。用戶通過(guò) 8位開關(guān)設(shè)置節(jié)點(diǎn) I D號(hào),I D號(hào)由 P1口讀入。輸入的 8位 I D值分兩部分:低 4位為本節(jié)點(diǎn)自身的 I D值;高 4位為點(diǎn)到點(diǎn)通信時(shí)接收節(jié)點(diǎn)的 I D值,可見,總線上最多可設(shè)置16個(gè)不同 I D值的節(jié)點(diǎn) (饒運(yùn)濤,2003)。

        2 CAN節(jié)點(diǎn)軟件設(shè)計(jì)

        本文 CAN總線智能節(jié)點(diǎn)的軟件程序設(shè)計(jì)主要包括:主程序、CAN節(jié)點(diǎn)初始化、數(shù)據(jù)的發(fā)送、數(shù)據(jù)的接收、RS232數(shù)據(jù)發(fā)送等程序(鄒繼軍等,2001)。

        2.1 主程序設(shè)計(jì)

        主程序設(shè)置為一個(gè)死循環(huán),循環(huán)中要不停地檢測(cè)發(fā)送按鍵 K1和 K2是否按下,調(diào)用接收子程序,查詢接收緩沖器中是否有數(shù)據(jù)。主程序流程如圖 2所示。

        主程序如下:

        圖1 CAN總線通信接口電路Fig.1 Communication interface circuit of CAN bus

        圖2 主程序流程圖Fig.2 The fl ow chart ofmain program

        2.2 初始化程序設(shè)計(jì)

        對(duì) SJA1000進(jìn)行初始化實(shí)際上就是通過(guò)單片機(jī)向其片內(nèi)的各個(gè)寄存器寫入控制字的過(guò)程。本設(shè)計(jì)采用了Basic CAN模式。SJA1000的初始化只有在復(fù)位模式下可以進(jìn)行。初始化主要包括時(shí)鐘分頻寄存器設(shè)置、驗(yàn)收屏蔽寄存器設(shè)置、驗(yàn)收代碼寄存器設(shè)置、總線定時(shí)寄存器設(shè)置和輸出模式寄存器設(shè)置等。初始化設(shè)置完成以后,SJA1000就可以進(jìn)入工作狀態(tài),進(jìn)行正常的通訊工作(韓黨群,2003)。本設(shè)計(jì)的初始化時(shí),要注意驗(yàn)收代碼寄存器和驗(yàn)收屏蔽寄存器的設(shè)置。其流程圖如圖3所示。初始化程序如下:

        圖3 CAN控制器初始化流程圖Fig.3 The flow chart of CAN controller initializati on

        2.3 發(fā)送程序設(shè)計(jì)

        發(fā)送程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送,發(fā)送程序分發(fā)送數(shù)據(jù)幀和遠(yuǎn)程幀兩種,兩種程序基本相同,只是遠(yuǎn)程幀無(wú)數(shù)據(jù)域。發(fā)送過(guò)程可由 CAN控制段的查詢狀態(tài)標(biāo)志位控制。通過(guò)查詢 CAN控制器的狀態(tài)寄存器,得到發(fā)送緩沖器的狀態(tài),當(dāng)發(fā)送緩沖器可以被訪問(wèn)時(shí),微處理器將要發(fā)送的數(shù)據(jù)從其數(shù)據(jù)存儲(chǔ)區(qū)中取出,與主機(jī)的 I D地址一起組成信息幀,按CAN報(bào)文結(jié)構(gòu)發(fā)送到發(fā)送緩沖器中,并置位發(fā)送請(qǐng)求位,啟動(dòng)發(fā)送命令,最后由硬件完成數(shù)據(jù)的發(fā)送(鄭勇蕓等,2004)。發(fā)送的標(biāo)識(shí)碼 I D需做一些運(yùn)算,使報(bào)文能通過(guò)接收節(jié)點(diǎn)驗(yàn)收濾波器的測(cè)試,CAN發(fā)送程序流程圖如圖 4所示。

        圖4 CAN發(fā)送程序流程圖Fig.4 The fl ow chart of transm itting data program

        發(fā)送數(shù)據(jù)幀程序如下:

        2.4 接收程序設(shè)計(jì)

        SJA1000的報(bào)文接收可采用中斷接收方式或查詢接收方式。在通訊實(shí)時(shí)性要求不高的情況下可以用查詢方式接收,兩種接收方式編程的思路基本相同。本程序采用查詢接收方式。CPU在檢測(cè)到接收緩沖器中存在有效報(bào)文后,如接收到的是數(shù)據(jù)幀,則將接收緩沖器中的內(nèi)容讀入 CPU的數(shù)據(jù)存儲(chǔ)區(qū),并將接收到的數(shù)據(jù)通過(guò)串口在 PC機(jī)串口調(diào)試助手上顯示出來(lái);如接收到的是遠(yuǎn)程請(qǐng)求幀,則調(diào)用發(fā)送程序,發(fā)送對(duì)方請(qǐng)求的數(shù)據(jù) (宋清昆,2009)。接收程序流程圖如圖 5所示。

        接收程序如下:

        圖5 CAN接收程序流程圖Fig.5 The flow chart of receiving data program

        3 結(jié)束語(yǔ)

        本文詳細(xì)地給出了基于單片機(jī)實(shí)現(xiàn) CAN總線通信的軟硬件的設(shè)計(jì),同時(shí)在節(jié)點(diǎn)設(shè)計(jì)中加入了基于 RS-232總線的數(shù)據(jù)通信功能。設(shè)計(jì)中程序都已經(jīng)通過(guò)調(diào)試,調(diào)試結(jié)果證實(shí)了該方案的實(shí)用性和可靠性。CAN總線是一種功能強(qiáng)大、應(yīng)用廣泛的現(xiàn)場(chǎng)總線,它的優(yōu)異性能使得其越來(lái)越受到關(guān)注,被認(rèn)為是最有前途的現(xiàn)場(chǎng)總線通信技術(shù)。

        韓黨群.2003.CAN控制器 SJA1000及其應(yīng)用[J].電子技術(shù)應(yīng)用,29(1):66-69.

        饒運(yùn)濤.2003.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社:224-227.

        宋清昆,蔣繼成.2009.基于AT89C52單片機(jī)CAN總線節(jié)點(diǎn)的設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,28(5):55-58.

        鄭勇蕓,饒運(yùn)濤,鄒繼軍,等.2004.現(xiàn)場(chǎng)總線 CAN通信中多線程的應(yīng)用[J].東華理工學(xué)院學(xué)報(bào),27(2):196-200.

        鄒繼軍,饒運(yùn)濤.2001.基于 SJA1000的 CAN總線智能節(jié)點(diǎn)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,(12):26-31.

        Design of Communication I nterface Based on CAN

        ZHANG Jian-wen, FENGLin, L IBai-yu
        (East China Institute of Technology,Fuzhou,JX 344000,China)

        The communication based on the CAN bus has better merits in reliability and flexibility compared to general serial bus and the infor mation based on the CAN bus can be transmitted ti mely.This paper introduces one design method of the CAN intelligent node which use the STC89C52 and CAN controller SJA 1 000 as its core,it also gives the designing chart of hardware.The flow chart of soft ware and the program of initialization,transmitting and receiving are described in detail.The method of design in this paper is easy to grasp and is flexibility and versatility,itwill help readers to learn and master the application about the CAN bus.

        CAN bus;STC89C52;SJA1000 controller;PCA82C25;communication

        TP273

        A

        1674-3504(2010)03-293-04

        10.3969/j.issn.1674-3504.2010.03.14

        2010-05-01

        張建文 (1966—),男,副教授,主要從事電子技術(shù)的教學(xué)與研究工作。

        猜你喜歡
        單片機(jī)程序設(shè)計(jì)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        試論我國(guó)未決羈押程序的立法完善
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        “程序猿”的生活什么樣
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        亚洲av乱码国产精品色| 天堂8中文在线最新版在线| 岛国AV一区二区三区在线观看| 亚洲国产日韩在线精品频道| 成人国产高清av一区二区三区| 国产精品天干天干| 亚洲欧美日韩精品久久亚洲区 | 99re国产电影精品| 日本女同视频一区二区三区| 又黄又爽又色视频| 亚洲av日韩av高潮潮喷无码| 岛国熟女一区二区三区| 小黄片免费在线播放观看| 无码中文字幕人妻在线一区| 国产精自产拍久久久久久蜜| 国产激情一区二区三区成人免费| 色婷婷精品大在线视频| 亚洲国产一二三精品无码 | 四虎精品国产一区二区三区 | 91日韩东京热中文字幕| 中文字幕欧美人妻精品一区| 免费人成黄页网站在线观看国产| 粗一硬一长一进一爽一a视频| 国产人妻熟女高跟丝袜| 国产精品无圣光一区二区| 一本大道久久a久久综合| 日本成人一区二区三区| 久久精品亚洲国产成人av| 日韩人妻另类中文字幕| 欧美巨大巨粗黑人性aaaaaa| 无码超乳爆乳中文字幕| 人妻有码av中文幕久久| a级毛片100部免费观看| 久久精品无码一区二区三区不| 日韩男女av中文字幕| 国产精品 无码专区| 国产mv在线天堂mv免费观看| 日韩精品免费在线视频| 国产一区二区三区在线观看完整版 | 亚洲第一区二区快射影院| 国产成人综合精品一区二区|