国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

在MM32F013x上實現LIN通信的功能應用

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

掃碼添加小助手

加入工程師交流群

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

Part.1 什么是LIN

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

LIN總線特點

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

極少的信號線即可實現國際標準ISO9141 規定

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

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

從節點不需晶振或陶瓷震蕩器就能實現自同步,節省了從設備的硬件成本

保證信號傳輸的延遲時間

不需要改變LIN 從節點的硬件和軟件就可以在網絡上增加節點

通常一個LIN 網絡上節點數目小于12 個共有64 個標志符

pIYBAGAH4T6AIMvVAAH8W0hFEqY244.png

Part.2 LIN總線 幀結構

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

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

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

o4YBAGAH4X2AFoJJAAEDI4zjnIo344.png

Part.3 程序配置

01、初始化MM32F013x UART1串口

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

02、LIN的發送

2.1 同步間隔段的發送

UART內部有Break信號的發送,通過使能LIN,即可實現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 數據的發送

數據的發送沿用原有的UART接口數據發送即可:

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 數據包的發送

有了上面2個基礎函數進行發送,現在來看下數據包的具體發送,從下圖中可以看出數據包是根據保護段的定義來進行區分是發送信號幀還是診斷幀。

pIYBAGAH4cCABocJAADR99gcDG4213.png

信號幀的數據就可以做成以下的方式:

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中斷函數里收到從機返回的數據。

2.4 從機的接受與發送

從機收數據與正常的串口一樣,只需要做BRK信號的處理即可,從機收到數據以后按正常的返回數據,返回數據就不需要發送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通信功能演示

通過邏輯分析儀可以看到信號幀的數據:

而診斷幀數據就有從機回應的數據:

有這個演示作為基礎就可以開發LIN的通訊產品了。

轉自:靈動MM32MCU
審核編輯:何安

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 靈動微電子
    +關注

    關注

    7

    文章

    137

    瀏覽量

    20480
  • LIN通信
    +關注

    關注

    2

    文章

    8

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業級 LIN 收發器、LIN 模塊優選:德國 Lipowsky LIN 線產品介紹

    本文將全面解析 Lipowsky 的 LIN 線產品,深入介紹虹科 Baby-LIN 系列 LIN 收發器與 LIN 模塊的技術特點、型號選型及行業應用,為汽車電子研發、測試人員提供專
    的頭像 發表于 02-10 17:09 ?105次閱讀
    工業級 <b class='flag-5'>LIN</b> 收發器、<b class='flag-5'>LIN</b> 模塊優選:德國 Lipowsky <b class='flag-5'>LIN</b> 線產品介紹

    TLIN2029A-Q1:汽車級 LIN 收發器的卓越之選

    TLIN2029A-Q1:汽車級 LIN 收發器的卓越之選 汽車電子領域,可靠且高效的通信網絡至關重要。本地互連網絡(LIN)作為一種低成本、低速率的串行
    的頭像 發表于 12-17 11:15 ?420次閱讀

    如何在CW32F030實現IAP功能實現遠程升級?

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

    LIN總線相關知識

    絡提供輔助功能一些比如車身電子配件的地方(如車窗、后視鏡、大燈、雨刮器等)就采用 LIN 總線。適 用于對網絡的帶寬、性能或容錯功能沒有過高要求的應用。基于SCI(UART)數據
    發表于 12-10 08:14

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

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

    HXS320F280025C數字信號處理器(DSP)芯片

    實現了對無人機電機的精確控制和高速響應。 HXS320F28025C 器件型號與封裝信息 (工業級 –40 °C ~ +125 °C,Sn 鍍層,MSL-3)訂購型號封裝引腳數封裝尺寸 (mm)托盤數量
    發表于 12-03 09:02

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

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

    STEVAL-LLL013V1 LED矩陣面板技術解析與應用指南

    時的功能。LEB矩陣板顯示標語,標語中每個像素可能有不同的亮度級別(32級)。水平方向左右滾動標語實現不同照明效果,其中屏幕刷新率高于100Hz。使用STSW-LLL013GUI P
    的頭像 發表于 10-25 16:00 ?2165次閱讀
    STEVAL-LLL<b class='flag-5'>013</b>V1 LED矩陣面板技術解析與應用指南

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

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

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

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

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

    一期,我們詳細分享了LIN總線的結構、譯碼方法、休眠與喚醒過程。那如何借助串行譯碼分析總線故障?我們能否從譯碼結果中,進一步提取LIN線發送的信息?答案是肯定的。這一期,我們就將結合LIN
    的頭像 發表于 08-07 11:28 ?935次閱讀
    虹科技術分享 | <b class='flag-5'>LIN</b>總線譯碼<b class='flag-5'>功能</b>與<b class='flag-5'>LIN</b>控制交流發電機(二)

    LIN協議:汽車電子中的隱形功臣

    汽車電子通信領域,CAN/CANFD和車載以太網常被提及,但有一個低調卻不可或缺的協議—LIN,正默默支撐著車窗、車燈等車身系統的智能化控制。LIN協議
    的頭像 發表于 07-01 11:40 ?1957次閱讀
    <b class='flag-5'>LIN</b>協議:汽車電子中的隱形功臣

    如何使用IFX ePower BootStrapLoader工具通過lin通信升級固件?

    如何使用 IFX ePower BootStrapLoader 工具通過 lin 通信升級我的固件
    發表于 04-18 06:56

    S32K3X4EVB-T172 LIN接收幀丟失的原因?

    我正在使用S32K3X4EVB-T172 評估板 (S32K344) 和LINSTACK for S32K3 版本 2.0.5。 我的設置如下。 MCU (S32K344) 充當 LIN 主站。
    發表于 04-01 07:23

    使用stm32F103的USART的lin通訊模式,TX,RX,GND,三根線怎么和lin總線連接?

    使用stm32F103的USART的lin通訊模式,TX,RX,GND,三根線怎么和lin總線連接
    發表于 03-14 07:39