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

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

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

芯教程丨平頭哥助力昊芯HX2000系列芯片CAN網(wǎng)絡(luò)通信

中科昊芯 ? 2022-09-19 10:20 ? 次閱讀

隨著能源日益短缺,科技的日趨智能化,復雜高效的多機控制,已日趨成為當今社會迅速發(fā)展的必然需求。昊芯順應(yīng)時代要求,推出適用于高精度工業(yè)自動化運動控制的新版HXS320F28034數(shù)字信號處理器DSP,其CAN模塊以Mailbox信箱MBOXn控制與傳輸數(shù)據(jù),實現(xiàn)DSP之間的控制指令高效收發(fā),可更有效助力于工程師實現(xiàn)高效的多DSP控制指令收發(fā),廣泛應(yīng)用于電動汽車、風力發(fā)電、軌道交通、機器人等高復雜度控制領(lǐng)域。

e675d328-35dd-11ed-9ade-dac502259ad0.png

自平頭哥半導體有限公司的劍池集成開發(fā)環(huán)境(簡稱“CDK”)支持HX2000系列芯片調(diào)試以來,本期以USB_CAN通信收發(fā)實例講解CAN網(wǎng)絡(luò)通信功能。

HX2000系列CAN模塊原理如下圖,通過CANMC[CCR]使能進入初始化配置模式,等待CANMC[CCE]置高寫入CANBTC位配置波特率;等待CANMC[CCE]拉低,完成初始化;

通過Mailbox郵箱MBOXn.MSGCTRL的RTR位配置遠程傳輸請求,TPL位配置MBOXn傳輸優(yōu)先級,DLC位配置傳輸0~8個字節(jié),傳輸過程如下:

1.CAN總線通過CAN傳輸芯片向CAN發(fā)送數(shù)據(jù),使能CANRIOC[RXFUNC]打開接收線,接收來自GPIOMUX所定義CANRX接收引腳上的數(shù)據(jù),裝載到緩沖區(qū)Receive Buffer;

2.通過CANMD[MDn]配置Mailbox郵箱MBOXn為接收,使能CANME[MEn]打開郵箱MBOXn,接收來自緩沖區(qū)中的數(shù)據(jù);

3.全局中斷標志的設(shè)置取決于CANGIM寄存器中GIL位的設(shè)置。如果設(shè)置了該位,則全局中斷在CANGIF1寄存器中設(shè)置位;否則,在CANGIF0寄存器中設(shè)置。通過CANMIM[MIMn]配置接收掩碼中斷使能;通過CANMIL[MILn]配置,將MBOXn接收中斷,映射到中斷ECAN0INTA或ECAN1INTA;使能CANGIM[I0EN/I1EN]打開中斷信號,MBOXn接收到數(shù)據(jù)時,將產(chǎn)生一個接收中斷,使CANGIF0/1[MIV0/1]中相應(yīng)接收郵箱MBOXn的郵箱號置位;通過PIE響應(yīng)CPU執(zhí)行接收中斷程序:

(1)置位CANRMP[RMPn]掛起MBOXn郵箱,以防止瞬間接收到多組數(shù)據(jù);

(2)通過CANGIF0/1[MIV0/1],確認接收到數(shù)據(jù)郵箱為MBOXn,并讀取接收的數(shù)據(jù);

(3)置位CANRMP[RMPn]清除郵箱MBOXn掛起狀態(tài),準備接收下一組數(shù)據(jù)。

e6a6ec88-35dd-11ed-9ade-dac502259ad0.jpg

e6c4780c-35dd-11ed-9ade-dac502259ad0.jpg

4.通過CANMD[MDn]配置另一Mailbox郵箱MBOXn為發(fā)送,使能CANME[MEn]打開發(fā)送郵箱,使能CANTRS[TRSn]啟動發(fā)送郵箱,發(fā)送數(shù)據(jù)到緩沖區(qū) Transmit Buffer;

5.使能CANTIOC[TXFUNC]打開發(fā)送線,通過GPIOMUX所定義CANTX發(fā)送引腳將緩沖區(qū)Transmit Buffer數(shù)據(jù)發(fā)送到CAN總線。

