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

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

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

3天內不再提示

HMI工業級芯片Model3如何進行CAN通信配置?

QiMingZhiXian ? 來源:QiMingZhiXian ? 作者:QiMingZhiXian ? 2024-04-17 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Model3(簡稱M3芯片)簡介

wKgaomYfP02AIwYGAAKm7W_CztY963.png

基于Model3芯片的核心板

Model3 是一款高性能的顯示交互和智能控制 MCU,采用國產自主高算力 RISC-V 內核,內置片上 1MB 大容量 SRAM 以及 64Mb PSRAM,并提供豐富的互聯外設接口,配備了 2D 圖像加速引擎和 PNG 解碼/JPEG 編 解碼引擎,可以滿足各類交互設計場景和多媒體互動需求,具有高可靠性、高安全性、高開放度的特點,可以面向于泛工業領域應用。

wKgaomYfP02AYjwYAAD2g4U6p1w382.png

Model3芯片功能框圖

Model3(簡稱M3芯片)接口圖如下:

wKgZomYfP06AVbktAABhPT2xgTY341.png

M3芯片接口圖

今天小編主要介紹Model3(簡稱M3芯片)CAN通信的架構及寄存器說明

CAN通信簡介

CAN控制器,多應用于汽車控制系統和一般工業環境中的區域網絡控制。CAN是一種多主機、多廣播的通信協議,CAN總線上的各個節點都可以向總線發送數據,多個節點同時發送時利用仲裁機制,從而確保最高優先級的數據可以正常發送到總線上,具有很高的實時性和可靠性。

Model3芯片(簡稱M3芯片)CAN接口基本特性如下:

支持CAN2.0A和CAN2.0B協議

支持11位標識符(標準格式)和29位標識符(擴展格式)

編程通信速率最高達1Mbps驅動配置

支持多種操作模式:正常模式、只聽模式、自測模式、休眠模式、復位模式

錯誤檢測與處理:錯誤計數、錯誤報警閾值可配置、錯誤捕獲、仲裁丟失捕獲

CAN配置指南:

驅動配置

Board options --->

[*] Using CAN0

[ ] Using CAN1

zx-rtt CAN的driver層是基于RT-Thread的CAN驅動框架實現的,所以需要使能RT-Thread的CAN驅動框架:

RT-Thread options --->

RT-Thread Components --->

Device Drivers --->

[*] Using CAN device drivers

[*] Enable CAN hardware filter

[ ] Enable CANFD support

備注:

CAN模塊不支持CANFD

為了使用方便,選擇Using CAN0/1后會自動選擇CAN驅動框架

測試說明

硬件準備:

測試板:帶有兩個CAN接口的測試板

PC:用于和測試板交互

串口線:連接測試板的調試串口

軟件:

PC端串口終端軟件

can_sample測試程序

CAN收發測試:

將測試板上的兩個CAN接口對接。執行can_sample命令,CAN0會向CAN1發送數據,CAN1會打印接收到的數據。

注意:

Model3芯片(簡稱M3芯片)的CAN 只能設置1個過濾表,支持屏蔽模式;如果要支持雙過濾模式,擴展幀只能過濾id28~id13,id12~id0和rtr不能過濾。

Model3芯片(簡稱M3芯片)CAN的架構還有寄存器說明

wKgaomYfP0-AK4bRAADAMUbIG3c055.png

CAN控制器原理框圖

位時序邏輯BTL:負責同步位時序,確保數據傳輸的穩定性,以預先配置的波特率發送和接受報文。

位流處理器BSP:負責對發送數據進行位填充、附加CRC等處理,并為位時序邏輯模塊生成位流;負責對接收的位流進行去填充、驗證CRC等處理;負責檢測總線上的錯誤并將錯誤報告給錯誤管理邏輯。

接收過濾器:是一個可編程的報文過濾單元,允許控制器根據報文的標識符接收或拒絕該報文,可以過濾掉總線發送的與節點無關的消息,使節點效率提高。

