女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

Coral3568如何軟硬件過濾can幀及優化?

ZLG致遠電子 ? 2023-12-08 15:52 ? 次閱讀

CAN總線調試時,根據數據的重要性,接收端可以專注于接收重要消息,提高效率。CAN報文幀是用一個標識符或一系列標識符來過濾的??梢允褂肅AN總線軟件和芯片硬件過濾規則實現過濾功能。

c02d85f4-959e-11ee-9788-92fbcf53809c.jpg ?軟件過濾

struct can_filter filter[1];/* 規則:可以接收ID為0x200數據幀和錯誤幀 */
filter[0].can_mask = CAN_SFF_MASK;filter[0].can_id = 0x200 & CAN_SFF_MASK;filter[0].can_mask |= CAN_EFF_FLAG;
if (setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, &filter, sizeof(filter))){perror("setsockopt failed");exit(EXIT_FAILURE);}

軟件的配置可以在系統中檢查:

root@host:/root# ls /proc/net/can/rcvlist_all rcvlist_err rcvlist_inv reset_statsrcvlist_eff rcvlist_fil rcvlist_sff stats
root@host:/root# cat /proc/net/can/rcvlist_filreceive list 'rx_fil': (any: no entry) (can0: no entry) device can_id can_mask function userdata matches ident can1 200 800007ff 0000000095327ce0 00000000674196b1 0 raw (can2: no entry)

此處rcvlist_*為CAN協議中的接收器:struct receiver,包含軟件的過濾規則。
c02d85f4-959e-11ee-9788-92fbcf53809c.jpg ?硬件過濾芯片手冊:c0388e9a-959e-11ee-9788-92fbcf53809c.png

硬件過濾方式在驅動:drivers/net/can/rockchip/rockchip_canfd.c 中實現,具體代碼:

static int rockchip_canfd_start(struct net_device *ndev){ ...... rockchip_canfd_write(rcan, CAN_INT_MASK, 0);
/* RECEIVING FILTER, accept all */ rockchip_canfd_write(rcan, CAN_IDCODE, 0); rockchip_canfd_write(rcan, CAN_IDMASK, CAN_RX_FILTER_MASK); rockchip_canfd_write(rcan, CAN_IDCODE0, 0); rockchip_canfd_write(rcan, CAN_IDMASK0, CAN_RX_FILTER_MASK); rockchip_canfd_write(rcan, CAN_IDCODE1, 0); rockchip_canfd_write(rcan, CAN_IDMASK1, CAN_RX_FILTER_MASK); rockchip_canfd_write(rcan, CAN_IDCODE2, 0); rockchip_canfd_write(rcan, CAN_IDMASK2, CAN_RX_FILTER_MASK); rockchip_canfd_write(rcan, CAN_IDCODE3, 0); rockchip_canfd_write(rcan, CAN_IDMASK3, CAN_RX_FILTER_MASK); rockchip_canfd_write(rcan, CAN_IDCODE4, 0); rockchip_canfd_write(rcan, CAN_IDMASK4, CAN_RX_FILTER_MASK); ......}

從以上代碼可以看出,每次執行CAN軟件都會重新配置CAN控制器寄存器不過濾任何數據。通過2個寄存器來實現硬件過濾:CAN_IDCODEn、CAN_RX_FILTER_MASK
RK3568 CAN控制器有6個過濾器,其中第一個過濾器默認使能,不受開關控制,其余過濾器需要使能對應的過濾器??梢栽赾an軟件運行時,再去配置硬件過濾方式,如:

root@host:/root# ip link set can1 type can bitrate 1000000root@host:/root# ip link set can1 uproot@host:/root# candump can1 &# 只接收0x123 id的幀,不受開關控制root@host:/root# io -4 0xfe58003c 0x123root@host:/root# io -4 0xfe580040 0x0# 只接收0x124 id的幀,需開關控制root@host:/root# io -4 0xfe580120 0x124root@host:/root# io -4 0xfe580124 0x0root@host:/root# io -4 0xfe58011c 0x1

c02d85f4-959e-11ee-9788-92fbcf53809c.jpg ?系統優化1. 發送異常返回

系統CAN默認發送隊列:txqueuelen:10,有線網口該數值為1000。更小的數值,實時性更強。

在大量數據發送時,write函數經常異常返回,大部分原因是由于系統發送隊列內存不足,可以使用以下指令增大發送隊列:

root@host:/root# ip link set txqueuelen 500 dev can1

2. 接收數據丟失

接收隊列不足表現在read得到的數據不全,大部分情況為數據skb已經提供到receiver 隊列中,但是應用來不及取出,導致最終占滿所有可支配的內存大小,數據更新到了隊列中錯誤的位置。

可使用以下指令調整接收隊列大小:

root@host:/root# echo 1000000 > /proc/sys/net/core/rmem_maxroot@host:/root# echo 1000000 > /proc/sys/net/core/rmem_default

