国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> HK32/航順 >> HK32系列替代ST32系列的CAN應(yīng)用常見的問題以及解決方法

HK32系列替代ST32系列的CAN應(yīng)用常見的問題以及解決方法

關(guān)鍵字:航順單片機(jī) CAN總線 作者: 來源: 發(fā)布時(shí)間:2022-03-25  瀏覽:69

航順HK32F系列MCU都采用的是ARM®Cortex內(nèi)核架構(gòu),其中HK32F103家族使用的是Cortex-M3內(nèi)核,支持96M的系統(tǒng)時(shí)鐘,內(nèi)部資源以及外設(shè)豐富,其內(nèi)部自帶的CAN模塊應(yīng)用非常廣泛。工業(yè)類,汽車電子產(chǎn)品大部分需要用到CAN通訊協(xié)議,并且采用正向設(shè)計(jì)軟硬件全兼容國外進(jìn)口產(chǎn)品,本節(jié)就針對(duì)航順HK32F103x8xB系列MCU 的CAN應(yīng)用差異部分做個(gè)說明。

CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是由以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)的,并最終成為國際標(biāo)準(zhǔn)(ISO 11898),是國際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計(jì)算機(jī)控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標(biāo)準(zhǔn)總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機(jī)械車輛設(shè)計(jì)的J1939協(xié)議。

CAN總線的特點(diǎn):

(1)它是一種多主總線,即每個(gè)節(jié)點(diǎn)機(jī)均可成為主機(jī),且節(jié)點(diǎn)機(jī)之間也可進(jìn)行通信。

(2)通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通信速率可達(dá)1mb/s。

(3)CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余校驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作。

(4)CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)是可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11位或29位二進(jìn)制數(shù)組成,因此可以定義211或229個(gè)不同的數(shù)據(jù)塊,這種數(shù)據(jù)塊編碼方式,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分步式控制中非常重要。

(5)數(shù)據(jù)段長度最多為8個(gè)字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同時(shí),8個(gè)字節(jié)不會(huì)占用總線時(shí)間過長,從而佐證了通信的實(shí)時(shí)性。

(6)CAN協(xié)議采用crc檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN總線所具有的卓越性能、極高的可靠性和獨(dú)特設(shè)計(jì),特別適合工業(yè)設(shè)備測(cè)控單元互連。因此備受工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場(chǎng)總線之一。

以下為用戶使用HK芯片替代S*M 系列的CAN應(yīng)用常見的問題

CAN 環(huán)回測(cè)試失敗

MXCube 比較老的版本(比如 4.17.0),產(chǎn)生的 CAN 初始化代碼不正確。

錯(cuò)誤如下:

while(HAL_IS_BIT_CLR(hcan->Instance->MSR, CAN_MSR_INAK))

……

while(HAL_IS_BIT_SET(hcan->Instance->MSR, CAN_MSR_INAK))


解決方案:

1.確認(rèn)庫版本,經(jīng)過我們測(cè)試發(fā)現(xiàn),這2個(gè)判斷順序反了,MXCube4.22.0產(chǎn)生的CAN初始化代碼已經(jīng)交換過來了

CAN 初始化不能完成

CAN總線在沒有數(shù)據(jù)發(fā)送時(shí),默認(rèn)為隱性。對(duì)于我們芯片CANRX就應(yīng)該是高電平,如果CAN網(wǎng)絡(luò)出現(xiàn)異常,將總線拉成顯性,或者,測(cè)試中CANRX接口沒有接PHY芯片,也沒有接上拉電阻,我們芯片都會(huì)出現(xiàn)CAN初始化不能完成,S*T*M32F103相同條件下可以初始化完成。

根本原因:

我們芯片在初始化過程中會(huì)判斷總線的隱性狀態(tài),如果不是隱性,不能完成初始化。

解決方案:



1. CANRX 必須接上拉電阻或內(nèi)部上拉。


MSR寄存器INAK 置位慢






客戶使用CAN接口標(biāo)準(zhǔn)庫,初始化CAN控制器,HK32F103在INRQ置位后,INAK并沒有立即置1,導(dǎo)致客戶代碼進(jìn)入Fail,后續(xù)初始化程序沒有運(yùn)行到。


客戶原始代碼如下:


/* Request initialisation */


CAN->MCR = CAN_MCR_INRQ;


/* ...and check acknowledged */


if ((CAN->MSR & CAN_MSR_INAK) == 0)


{


InitStatus = CANINITFAILED;


}


else


{初始化CAN控制器的寄存器}






推薦方案:在設(shè)置INRQ后,延時(shí)等待檢查INAK=1后,再進(jìn)行初始化。


/* Request initialisation */


CAN->MCR = CAN_MCR_INRQ;


while((CAN->MSR & CAN_MSR_INAK) ==0)


{


i++;


if(i>100)return CANINITFAILED;


}


/* ...and check acknowledged */


if ((CAN->MSR & CAN_MSR_INAK) == 0)


{


InitStatus = CANINITFAILED;


}


else


{初始化CAN控制器的寄存器


}


根本原因:


HK32F103在INRQ置位后,INAK需要98個(gè)PCLK才會(huì)被置1。


航順F1系列專用函數(shù)庫以及S*M最新的標(biāo)準(zhǔn)庫都是加了延時(shí)了。

編輯:admin  最后修改時(shí)間:2022-03-25

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

亚洲欧美日韩综合在线成成| 日韩精品一区二区三区四区| 激情五月天免费在线观看| 国产精品美女午夜福利| 一二区中文字幕在线观看 | 粗暴蹂躏中文一区二区三区| 久久热在线视频免费观看| 亚洲精品中文字幕熟女| 日韩国产中文在线视频| 欧美一区二区三区性视频| 熟女免费视频一区二区| 欧美在线视频一区观看| 成人精品一区二区三区在线| 日韩精品一区二区三区四区| 久久国产成人精品国产成人亚洲| 小黄片大全欧美一区二区| 亚洲伦理中文字幕在线观看| 婷婷激情四射在线观看视频| 中文字幕在线五月婷婷| 超碰在线播放国产精品| 国产亚洲神马午夜福利| 出差被公高潮久久中文字幕| 少妇激情在线免费观看| 国产又色又爽又黄的精品视频 | 国产精品国产亚洲看不卡| 丁香七月啪啪激情综合| 欧美成人久久久免费播放| 国产精品日韩欧美第一页| 国产在线一区中文字幕| 我想看亚洲一级黄色录像| 婷婷九月在线中文字幕| 97人妻人人揉人人躁人人| 中文字幕欧美视频二区| 日韩精品视频免费观看| 国产传媒一区二区三区| 色综合久久超碰色婷婷| 国产情侣激情在线对白| 欧美三级大黄片免费看| 亚洲视频一级二级三级| 国产高清精品福利私拍| 国产又猛又黄又粗又爽无遮挡|