由此設(shè)計通過USB_CAN分析儀將昊芯HXS320F28034芯片與上位機軟件通訊實例:采用昊芯HXS320F28034芯片、CAN收發(fā)器與USB_CAN分析儀,通過USB_CAN網(wǎng)絡(luò)調(diào)試上位機軟件,向CPU發(fā)送任意一組數(shù)據(jù),CPU接收所發(fā)送的數(shù)據(jù),硬件連接如下圖所示:

e6ed3e04-35dd-11ed-9ade-dac502259ad0.jpg

基于以上分析,在CDK上開發(fā)CAN通信程序,代碼包括:CAN的GPIO配置、初始化參數(shù)配置、CAN發(fā)送程序與接收中斷服務(wù)程序,主程序調(diào)用執(zhí)行。主要代碼如下:

1.intmain(void)
2.{
3.InitSysCtrl();//系統(tǒng)時鐘初始化
4.CAN_Init();//CAN的初始化參數(shù)配置
5.InitECanaGpio();//CAN的Gpio引腳配置
6.EALLOW;
7.ECanaRegs.CANMIM.bit.MIM0=1;//打開接收掩碼,接收到數(shù)據(jù)觸發(fā)中斷
8.ECanaRegs.CANMIL.bit.MIL0=0;//選擇EcanA中斷0
9.ECanaRegs.CANGIM.bit.I0EN=1;//使能中斷0
10.PieVectTable.ECAN0INTA=&eCanRxIsr;//CANA0接收中斷入口
11.EDIS;
12.PieCtrlRegs.PIEIER9.bit.INTx5=1;//使能ECAN1中斷
13.IER|=M_INT9;//EnableCPUINT9
14.EINT;
15.while(1){
16.CAN_Tx();//發(fā)送數(shù)據(jù)
17.}
18.return0;
19.}

其中,CAN的初始化參數(shù)配置代碼為:

1.voidCAN_Init()
2.{
3.volatilestructECAN_REGSECanaShadow;
4.EALLOW;
5./*配置RX與TX引腳*/
6.ECanaShadow.CANTIOC.all=P_ECanaRegs->CANTIOC.all;
7.ECanaShadow.CANTIOC.bit.TXFUNC=1;
8.P_ECanaRegs->CANTIOC.all=ECanaShadow.CANTIOC.all;
9.ECanaShadow.CANRIOC.all=P_ECanaRegs->CANRIOC.all;
10.ECanaShadow.CANRIOC.bit.RXFUNC=1;
11.P_ECanaRegs->CANRIOC.all=ECanaShadow.CANRIOC.all;
12./*清RMPn,GIFn位*/
13.P_ECanaRegs->CANRMP.all=0xFFFFFFFF;
14./*清中斷標志*/
15.P_ECanaRegs->CANGIF0.all=0xFFFFFFFF;
16.P_ECanaRegs->CANGIF1.all=0xFFFFFFFF;
17.
18./*初始化配置,寫入CAN波特率*/
19.ECanaShadow.CANMC.all=P_ECanaRegs->CANMC.all;
20.ECanaShadow.CANMC.bit.CCR=1;//SetCCR=1
21.P_ECanaRegs->CANMC.all=ECanaShadow.CANMC.all;
22.ECanaShadow.CANES.all=P_ECanaRegs->CANES.all;
23.do
24.{
25.ECanaShadow.CANES.all=P_ECanaRegs->CANES.all;
26.}while(ECanaShadow.CANES.bit.CCE!=1);//WaitforCCEbittobeset..
27.//Bitrate=SYSCLKOUT/2/{(BRP+1)*[(TSEG1+1)+(TSEG2+1)+1,
28.//TSEG1≥3,TSEG2≥2
29.ECanaShadow.CANBTC.bit.BRPREG=2;
30.ECanaShadow.CANBTC.bit.TSEG2REG=4;
31.ECanaShadow.CANBTC.bit.TSEG1REG=13;
32.P_ECanaRegs->CANBTC.all=ECanaShadow.CANBTC.all;
33.ECanaShadow.CANMC.all=P_ECanaRegs->CANMC.all;
34.ECanaShadow.CANMC.bit.CCR=0;//SetCCR=0
35.P_ECanaRegs->CANMC.all=ECanaShadow.CANMC.all;
36.ECanaShadow.CANES.all=P_ECanaRegs->CANES.all;
37.do
38.{
39.ECanaShadow.CANES.all=P_ECanaRegs->CANES.all;
40.}while(ECanaShadow.CANES.bit.CCE!=0);//WaitforCCEbittobecleared..
41.
42./*屏蔽所有信箱寄存器*/
43.//RequiredbeforewritingtheMSGIDs
44.P_ECanaRegs->CANME.all=0;
45./*配置MBOX1的MSGID*/
46.P_ECanaMboxes->MBOX1.MSGID.all=0x00040000;
47.P_ECanaMboxes->MBOX0.MSGID.all=0x00040000;
48./*配置MBOX1/MBOX0的傳輸字節(jié)為2*/
49.ECanaMboxes.MBOX1.MSGCTRL.bit.DLC=0x2;
50.ECanaMboxes.MBOX0.MSGCTRL.bit.DLC=0x2;
51./*配置MBOX0為接收,MBOX1為發(fā)送*/
52.ECanaRegs.CANMD.bit.MD0=1;
53.ECanaRegs.CANMD.bit.MD1=0;
54./*使能MBOX0andMBOX1*/
55.ECanaRegs.CANME.bit.ME0=1;
56.ECanaRegs.CANME.bit.ME1=1;
57.//掛起接收郵箱,以觸發(fā)接收中斷
58.if(ECanaRegs.CANRMP.bit.RMP0==0)
59.{
60.ECanaRegs.CANRMP.bit.RMP0=1;
61.}
62.EDIS;
63.return;
64.}

