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

        ?

        基于STM32的CAN轉(zhuǎn)USB模塊設計

        2016-11-22 08:23:53汪雙印魏紹明
        化工自動化及儀表 2016年11期
        關鍵詞:設計

        汪雙印 葉 峰 劉 順 陳 衡 魏紹明

        (中廣核檢測技術有限公司,江蘇 蘇州 215004)

        基于STM32的CAN轉(zhuǎn)USB模塊設計

        汪雙印 葉 峰 劉 順 陳 衡 魏紹明

        (中廣核檢測技術有限公司,江蘇 蘇州 215004)

        在有關CAN總線通信的嵌入式設計中,經(jīng)常需要PC機作為調(diào)試工具,以便在PC機上直觀地觀察數(shù)據(jù),這就需要CAN轉(zhuǎn)USB設備進行連接。筆者選用低成本的內(nèi)部集成了CAN控制器和串口的ARM內(nèi)核32位處理器STM32作為主體芯片完成CAN轉(zhuǎn)USB模塊的設計。該模塊速度快、可靠性高,能夠滿足大部分場合的要求。

        CAN總線 STM32芯片 CAN轉(zhuǎn)USB

        控制器局域網(wǎng)總線(Controller Area Network,CAN)是由德國Bosch公司為汽車應用而開發(fā)的多主機串行通信協(xié)議。由于它具有抗干擾能力強、可靠性高、實時性好及易于使用等特點,已經(jīng)廣泛應用于工業(yè)自動化、交通工具、醫(yī)療儀器及樓宇自動化等多個領域[1]。CAN總線是唯一成為國際標準的現(xiàn)場總線。CAN總線具有以下特點:多主控制,總線空閑時所有單元節(jié)點都可發(fā)送消息;數(shù)據(jù)傳輸距離遠,低速下最遠距離可達10km;傳輸速率高,最高速度可達1Mb/s;無破壞的基于標識符的優(yōu)先級仲裁,仲裁失利后轉(zhuǎn)為接收;可靠的錯誤檢測與診斷,具有錯誤通知和恢復功能,支持自動重發(fā);系統(tǒng)的柔軟性強,增減節(jié)點不影響其他節(jié)點[2]。正是基于以上的優(yōu)點,使得CAN總線在工業(yè)現(xiàn)場應用廣泛。而大多數(shù)CAN總線的使用場合都以電腦作為上位機采集數(shù)據(jù),故需要使用CAN轉(zhuǎn)USB模塊進行接口轉(zhuǎn)換。因此,筆者給出了一種高可靠性、低成本的CAN轉(zhuǎn)USB的設計方案。

        1 整體設計思路

        首先通過CAN收發(fā)器的CAN_H和CAN_L將STM32連入CAN網(wǎng)絡中。收發(fā)器負責從總線上進行數(shù)據(jù)的收發(fā),然后數(shù)據(jù)通過STM32內(nèi)部集成的CAN控制器進行邏輯處理,得到的數(shù)據(jù)進行組織后再通過TTL轉(zhuǎn)芯片USB(CH340G)與電腦的虛擬串口進行通信。整體模塊結(jié)構(gòu)框圖如圖1所示。

        圖1 整體模塊結(jié)構(gòu)框圖

        2 模塊硬件設計

        2.1STM32F103C8T6微控制器

        STM32F103C8T6芯片是由ST公司推出的基于ARM Cortex-M3內(nèi)核的32位MCU,最高頻率72MHz。該控制器集成度高,片上外設豐富,集成單周期硬件乘法器。內(nèi)部集成多個定時器,支持3路串口。它本身集成了CAN控制器,支持CAN協(xié)議2.0A和2.0B,位通信比特率可達1Mbit/s,完全符合J1939規(guī)范[3]。

        STM32內(nèi)部的CAN控制器有如下特性:比特率最高1Mbit/s;發(fā)送方面,內(nèi)部有3個發(fā)送郵箱,發(fā)送報文的優(yōu)先級可配置;接收方面,兩個3級深度的FIFO,14組過濾器,支持標識符列表和標識符屏蔽模式。這樣在報文的處理上可最大程度地減少CPU的開銷。

        2.2SN65HVD230 CAN收發(fā)器

        SN65HVD230芯片為德州儀器推出的3.3V電壓的高速CAN收發(fā)器,支持ISO 11898標準,最高速度可達1Mbit/s,最多支持120個節(jié)點,具有良好的抗干擾能力和高可靠性,具有熱保護,抗瞬間干擾,開路失效保護功能。CAN收發(fā)器的電路設計如圖2所示。圖2中P4 Header為兩腳插針,可用跳線帽來決定本模塊接入CAN總線后是否啟用R4終端電阻。

        圖2 CAN收發(fā)器電路

        2.3CH340G TTL轉(zhuǎn)USB芯片

        CH340G是一個USB總線的轉(zhuǎn)接芯片,可以實現(xiàn)USB轉(zhuǎn)串口、USB轉(zhuǎn)IrDA紅外或者USB轉(zhuǎn)打印口。在串口方式下,CH340還可以將普通的串口設備直接升級到USB總線。外圍元器件需求很少,只需要晶振和電容即可。硬件全雙工串口,支持通信比特率50bit/s~2Mbit/s,內(nèi)置收發(fā)緩沖區(qū)。電路設計如圖3所示。

        圖3 CH340G電路

        3 軟件設計

        模塊的功能為實現(xiàn)CAN網(wǎng)絡與PC機通信,因此需設計相關的下位機軟件進行數(shù)據(jù)處理、發(fā)送等。軟件設計主要以KEIL MDK5作為集成開發(fā)環(huán)境,PC機端軟件可以采用現(xiàn)成的串口助手。下位機軟件流程框圖如圖4所示。

        圖4 下位機軟件流程

        程序開始,首先進行相關的片上外設初始化,需要初始化的有系統(tǒng)時鐘、CAN控制器相關寄存器、串口相關寄存器及中斷向量表等。然后程序進入main()函數(shù)中的主循環(huán)。主循環(huán)中包含CanConfig()、UartConfig()、CanToUartProcess()、UartToCanProcess()、UartSend()及CanSend()等函數(shù)。

        當PC機有數(shù)據(jù)通過串口發(fā)送到STM32時,會產(chǎn)生串口接收中斷。PC機每次發(fā)送15個Byte(除掉了起始和結(jié)束標志),Byte0用于區(qū)分后續(xù)的數(shù)據(jù)是配置數(shù)據(jù)還是需要發(fā)送到CAN總線上的數(shù)據(jù),若為配置數(shù)據(jù),則調(diào)用CanConfig()、UartConfig()函數(shù)對CAN的標識符、掩碼、幀格式、幀類別和串口的比特率及停止位等信息按后續(xù)14Byte數(shù)據(jù)的要求進行配置;若為要發(fā)送到CAN總線上的數(shù)據(jù),則后續(xù)的14Byte遵循如下格式(可由上位機軟件按此格式生成):將ID(報文標識符,標準幀11位,擴展幀29位)、IDE(區(qū)分擴展標識符和標準標識符)和RTR(區(qū)分數(shù)據(jù)幀和遠程幀)最多共計31bit數(shù)據(jù)放入Byte1~Byte4中,DLC(數(shù)據(jù)字節(jié)數(shù))放入Byte5中,DATA0~7(數(shù)據(jù))共計8Byte數(shù)據(jù)存入Byte6~Byte13中,最后為了防止數(shù)據(jù)出錯將所有數(shù)據(jù)進行求和校驗放入Byte14中。串口接收完15Byte后將數(shù)據(jù)存入temp[0]~temp[14],此時可以對數(shù)據(jù)求校驗和來與temp[14]比較,查看數(shù)據(jù)是否出錯,未出錯則調(diào)用UartToCanProcess()將數(shù)據(jù)提取出來,放入CAN控制器的發(fā)送郵箱中,然后調(diào)用CanSend()將報文發(fā)送到CAN總線上,至此由PC機到CAN總線的數(shù)據(jù)發(fā)送完畢。

        當有CAN接收FIFO中斷產(chǎn)生后,說明標識符過濾已經(jīng)通過,得到的都是需要的報文,CanToUartProcess()函數(shù)將接收到的報文信息進行提取,將得到的ID、IDE、RTR、DLC、DATA[0]~DATA[7]重新組織,放在一個unsigned char buff[14]中,將ID、IDE和RTR最多共計31bit數(shù)據(jù)放入buff[0]~buff[3]中,DLC放入buff[4]中,將DATA0~7共計8byte數(shù)據(jù)存入buff[5]~buff[12]中,最后為了防止數(shù)據(jù)出錯將所有數(shù)據(jù)進行求和校驗放入buff[13]中。組織完成之后,利用UartSend()函數(shù),將數(shù)據(jù)加上起始和結(jié)束標志后發(fā)送出去,這樣CAN總線中的數(shù)據(jù)發(fā)送到PC機就完成了。當PC機接到數(shù)據(jù)后可以選擇是否利用buff[13]對數(shù)據(jù)進行校驗。

        4 實驗

        將設計的模塊與另一CAN節(jié)點相連接,該節(jié)點為一單片機不停地向CAN總線發(fā)送8Byte標準幀數(shù)據(jù)1、2、3、4、5、6、7、8,ID為0x211。PC機連接上模塊后,利用串口助手接收的數(shù)據(jù)如圖5所示。

        圖5 串口助手接收到的CAN數(shù)據(jù)

        收到的數(shù)據(jù)中AA為起始和結(jié)束標志,由于ID為0x211,數(shù)據(jù)幀RTR為0,標準幀IDE為0,這樣得到前4位數(shù)據(jù)位分別為42(標準幀ID前8位)、20(標準幀ID后3位+擴展幀ID前5位得到)、0(擴展幀ID中間8位)、0(擴展幀ID后5位+0+IDE+RTR)、08(DLC),后面緊接著的8位為數(shù)據(jù)內(nèi)容,之后的8E是除了起始和結(jié)束標志之外的所有數(shù)據(jù)的校驗和。實驗結(jié)果與設計相吻合。

        5 結(jié)束語

        基于STM32 32位ARM內(nèi)核微控制器設計CAN轉(zhuǎn)USB模塊,很好地利用了微控制器內(nèi)部豐富的片上外設,72MHz的頻率使處理高速度的數(shù)據(jù)也不會有任何延遲。直接使用內(nèi)部的CAN控制器、USART串口模塊、外部的CAN收發(fā)器和USB轉(zhuǎn)TTL芯片進行相關設計,整體設計硬件簡單,軟件穩(wěn)定可靠,并且用戶可根據(jù)自身需求編寫相應的上位機軟件,電腦上基于虛擬串口二次開發(fā)容易,是不錯的低成本CAN轉(zhuǎn)USB的解決方案。

        [1] 高軍,劉曉莉,趙延明.基于LPC2292的CAN總線USB接口適配器的設計[J].化工自動化及儀表,2007,34(4):49~52.

        [2] 牛躍聽,周立功,方丹.CAN總線嵌入式開發(fā)-從入門到實踐[M].北京:北京航空航天大學出版社,2012:3~8.

        [3] 張河新,王曉輝,黃曉東.基于STM32和CAN總線的智能數(shù)據(jù)采集節(jié)點設計[J].化工自動化及儀表,2012,39(1):78~80.

        DesignofCAN-USBConversionBasedonSTM32

        WANG Shuang-yin, YE Feng, LIU Shun, CHEN Heng, WEI Shao-ming

        (CGNPCInspectionTechnologyCo.,Ltd.,Suzhou215004,China)

        In the embedded design concerning CAN bus, PC as a debugging tool and data displayer asks for CAN-USB conversion. The commercial conversion always cost too much and it’s difficult to popularize in low cost applications. The STM32 micro controller which internally integrating CAN controller and serial port controller was adopted to implement CAN-USB conversion. This module can satisfy most application because of high running speed and high reliability.

        CAN bus, STM32 chip, CAN-USB conversion

        TH862

        A

        1000-3932(2016)11-1189-04

        2016-09-30(修改稿)

        猜你喜歡
        設計
        二十四節(jié)氣在平面廣告設計中的應用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O計萌到家
        藝術啟蒙(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
        從平面設計到“設計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        91情侣视频| 毛片免费视频在线观看| 成人区人妻精品一熟女| 粉嫩极品国产在线观看| 亚洲产在线精品亚洲第一页| 国产一区二区视频在线免费观看 | 久久久久无码国产精品一区| 国产精品99久久久久久宅男| 91狼友在线观看免费完整版| 大香蕉青青草视频在线| 国产精品二区一区二区aⅴ污介绍| 中国凸偷窥xxxx自由视频| 老汉tv永久视频福利在线观看| 人妖系列在线免费观看| 日日噜噜夜夜狠狠视频 | 亚洲av无码专区亚洲av桃| 免费人成视频网站在线观看不卡 | 日日摸天天摸人人看| 综合网五月| 午夜宅男成人影院香蕉狠狠爱 | 国产后入清纯学生妹| 熟妇人妻中文av无码| 中国免费一级毛片| 四季极品偷拍一区二区三区视频| 国产精品无码aⅴ嫩草| 欧美人与物videos另类xxxxx| 美女叉开双腿让男人插| 亚洲国产性夜夜综合另类| 人妻有码中文字幕| 久久久久国产一级毛片高清版A| 免费高清日本一区二区| 久久99精品久久久大学生| 久久男人av资源网站无码| 亚洲国产AⅤ精品一区二区不卡| 亚洲精品中文字幕一二三四| 亚洲一区二区三区香蕉| 亚洲日韩乱码中文无码蜜桃臀 | 最新露脸自拍视频在线观看| 久久精品99久久香蕉国产色戒| 国产思思久99久精品| 国产主播性色av福利精品一区|