Coral-EVa為致遠電子推出的Coral3568配套評估底板,同樣功能強大,接口豐富。Coral-EVa評估底板采用適配器供電,更方便實驗室和研發辦公室使用,HDMI、DP、USB、CAN、RS485、RS232、TTL UART、3.5mm四線耳麥接口、Micro SD卡槽、SATA、M.2、LVDS LCD、MIPI_DSI、MIPI-CSI、RTC時鐘、蜂鳴器等功能一應俱全。

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

    關注

    57

    文章

    2888

    瀏覽量

    466745
  • 硬件
    +關注

    關注

    11

    文章

    3461

    瀏覽量

    67193
  • 軟件
    +關注

    關注

    69

    文章

    5119

    瀏覽量

    88937
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    USB的串行通信軟硬件設計

    USB的串行通信軟硬件設計
    發表于 09-04 10:08 ?14次下載
    USB的串行通信<b class='flag-5'>軟硬件</b>設計

    基于FPGA的軟硬件協同測試設計影響因素分析與設計實現

    軟硬件的開發階段中,測試結果直接關系到這個軟硬件能否順利進行調試應用。其中,硬件的測試往往容易受外界因素的影響,如環境、計算機設備等,可以通過一些仿真軟件來避免外界環境的影響,但是其測試速度比較慢
    發表于 11-18 05:46 ?2077次閱讀

    軟硬件協同設計機遇與挑戰分析

    軟硬件協同設計是指對系統中的軟硬件部分使用統一的描述和工具進行集成開發,可完成全系統的設計驗證并跨越軟硬件界面進行系統優化,軟硬件協同設計是
    發表于 11-25 03:45 ?872次閱讀

    基于FPGA芯片的軟硬件平臺的使用

    基于FPGA芯片的軟硬件平臺的使用
    發表于 07-01 09:35 ?20次下載

    為什么要從“軟硬件協同”走向“軟硬件融合”?

    軟件和硬件需要定義好交互的“接口”,通過接口實現軟硬件的“解耦”。例如,對CPU來說,軟硬件的接口是指令集架構ISA:ISA之下的CPU處理器是硬件,指令集之上的各種程序、數據集、文件
    的頭像 發表于 12-07 14:23 ?3068次閱讀

    【新品發布】Coral3568金手指核心板

    經典,無線旗艦 Coral3568金手指核心板是致遠電子最新推出的高端核心板,延續? M3568核心板 (點擊了解詳情) 的強大性能和豐富接口,采用RK3568多核處理器擁有2GHz的四核64位Cortex-A55 CPU,同時
    的頭像 發表于 12-12 12:10 ?883次閱讀

    【產品應用】如何在Coral3568平臺快速適配mipi顯示屏?

    電子推出的Coral3568配套評估底板,同樣功能強大,接口豐富。Coral-EVa評估底板采用適配器供電,更方便實驗室和研發辦公室使用,HDMI、DP、USB、CAN、RS485、RS232、TTL
    的頭像 發表于 01-09 19:40 ?823次閱讀

    Coral3568金手指核心板

    經典,無線旗艦 Coral3568金手指核心板是致遠電子最新推出的高端核心板,延續? M3568核心板 (點擊了解詳情) 的強大性能和豐富接口,采用RK3568多核處理器擁有2GHz的四核64位Cortex-A55 CPU,同時
    的頭像 發表于 06-16 11:45 ?723次閱讀
    <b class='flag-5'>Coral3568</b>金手指核心板

    【新品發布】Coral3568金手指核心板

    ,無線旗艦Coral3568金手指核心板是致遠電子最新推出的高端核心板,延續M3568核心板(點擊了解詳情)的強大性能和豐富接口,采用RK3568多核處理器擁有2
    的頭像 發表于 12-13 14:59 ?985次閱讀
    【新品發布】<b class='flag-5'>Coral3568</b>金手指核心板

    【產品應用】如何在Coral3568平臺快速適配mipi顯示屏?

    Coral3568配套評估底板,同樣功能強大,接口豐富。Coral-EVa評估底板采用適配器供電,更方便實驗室和研發辦公室使用,HDMI、DP、USB、CAN、RS
    的頭像 發表于 01-13 09:24 ?1291次閱讀
    【產品應用】如何在<b class='flag-5'>Coral3568</b>平臺快速適配mipi顯示屏?

    Coral3568金手指核心板

    ,無線旗艦Coral3568金手指核心板是致遠電子最新推出的高端核心板,延續M3568核心板(點擊了解詳情)的強大性能和豐富接口,采用RK3568多核處理器擁有2
    的頭像 發表于 06-21 17:47 ?687次閱讀
    <b class='flag-5'>Coral3568</b>金手指核心板

    基于軟件模擬的SPI端口CAN控制卡的軟硬件設計

    電子發燒友網站提供《基于軟件模擬的SPI端口CAN控制卡的軟硬件設計.pdf》資料免費下載
    發表于 10-13 11:38 ?0次下載
    基于軟件模擬的SPI端口<b class='flag-5'>CAN</b>控制卡的<b class='flag-5'>軟硬件</b>設計

    軟硬件融合的概念和內涵

    跟很多朋友交流,當提到軟硬件融合的時候,他們會這么說:“軟硬件融合,難道不是顯而易見嗎?我感覺在二三十年前就已經有這個概念了?!痹谒麄兊南敕ɡ?,其實:軟硬件融合等同于軟硬件協同,甚至等
    的頭像 發表于 10-17 14:36 ?1982次閱讀
    <b class='flag-5'>軟硬件</b>融合的概念和內涵

    CAN協議的軟件過濾硬件過濾

    過濾器來只接收特定的消息。CAN過濾分為軟件過濾硬件過濾。往期推薦:《CH32FV系列
    的頭像 發表于 12-26 19:33 ?577次閱讀
    <b class='flag-5'>CAN</b>協議的軟件<b class='flag-5'>過濾</b>和<b class='flag-5'>硬件</b><b class='flag-5'>過濾</b>

    解析ECAN-E02單過濾CAN硬件過濾

    什么是CAN總線?CAN(ControllerAreaNetwork)總線是一種用于車輛電子設備之間通信的標準協議。CAN過濾器是用來過濾
    的頭像 發表于 01-16 19:35 ?300次閱讀
    解析ECAN-E02單<b class='flag-5'>過濾</b>器<b class='flag-5'>CAN</b><b class='flag-5'>硬件</b><b class='flag-5'>過濾</b>