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

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

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

3天內不再提示

芯教程丨平頭哥助力昊芯HX2000系列芯片CAN網絡通信

中科昊芯 ? 2022-09-19 10:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.使能CANTIOC[TXFUNC]打開發送線,通過GPIOMUX所定義CANTX發送引腳將緩沖區Transmit Buffer數據發送到CAN總線。

由此設計通過USB_CAN分析儀將昊芯HXS320F28034芯片與上位機軟件通訊實例:采用昊芯HXS320F28034芯片、CAN收發器與USB_CAN分析儀,通過USB_CAN網絡調試上位機軟件,向CPU發送任意一組數據,CPU接收所發送的數據,硬件連接如下圖所示:

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

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

1.intmain(void)
2.{
3.InitSysCtrl();//系統時鐘初始化
4.CAN_Init();//CAN的初始化參數配置
5.InitECanaGpio();//CAN的Gpio引腳配置
6.EALLOW;
7.ECanaRegs.CANMIM.bit.MIM0=1;//打開接收掩碼,接收到數據觸發中斷
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();//發送數據
17.}
18.return0;
19.}

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

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的傳輸字節為2*/
49.ECanaMboxes.MBOX1.MSGCTRL.bit.DLC=0x2;
50.ECanaMboxes.MBOX0.MSGCTRL.bit.DLC=0x2;
51./*配置MBOX0為接收,MBOX1為發送*/
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.//掛起接收郵箱,以觸發接收中斷
58.if(ECanaRegs.CANRMP.bit.RMP0==0)
59.{
60.ECanaRegs.CANRMP.bit.RMP0=1;
61.}
62.EDIS;
63.return;
64.}

CAN的發送程序代碼為:

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;//發送MBOX1數據到MBOX0
9.}

CDK上開發CAN通信收發程序,其編譯結果為:

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

