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

        ?

        基于C8051F060單片機(jī)的CAN—USB的接口設(shè)計

        2014-10-21 11:09:39嚴(yán)正國王海強(qiáng)張富華
        電子世界 2014年12期
        關(guān)鍵詞:單片機(jī)設(shè)計

        嚴(yán)正國 王海強(qiáng) 張富華

        基于C8051F060單片機(jī)的CAN-USB的接口設(shè)計

        西安石油大學(xué) 嚴(yán)正國

        西京學(xué)院 王海強(qiáng)

        西安石油大學(xué) 張富華

        【摘要】本文提出了基于C8051F系列單片機(jī)的CAN總線與USB總線的接口設(shè)計方案,創(chuàng)新地采用了Silicon公司生產(chǎn)的C8051F060單片機(jī)作為主控芯片實現(xiàn)接口的數(shù)據(jù)傳輸。該芯片集成了CAN控制器,可以達(dá)到接口小型化,低成本的目的。本文給出了接口的系統(tǒng)結(jié)構(gòu),硬件設(shè)計電路和軟件設(shè)計程序。在實際運用中,該接口模塊工作穩(wěn)定,能夠較好地實現(xiàn)CAN總線與USB總線的數(shù)據(jù)傳輸。

        【關(guān)鍵詞】CAN總線;USB總線;C8051F060單片機(jī);接口設(shè)計

        Abstract:This paper presents a new design solution of the interface between CAN bus and USB bus based on the series of C8051F MCU,which innovatively used the C8051F060 MCU produced by the Silicon company as the main control chip to realize the function of data transmission.The main chip has integrated the CAN controller,thus achieving the miniaturization of the interface and the low cost.This paper presents the system structure,hardware design circuit and software design procedure.The interface works stably in the practical application and achieves the data transmission between the CAN bus and USB bus well.

        Key words:CAN bus;USB bus;C8051F060 MCU;interface design

        引言

        CAN總線是為了解決汽車中眾多控制與測試之間的數(shù)據(jù)交換開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,具有通信速率高、傳輸距離遠(yuǎn)、糾錯能力強(qiáng)、以及性價比高等特點,是目前國際上應(yīng)用最廣泛的現(xiàn)場總線之一,廣泛地應(yīng)用到了其他領(lǐng)域。

        USB總線是通用的串行總線,基于通用連接技術(shù),實現(xiàn)計算機(jī)外設(shè)的快速簡單連接,并且它可以為外設(shè)提供電源,傳輸速率較快,已經(jīng)成為計算機(jī)上的標(biāo)準(zhǔn)接口。

        通過USB實現(xiàn)CAN總線與計算機(jī)的直接通信,將極大地方便CAN總線的運用。傳統(tǒng)的轉(zhuǎn)換一般采用單片機(jī)和CAN控制器配合完成兩種總線的數(shù)據(jù)交換,Silicon公司生產(chǎn)的C8051F060單片機(jī)是完全集成的混合片上系統(tǒng)型MCU,集成了CAN控制器,能夠簡單方便地實現(xiàn)接口的設(shè)計。

        1.硬件設(shè)計

        硬件設(shè)計包括兩部分,CAN接口電路和USB接口電路。主控制器芯片采用集成了CAN控制器的C8051F060單片機(jī),CAN接口電路是通過SN65HVD230收發(fā)器實現(xiàn)CAN總線與主控制器的連接,USB接口電路是通過CP2102橋接電路來實現(xiàn)USB總線與主控制器的連接。

        1.1 CAN接口電路

        一個CAN總線接口由3個部分組成,它們分別對應(yīng)于CAN總線的物理層、數(shù)據(jù)鏈路層和應(yīng)用層。最上層為微控制器,主要負(fù)責(zé)上層應(yīng)用及系統(tǒng)控制,包括CAN協(xié)議的應(yīng)用協(xié)議的實現(xiàn),協(xié)調(diào)各系統(tǒng)設(shè)備的工作。中間層為CAN控制器,負(fù)責(zé)處理數(shù)據(jù)幀,完成數(shù)據(jù)的打包、解包、錯誤界定,并提供報文緩沖和傳輸濾波。最底層為CAN收發(fā)器,主要是進(jìn)行接口電平的轉(zhuǎn)換、接口電氣特性的處理。

        圖1 CAN接口電路

        獨立的CAN控制器需要外接一個微處理器,在CPU的控制下才能運行。C8051F060集成了微處理器和CAN控制器,大大簡化了應(yīng)用系統(tǒng)的硬件設(shè)計,系統(tǒng)的可靠性也有很大的提高。CAN收發(fā)器采用TI公司生產(chǎn)的SN65HVD230型電路,適用于較高通訊速率、良好抗干擾能力和高可靠性CAN總線的串行通信。在CAN總線的兩端需要接一個120Ω匹配電阻,提高了通信的抗干擾能力和可靠性。CAN接口電路如圖1所示。

        1.2 USB接口電路

        USB總線與主控制器的連接是通過USB-UART橋接電路實現(xiàn)的。主控制器集成的異步串行口UART通過橋接電路連接USB口來實現(xiàn)數(shù)據(jù)傳輸。CP2102是Silicon公司推出的USB-UART橋接電路。該電路的集成度高,內(nèi)置USB2.0全速功能的控制器和收發(fā)器以及異步串行數(shù)據(jù)總線,無須任何外部的USB器件。通過驅(qū)動程序?qū)SB口虛擬成COM口以達(dá)到擴(kuò)展的目的,無須修改現(xiàn)有的軟件和硬件就可以通過USB向基于CP2102的器件傳輸數(shù)據(jù)。USB接口電路如圖2所示。

        圖2 USB接口電路

        2.軟件設(shè)計

        系統(tǒng)的軟件設(shè)計主要功能是實現(xiàn)單片機(jī)集成的CAN控制器與異步串行口UART之間的通信。通信程序的設(shè)計主要考慮兩方面的問題,第一、主控制器CPU對CAN控制器的操作比較復(fù)雜,所以必須明確CAN寄存器各部分的功能,數(shù)據(jù)在MCU、CAN模塊和總線之間的通路和通信協(xié)議。第二、CAN控制器和異步串行口之間的數(shù)據(jù)傳遞。

        2.1 CAN寄存器和協(xié)議

        CAN寄存器分為CAN控制器協(xié)議寄存器,消息對象接口寄存器和消息處理寄存器。CAN控制器協(xié)議寄存器用于配置CAN控制器,處理中斷,監(jiān)視總線狀態(tài),將CAN控制器置于測試模式。消息對象接口寄存器有兩組,用于配置向CAN總線發(fā)送和從CAN總線接收數(shù)據(jù)的32個消息對象。消息處理器寄存器提供中斷、錯誤、發(fā)送/接收請求和新數(shù)據(jù)信息。

        圖3 數(shù)據(jù)通路

        為了避免消息對象與總線數(shù)據(jù)交換時,因CPU的介入而破壞某些數(shù)據(jù),CPU不能直接對消息對象讀/寫操作,必須通過消息對象接口寄存器(IFx)對消息對象進(jìn)行操作。CPU對IFx寫操作完畢后,IFx保存了消息對象的內(nèi)容,當(dāng)消息對象與總線不進(jìn)行數(shù)據(jù)交換時,IFx再將內(nèi)容更新到消息對象上。同時,CPU對消息對象接口寄存器的訪問也是間接的,通過CAN0ADR和CAN0DAT寄存器訪問,不能直接訪問。綜上所述,數(shù)據(jù)通路示意圖如下圖3所示。

        2.2 程序設(shè)計

        軟件主要包括主程序模塊和中斷接收模塊。主程序包括初始化和查詢發(fā)送兩部分。串口和CAN通信的接收程序可在中斷處理程序中完成而不需要與主程序發(fā)生交互。

        主程序的初始化包括CAN口和串口的初始化,開啟串口模塊和CAN口模塊的中斷。CAN模塊的初始化的部分程序如下所示:

        clear_msg_objects();//將所有消息清0

        init_can_rx (0x01,1);//初始化接收

        init_can_tx (0x02,2);//初始化發(fā)送

        EIE2 |= 0x20;//CAN中斷開啟

        EA = 1;//全局中斷開啟

        SFRPAGE = CAN0_PAGE;//指向CAN0頁面

        CAN0CN=0X41;//CCE置1,重新配置波特率

        CAN0ADR=BITREG;

        CAN0DAT=0x7FC0;//調(diào)波特率125k

        start_can();//結(jié)束初始化,開始CAN通信

        圖4 主程序流程

        主程序的查詢發(fā)送主要是通過查詢標(biāo)志位來進(jìn)行。如果總線上有數(shù)據(jù),就會進(jìn)入程序中斷,通過中斷處理程序改變標(biāo)志位。主程序查詢到標(biāo)志位置位,進(jìn)入發(fā)送主程序,CAN接口接收到的數(shù)據(jù)送到串口發(fā)送程序,同樣的,串口接收到的數(shù)據(jù)傳送到CAN接口發(fā)送程序,兩者發(fā)送之后都需要清除接收標(biāo)志位,等待下一次的接收,主程序流程如圖4所示。

        當(dāng)CAN總線上有數(shù)據(jù)時,發(fā)出中斷請求,中斷處理程序通過狀態(tài)寄存器來判斷接收中斷,中斷處理程序接收數(shù)據(jù),并置位標(biāo)志位,中斷結(jié)束,開放中斷。CAN接口接收到的數(shù)據(jù)在主程序中送入串口發(fā)送緩沖區(qū)。同理,串口接口緩沖區(qū)有數(shù)據(jù),就會進(jìn)入串口接收中斷,接收數(shù)據(jù)并置位標(biāo)志位,中斷結(jié)束,開放中斷。串口接收的數(shù)據(jù)在主程序中送入CAN接口發(fā)送緩沖區(qū),發(fā)送到總線。

        3.結(jié)論

        CAN總線和USB總線以其獨特的設(shè)計和優(yōu)點廣泛地應(yīng)用在各行各業(yè),兩者的互相通信成為發(fā)展的趨勢。本文設(shè)計的CAN-USB的接口設(shè)計創(chuàng)新地采用了內(nèi)置CAN控制器的C8051F060單片機(jī)和USB-UART橋接電路芯片CP2102,接口電路簡單,應(yīng)用方便,很好地完成了兩者之間的數(shù)據(jù)通信。

        參考文獻(xiàn)

        [1]C8051F060/1/2/3/4/5/6/7混合信號ISPFLASH微控制器數(shù)據(jù)手冊.

        [2]張培仁.CAN總線設(shè)計及分布式控制[M].北京:清華大學(xué)出版社,2012.

        [3]童長飛.C8051F系列單片機(jī)開發(fā)與C語言編程[M].北京:北京航空航天大學(xué)出版社,2005.

        [4]李科亮,郭世明,蘇玉香,等.基于P87C591單片機(jī)的CAN-232轉(zhuǎn)換接口[J].儀表技術(shù)與傳感器,2009(3).

        作者簡介:嚴(yán)正國(1976—),男,陜西渭南人,碩士,研究生導(dǎo)師,研究方向:數(shù)字信號傳輸及處理。

        猜你喜歡
        單片機(jī)設(shè)計
        何為設(shè)計的守護(hù)之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于單片機(jī)的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        瞞天過海——仿生設(shè)計萌到家
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計
        電子制作(2017年19期)2017-02-02 07:08:27
        国产精品系列亚洲第一| 亚洲av无码乱码在线观看裸奔| 久久夜色精品国产| 亚洲高清无码第一| 亚洲一区二区三区在线更新| 日韩人妻中文字幕高清在线| 91九色极品探花内射| 日日摸夜夜添夜夜添高潮喷水| 亚洲色欲色欲综合网站| 亚洲AⅤ无码国精品中文字慕| 在线精品亚洲一区二区三区 | 久久精品免费中文字幕| 成人免费777777被爆出| 婷婷九月丁香| 国产av一区仑乱久久精品| 少妇无套裸按摩呻吟无呜| 国产免国产免费| 亚洲阿v天堂网2021| 亚洲一区二区三区精品久久| 内射白浆一区二区在线观看| 国产成人精品日本亚洲11| 精品免费一区二区三区在| 亚洲av色香蕉一区二区三区潮| 国产精品99精品久久免费| 欧美国产日韩a在线视频| 国产日产亚洲系列av| 亚洲精品视频1区2区| 午夜福利试看120秒体验区| 国产成人AV无码精品无毒| 日韩中文字幕一区在线| 日日麻批免费40分钟无码| 成人欧美一区二区三区a片| 成全高清在线播放电视剧| 妞干网中文字幕| 国产一区二区不卡av| 99久久婷婷国产综合亚洲| 免费一级特黄欧美大片久久网 | 国产一区二区三区男人吃奶| 无码国产色欲xxxx视频| 国产午夜视频在永久在线观看| 亚洲av色香蕉第一区二区三区|