伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

瑞芯微RK3506 Flexbus技術開發指南,從原理、內核配置到測試的完整攻略

觸覺智能 ? 2026-03-14 07:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現代工業數據采集與控制系統中,高效、可靠、實時的數據傳輸是構建高性能嵌入式系統的關鍵。瑞芯微RK3506芯片平臺集成的硬件級FlexBus并行總線,為實現多通道、高采樣率的應用提供解決方案。

圖片

本文基于觸覺智能的RK3506核心板/開發板,介紹FlexBus總線的技術架構、設備樹配置、驅動實現與測試方法,為嵌入式開發者提供從理論到實戰的一站式指南。

FlexBus簡介

FlexBus是一種高速、并行、可配置的外部總線接口,主要用于芯片與外部設備之間進行高速數據交互,是嵌入式 / 工業控制里非常關鍵的通信接口

  • FlexBus與RK3506技術特性

瑞芯微RK3506定位高性能工業控制與數據采集領域設計的專用SoC,具備以下核心特性:

  • 異構多核架構
  • 3核Cortex-A7核與Cortex-M0實時協處理器協同工作,實現任務分離與實時響應。
  • 集成高速FlexBus 總線
  • 支持并行數據傳輸,適用于多通道同步采集。
  • 雙系統協同架構
  • 實現實時數據采集與應用處理的硬件隔離。
  • 工業級可靠性
  • 工作溫度范圍?40℃~85℃,支持強抗干擾設計與電磁兼容性優化。
  • 豐富外設接口
  • SPI、I2CUART、PWM等,便于系統擴展。

觸覺智能-瑞芯微硬件方案商,提供RK3506核心板、開發板/主板硬件解決方案。

  • FlexBus技術優勢

FlexBus技術優勢可總結為以下4點:

  • 確定性實時傳輸
  • (1)硬件級并行傳輸,消除軟件協議棧延遲。
  • (2)專用 DMA 通道,實現零拷貝數據傳輸。
  • (3)中斷響應時間<1μs(微秒),滿足高速控制與采集需求。
  • 數據完整性保障
  • (1)內置硬件校驗機制(如 CRC)。
  • (2)支持自動錯誤檢測與數據重傳。
  • (3)數據同步與時間戳對齊,確保時序一致性。
  • 系統可擴展性
  • (1)支持多設備級聯,靈活擴展采集通道。
  • (2)可配置的時鐘與數據傳輸速率。
  • (3)標準化的設備樹接口,便于驅動開發與集成。
  • 工業環境適應性
  • 寬溫工作范圍+強抗干擾設計,通過 EMI/EMC測試,適應惡劣環境。支持長距離傳輸與信號完整性保持。
  • FlexBus實現的框圖

FlexBus構成了系統內部的高速數據通道,連接Cortex-M0協處理器與外部數據采集設備(如 AD7616),實現低延遲、高吞吐量的并行數據傳輸。

圖片
  • 典型應用場景

瑞芯微RK3506平臺集成的硬件級FlexBus并行總線,可廣泛應用于工業過程監控、科學儀器測量、自動化測試系統及醫療設備監測等多種高性能實時場景。

FlexBus 數據采集模式使用教程

  • 內核配置與設備樹修改

根據觸覺智能RK3506網盤下的SDK,修改多個配置。

(1)引腳配置rk3506-pinctrl.dtsi

目錄kernel/arch/arm/boot/dts/rk3506-pinctrl.dtsi,修改內容如下:

@@ -358,13 +358,13 @@ flexbus0_clk_pins: flexbus0-clk-pins { flexbus0_d0_pins: flexbus0-d0-pins { rockchip,pins = /* flexbus0_d0 */ - <1 RK_PD3 3 &pcfg_pull_none>; + <1 RK_PD3 3 &pcfg_pull_up>; }; /omit-if-no-ref/ flexbus0_d1_pins: flexbus0-d1-pins { rockchip,pins = /* flexbus0_d1 */ - <1 RK_PD2 3 &pcfg_pull_none>; + <1 RK_PD2 3 &pcfg_pull_up>; }; /omit-if-no-ref/ flexbus0_d2_pins: flexbus0-d2-pins {

(2)FlexBus控制器節點配置rk3502.dtsi

目錄arch/arm/boot/dts/rk3502.dtsi,修改內容如下:

@@ -1237,6 +1237,12 @@ flexbus: flexbus@ff880000 { rockchip,grf = <&grf>; status = "disabled"; + flexbus_ad7616_par_hw: ad7616 { + compatible = "rockchip,flexbus-ad7616-par-hw"; + #io -channel-cells = <0>; + status = "disabled"; + }; + flexbus_adc: adc { compatible = "rockchip,flexbus-adc"; #io -channel-cells = <0>;

(3)啟用板級設備樹ido-evb3506-v1a-nand.dtsi

目錄arch/arm/boot/dts/ido-evb3506-v1a-nand.dtsi,修改內容如下:

@@ -8,6 +8,7 @@ #include #include #include "rk3506.dtsi" + #include / { model = "Rockchip RK3506 IDO EVB3506 V10 Board"; @@ -633,3 +634,22 @@ &usb20_otg1 { dr_mode = "host"; status = "okay"; }; + +&flexbus { + rockchip,flexbus0-opmode = ; + rockchip,flexbus1-opmode = ; + status = "okay"; +}; + +&flexbus_ad7616_par_hw { + pinctrl-names = "default"; + /* flexbus0_d0: RD, flexbus0_d1: CS */ + //pinctrl-0 = <&flexbus0_d0_pins &flexbus0_d1_pins + pinctrl-0 = <&flexbus1_clk_pins &flexbus1m4_pins + &flexbus1_d0_pins &flexbus1_d1_pins &flexbus1_d2_pins + &flexbus1_d3_pins &flexbus1_d4_pins &flexbus1_d5_pins + &flexbus1_d6_pins &flexbus1_d7_pins &flexbus1_d8_pins + &flexbus1_d9_pins &flexbus1_d10_pins &flexbus1_d11_pins + &flexbus1_d12_pins &flexbus1_d13_pins &flexbus1_d14_pins + &flexbus1_d15_pins>; + status = "okay"; +}; +&uart4 { + status = "disabled"; +}; + +&uart2 { + status = "disabled"; +}; + +&can0 { + status = "disabled"; +}; + +&saradc { + status = "disabled"; +};

(4)設備數修改

修改kernel/drivers/iio/adc/Makefile:

obj-$(CONFIG_RCAR_GYRO_ADC) += rcar-gyroadc.o obj-$(CONFIG_RN5T618_ADC) += rn5t618-adc.o obj-$(CONFIG_ROCKCHIP_FLEXBUS_ADC) += rockchip-flexbus-adc.o + obj-$(CONFIG_ROCKCHIP_FLEXBUS_ADC) += rockchip-flexbus-ad7616-par-hw.o obj-$(CONFIG_ROCKCHIP_SARADC) += rockchip_saradc.o obj-$(CONFIG_RICHTEK_RTQ6056) += rtq6056.o obj-$(CONFIG_RZG2L_ADC) += rzg2l_adc.o

修改kernel/include/linux/mfd/rockchip-flexbus.h:

#define FLEXBUS_DST_WAT_LVL_SHIFT 0 /* Bit fields in IMR, RISR, ISR and ICR */ + #define FLEXBUS_CCI BIT(31) #define FLEXBUS_DMA_TIMEOUT_ISR BIT(13) #define FLEXBUS_DMA_ERR_ISR BIT(12) #define FLEXBUS_DMA_DST1_ISR BIT(11)

新建kernel/drivers/iio/adc/rockchip-flexbus-ad7616-par-hw.c,附件請關注觸覺智能獲取。

測調整頻率參數

加載驅動后,會產生/sys/bus/iio/devices/iio:device0節點,進行修改采樣頻率:

root@rk3506-buildroot:/root# ls /sys/bus/iio/devices/iio:device0 in_voltage_raw power in_voltage_sampling_frequency subsystem name uevent of_no de waiting_for_supplier

獲取 ADC命令如下:

cat /sys/bus/iio/devices/iio:device0/in_voltage_raw

設置采樣頻率,命令如下:

echo 1000000 > /sys/bus/iio/devices/iio\:device0/in_voltage_sampling_frequency

測試方法與示例

以下為測試腳本示例,用于連續讀取多通道ADC數據:

# init 1MHz clk echo 1000000 > /sys/bus/iio/devices/iio\:device0/in_voltage_sampling_frequency # reset 1 gpioset gpiochip0 2=1 sleep 0.3 gpioset gpiochip0 3=1 gpioset gpiochip1 18=1 gpioset gpiochip1 19=1 sleep 0.1 # convst 1 -> 0 gpioset gpiochip0 4=1 sleep 0.01 gpioset gpiochip0 4=0 sleep 0.1 if [ $1 -eq 3 ]; then # cs 0 # adc3_cs 0 gpioset gpiochip1 23=0 # adc2_cs 1 gpioset gpiochip1 22=1 # adc1_cs 1 gpioset gpiochip1 21=1 # adc0_cs 1 gpioset gpiochip1 20=1 elif [ $1 -eq 2 ]; then # cs 0 # adc3_cs 0 gpioset gpiochip1 23=1 # adc2_cs 1 gpioset gpiochip1 22=0 # adc1_cs 1 gpioset gpiochip1 21=1 # adc0_cs 1 gpioset gpiochip1 20=1 elif [ $1 -eq 1 ]; then # cs 0 # adc3_cs 0 gpioset gpiochip1 23=1 # adc2_cs 1 gpioset gpiochip1 22=1 # adc1_cs 1 gpioset gpiochip1 21=0 # adc0_cs 1 gpioset gpiochip1 20=1 elif [ $1 -eq 0 ]; then # cs 0 # adc3_cs 0 gpioset gpiochip1 23=1 # adc2_cs 1 gpioset gpiochip1 22=1 # adc1_cs 1 gpioset gpiochip1 21=1 # adc0_cs 1 gpioset gpiochip1 20=0 fi sleep 0.1 #觸發采樣并讀取數據 cat /sys/bus/iio/devices/iio:device0/in_voltage_raw dmesg -c

觀察內核打印(只需要關注0x00-0x0f的值):

[ 1182.468572] 0x00: 0x0c00 [ 1182.468639] 0x01: 0x141a [ 1182.468668] 0x02: 0x2ba4 [ 1182.468695] 0x03: 0x2bbd [ 1182.468722] 0x04: 0x2ba1 [ 1182.468748] 0x05: 0x2bd1 [ 1182.468774] 0x06: 0x2ba4 [ 1182.468800] 0x07: 0x2bcd [ 1182.468826] 0x08: 0x2bba [ 1182.468852] 0x09: 0x2bca [ 1182.468879] 0x0a: 0x2ba8 [ 1182.468905] 0x0b: 0x141a [ 1182.468931] 0x0c: 0x2ba4 [ 1182.468957] 0x0d: 0x2bbd [ 1182.468983] 0x0e: 0x2bbd [ 1182.469010] 0x0f: 0x2ba1

FlexBus ADC 寄存器與通道對應關系如下:

圖片

電壓計算公式:

Vin = (raw÷32768)×5.0v

比如測試日志0x01: 0x141a,表示A0通道。

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

    關注

    100

    文章

    7527

    瀏覽量

    556228
  • flexbus
    +關注

    關注

    0

    文章

    4

    瀏覽量

    3179
  • RK3506
    +關注

    關注

    0

    文章

    96

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    米爾多核異構低功耗RK3506核心板重磅發布

    近日,米爾電子發布MYC-YR3506核心板和開發板,基于國產新一代入門級工業處理器RK3506
    發表于 05-16 17:20

    米爾基于RK3562與RK3506開發板有什么區別?

    后可直接在產品中應用。 具體來看,我這款開發板型號是基于RK3506J,512MB的內存和8GB的存儲,支持工業級寬溫度,此外它還有
    發表于 07-11 09:32

    【米爾RK3506國產開發板評測試用】開箱體體驗

    很高興今天收到了米爾科技的RK3506開發板,下面是開箱體驗,后期的測試使用中將會做詳細的測試和試用。 1.開箱,包含以下: RK3506
    發表于 07-30 01:06

    嵌入式VS-RK3399板卡Linux WIFI BT開發指南

    `嵌入式VS-RK3399板卡Linux WIFI BT 開發指南本文檔主要介紹基于 Rockchip 平臺的 WIFI、BT 的
    發表于 09-18 10:03

    RK3506各型號該怎么選?全新工業芯片介紹 觸覺智能出品

    RK3506各型號該怎么選?全新工業芯片介紹,還將推出與星閃技術相結合的RK3506星閃網
    的頭像 發表于 12-25 10:27 ?2776次閱讀
    <b class='flag-5'>RK3506</b>各型號該怎么選?<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>全新工業芯片介紹 觸覺智能出品

    RK3506開發板之Qt應用開發手冊(上) 深圳觸覺智能出品,嵌入式方案商

    RK3506開發板必備攻略之Qt應用開發手冊(
    的頭像 發表于 04-28 17:16 ?1539次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發</b>板之Qt應用<b class='flag-5'>開發</b>手冊(上) 深圳觸覺智能出品,嵌入式方案商

    RK3506開發板Ethercat主站適配開發詳細攻略,實測微秒級抖動延遲!

    RK3506開發板Ethercat主站適配開發詳細攻略
    的頭像 發表于 05-09 15:57 ?1807次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發</b>板Ethercat主站適配<b class='flag-5'>開發</b>詳細<b class='flag-5'>攻略</b>,實測微秒級抖動延遲!

    米爾基于RK3506核心板開發

    MYC-YR3506核心板及開發板新一代入門級國產工業處理器RK3506,3核A7+單核M0多核異構RK3506B:3*Cortex-A7@1.5 GHz,Cortex-M0@200M
    發表于 05-15 16:00 ?14次下載

    有獎丨米爾 RK3506開發板免費試用

    米爾與合作發布的新品基于RK3506應用
    的頭像 發表于 06-19 08:04 ?1087次閱讀
    有獎丨米爾 <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發</b>板免費試用

    RK3506 vs NXP i.MX6ULL

    在關鍵技術國產化浪潮中,國產芯片正以更高性能、更優成本及自主可控優勢實現對海外方案的成功替代。今天觸覺智能拿出自家新品RK3506核心
    的頭像 發表于 06-19 16:26 ?1279次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b> vs NXP i.MX6ULL

    有獎丨米爾 RK3506開發板免費試用來啦!

    米爾與合作發布的新品基于RK3506應用
    的頭像 發表于 07-10 08:03 ?973次閱讀
    有獎丨米爾 <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b><b class='flag-5'>開發</b>板免費試用來啦!

    RK3506開發板Linux開發板極致性價比之選

    RK3506開發板Linux開發板極致性價比之選RK3
    的頭像 發表于 09-11 16:26 ?3515次閱讀
    <b class='flag-5'>RK3506</b><b class='flag-5'>開發</b>板Linux<b class='flag-5'>開發</b>板極致性價比之選

    2025開發者大會萬象奧科展出RK3506郵票孔核心板

    2025開發者大會萬象奧科展出RK3506郵票孔核心板2025年7月17-18日,第九屆
    的頭像 發表于 10-10 14:10 ?1559次閱讀
    2025<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>開發</b>者大會萬象奧科展出<b class='flag-5'>RK3506</b>郵票孔核心板

    RK3506核心板/開發板SARADC模擬采集實戰,軟硬件實操必看攻略

    本文基于觸覺智能RK3506核心板/開發板,介紹SARADC采集模擬信號使用攻略,包括硬件、驅動層的修改。
    的頭像 發表于 10-30 11:58 ?819次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3506</b>核心板/<b class='flag-5'>開發</b>板SARADC模擬采集實戰,軟硬件實操必看<b class='flag-5'>攻略</b>!

    RK3506 MIPI轉HDMI顯示開發實戰:硬件驅動全解析

    0 入門 Linux 嵌入式開發RK3506 開發板實戰教程系列開篇 在嵌入式設備開發中,MIPI DSI接口(移動行業處理器接口)廣
    的頭像 發表于 01-06 07:09 ?680次閱讀
    <b class='flag-5'>RK3506</b> MIPI轉HDMI顯示<b class='flag-5'>開發</b>實戰:<b class='flag-5'>從</b>硬件<b class='flag-5'>到</b>驅動全解析