編譯通過后,就可以開始調試了,調試后,可通過USB_CAN網絡通信軟件,查看發送與接收到的數據如下圖:

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

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

    關注

    18

    文章

    6391

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    動科技與雄立科技合作高性能100G網絡通信芯片一次流片成功

    近日,一站式IP和芯片定制賦能型領軍企業——動科技宣布,與國內全棧網絡通信芯片和解決方案提供商——雄立科技攜手合作的高性能100G網絡通信
    的頭像 發表于 02-05 09:46 ?592次閱讀
    <b class='flag-5'>芯</b>動科技與雄立科技合作高性能100G<b class='flag-5'>網絡通信</b><b class='flag-5'>芯片</b>一次流片成功

    通信光纜最大數多少

    通信光纜的最大數可達數千甚至更高,例如實驗室展示的近100,000實驗性光纜、理論設計中的2592或3200
    的頭像 發表于 01-30 09:59 ?118次閱讀

    TCAN1051系列CAN收發器:工業網絡通信的可靠之選

    TCAN1051系列CAN收發器:工業網絡通信的可靠之選 在工業自動化、汽車電子等眾多領域,CAN(Controller Area Network)總線憑借其高可靠性、實時性和抗干擾能
    的頭像 發表于 12-29 16:55 ?520次閱讀

    平頭羽陣系列優化超高頻RFID電子標簽芯片性能

    點,解碼物聯本質,平頭以羽陣芯片為樣本,通過RFID技術專欄系列——【羽陣解】,共同探討電子標簽芯片
    的頭像 發表于 12-15 09:10 ?623次閱讀
    <b class='flag-5'>平頭</b><b class='flag-5'>哥</b>羽陣<b class='flag-5'>系列</b>優化超高頻RFID電子標簽<b class='flag-5'>芯片</b>性能

    微雙芯片助力廣汽鉑GT攀登版正式下線

    微車規級芯片再迎重大應用突破 —— 近日,搭載RK3588M 智能座艙主控芯片與 RK2118M 音頻 DSP 芯片的廣汽鉑 GT -
    的頭像 發表于 11-21 15:18 ?821次閱讀

    喜訊|RISC-V DSP榮獲“中國”RISC-V生態推廣獎

    11月14日,2025“中國”集成電路產業促進大會暨第二十屆“中國”優秀產品征集評選結果在珠海橫琴正式揭曉。車規級RISC-VDSP芯片
    的頭像 發表于 11-18 09:01 ?2268次閱讀
    喜訊|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>RISC-V DSP榮獲“中國<b class='flag-5'>芯</b>”RISC-V生態推廣獎

    微邏輯類IC電平轉換系列芯片助力網絡傳輸

    IC轉換系列芯片助力網絡傳輸,開啟高效通信,同時憑借其在模擬芯片領域的深厚技術積累,為
    的頭像 發表于 11-11 15:39 ?1145次閱讀
    力<b class='flag-5'>芯</b>微邏輯類IC電平轉換<b class='flag-5'>系列</b><b class='flag-5'>芯片</b><b class='flag-5'>助力</b><b class='flag-5'>網絡</b>傳輸

    【作品合集】中科Core_DSC280025C開發板測評

    中科Core_DSC280025C開發板測評作品合集 產品介紹: Core_DSC280025C核心板使用了HXS320F28025CRISC-V DSP
    發表于 09-18 10:52

    微推出NSR926X系列車規級SBC系統基礎芯片

    微全新推出的NSR926X系列車規級SBC系統基礎芯片,集成了三路低壓差穩壓器(LDO)、四路高邊驅動(HSS)、LIN收發器及帶部分網絡(Partial Networking,
    的頭像 發表于 08-08 15:28 ?2442次閱讀
    納<b class='flag-5'>芯</b>微推出NSR926X<b class='flag-5'>系列</b>車規級SBC系統基礎<b class='flag-5'>芯片</b>

    新聞|亮相第五屆RISC-V中國峰會,共繪開源芯片新紀元

    的突破性進展。本次峰會匯聚了全球RISC-V領域的頂尖企業、研究機構和開源社區,共同探討RISC-V技術的創新與應用。產品線全覆蓋峰會上,展示了HX2000系列家族
    的頭像 發表于 07-28 18:30 ?927次閱讀
    <b class='flag-5'>芯</b>新聞|<b class='flag-5'>昊</b><b class='flag-5'>芯</b>亮相第五屆RISC-V中國峰會,共繪開源<b class='flag-5'>芯片</b>新紀元

    【中科Core_DSC280025C開發板試用體驗】+3.DSP基礎外設調試(含源碼)

    。大致了解了官方工程的是框架和架構。我也參考了官方提供的hx2000-examples-master 例程代碼。 例程里面的代碼,用的庫還是官方早期版本的,所以,的庫后期肯定還會繼續迭代。為了避免后期
    發表于 07-13 16:07

    【中科Core_DSC280025C開發板試用體驗】+1.開箱之浮點計算對比

    籠統,還是看手冊比較細致。 當然參考例程也是有的。 另外,也可以在立創商城上能看到中科的DSP芯片某些型號也有上架的,價格也并不算高。 所以經過前期的一系列準備后,我覺得可以
    發表于 06-29 10:01

    平頭羽陣芯片助力菜鳥打造高性價比RFID數字供應鏈解決方案

    6月16日,在菜鳥與平頭半導體聯合舉辦的“智啟鏈動,領未來”活動上,菜鳥發布了使用平頭羽陣芯片
    的頭像 發表于 06-17 19:19 ?1203次閱讀
    <b class='flag-5'>平頭</b><b class='flag-5'>哥</b>羽陣<b class='flag-5'>芯片</b><b class='flag-5'>助力</b>菜鳥打造高性價比RFID數字供應鏈解決方案

    加速高關稅下國產替代!攜全自研RISC-V DSP家族亮相上海慕尼黑電子展

    現場直擊2025年4月15日-17日,上海新國際博覽中心N5館356展位前人頭攢動,中科展臺上陳列的Haawking-HX2000系列RISC-VDSP持續吸引專業觀眾駐足。作為全
    的頭像 發表于 04-18 09:01 ?2056次閱讀
    加速高關稅下國產替代!<b class='flag-5'>昊</b><b class='flag-5'>芯</b>攜全自研RISC-V DSP家族亮相上海慕尼黑電子展

    中科DSP產品及公司信息

    這一開放的指令集架構,中科成功研發出多個系列的DSP產品,并構建了一個完善的處理器生態系統。中科DSP廣泛應用于工業控制、電機驅動、
    發表于 04-07 09:16