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

        ?

        基于STM32F407的雙CAN總線設(shè)計(jì)與實(shí)現(xiàn)

        2016-06-13 10:03:08劉鵬
        科技視界 2016年13期

        劉鵬

        【摘 要】本文是基于意法半導(dǎo)體(ST)新推出的一款高性能CortexTM-M4內(nèi)核的ARM 芯片STM32F407ZGT6,進(jìn)行的雙CAN總線設(shè)計(jì)。在開發(fā)過(guò)程中采用了ST提供的可視化圖形界面開發(fā)工具STM32Cube進(jìn)行底層驅(qū)動(dòng)的配置,簡(jiǎn)化了設(shè)計(jì)工作。但由于該工具鏈接的固件庫(kù)函數(shù)存在傳遞參數(shù)錯(cuò)誤,使得CAN總線無(wú)法接收數(shù)據(jù),本文對(duì)該庫(kù)函數(shù)進(jìn)行了更正。

        【關(guān)鍵詞】STM32F407;CAN;STM32Cube

        Design and Realization of Double CAN Buses on STM32F407

        LIU Peng

        (Chinese Electron Scientific and Technological Company 20th Institute, Xian Shaanxi 710068, China)

        【Abstract】Based on a high-performance ARM with CortexTM-M4 core which launched by STMicroelectronics (ST)--STM32F407ZGT6, the double CAN bus is designed in this paper. A visual graphical interface-STM32cube which is provided by ST, is used to configure the underlying driver in this development process. It simplifies the design work. However, one of its library functions makes the CAN bus does not work, because of its error in transferring parameter. This paper makes some changes to this function.

        【Key words】STM32F407; CAN; STM32Cube

        0 前言

        CAN 是一種多主機(jī)局域網(wǎng),它是由博世公司為現(xiàn)代汽車應(yīng)用率先推出的,憑借著良好的可靠性以及卓越的靈活性,已被廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域、建筑、環(huán)境控制等眾多領(lǐng)域[1]。近年來(lái),在航空機(jī)載設(shè)備上使用CAN總線傳輸各模塊的BIT、日志等信息,可以更有效地管理模塊狀態(tài);使用成熟的CAN總線協(xié)議,保證了信息傳輸?shù)陌踩煽俊?/p>

        為了提高系統(tǒng)處理信息的性能,本文使用了基于高性能ARM Cortex-M4系列的32位RISC內(nèi)核設(shè)計(jì)的STM32F407ZGT6芯片,最高工作頻率可達(dá)168MHz。

        1 CAN總線原理

        CAN總線結(jié)構(gòu)屬于多主競(jìng)爭(zhēng)方式,具有多主站運(yùn)行和分散仲裁的串行總線以及廣播通信的特點(diǎn),不同節(jié)點(diǎn)之間可自由通信,CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳送,報(bào)文的優(yōu)先級(jí)由標(biāo)識(shí)符決定,最低二進(jìn)制數(shù)的標(biāo)識(shí)符有最高的優(yōu)先級(jí)。

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

        2.1 硬件設(shè)計(jì)

        本文采用了意法半導(dǎo)體高性能處理器STM32F407ZGT6,提高了處理速度,其內(nèi)置的CAN控制器簡(jiǎn)化了硬件電路的設(shè)計(jì),外置的CAN電平轉(zhuǎn)換芯片采用的是SN65HVD230。系統(tǒng)中有若干個(gè)CAN模塊進(jìn)行通信,為了統(tǒng)一匹配CAN總線的阻抗,要求每個(gè)模塊上無(wú)需添加匹配電阻,由系統(tǒng)統(tǒng)一在最遠(yuǎn)的兩端節(jié)點(diǎn)處添加120歐匹配電阻。

        2.2 基于可視化圖形界面的底層驅(qū)動(dòng)配置

        STM32CubeMX是ST的主動(dòng)原創(chuàng),可以減少開發(fā)工作的時(shí)間和費(fèi)用。STM32Cube覆蓋了STM32系列所有芯片,STM32Cube中的STM32CubeMX是一款圖形化軟件設(shè)置工具,允許使用圖形化向?qū)?lái)生成C語(yǔ)言代碼。

        首先,根據(jù)模塊的功能對(duì)STM32的IO口進(jìn)行初始化,需實(shí)現(xiàn)的外設(shè)有兩路CAN、一路UART、一路I2C,還有若干GPIO(實(shí)現(xiàn)對(duì)模塊狀態(tài)的監(jiān)控)。接下來(lái),需對(duì)系統(tǒng)時(shí)鐘進(jìn)行配置,STM32cube極大的簡(jiǎn)化了開發(fā)人員的工作,使用更形象的圖形界面表示時(shí)鐘的配置關(guān)系,如圖1。本文中由于外部空間的限制,無(wú)法使用外部晶振,故本文中采用的是內(nèi)部時(shí)鐘HSI(16MHz),通過(guò)相應(yīng)配置使得處理器主時(shí)鐘達(dá)到最大值168MHz,相應(yīng)的外設(shè)時(shí)鐘也達(dá)到最大的42MHz。最后,對(duì)CAN控制器進(jìn)行配置,將CAN的波特率設(shè)置為1Mb/s,CAN控制器工作在正常模式,采用雙路CAN總線互為備份,在該ARM芯片中內(nèi)置的兩個(gè)CAN控制器是主從關(guān)系,對(duì)于用戶使用而言,只有過(guò)濾器的設(shè)計(jì)需注意,其他方面無(wú)任何差別。

        2.3 軟件設(shè)計(jì)

        在STM32cube完成初始化之后,需開發(fā)人員編寫相應(yīng)的應(yīng)用程序,實(shí)現(xiàn)系統(tǒng)對(duì)該模塊CAN協(xié)議的要求,軟件流程圖如圖2所示,CAN的接收和發(fā)送均采用中斷方式。

        使用STM32cube的好處顯而易見,但也存在弊端。例如由于可視化界面使得開發(fā)人員幾乎無(wú)需了解底層寄存器的調(diào)用情況,而一旦出現(xiàn)問(wèn)題需要查看寄存器定位故障時(shí)將很難查找到原因。

        在本設(shè)計(jì)中遇到CAN無(wú)法接收數(shù)據(jù)的故障,為查找故障原因,作者在熟悉各寄存器功能后,通過(guò)單步調(diào)試發(fā)現(xiàn)CAN的接收數(shù)據(jù)函數(shù)CAN_Receive_IT()無(wú)法讀取硬件FIFO中的數(shù)據(jù),最后通過(guò)添加一個(gè)結(jié)構(gòu)體變量User_recieve_IT,先將FIFO的值賦給該結(jié)構(gòu)體變量,再將該結(jié)構(gòu)體直接賦給hcan->pRxMsg,使得CAN接收數(shù)據(jù)成功。

        3 結(jié)果與分析

        使用CANALYST-Ⅱ分析儀對(duì)模塊進(jìn)行了測(cè)試,連續(xù)多次發(fā)送CAN命令100條、間隔時(shí)間1ms,全部得到正確回復(fù)。同時(shí),PC機(jī)串口接收的模塊返回?cái)?shù)據(jù)與CAN測(cè)試結(jié)果同步。人為使得CAN_H對(duì)地短路導(dǎo)致總線關(guān)閉,再取消短路后,總線自動(dòng)恢復(fù),證明CAN總線的可靠性很高。

        本文中使用圖形化軟件設(shè)置工具STM32cube對(duì)ARM芯片進(jìn)行底層驅(qū)動(dòng)的配置,大大提高了開發(fā)人員的工作效率,降低錯(cuò)誤出現(xiàn)的概率。同時(shí),作者也解決了CAN接收函數(shù)中傳遞參數(shù)出現(xiàn)的錯(cuò)誤。

        圖3 CAN調(diào)試結(jié)果和UART輸出數(shù)據(jù)

        【參考文獻(xiàn)】

        [1]佟國(guó)香.基于CAN總線的STM32應(yīng)用編程及實(shí)現(xiàn)[J].上海:信息技術(shù),2015,10:49.

        [責(zé)任編輯:湯靜]

        久久精品夜夜夜夜夜久久| 国产午夜视频在线观看.| 久久久久国色av免费观看性色| 又污又爽又黄的网站| 伊人久久一区二区三区无码| 日本午夜一区二区视频| 免费看黄色亚洲一区久久| 国产精品人妻一码二码| 欧美丰满熟妇bbbbbb百度| 亚洲国产一区二区三区在观看| 久久久精品国产亚洲av网麻豆| 国产av一区二区三区天堂综合网| 亚洲永久精品ww47| 国产精品无码不卡在线播放| 亚洲av熟女少妇一区二区三区| 波多野结衣在线播放| 美丽的熟妇中文字幕| 浪荡少妇一区二区三区| 国产福利一区二区三区在线观看| 免费人成小说在线观看网站| 亚洲美女又黄又爽在线观看| 久热爱精品视频在线观看久爱| 三个黑人插一个女的视频| 亚洲av色欲色欲www| 无码国产色欲xxxxx视频| 人妻无码人妻有码不卡| 久久精见国产亚洲av高清热| 97se亚洲国产综合自在线观看| 少妇高潮惨叫久久久久久| 女人被躁到高潮嗷嗷叫免费软| 青青草成人免费在线观看视频| 人妻少妇偷人精品一区二区| 中文字幕亚洲综合久久| 国产在线无码一区二区三区| 久久国产香蕉一区精品天美| 亚洲熟女乱一区二区三区| 免费高清av一区二区三区| 国产啪精品视频网给免丝袜 | 在线视频中文字幕一区二区三区| a级毛片无码久久精品免费| 男人j进女人p免费视频|