一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于CAN控制器和USB接口芯片實(shí)現(xiàn)CAN-USB接口卡系統(tǒng)的軟硬件設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:微計(jì)算機(jī)信息 ? 作者:左小五 ? 2020-07-06 07:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 引言

CAN以其優(yōu)良的性能,廣泛應(yīng)用在嵌入式系統(tǒng)中,PC機(jī)有豐富的軟件和強(qiáng)大的功能,在工業(yè)網(wǎng)絡(luò)中,將PC機(jī)設(shè)計(jì)成CAN網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn),方便數(shù)據(jù)處理等。

CAN網(wǎng)絡(luò)與PC機(jī)的連接可通過(guò)以下幾種方式:1)CAN-RS232接口卡;2)CAN-PCI接口卡;3)CAN-USB接口卡。CAN-RS232接口卡速度太慢,且不支持熱插拔;CAN-PCI接口卡雖然速度快,但不支持熱插拔。而采用CAN-USB接口卡,不但速度快,而且支持熱插拔,并且可以從系統(tǒng)中直接汲取電流而不需要外部供電。

文中所設(shè)計(jì)的CAN-USB接口卡,均采用SJA1000和PIDUSBD12, SJA1000為并行總線(xiàn)接口,與現(xiàn)在許多無(wú)外部總線(xiàn)的MCU不適應(yīng),PIDUSBD12也為并行總線(xiàn)接口,且與MCU的軟件接口編寫(xiě)復(fù)雜,本文中設(shè)計(jì)的CAN-USB接口卡,USB接口芯片選擇南京沁恒電子有限公司生產(chǎn)的CH375,該芯片支持全速設(shè)備接口USB V1.1,該公司提供了完善的USB驅(qū)動(dòng)程序;并且該芯片內(nèi)部集成了USB 接口SIE、數(shù)據(jù)緩沖區(qū)、被動(dòng)并行接口、串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等,這樣,以CH375設(shè)計(jì)的USB設(shè)備,不需要詳細(xì)了解USB 通訊協(xié)議,開(kāi)發(fā)編程非常方便。CAN協(xié)議芯片選擇MCP2510,該芯片采用SPI接口,連接方便,有3個(gè)發(fā)送緩沖區(qū),2個(gè)接收緩沖區(qū),寬工作電壓,低功耗。

2. 系統(tǒng)硬件設(shè)計(jì)

設(shè)計(jì)CAN-USB接口卡,硬件方面需要USB接口芯片、CAN協(xié)議芯片和微處理器。系統(tǒng)的硬件框圖見(jiàn)圖1。

微處理器選擇華邦公司的W78E516,該芯片與MCS-51系列單片機(jī)兼容,內(nèi)部集成有64K的FLASH、看門(mén)狗、256字節(jié)輔助存儲(chǔ)器,還支持在系統(tǒng)可編程(ISP)。

基于CAN控制器和USB接口芯片實(shí)現(xiàn)CAN-USB接口卡系統(tǒng)的軟硬件設(shè)計(jì)

CH375與MCU的連接提供了并行接口和串行接口,本文采用了并行接口,W78E516與CH375的接口電路如圖2所示。

由于CH375可輸出復(fù)位信號(hào),微處理器可利用此復(fù)位信號(hào),從而不需要其它專(zhuān)門(mén)復(fù)位電路。設(shè)計(jì)中還必須注意,CH375的晶振頻率必須為12MHz,筆者曾經(jīng)接11.0592 MHz晶振時(shí),系統(tǒng)不能正常工作,改為12MHz時(shí),則可正常工作。

CAN協(xié)議芯片選擇MCP2510,總線(xiàn)驅(qū)動(dòng)器采用PCA82C250。設(shè)計(jì)如圖3所示。如果要求CAN總線(xiàn)上各節(jié)點(diǎn)間電氣隔離,可在MCP2510與PCA82C250之間加高速光隔離(如6N137)進(jìn)行電氣隔離。

3. 下位機(jī)程序設(shè)計(jì)

下位機(jī)程序的功能是,當(dāng)接收到CAN報(bào)文,將此報(bào)文重新組成適合USB傳輸?shù)臄?shù)據(jù)包,并裝載到USB的發(fā)送緩沖區(qū),而當(dāng)從USB接收到數(shù)據(jù)包,則將此數(shù)據(jù)包重新組成適合CAN傳輸?shù)膸?/p>

下位機(jī)程序設(shè)計(jì)采用Keil C進(jìn)行設(shè)計(jì),由于MCP2510是SPI接口,而W78E516沒(méi)有SPI接口,故編寫(xiě)了專(zhuān)門(mén)操作SPI接口的程序。

設(shè)計(jì)中,CAN報(bào)文采用了標(biāo)準(zhǔn)11位ID,并且根據(jù)CAN幀格式,在單片機(jī)內(nèi)存中,定義CAN報(bào)文發(fā)送緩沖區(qū)和接收緩沖區(qū)。

雖然CH375的端點(diǎn)每次最大可傳輸64字節(jié),但為了設(shè)計(jì)方便,我們?cè)O(shè)計(jì)成每次只傳輸11個(gè)字節(jié),用如下的結(jié)構(gòu)體表示。