緩沖FIFO:大小為64byte,負責存儲通過接收過濾器的報文。FIFO中的第一條報文將被映射到13byte 的接收緩沖寄存器中可被CPU訪問,直到該報文被清除,空間被釋放。隨后,接收緩沖寄存器將繼續映射FIFO 中的下一條報文。

錯誤管理邏輯EML:負責更新發送錯誤計數TEC 和接收錯誤計數REC 的數值,記錄錯誤類型、錯誤位置,更新控制器錯誤狀態,確保BSP 模塊發送正確的錯誤標志;還負責記錄報文仲裁丟失時的bit位置。

wKgaomYfP0-Ab4xTAABAiAF3pec934.png

CAN典型應用

運行模式

控制器包含5種運行模式,由模式寄存器(CAN_MODE)定義設置。

復位模式:Reset Mode,進入復位模式,控制器離線不參與總線任何活動,可修改CAN控制器的各種參數配置。退出復位模式后,控制器需等待11 個連續隱性位出現(等效于總線空閑),才能正常接收和發送報文。

正常模式: Normal Mode,CAN 控制器可以發送和接收包含錯誤信號在內的報文。

自測模式:Self-Test Mode, 與正常模式相同,但在該模式下,CAN 控制器發送報文時,即使沒有接收到應答,也不會產生應答錯誤。通常在控制器自測時使用該模式。

只聽模式: Listen Only Mode,CAN 控制器可以接收報文,但在CAN 總線上保持完全被動。因此,CAN 控制器將無法發送任何報文、應答或錯誤信號,錯誤計數將保持凍結狀態。該模式用于CAN 總線監控。

休眠模式:Sleep Mode,無總線活動及無中斷發生,可進入低功耗休眠模式,該模式下時鐘停止。SLEEP_MOD為0或總線有信號輸入時喚醒,產生喚醒中斷。

位時序

為了實現位同步,每個正常位時間劃分為幾個不重疊時間的片段,包括同步段SS,傳播段PS,相位緩沖段PBS1,相位緩沖段PBS2,一個完整的位由8~25個時間定額Tq組成。

如圖所示,將傳播段PS和相位緩沖段PBS1合并形成新的時間段Ts1。

在復位模式下,配置總線時序0寄存器(CAN_BTR0)和總線時序1寄存器(CAN_BTR1)中的BRP、SJW、TS1、TS2、SAM等參數,決定CAN的波特率。

SJW具體作用是增大或減小CAN波特率的容許偏差量,其大小與波特率值沒有太大關系,可理解為波特率精度調節,SJW值越大則總線獲得更寬波特率容忍度。

wKgZomYfP0-ANmJoAAAhkztwMtc568.png

位時序各參數計算關系如下:

時間定額Tq = 2*(BRP[5:0]+1)*Tpclk,其中Tpclk為APB時鐘(通常為24MHz)周期。

位時間Tbit = [1+ (TS1+1) + (TS2+1)]*Tq;

波特率Baud = 1/Tbit;

采樣點= [1 + (TS1+1)]/ [1+ (TS1+1) + (TS2+1)]。

舉例:假設單次采樣SAM為0,且SJW=2,TS1=8,TS2=1,BRP=0,則波特率為24M/[2*(0+1)*(1+9+2)]=1Mbps,采樣點為(1+9)/ (1+9+2)=83%。建議選取規則:TS2>=SJW;BRP盡量小、SJW盡量大;采樣點選取范圍75%~85%之間;盡量采用單次采樣。

通信報文

CAN通信報文類型包含數據幀、遠程幀、錯誤幀、過載幀、間隔幀這5種類型。

wKgZomYfP1CAee0wAACIE_poFcU187.png

CAN標準格式和擴展格式數據幀

wKgaomYfP1CAYQDjAACDjNPkkzU058.png

CAN標準格式和擴展格式遠程幀

wKgZomYfP1GAZw5EAABeFUWMKm0925.png

