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

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

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

HPM6750EVKMINI開發(fā)板的CAN總線測試

Evanee ? 來源:Evanee ? 作者:Evanee ? 2022-06-20 09:25 ? 次閱讀

1.前言

hpm6750具有高性能,比較適合做復(fù)雜控制算法,而工控領(lǐng)域can總線是繞不開的話題,本文進行基本can測試,后續(xù)將在此基礎(chǔ)上進行相對復(fù)雜的程序編寫。

2.接線

本次測評的hpm67650evkmini板子上沒有can總線的phy,如果要用can總線就只能外接,剛好手上有個TJA1050小板,就用它測試。

poYBAGKtakWAcbMWAAeHlqErmK0735.pngTJA1050PHY板

第一步:查詢芯片手冊以及開發(fā)板手冊,找到需要的引腳。

poYBAGKtZ9SAOMbwAAEwQ9Iq8Mw653.png芯片數(shù)據(jù)手冊(HPM6700_6400_DS_V1_2.pdf)pYYBAGKtaCaANIEQAABwaeXaN-A495.png板載P2連接器列表(HPM6750EVKMINI USER GUIDE.pdf)poYBAGKtaI-AOWfWAABS06LrsE8204.png板載P1連接器列表(HPM6750EVKMINI USER GUIDE.pdf)

整理需要連接的引腳如下表所示:

TJA1050PHY板引腳

HPM6750EVKMINI引腳

+5v

P1_2

GND

P1_6

CAN_TX

P2_7

CAN_RX

P2_10

然后使用杜邦線,將兩塊板以及usbcan進行連接,連好后的照片如下圖。

poYBAGKta-qANLUaAAMl-D-4cRE132.png

3.生成can測試工程

start_cmd.cmd進入D:\AEMBED\HPM6750\sdk_env_v0.11.0\hpm_sdk\samples\drivers\can

> generate_project -b hpm6750evkmini -t flash_xip

使用SEGGER Embedded Studio打開工程。

4.代碼分析

根據(jù)can_demo.c中的源代碼,準備測試board_can_echo_test_responder回傳程序,關(guān)鍵代碼如下:

void board_can_echo_test_responder(void)
{
    can_config_t can_config;
    can_get_default_config(&can_config);
    can_config.baudrate = 500000; /* 500kbps */
    can_config.mode = can_mode_normal;
    board_init_can(BOARD_APP_CAN_BASE);
    uint32_t can_src_clk_freq = board_init_can_clock(BOARD_APP_CAN_BASE);
    hpm_stat_t status = can_init(BOARD_APP_CAN_BASE, &can_config, can_src_clk_freq);
    if (status != status_success) {
        printf("CAN initialization failed, error code: %d\n", status);
        return;
    }

    can_enable_tx_rx_irq(BOARD_APP_CAN_BASE, CAN_EVENT_RECEIVE);
    intc_m_enable_irq_with_priority(BOARD_APP_CAN_IRQn, 1);
    printf("CAN echo test: Responder is waiting for echo message...\n");
    while (!has_new_rcv_msg) {
    }
    has_new_rcv_msg = false;
    show_received_can_message((const can_receive_buf_t *)&s_can_rx_buf);

    can_transmit_buf_t tx_buf;
    memset(&tx_buf, 0, sizeof(tx_buf));
    tx_buf.dlc = s_can_rx_buf.dlc;
    tx_buf.id = 0x321;
    uint32_t msg_len = can_get_data_bytes_from_dlc(s_can_rx_buf.dlc);
    memcpy(&tx_buf.data, (uint8_t *)&s_can_rx_buf.data, msg_len);
    status = can_send_message_blocking(BOARD_APP_CAN_BASE, &tx_buf);
    if (status != status_success) {
        printf("CAN sent message failed, error_code:%d\n", status);
        return;
    }
    printf("Sent echo message back\n");
}

分析代碼,總結(jié)函數(shù)功能:如果接收到can信息,將在串口打印出該信息的id以及信息內(nèi)容,并且以ID=0x321將該can信息原路發(fā)送回去。

5.下載工程

使用SEGGER Embedded Studio編譯下載,運行:

pYYBAGKtbm-AdFmYAAKR1GF9BbA666.png

1.串口控制臺輸入3,板子進入等待接收狀態(tài);

2.使用usbcan發(fā)送如圖所示信息,板子串口控制臺出現(xiàn)響應(yīng),同時usbcan接收到板子發(fā)回的can信息。

pYYBAGKtboWARdlAAAB5CahH6hA876.png

3.試驗現(xiàn)象與分析一致,can總線測試成功!

審核編輯:湯梓紅

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

    關(guān)注

    8

    文章

    5354

    瀏覽量

    126856
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2762

    瀏覽量

    464010
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2894

    瀏覽量

    88219
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5093

    瀏覽量

    97802