struct struct_USB

{

unsigned char USB_cmd;

unsigned char Dat[10];

};

USB_cmd中指示每次數(shù)據(jù)包的含義,以方便PC機(jī)與單片機(jī)傳遞信息。Dat[10]為將傳輸?shù)紺AN總線(xiàn)上的數(shù)據(jù),或從CAN總線(xiàn)上接收到的數(shù)據(jù)。

圖4 程序流程圖

為防止通訊接收溢出,在設(shè)計(jì)中,為CAN和USB定義了比較大的數(shù)據(jù)緩沖區(qū),啟用了W78E516芯片上的256字節(jié)輔助存儲(chǔ)器,Keil C編譯時(shí)配置存儲(chǔ)器模式為Compact模式,但在設(shè)計(jì)中需要注意的是:main()函數(shù)的語(yǔ)句中,必須先用賦值語(yǔ)句對(duì)寄存器CHPENR和CHPCON進(jìn)行配置,啟用W78E516芯片上的256字節(jié)輔助存儲(chǔ)器,然后,才能執(zhí)行函數(shù)調(diào)用語(yǔ)句,否則程序雖在編譯時(shí)可通過(guò),但運(yùn)行時(shí)會(huì)出現(xiàn)錯(cuò)誤。

4.上位機(jī)程序設(shè)計(jì)

上位機(jī)程序采用VB進(jìn)行設(shè)計(jì),由于沁恒公司為CH375提供了豐富的動(dòng)態(tài)鏈接庫(kù)(API函數(shù)),在程序設(shè)計(jì)時(shí),只需聲明和調(diào)用這些API函數(shù),下面介紹編程注意事項(xiàng)。

在程序設(shè)計(jì)時(shí),程序中調(diào)用CH375的第一個(gè)API函數(shù)應(yīng)為CH375的設(shè)備開(kāi)啟函數(shù),Declare Function CH375OpenDevice Lib “CH375DLL.DLL” (ByVal iIndex As Long) As Long,該函數(shù)的功能是打開(kāi)CH375設(shè)備。關(guān)閉應(yīng)用程序時(shí),需調(diào)用設(shè)備關(guān)閉函數(shù),Declare Sub CH375CloseDevice Lib “CH375DLL.DLL” (ByVal iIndex As Long),該函數(shù)的功能是關(guān)閉CH375設(shè)備。對(duì)于PC機(jī)向單片機(jī)發(fā)送數(shù)據(jù)和接收來(lái)自單片機(jī)的數(shù)據(jù),只需調(diào)用相關(guān)的API函數(shù)即可。

編寫(xiě)完上位機(jī)程序,當(dāng)CAN-USB接口卡通過(guò)USB連接線(xiàn)與PC機(jī)的USB接口相連之后,系統(tǒng)會(huì)檢測(cè)到新硬件,此時(shí),安裝好驅(qū)動(dòng)程序,就可以使用該設(shè)備。正常工作時(shí),此卡中與CH375相連的LED亮。

5. 結(jié)論