CAN錯誤幀、過載幀、間隔幀

中斷管理

控制器提供8種中斷包括總線錯誤中斷、仲裁丟失中斷、被動錯誤中斷、喚醒中斷、數據溢出中斷、錯誤報警中斷、發送中斷、接收中斷。

由中斷寄存器(CAN_INTR)定義,通過設置中斷使能寄存器(CAN_INTEN)中相應使能位,每個中斷源都可以單獨允許和禁用。

當有一個或多個中斷觸發,控制器IRQ有效,當所有中斷位都被清除,控制器IRQ失效。

中斷寄存器被讀取后,除接收中斷外,其中的中斷位將自動清除。

接收中斷直到通過RXB_REL 指令位清除所有接收報文后,才能被清除,否則會影響接收緩沖狀態RXB_STAT。

接收中斷RX_INT:當接收FIFO 中有待讀取報文(接收數據計數寄存器(CAN_RXC)中RXC > 0)時觸發此中斷。計數的報文數量包括有效報文和溢出報文。直到通過RXB_REL 指令位清除所有掛起接收報文后,接收中斷才會失效。

發送中斷TX_INT:當發送緩沖器空閑,將其他報文加載到緩沖器中等待發送時,都會觸發此中斷。

錯誤報警中斷ERRW_INT:狀態寄存器(CAN_STAT)中ERR_STAT或BUS_STAT的位值發生改變(由0變1或由1變0)都會觸發此中斷。觸發時狀態值可分以下幾種:

ERR_STAT = 0 與BUS_STAT = 0:如果控制器處于主動錯誤狀態,則表示TEC 和REC 的值都返回ERRWT 所設閾值之下;如果控制器此前處于總線恢復狀態,則表示此時總線恢復已成功完成。

ERR_STAT = 1 與BUS_STAT = 0:表示TEC 或REC 數值已超過ERRWT所設閾值。

ERR_STAT = 1 與BUS_STAT = 1:表示控制器已進入離線狀態(TEC> =255)。

ERR_STAT = 0 與BUS_STAT = 1:表示總線恢復期間,控制器TEC 數值已低于ERRWT所設閾值。

仲裁丟失中斷ARBLOST_INT :控制器發送報文并且丟失仲裁時觸發此中斷。丟失仲裁位置將被捕獲記錄在狀態寄存器(CAN_STAT)的ARBLOST_CAP中,狀態被清除之前(通過CPU 的讀取),將不會再記錄新的仲裁丟失位置。

總線錯誤中斷ERRB_INT:控制器在總線上檢測到錯誤時觸發此中斷。錯誤類型和錯誤位置都將被捕獲記錄在狀態寄存器(CAN_STAT)的ERR_TYPE和ERR_CODE中。狀態被清除之前(通過CPU 的讀取),將不會再記錄新的總線錯誤信息。

數據緩沖器

下表描述了數據緩沖寄存器布局。發送和接收緩沖寄存器的訪問地址范圍相同(0x40~0x70),且只有當控制器處于非復位模式時才可訪問。

wKgaomYfP1GAVEaaAABo1mmRWEw242.png

發送緩沖寄存器:CPU 的寫入操作訪問,配置待發送報文,指定報文的幀類型、幀格式、幀標識符和數據。CPU通過控制寄存器(CAN_MCR)配置發送報文模式:

正常報文發送,需將TX_REQ置1。

自發自收,需將SELF_REQ 置1。

單次發送,需將TX_REQ 和ABORT_REQ同時置1。

接收緩沖寄存器:CPU 的讀取操作訪問,接收緩沖寄存器映射到緩沖FIFO 中的第一條報文,獲取第一條報文的幀類型、幀格式、幀標識符和數據。讀取完接收緩沖寄存器中的報文后,CPU 通過控制寄存器(CAN_MCR)中的RXB_REL置1來釋放接收緩沖寄存器,若接收FIFO 中仍有待處理的報文,按照接收報文的先后次序將最早接收到的報文映射到接收緩沖寄存器中。

