哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在MM32F013x上實現(xiàn)LIN通信的功能應(yīng)用

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-02-18 11:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著汽車電子技術(shù)的高速發(fā)展和廣泛應(yīng)用,實現(xiàn)智能化和網(wǎng)絡(luò)化是汽車發(fā)展的必然趨勢。為簡化日益增加的汽車電控設(shè)備的線路連接,提升系統(tǒng)的可靠性和故障診斷水平,實現(xiàn)各電控設(shè)備之間的數(shù)據(jù)資源共享,并建成開發(fā)的標準化、模塊化結(jié)構(gòu),汽車網(wǎng)絡(luò)總線技術(shù)得到了很大發(fā)展。目前,已經(jīng)開發(fā)出多種總線,如控制器局域網(wǎng)總線CAN、車內(nèi)網(wǎng)絡(luò)總線LIN、高速容錯網(wǎng)絡(luò)總線FlexRay、面向媒體的系統(tǒng)傳輸總線MOST、更高帶寬和傳輸速率的車載以太網(wǎng)Ethernet等,這里給大家介紹在MM32F013x上實現(xiàn)LIN通信的功能應(yīng)用。

Part.1 什么是LIN

LIN 是 Local Interconnect Network 的縮寫,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter /Serial Communication Interface,通用異步收發(fā)器/串行通信接口)的低成本串行通信協(xié)議,可用于汽車、家電、辦公設(shè)備等多種領(lǐng)域。本文主要針對在MM32F013x上實現(xiàn)LIN在分布式的汽車電子網(wǎng)絡(luò)系統(tǒng)中的應(yīng)用。

LIN總線特點

低成本:幾乎車規(guī)級微控制器都具備LIN 通信必需的硬件

極少的信號線即可實現(xiàn)國際標準ISO9141 規(guī)定

傳輸速率最高可達20Kbit/s

單主控器/多從設(shè)備模式無需仲裁機制

從節(jié)點不需晶振或陶瓷震蕩器就能實現(xiàn)自同步,節(jié)省了從設(shè)備的硬件成本

保證信號傳輸?shù)难舆t時間

不需要改變LIN 從節(jié)點的硬件和軟件就可以在網(wǎng)絡(luò)上增加節(jié)點

通常一個LIN 網(wǎng)絡(luò)上節(jié)點數(shù)目小于12 個共有64 個標志符

pIYBAGAH4T6AIMvVAAH8W0hFEqY244.png

Part.2 LIN總線 幀結(jié)構(gòu)

幀(Frame)包含幀頭(Header)和應(yīng)答(Response)兩部分。

幀頭包括同步間隔段、同步段以及PID(Protected Identifier,受保護ID)段,應(yīng)答包括數(shù)據(jù)段和校驗和段。

如圖所示,其中值“0”為顯性電平(Dominant),值“1”為隱性電平(Recessive),總線上實行“線-與”:當總線上有大于等于一個節(jié)點發(fā)送顯性電平時,總線呈顯性電平;所有的節(jié)點都發(fā)送隱性電平或不發(fā)送信息(不發(fā)送任何信息時總線默認呈隱性電平)時,總線才呈現(xiàn)隱性電平,即顯性電平起主導(dǎo)作用。

o4YBAGAH4X2AFoJJAAEDI4zjnIo344.png

Part.3 程序配置

01、初始化MM32F013x UART1串口

從官網(wǎng)下載MM32F013x例程,參考MM32F0133C7P的UART例程的初始化以及中斷服務(wù)函數(shù),這里不在贅述。

02、LIN的發(fā)送

2.1 同步間隔段的發(fā)送

UART內(nèi)部有Break信號的發(fā)送,通過使能LIN,即可實現(xiàn)LIN的間隔段,代碼如下:

bool LINSendbreak(void)
{
uint16_t Tempcnt = 0;
UART2->CCR |= UART_CCR_LIN; //LIN Enable
UART2->CCR |= UART_CCR_BRK; //Send Break
while ((UART2->ISR & 0x00000080) == 0) //TXBRK_INTF
{
Tempcnt++;
if (Tempcnt > 5000)
return (false);
}
return (true);
}

2.2 數(shù)據(jù)的發(fā)送

數(shù)據(jù)的發(fā)送沿用原有的UART接口數(shù)據(jù)發(fā)送即可:

bool LINSendChar(uint8_t ch)
{
uint16_t Tempcnt = 0;

while ((UART2->CSR & UART_IT_TXIEN) == 0)//The loop is sent until it is finished
{
Tempcnt++;
if (Tempcnt > 5000)
return (false);
}
UART2->TDR = (ch & (uint16_t)0x00FF);
return (true);
}

2.3 數(shù)據(jù)包的發(fā)送

有了上面2個基礎(chǔ)函數(shù)進行發(fā)送,現(xiàn)在來看下數(shù)據(jù)包的具體發(fā)送,從下圖中可以看出數(shù)據(jù)包是根據(jù)保護段的定義來進行區(qū)分是發(fā)送信號幀還是診斷幀。

pIYBAGAH4cCABocJAADR99gcDG4213.png

信號幀的數(shù)據(jù)就可以做成以下的方式:

bool LINSendMsg(void)
{
uint8_t check_sum, i;
frame_send.error = 0;
if (!LINSendbreak()) //Send Break
return (false);
if (!LINSendChar(0x55)) //Send Sync Byte
return (false);
msg_send.Data[0] = LINCalcParity(msg_send.Data[0]);
for (i = 0; i < 9; i++)
{
if (!LINSendChar(msg_send.Data[i])) //Send Data
return (false);
}
check_sum = LINCalcChecksum(msg_send.Data, 1);
if (!LINSendChar(check_sum)) //Send Checksum
return (false);
frame_send.state = IDLE;
return (true);
}

而診斷幀的就是:

bool LINSendID(void)
{
if (!LINSendbreak())
return (false);
if (!LINSendChar(0x55))
return (false);
msg_send.Data[0] = LINCalcParity(msg_send.Data[0]);
if (!LINSendChar(msg_send.Data[i]))
return (false);
return (true);
}

這樣就可以在等待UART中斷函數(shù)里收到從機返回的數(shù)據(jù)。

2.4 從機的接受與發(fā)送

從機收數(shù)據(jù)與正常的串口一樣,只需要做BRK信號的處理即可,從機收到數(shù)據(jù)以后按正常的返回數(shù)據(jù),返回數(shù)據(jù)就不需要發(fā)送BRK信號。

if (LIN_RxBuff[1] == LIN_PID_60_0x3C)
{
msg_send1.Data[0] = 0x3C;
msg_send1.Data[0] = LINCalcParity(msg_send1.Data[0]);
UART2->ICR |= UART_ICR_RXIDLE; //clear idle int bit
UART2->IER |= UART_IER_RXIDLE; //enable uart rx idle int
for (i = 1; i < 9; i++)
{
if (!LINSendChar(msg_send1.Data[i]))
return (false);
}
check_sum = LINCalcChecksum(msg_send1.Data, 1);
if (!LINSendChar(check_sum))
return (false);
}

Part.4 MM32F013x LIN通信功能演示

通過邏輯分析儀可以看到信號幀的數(shù)據(jù):

而診斷幀數(shù)據(jù)就有從機回應(yīng)的數(shù)據(jù):

有這個演示作為基礎(chǔ)就可以開發(fā)LIN的通訊產(chǎn)品了。