CAN的發(fā)送程序代碼為:

1.voidCAN_Tx(void)
2.{
3.//等待MBOX0接收成功,讀取消息
4.while(ECanaRegs.CANRMP.bit.RMP0!=1){}
5.ECanaMboxes.MBOX1.MDL.byte.BYTE0=(receive_data&0xff);
6.ECanaMboxes.MBOX1.MDL.byte.BYTE1=((receive_data>>8)&0xff);
7.
8.ECanaRegs.CANTRS.bit.TRS1=1;//發(fā)送MBOX1數(shù)據(jù)到MBOX0
9.}

CDK上開發(fā)CAN通信收發(fā)程序,其編譯結(jié)果為:

e703b9e0-35dd-11ed-9ade-dac502259ad0.jpg

編譯通過后,就可以開始調(diào)試了,調(diào)試后,可通過USB_CAN網(wǎng)絡(luò)通信軟件,查看發(fā)送與接收到的數(shù)據(jù)如下圖:

e72a0f14-35dd-11ed-9ade-dac502259ad0.jpg

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

    關(guān)注

    18

    文章

    5926

    瀏覽量

    135698
收藏 人收藏

    評論

    相關(guān)推薦

    中科攜基于自研RISC-V DSP芯片的無人機解決方案完美收官2024慕尼黑華南電子展

    作為全球電子技術(shù)領(lǐng)域的頂級盛會,慕尼黑華南電子展于10月14日至16日在深圳國際會展中心隆重開幕。在本次展會上,展示了無人機等多款自主研發(fā)的解決方案,以及HX2000系列DSP家族
    的頭像 發(fā)表于 10-19 08:00 ?80次閱讀
    中科<b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜基于自研RISC-V DSP<b class='flag-5'>芯片</b>的無人機解決方案完美收官2024慕尼黑華南電子展

    邀請函|攜多款解決方案亮相慕尼黑華南展,深圳見!

    在深秋的璀璨光芒下,慕尼黑華南電子生產(chǎn)設(shè)備展將于2024年10月14日至16日,再次登陸深圳這座充滿活力與創(chuàng)新的國際大都市。將攜基于自研RISC-VDSP的無人機等多款解決方案以及HX2000
    的頭像 發(fā)表于 10-11 08:00 ?361次閱讀
    邀請函|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜多款解決方案亮相慕尼黑華南展,深圳見!

    新聞|攜搭載自研HaawkFoc算法的E-bike解決方案首次亮相RISC-V峰會

    決方案恭候您的光臨。8月22日下午,工程師張偉杰發(fā)表主題為“高性能RISC-VDSP,助力先進制造出?!钡难葜v,首次對外介紹了公司基于自研的F280025RIS
    的頭像 發(fā)表于 08-30 11:53 ?463次閱讀
    <b class='flag-5'>芯</b>新聞|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜搭載自研HaawkFoc算法的E-bike解決方案首次亮相RISC-V峰會

    首發(fā)!攜最新F280013x及多款解決方案完美收官2024慕尼黑上海展

    攜帶最新產(chǎn)品及應(yīng)用案例如約而至,十多個系列的RISC-VDSP及多款解決方案精彩亮相。新品亮相-F280013X系列首發(fā)HX2000系列最新推出的F280013x子
    的頭像 發(fā)表于 07-20 08:03 ?386次閱讀
    首發(fā)!<b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜最新F280013x及多款解決方案完美收官2024慕尼黑上海展

    力特車規(guī)TVS產(chǎn)品助力CAN/LIN通訊接口保護

    力特深耕車規(guī)CAN/LIN通訊接口芯片,在大量的客戶項目應(yīng)用中深入了解客戶需求后,推出了汽車級TVS防護器件,助力車規(guī)CAN/LIN通訊接
    的頭像 發(fā)表于 07-02 08:07 ?335次閱讀
    <b class='flag-5'>芯</b>力特車規(guī)TVS產(chǎn)品<b class='flag-5'>助力</b><b class='flag-5'>CAN</b>/LIN通訊接口保護

    跨越距離障礙:PCAN系列網(wǎng)關(guān)在遠程CAN網(wǎng)絡(luò)通信的應(yīng)用潛力

    導讀在智能化技術(shù)的迅猛發(fā)展浪潮中,遠程控制與數(shù)據(jù)傳輸?shù)母咝宰兊弥陵P(guān)重要,它們已成為現(xiàn)代自動化和物聯(lián)網(wǎng)領(lǐng)域的關(guān)鍵驅(qū)動力。虹科PCAN-EthernetGateway系列網(wǎng)關(guān)突破了傳統(tǒng)CAN網(wǎng)絡(luò)的物理
    的頭像 發(fā)表于 06-27 08:04 ?517次閱讀
    跨越距離障礙:PCAN<b class='flag-5'>系列</b>網(wǎng)關(guān)在遠程<b class='flag-5'>CAN</b><b class='flag-5'>網(wǎng)絡(luò)通信</b>的應(yīng)用潛力

    如何打造芯片國產(chǎn)化開源生態(tài)?Model系列HMI芯片平頭內(nèi)核,SDK開源貫徹到底!

    “卡脖子”的困境,其針對泛工業(yè)領(lǐng)域研發(fā)的Model系列HMI芯片采用國產(chǎn)平頭芯片架構(gòu),堅持SDK開源,將“國產(chǎn)”“開源”等理念貫徹到底。
    的頭像 發(fā)表于 06-18 09:38 ?405次閱讀
    如何打造<b class='flag-5'>芯片</b>國產(chǎn)化開源生態(tài)?Model<b class='flag-5'>系列</b>HMI<b class='flag-5'>芯片</b>:<b class='flag-5'>平頭</b><b class='flag-5'>哥</b>內(nèi)核,SDK開源貫徹到底!

    電子語音芯片NVB系列數(shù)據(jù)手冊

    電子語音芯片NVB系列數(shù)據(jù)手冊v1.7
    發(fā)表于 06-18 09:10 ?0次下載

    公司亮相“2024年能源網(wǎng)絡(luò)通信創(chuàng)新應(yīng)用大會”

    4月17日至19日,以“加快推進通信數(shù)智化,助力構(gòu)建新型能源體系”為主題的“2024年能源網(wǎng)絡(luò)通信創(chuàng)新應(yīng)用大會”在成都召開。智公司作為協(xié)辦單位攜多款產(chǎn)品亮相大會。 此次大會旨在促進能
    的頭像 發(fā)表于 04-21 09:49 ?1212次閱讀
    智<b class='flag-5'>芯</b>公司亮相“2024年能源<b class='flag-5'>網(wǎng)絡(luò)通信</b>創(chuàng)新應(yīng)用大會”

    F2837x系列首款芯片F28379D正式推出,HX2000系列當前最高性能

    新春伊始,正式發(fā)布第三代RISC-VDSP系列F2837x家族首位成員——F28379D,這也是甲辰龍年推出的首款
    的頭像 發(fā)表于 02-24 08:03 ?1518次閱讀
    <b class='flag-5'>昊</b><b class='flag-5'>芯</b>F2837x<b class='flag-5'>系列</b>首款<b class='flag-5'>芯片</b>F28379D正式推出,<b class='flag-5'>HX2000</b><b class='flag-5'>系列</b>當前最高性能

    5G網(wǎng)絡(luò)通信有哪些技術(shù)痛點?光耦技術(shù)在5G網(wǎng)絡(luò)通信的應(yīng)用

    5G網(wǎng)絡(luò)通信有哪些技術(shù)痛點?光耦技術(shù)在5G網(wǎng)絡(luò)通信的應(yīng)用? 5G網(wǎng)絡(luò)通信的技術(shù)痛點: 1. 頻譜資源短缺:5G通信需要更高的頻譜資源來支持更大的數(shù)據(jù)傳輸量和更高的速度,但是目前無線
    的頭像 發(fā)表于 02-18 17:13 ?797次閱讀

    阿里平頭半導體成立新公司

    近日,上海得達必科技有限公司正式成立,該公司由阿里旗下平頭半導體有限公司的全資子公司浙江數(shù)蜂科技有限公司全資持股。
    的頭像 發(fā)表于 01-31 17:26 ?1120次閱讀

    DOIT傳媒對話平頭:突破SSD主控芯片,觸發(fā)新一輪市場沖擊波

    轉(zhuǎn)載自DOIT傳媒 在2023云棲大會上,阿里巴巴旗下平頭半導體發(fā)布首顆SSD主控芯片-鎮(zhèn)岳510。在11月29日舉行的2023中國數(shù)據(jù)與存儲峰會上,平頭
    的頭像 發(fā)表于 12-14 16:20 ?513次閱讀
    DOIT傳媒對話<b class='flag-5'>平頭</b><b class='flag-5'>哥</b>:突破SSD主控<b class='flag-5'>芯片</b>,觸發(fā)新一輪市場沖擊波

    亮相慕尼黑華南電子展,RISC-V DSP系列又將添新成員

    慕尼黑華南電子展于10月30日-11月1日在深圳國際會展中心隆重舉辦,攜Haawking-HX2000系列DSP和“HaawkFOC”無傳感器FOC電機控制解決方案閃耀亮相,同時現(xiàn)
    的頭像 發(fā)表于 11-04 08:03 ?952次閱讀
    亮相慕尼黑華南電子展,<b class='flag-5'>昊</b><b class='flag-5'>芯</b>RISC-V DSP<b class='flag-5'>系列</b>又將添新成員

    就在下周!誠邀您參加2023云棲大會平頭話題專場

    2023云棲大會定檔 10月31日 期待與您在杭州云棲小鎮(zhèn) 共度一場為期 3天 的科技盛會 平頭邀請您參與話題專場 軟硬件協(xié)同,以重塑云存儲系統(tǒng)效能 日期:11月1日 時間:1520 會場
    的頭像 發(fā)表于 10-27 15:45 ?450次閱讀
    就在下周!誠邀您參加2023云棲大會<b class='flag-5'>平頭</b><b class='flag-5'>哥</b>話題專場