緩沖FIFO: 是一個64字節大小的內部緩沖器,以先進先出原則存儲接收到的報文。接收緩沖寄存器為FIFO中可訪問窗口,偏移地址0x40~0x70,將被映射到FIFO 中第一條報文,一條報文可在FIFO 中占3 ~ 13字節空間,其中字節序與接收緩沖寄存器相同。當控制器接收到一條報文時,接收數據計數器RXC增加1,最大值為64。如果FIFO中有足夠空間,報文內容將被寫入到FIFO 中。首先,CPU讀取接收緩沖寄存器中的報文后,通過將RXB_REL置1,釋放FIFO 中第一條報文所占的空間, RXC將減小1。然后,接收緩沖寄存器將映射FIFO 中的下一條報文。

FIFO數據溢出:在任何情況下,FIFO 中可以存儲的報文數量取決于各條報文的長度,當FIFO 中沒有足夠空間完整地存儲新的報文,控制器會產生數據溢出,通過狀態位或數據溢出中斷反饋給CPU。FIFO在內部將溢出報文標記為無效,后續接收到的溢出報文仍然將增加RXC 到最大值64。為了清除FIFO 中的溢出報文,應重復調用RXB_REL,直到RXC為0。這樣可以讀取接收FIFO 中的所有有效報文,并清除所有溢出報文。

wKgZomYfP1OAXU83AAAqpUsEFBg589.png

CAN緩沖FIFO存儲報文過程

接收過濾器

接收過濾器,是一個可編程的報文過濾單元,允許控制器根據報文的標識符、幀類型、第一個數據字節接收或拒絕該報文,由4個接收代碼寄存器(CAN_RXCODE)和4個接收屏蔽寄存器(CAN_RXMASK)定義組成。

如 圖 8 所示,每條報文中的位必須匹配RXCODE 值所指定的模式或者被RXMASK值屏蔽,才能使該報文通過過濾并存儲到接收FIFO中。

接收代碼寄存器、接收屏蔽寄存器,分別與緩沖0~3寄存器(偏移地址0x40~0x4C)、緩沖4~7寄存器(偏移地址0x50~5C)地址空間相同,所以只有控制器在復位模式時,才能訪問這兩個寄存器。

wKgaomYfP1SAFsNtAAAbuZufXyY601.png

接收過濾器原理

單過濾模式:在模式寄存器(CAN_MODE)中將FILTER_SEL設置為1啟動單過濾模式。根據RXCODE / RXMASK的值定義單個過濾器,其定義及過濾報文格式如圖1-11所示。

wKgZomYfP1SABDt3AABvVAP7FXs568.png

雙過濾模式:在模式寄存器(CAN_MODE)中將FILTER_SEL設置為0啟動雙過濾模式。根據RXCODE / RXMASK的值將定義2個過濾器,分別為過濾器0和過濾器1,其標準格式和擴展格式下過濾報文定義如圖1-12和圖1-13所示。雙過濾模式下,如果報文通過這2個濾波器中至少一個,則表示該報文成功通過過濾。

wKgaomYfP1WAMrKsAABpBUZwtOQ627.png

雙過濾模式下SFF標準格式過濾報文定義

wKgZomYfP1WAXmmhAABf6sefynQ905.png

雙過濾模式下EFF擴展格式過濾報文定義

錯誤管理

錯誤計數包含發送錯誤計數TEC和接收錯誤計數REC,錯誤計數將決定CAN控制器當前的錯誤狀態(如主動錯誤、被動錯誤、離線)。

除了錯誤狀態外,控制器還提供錯誤報警閾值ERRWT功能,這個功能可在控制器進入被動錯誤狀態前,提醒用戶當前發生的嚴重總線錯誤。

控制器當前的錯誤狀態通過TEC、REC、ERR_STAT 、BUS _STAT和ERRWT體現,這些數值和狀態位的變化將觸發中斷,從而提醒用戶當前的錯誤狀態變化(參考中斷管理)。