轉(zhuǎn)自:靈動MM32MCU
審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 靈動微電子
    +關(guān)注

    關(guān)注

    7

    文章

    137

    瀏覽量

    20527
  • LIN通信
    +關(guān)注

    關(guān)注

    2

    文章

    10

    瀏覽量

    4122
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    探索F28M35x Concerto?微控制器:功能、應(yīng)用與設(shè)計要點

    探索F28M35x Concerto?微控制器:功能、應(yīng)用與設(shè)計要點 引言 電子工程師的日常工作中,選擇合適的微控制器是項目成功的關(guān)鍵。F28M35x Concerto?微控制器以其
    的頭像 發(fā)表于 04-19 10:30 ?183次閱讀

    ST75MM電力線通信系統(tǒng)使用指南

    ST75MM電力線通信系統(tǒng)使用指南 電力線通信領(lǐng)域,ST75MM電力線
    的頭像 發(fā)表于 04-16 15:40 ?106次閱讀

    深入解析 NTMFC013NP10M5L 雙溝道 MOSFET:特性與應(yīng)用

    NTMFC013NP10M5L 是一款雙溝道 MOSFET,集成了 N 溝道和 P 溝道,采用 SO8FL 封裝,具有小尺寸(5 x 6 mm)的特點,非常適合緊湊型設(shè)計。它的主
    的頭像 發(fā)表于 04-13 17:25 ?329次閱讀

    深入解析 onsemi NVMYS013N08LH 單通道 N 溝道功率 MOSFET

    NVMYS013N08LH 是 onsemi 公司的一款高性能 MOSFET,具有 80V 的耐壓、13.1mΩ 的低導(dǎo)通電阻和 42A 的連續(xù)漏極電流。該器件采用 LFPAK4 封裝,尺寸僅為 5x6mm,非常適合緊湊型設(shè)
    的頭像 發(fā)表于 04-02 17:10 ?402次閱讀

    極海APM32F427 MCURT-Thread系統(tǒng)使用LwIP網(wǎng)絡(luò)功能

    下面是基于RT-Thread的ENV命令行開發(fā)環(huán)境,APM32F427使用LwIP網(wǎng)絡(luò)協(xié)議棧實現(xiàn)網(wǎng)絡(luò)通信
    的頭像 發(fā)表于 04-02 15:19 ?8514次閱讀
    極海APM32<b class='flag-5'>F</b>427 MCU<b class='flag-5'>在</b>RT-Thread系統(tǒng)<b class='flag-5'>上</b>使用LwIP網(wǎng)絡(luò)<b class='flag-5'>功能</b>

    探索PIC16(L)F1885X/7X微控制器功能與應(yīng)用介紹

    探索PIC16(L)F1885X/7X微控制器:功能與應(yīng)用的深度剖析 電子設(shè)計領(lǐng)域,微控制器扮演著至關(guān)重要的角色。今天,我們將深入探討Microchip公司的PIC16(L)
    的頭像 發(fā)表于 03-17 17:30 ?506次閱讀

    探索PIC16(L)F1885X/7X微控制器:功能與應(yīng)用的深度剖析

    探索PIC16(L)F1885X/7X微控制器:功能與應(yīng)用的深度剖析 在當今電子設(shè)備飛速發(fā)展的時代,微控制器作為核心組件,其性能和功能直接影響著產(chǎn)品的質(zhì)量和應(yīng)用范圍。Microchip
    的頭像 發(fā)表于 03-17 16:55 ?319次閱讀

    SM320F281x/C281x DSP系列:高性能與多功能的完美融合

    SM320F281x/C281x DSP系列:高性能與多功能的完美融合 在當今的電子設(shè)計領(lǐng)域,數(shù)字信號處理器(DSP)扮演著至關(guān)重要的角色。德州儀器(TI)的SM320F281x
    的頭像 發(fā)表于 03-09 10:35 ?670次閱讀

    如何在CW32F030實現(xiàn)IAP功能實現(xiàn)遠程升級?

    程序用于電時判斷程序是進入 IAP 升級流程還是進入 APP 應(yīng)用程序執(zhí)行過程。其一般放置 FLASH 的開始部分 CW32F030 的 Flash 起始地址為 0x00000
    發(fā)表于 12-11 06:15

    LIN總線相關(guān)知識

    絡(luò)提供輔助功能,一些比如車身電子配件的地方(如車窗、后視鏡、大燈、雨刮器等)就采用 LIN 總線。適 用于對網(wǎng)絡(luò)的帶寬、性能或容錯功能沒有過高要求的應(yīng)用?;赟CI(UART)數(shù)據(jù)
    發(fā)表于 12-10 08:14

    瑞薩RL78F24系列微控制器中的LIN總線主機配置方法

    汽車電子領(lǐng)域,LIN總線是RL78F24系列微控制器的核心外設(shè)之一。為簡化LIN通信的配置流程,瑞薩電子提供了專用的RLIN3配置工具,該
    的頭像 發(fā)表于 12-09 17:48 ?3279次閱讀
    瑞薩RL78<b class='flag-5'>F</b>24系列微控制器中的<b class='flag-5'>LIN</b>總線主機配置方法

    瑞薩RL78F24系列微控制器中的LIN總線從機配置方法

    汽車電子領(lǐng)域,LIN總線是RL78F24系列微控制器的核心外設(shè)之一。為簡化LIN通信的配置流程,瑞薩電子提供了專用的RLIN3配置工具,該
    的頭像 發(fā)表于 12-02 14:11 ?5247次閱讀
    瑞薩RL78<b class='flag-5'>F</b>24系列微控制器中的<b class='flag-5'>LIN</b>總線從機配置方法

    求助,關(guān)于使用 TC39x Aurix 微控制器的 SCR 檢測 LIN 喚醒脈沖疑問求解

    您好,我正在嘗試使用 TC39x Aurix 微控制器的 SCR 檢測 LIN 喚醒脈沖(250us 至 5ms 的顯性(低)脈沖)。根據(jù)數(shù)據(jù)表,SCR 的 UART 模塊中有一個硬件 LI
    發(fā)表于 08-15 06:45

    廣州唯創(chuàng)電子WT588F(C013)語音芯片:賦能智能玩具的“聲”動未來

    追求寓教于樂的智能玩具時代,豐富的語音交互能力已成為核心競爭力。廣州唯創(chuàng)電子WT588F(C013)語音芯片憑借其卓越的性能與多功能性,正成為打造高互動性、高趣味性智能玩具的“聲”力
    的頭像 發(fā)表于 08-08 08:09 ?826次閱讀
    廣州唯創(chuàng)電子WT588<b class='flag-5'>F</b>(C<b class='flag-5'>013</b>)語音芯片:賦能智能玩具的“聲”動未來

    虹科技術(shù)分享 | LIN總線譯碼功能LIN控制交流發(fā)電機(二)

    一期,我們詳細分享了LIN總線的結(jié)構(gòu)、譯碼方法、休眠與喚醒過程。那如何借助串行譯碼分析總線故障?我們能否從譯碼結(jié)果中,進一步提取LIN線發(fā)送的信息?答案是肯定的。這一期,我們就將結(jié)合LIN
    的頭像 發(fā)表于 08-07 11:28 ?1075次閱讀
    虹科技術(shù)分享 | <b class='flag-5'>LIN</b>總線譯碼<b class='flag-5'>功能</b>與<b class='flag-5'>LIN</b>控制交流發(fā)電機(二)
    定日县| 祥云县| 罗田县| 尚义县| 漾濞| 高尔夫| 白沙| 华亭县| 忻城县| 仙桃市| 桐乡市| 中超| 靖边县| 醴陵市| 三明市| 达拉特旗| 山西省| 潞西市| 霞浦县| 旅游| 屯昌县| 茌平县| 阜新| 永兴县| 兴和县| 巴南区| 隆尧县| 玉林市| 博湖县| 建阳市| 小金县| 成安县| 福州市| 井研县| 侯马市| 鹤山市| 滦平县| 郓城县| 拉萨市| 华安县| 林芝县|