收藏 人收藏

    評論

    相關(guān)推薦

    自己做的hpm5321和6750板子怎么都沒有1.1的輸出呢?

    新手硬件開發(fā)求分析 。 不知道是layout的關(guān)系還是什么原因呢,主要IC內(nèi)部dcdc部分跟其他引腳配置沒關(guān)系吧,對比了官方開發(fā)板和野火的開發(fā)版沒什么差,難道電容規(guī)格會影響嗎? 5321原理圖,3.3上電正常,無1.1v輸出
    發(fā)表于 12-14 11:48

    如何使用Arduino實現(xiàn)CAN總線通信

    開源硬件平臺,通過添加CAN總線模塊,也可以實現(xiàn)CAN通信。 硬件準備 Arduino開發(fā)板 :可以選擇Arduino Uno、Mega等型號。 C
    的頭像 發(fā)表于 11-12 10:09 ?1172次閱讀

    解讀 | 不簡單的全志T113-S開發(fā)板

    引言:ARM開發(fā)板是作為核心的載,增加外設(shè)后具備許多功能接口,如擴展了TFT-LCD、LVDS接口、觸摸屏、外部總線接口、CAN、SPI
    的頭像 發(fā)表于 10-25 08:07 ?1526次閱讀
    解讀 | 不簡單的全志T113-S<b class='flag-5'>開發(fā)板</b>

    HPM6750 Bootloader設(shè)計

    我正在做一個hpm6750evk2的bootloader。設(shè)計很簡單,boot工程代碼只做跳轉(zhuǎn)到1M后的APP工程代碼處,APP工程就是做的一個點燈的程序而已,boot、APP工程都是跑
    發(fā)表于 10-23 18:59

    HPM6750evkmini如何實現(xiàn)可信的執(zhí)行環(huán)境?

    HPM6700的datasheet中的1.2.15 信息安全系統(tǒng)有提到“基于BOOT ROM 的安全啟動機制,支持加密啟動,支持可信的執(zhí)行環(huán)境”,請問可信的執(zhí)行環(huán)境如何實現(xiàn)的?有相關(guān)的Demo或者資料嗎?是類似于TFM這樣的嗎?
    發(fā)表于 09-25 09:27

    北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動全新更新-CAN+

    北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?563次閱讀
    北京迅為RK3568<b class='flag-5'>開發(fā)板</b>嵌入式學(xué)習(xí)之Linux驅(qū)動全新更新-<b class='flag-5'>CAN</b>+

    [can開發(fā)板] 一款低價can/obd2總線Linux開發(fā)板

    CAN總線/汽車CAN總線/OBD2通訊/OBD分析儀/USB轉(zhuǎn)CAN/DBC編解碼/帶遠程訪問功能的C
    發(fā)表于 07-05 16:46

    CAN總線測試工具的主要功能

    CAN總線測試工具是用于測試CAN(Controller Area Network)總線通信的軟
    的頭像 發(fā)表于 06-25 16:02 ?1137次閱讀

    先楫半導(dǎo)體所有開發(fā)板已上RT-Thread主線啦

    目前,先楫半導(dǎo)體在RT-Thread主線支持的開發(fā)板包含以下這些
    的頭像 發(fā)表于 06-05 08:17 ?597次閱讀
    先楫半導(dǎo)體所有<b class='flag-5'>開發(fā)板</b>已上RT-Thread主線啦

    先楫半導(dǎo)體 hpm_sdk v1.5.0 正式發(fā)布

    的Andes toolchain,coremark分數(shù)低于使用Segger Embedded Studio集成的Andes Toolchain的結(jié)果。 快速了解 hpm_sdk 支持的開發(fā)板
    發(fā)表于 04-08 11:14

    汽車CAN FD總線測試原理及應(yīng)用

    CAN FD總線報文周期一致性測試方法,可自動實現(xiàn)監(jiān)控測試并快速生成測試報告,主要根據(jù)CAPL語言設(shè)計建立
    發(fā)表于 04-01 12:53 ?987次閱讀
    汽車<b class='flag-5'>CAN</b> FD<b class='flag-5'>總線</b><b class='flag-5'>測試</b>原理及應(yīng)用

    【米爾-瑞薩RZ/G2UL開發(fā)板】4.CAN通訊測試

    : 3 軟件設(shè)計 本次使用socket編程的方式實現(xiàn)can的發(fā)送測試,打開套接字: 指定can設(shè)備,目前的我們的開發(fā)板can0??梢酝ㄟ^
    發(fā)表于 03-31 16:14

    基于先楫HPM5300 RISC-V內(nèi)核MCU的HPM5361EVK開發(fā)板測評效果(二)

    HPM5361EVK是基于先楫HPM5300系列高性能RISC-V內(nèi)核MCU的一款開發(fā)板
    的頭像 發(fā)表于 03-12 10:30 ?3017次閱讀
    基于先楫<b class='flag-5'>HPM</b>5300 RISC-V內(nèi)核MCU的<b class='flag-5'>HPM</b>5361EVK<b class='flag-5'>開發(fā)板</b>測評效果(二)

    先楫HPM5361EVK開發(fā)板,網(wǎng)友測評效果(二)

    上海先楫半導(dǎo)體舉辦的HPM5361EVK開發(fā)板試用活動圓滿結(jié)束,廣大工程師和愛好者們踴躍參與此次試用并提交報告。經(jīng)過先楫半導(dǎo)體專家組評選,一共產(chǎn)生6名優(yōu)秀獲獎?wù)?。感謝媒體平臺電子工程世界(簡稱
    的頭像 發(fā)表于 03-12 08:16 ?2232次閱讀
    先楫<b class='flag-5'>HPM</b>5361EVK<b class='flag-5'>開發(fā)板</b>,網(wǎng)友測評效果(二)

    解決HPM6750EVK2jlink下載

    拿到HPM6750EVK2,使用jlink下載時,我原來用買jlink配的20轉(zhuǎn)10轉(zhuǎn)接進行連接,下載程序里一直報不能連接到開發(fā)板。經(jīng)過查找用手冊后,找到了問題。 我的jlink的引腳圖與之不對
    發(fā)表于 02-16 10:30