錯誤捕獲

錯誤捕獲功能允許控制器以錯誤代碼的形式,記錄總線錯誤類型和錯誤位置。

當檢測到一個總線錯誤時,總線錯誤中斷ERRB_INT將被觸發,相應的錯誤代碼將記錄在狀態寄存器(CAN_STAT)的ERR_CODE中。

在當前錯誤代碼被讀取前,后續的總線錯誤中斷觸發時,將不會再記錄。

仲裁丟失捕獲

仲裁丟失捕捉功能允許控制器記錄仲裁丟失的bit位置。

當控制器丟失仲裁時,所丟失bit位置將被記錄在狀態寄存器(CAN_STAT)的ARBLOST_CAP中,同時觸發仲裁丟失中斷ARBLOST_INT。

在當前仲裁丟失捕獲bit位置被讀取前,后續的仲裁丟失中斷觸發時,將不會再記錄。

wKgaomYfP1aAZy-7AAAlXKRnTwM658.png

仲裁丟失位置記錄

審核編輯 黃宇

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

    關注

    58

    文章

    3019

    瀏覽量

    471705
  • 通信
    +關注

    關注

    18

    文章

    6330

    瀏覽量

    139688
  • HMI
    HMI
    +關注

    關注

    9

    文章

    695

    瀏覽量

    51608
  • Model3
    +關注

    關注

    1

    文章

    230

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    百元價就能拿下工業86中控彩屏!性價比拉滿!

    的高性能交互。穩,是它給的底氣stable一切智能交互的基石,是穩定。Model3C86盒搭載的芯片是一顆經過市場驗證的工業MODEL3C
    的頭像 發表于 12-16 18:05 ?66次閱讀
    百元價就能拿下<b class='flag-5'>工業</b><b class='flag-5'>級</b>86中控彩屏!性價比拉滿!

    你的HMI方案又漲價了?別慌!Model4方案還是那么穩!

    最近,聽到了不少做智能設備、工業屏顯的朋友私下吐槽,常用的HMI主控芯片又漲價了!項目做著做著核心元件成本就開始飆高,報價又不敢報,訂單也不敢去接,簡直犯愁!就沒有一款價格穩定又性能抗打、接口齊全
    的頭像 發表于 12-15 18:03 ?934次閱讀
    你的<b class='flag-5'>HMI</b>方案又漲價了?別慌!<b class='flag-5'>Model</b>4方案還是那么穩!

    香蕉派 BPI-2K3000 工業計算機開發板采用龍芯2K3000芯片設計

    引出所有信號,擴展能力強 多功能工業底板: 全部工業(EMC3-4)保護的多種通訊與交
    發表于 11-15 11:43

    一款工業MP3語音芯片介紹

    穩定性 采用工業設計標準: · 工作溫度范圍:-40℃~70℃ · 支持CRC校驗與通信握手機制 · 提供抗干擾設計指南,適應復雜電磁環境 即使在長時間高負荷運行條件下,仍能保證音
    發表于 09-08 10:33

    工業樹莓派的高光時刻!樹莓派工業 HMI 列陣!

    上海晶珩作為樹莓派官方設計合作伙伴和代理商,基于樹莓派技術開發了一系列工業人機界面(HMI)產品,廣泛應用于工業自動化、樓宇控制、智能制造等領域。這些
    的頭像 發表于 07-23 18:36 ?589次閱讀
    <b class='flag-5'>工業</b>樹莓派的高光時刻!樹莓派<b class='flag-5'>工業</b><b class='flag-5'>級</b> <b class='flag-5'>HMI</b> 列陣!

    打破協議壁壘,CAN轉EtherCAT連接工業相機秒變跨國CP”!

    工業自動化中,不同協議設備集成常面臨兼容性難題。本文以CAN轉EtherCAT連接工業相機為例,從技術原理到實踐,提供一套嚴謹的解決方案,助力高效通信。 一、協議轉換必要性
    發表于 07-14 16:20

    誰說低價沒有好方案?Model3C彩屏儀表HMI芯片方案強勢破局!

    近年來,兩輪車銷量不斷攀升,兩輪車智能化浪潮也席卷而來,彩屏儀表滲透率也加速提升。但是,傳統HMI方案普遍采用ARM芯片搭載外掛存儲,單顆芯片成本居高不下,中小廠商面臨著巨大壓力。可低價方案又
    的頭像 發表于 05-27 18:04 ?641次閱讀
    誰說低價沒有好方案?<b class='flag-5'>Model3</b>C彩屏儀表<b class='flag-5'>HMI</b><b class='flag-5'>芯片</b>方案強勢破局!

    一文讀懂啟明智顯 Model系列 HMI芯片:從性能參數到場景適配的選型指南

    “卡脖子”的困境,針對泛工業領域研發的Model系列HMI芯片也應運而生,采用國產平頭哥芯片架構,堅持SDK開源,將“國產”“開源”等理念貫
    的頭像 發表于 05-21 15:45 ?1003次閱讀
    一文讀懂啟明智顯 <b class='flag-5'>Model</b>系列 <b class='flag-5'>HMI</b><b class='flag-5'>芯片</b>:從性能參數到場景適配的選型指南

    使用S32G3進行CAN消息測試遇到的問題求解

    我正在使用 S32G3進行 CAN 消息測試。 配置完成后,我可以使用 cansend 命令發送 CAN 消息。 我想從 PC 接收
    發表于 04-10 07:06

    Model4芯片方案串口屏,支持視頻解碼,分辨率1080P

    如果你想設計一款可以播放視頻、對系統穩定性和可靠性都有較高要求的串口屏,不妨考慮Model4芯片方案串口屏,國產芯片方案,拒絕管控限制,工業
    的頭像 發表于 04-01 17:36 ?862次閱讀
    <b class='flag-5'>Model</b>4<b class='flag-5'>芯片</b>方案串口屏,支持視頻解碼,分辨率1080P

    使用CAN以及CANIF配置了S32K310的CAN驅動模塊,如何進行報文的接收呢?

    我使用CAN以及CANIF配置了S32K310的CAN驅動模塊。我知道調用CAN_Write()函數進行報文的發送,但我存有以下的一些問題:
    發表于 03-21 07:24

    深度解析SSD2351核心板:硬核視頻處理+工業可靠性設計

    明遠智睿SSD2351核心板基于SigmaStar SSD2351芯片打造,專為高可靠性工業場景設計,其硬件配置與接口能力充分滿足復雜環境下的多模態數據處理需求。 芯片技術細節 : 視
    發表于 02-21 17:19

    HMI在智能制造與工業自動化中的作用

    工業4.0時代,先進技術的融入正在徹底改變工業運作的方式。在實現無縫操作的過程中,人機界面(HMI)是不可或缺的關鍵組成部分。HMI在智能制造與
    的頭像 發表于 01-17 11:34 ?1186次閱讀
    <b class='flag-5'>HMI</b>在智能制造與<b class='flag-5'>工業</b>自動化中的作用

    Model系列:基于RT-Thread freemodbus主從協議棧

    啟明智顯Model系列芯片已經在工業HMI、智慧商顯、智能家具家電、智慧醫療等多領域實現應用,也獲得了大家的一致好評。同時,我們也注意到了大家在Mo
    的頭像 發表于 12-30 17:32 ?1061次閱讀
    <b class='flag-5'>Model</b>系列:基于RT-Thread freemodbus主從協議棧

    如何使用Arduino實現CAN總線通信

    CAN(Controller Area Network)總線是一種常用于汽車和工業控制系統的串行通信協議,以其高可靠性和實時性而聞名。Arduino,作為一種流行的開源微控制器平臺,可以通過附加
    的頭像 發表于 12-23 09:06 ?2863次閱讀