采用CH375和MCP2510設(shè)計(jì)CAN-USB接口卡,給出了硬件電路圖和軟件流程圖,相對(duì)于其它用SJA1000和PIDUSBD12設(shè)計(jì)的類(lèi)似產(chǎn)品,本CAN-USB接口卡的硬件接口簡(jiǎn)潔,軟件不需要編寫(xiě)USB固件程序,開(kāi)發(fā)效率高,性能價(jià)格比高,在實(shí)際使用中,效果良好。另外,由于硬件上采用了獨(dú)立的CAN控制器和USB接口芯片,軟件采用C語(yǔ)言設(shè)計(jì),所以移植到其它微處理器也比較方便。


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

    關(guān)注

    460

    文章

    52520

    瀏覽量

    440902
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17113

    瀏覽量

    184292
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8190

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于ARM7的CAN-USB轉(zhuǎn)換設(shè)計(jì)

    設(shè)計(jì)了一種CAN-USB轉(zhuǎn)換,實(shí)現(xiàn)CAN總線(xiàn)與上位機(jī)的實(shí)時(shí)通信,完成了對(duì)CAN總線(xiàn)通信的實(shí)時(shí)信息采集。
    發(fā)表于 10-09 15:39 ?1880次閱讀
    基于ARM7的<b class='flag-5'>CAN-USB</b>轉(zhuǎn)換<b class='flag-5'>器</b>設(shè)計(jì)

    USB轉(zhuǎn)CAN芯片

    求一種CAN轉(zhuǎn)USB芯片,不是網(wǎng)上買(mǎi)的USB轉(zhuǎn)CAN接口卡,只是自己想做一下
    發(fā)表于 12-11 09:38

    采用CH375和MCP2510設(shè)計(jì)CAN-USB接口卡

    ,寬工作電壓,低功耗[4]。2. 系統(tǒng)硬件設(shè)計(jì)設(shè)計(jì)CAN-USB接口卡,硬件方面需要USB
    發(fā)表于 05-05 09:29

    基于CAN總線(xiàn)的智能接口卡的設(shè)計(jì)

    CAN 總線(xiàn)作為一種優(yōu)秀的現(xiàn)場(chǎng)總線(xiàn)已成為構(gòu)建現(xiàn)代監(jiān)測(cè)網(wǎng)絡(luò)的重要通信平臺(tái)之一,而作為各設(shè)備之間通信橋梁的接口卡,顯得更為重要。本文介紹一種基于CAN 總線(xiàn)的智能接口卡的設(shè)計(jì)
    發(fā)表于 06-18 10:03 ?22次下載

    基于USB接口卡

    介紹了一種基于USB 總線(xiàn)接口卡系統(tǒng),利用此上預(yù)留的幾種常用接口,用戶(hù)板可以非常方便的通過(guò)USB
    發(fā)表于 08-05 16:11 ?25次下載

    基于LPC2148和MCP2510的高速USB-CAN

    本文介紹了基于LPC2148和MCP2510的USB-CAN接口卡。LPC2148是基于ARM7TDMI-S核的微控制器,處理速度高,內(nèi)置USB
    發(fā)表于 02-25 11:47 ?35次下載

    CAN/RS232接口卡的設(shè)計(jì)及實(shí)現(xiàn)方法

    CAN/RS232接口卡的設(shè)計(jì)及實(shí)現(xiàn)方法 控制器局域網(wǎng)(Controller Area Network,CAN)屬于現(xiàn)場(chǎng)總線(xiàn)的范疇,其總線(xiàn)
    發(fā)表于 03-25 09:08 ?3794次閱讀
    <b class='flag-5'>CAN</b>/RS232<b class='flag-5'>接口卡</b>的設(shè)計(jì)及<b class='flag-5'>實(shí)現(xiàn)</b>方法

    CAN計(jì)算機(jī)接口卡系列產(chǎn)品選型指南詳細(xì)資料免費(fèi)下載

    一般來(lái)說(shuō)計(jì)算機(jī)本身不帶CAN接口,所以直接使用計(jì)算機(jī)和CAN網(wǎng)絡(luò)是不能互聯(lián)的。但是很多商用或者工業(yè)應(yīng)用計(jì)算機(jī)控制系統(tǒng)都離不開(kāi)CAN-bus,
    發(fā)表于 11-05 17:36 ?6次下載
    <b class='flag-5'>CAN</b>計(jì)算機(jī)<b class='flag-5'>接口卡</b>系列產(chǎn)品選型指南詳細(xì)資料免費(fèi)下載

    基于CAN總線(xiàn)接口卡的軟件設(shè)計(jì)

    硬件部分主要包括主控制器、CAN總線(xiàn)控制器、CAN總線(xiàn)收發(fā)以及與計(jì)算機(jī)的RS 232通信
    發(fā)表于 03-26 13:56 ?1837次閱讀

    廣成usb-can接口卡功能講解(1)

    usb-can接口卡也叫USBCAN分析儀,是我們進(jìn)行CAN總線(xiàn)數(shù)據(jù)檢測(cè)的基礎(chǔ)設(shè)備。很多的廠(chǎng)家都開(kāi)放了有自己特色的USBCAN,我們廣成科技也不例外。為了方便大家了解廣成usb-can
    的頭像 發(fā)表于 01-03 10:26 ?3304次閱讀

    廣成usb-can接口卡功能講解(2)

    今天我們繼續(xù)聊有關(guān)廣成usb-can接口卡功能的一些事情,今天講的是設(shè)備的數(shù)據(jù)保存功能,好的我們開(kāi)始。
    的頭像 發(fā)表于 01-03 10:31 ?2181次閱讀

    廣成usb-can接口卡功能講解(3)

    今天我們繼續(xù)介紹廣成科技usb-can接口卡的功能,今天說(shuō)的是顯示功能以及清除數(shù)據(jù)功能。
    的頭像 發(fā)表于 01-03 10:40 ?2332次閱讀

    廣成usb-can接口卡功能講解(4)

    今天我們講的是廣成usb-can接口卡的濾波功能。其實(shí)除了usb-can接口卡以外,廣成科技還有很多的CAN轉(zhuǎn)換網(wǎng)關(guān)也集成了相關(guān)的功能。那么
    的頭像 發(fā)表于 01-03 10:43 ?2023次閱讀

    USBCAN 8E U高性能USB轉(zhuǎn)CAN接口卡用戶(hù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《USBCAN 8E U高性能USB轉(zhuǎn)CAN接口卡用戶(hù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 10-17 11:01 ?1次下載
    USBCAN 8E U高性能<b class='flag-5'>USB</b>轉(zhuǎn)<b class='flag-5'>CAN</b><b class='flag-5'>接口卡</b>用戶(hù)手冊(cè)

    USBCAN I/II+智能USB轉(zhuǎn)CAN接口卡用戶(hù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《USBCAN I/II+智能USB轉(zhuǎn)CAN接口卡用戶(hù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 10-17 10:50 ?4次下載
    USBCAN I/II+智能<b class='flag-5'>USB</b>轉(zhuǎn)<b class='flag-5'>CAN</b><b class='flag-5'>接口卡</b>用戶(hù)手冊(cè)