??概述
MX2000平臺上不具備CAN接口,但可通過我司CSM300(A)系列SPI(UART)轉(zhuǎn)CAN模塊進行拓展CAN接口。在實際產(chǎn)品應(yīng)用場景中如果需要使用CAN接口,則可以參考本文進行拓展、測試、評估。
軟硬件準備- 硬件:MX2000-EV-Board評估板一塊、CSM300(A)模塊一個、CSM-Eval評估套件一個、連接線纜若干、電源等;
- 軟件:MX2000 SDK、CSM300(A)技術(shù)支持包等。
圖1CSM300參考電路圖如果僅需評估,則可以通過CSM-Eval評估套件將CSM300(A)和MX2000-EV-Board連接。CSM-Eval評估套件需要使用一路SPI接口和5個電平為3.3V的GPIO;MX2000-EV-Board在J28上引出了SPI1和若干個電平為3.3V的GPIO,具體接線可以參考表1所示。表1 CSM-Eval接MX2000-EV-Board引腳對應(yīng)表
CSM-Eval引腳 | MX2000-EV-Board端引腳 | CSM-Eval引腳 | MX2000-EV-Board端引腳 |
SSEL | SSI1_CE0 | CFG | PB27 |
SCK | SSI1_SCK | INT | PC20 |
MISO | SSI1_DI | CTL0 | PB24 |
MOSI | SSI1_DO | CTL1 | PB25 |
GND | GND | RST | PB26 |
VCC | 3.3V |
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi1_pe_normal>, <&spi1_pe_cs>;
spi-max-frequency = <2000000>;
num-cs = <1>;
cs-gpios = <0>;
ingenic,chnl = <0>;
ingenic,allow_cs_same = <1>;
ingenic,bus_num = <0>;
ingenic,has_dma_support = <0>;
ingenic,spi-src-clk = <1>;/*0.ext; 1.ssi*/
/delete-node/ spidev@0; // 刪除原有spidev節(jié)點
csm300@0 {
compatible = "zhiyuan,csm300";
status = "okay";
spi-max-frequency = <1000000>;
reg = <0>;
gpios = <&gpb 24 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* CTL0引腳 */
&gpb 25 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* CTL1引腳 */
&gpb 26 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* RST引腳 */
&gpb 27 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* CFG引腳 */
>;
interrupt-parent = <&gpc>;
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
};
};
2. 增加驅(qū)動并修改內(nèi)核配置
驅(qū)動文件請聯(lián)系FAE或者銷售工程師。將驅(qū)動文件csm300.c,放置于kernel/drivers/net/can/spi/文件夾下。并在該目錄的Makefile文件中加入以下內(nèi)容:
obj-$(CONFIG_CAN_CSM3XX) += csm300.o/*添加至文件末尾*/
同時在該目錄下的Kconfig文件中加入以下內(nèi)容:
config CAN_CSM3XX
tristate "CSM3XX SPI CAN controllers"
help
Driver for CSM3XX SPI CAN controllers.
最后在menuconfig菜單中或defconfig配置文件中,打開對應(yīng)內(nèi)核配置,重新編譯內(nèi)核并燒錄到評估板中。成功加載并且硬件連接無誤的情況下,會出現(xiàn)如下log打印。
[
][
] csm300 check id response:[.0: csm300 check id succeed
] csm300 spi0[.0 can0: csm300 successfully initialized. ] csm300 spi0
如果硬件連接不正確,則會在初始化時候出現(xiàn)以下錯誤log打印。圖2CSM300(A)初始化錯誤LOG圖
性能測試
將CSM-Eval評估套件通過USB CAN卡USBCAN-4E-U和電腦連接,框圖如圖3所示。
圖3連接框圖參考以下命令,對CAN進行配置:
[
][
][set bitrate is 1000000
] [
][
] csm300 check id response: [0xf7
] [0xf8
] [0x2
] [0x13
] [0x1e
] [
] csm300 setup response: [0xf7
] [0xf8
] [0x1
] [0x13
] [0x1d
] [
] csm300 setup succeed[ ]
MX2000端推薦使用以下命令進行測試。其中-g 后面所帶參數(shù)代表間隔時間(單位:s),經(jīng)過測試會直接影響丟包率,最優(yōu)為0.1。
[ ]
電腦端使用ZCANPRO專業(yè)軟件進行測試,得出結(jié)果在此幀率下丟包率為0%,如圖4所示。圖4性能測試結(jié)果圖
長按識別如下二維碼可加入“工控板/核心板技術(shù)交流群”,與志同道合的朋友交流,并有專業(yè)技術(shù)人員為您答疑解惑,如有問題可以咨詢小致微信:zlgmcu-888。
-
致遠電子
+關(guān)注
關(guān)注
13文章
405瀏覽量
31277
原文標題:【產(chǎn)品應(yīng)用】MX2000上如何拓展CAN接口?
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論