資源描述:
《usb-can通信轉(zhuǎn)換器設(shè)計方案》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、USB/CAN通信轉(zhuǎn)換器設(shè)計方案ShawnLing 檢測技術(shù)與自動化裝置 本文闡述了一種USB-CAN總線轉(zhuǎn)換裝置,方便CAN總線與計算機進行鏈接。本設(shè)計方案主要包括:任務(wù)說明、總線簡介、硬件設(shè)計、軟件設(shè)計、總結(jié)等5部分。一、任務(wù)說明設(shè)計一種USB-CAN總線轉(zhuǎn)換器。完成從一臺計算機的USB把1個數(shù)據(jù)幀(自己定義)通過USB/CAN轉(zhuǎn)換器將數(shù)據(jù)發(fā)到CAN總線上;另一臺計算機CAN/USB轉(zhuǎn)換接受數(shù)據(jù)。二、總線介紹CAN總線是一種流行的現(xiàn)場總線,其協(xié)議分為物理層和數(shù)據(jù)鏈路層。物理層定義信號如何發(fā)送,涉及位編碼,位定時和同步,
2、沒有定義驅(qū)動器和接收器的特性,以便根據(jù)具體情況靈活應(yīng)用。數(shù)據(jù)鏈路層又包括媒體訪問子層MAC層和邏輯鏈路子層LLC層。MAC子層是CAN協(xié)議的核心,它可響應(yīng)報文幀,仲裁,應(yīng)答,錯誤檢測和標定。LLC子層主要功能是報文濾波,超載通知和恢復(fù)管理。CAN總線主要有以下特點:1.以多主方式工作,沒有主節(jié)點和從節(jié)點之分;2.節(jié)點信息分為不同優(yōu)先級,可滿足不同實時要求;3.采用非破壞性總線仲裁技術(shù),不同于以太網(wǎng)的碰撞檢測技術(shù),而是按位對標識符進行仲裁,優(yōu)先級最高的節(jié)點獲得總線的使用權(quán);4.采用報文濾波實現(xiàn)多種通信方式,無需專門調(diào)度。在驗
3、收濾波器的幫助下,CAN節(jié)點只接收識別碼與驗收濾波器中預(yù)設(shè)值一致的信息;5.直接通信距離最遠達到10km(5kbps以下),通信速率最高可達1Mbps(通信距離最長為40m);6.CAN報文數(shù)據(jù)幀由7個不同的位場組成,即幀起始,仲裁場,控制場,數(shù)據(jù)場,CRC校驗場,ACK應(yīng)答場和幀結(jié)束。仲裁場包括標識符(11位或29位),控制場包括數(shù)據(jù)場的字節(jié)數(shù)目,數(shù)據(jù)場可包括0~8個字節(jié);7.CAN總線協(xié)議固化在相關(guān)芯片中,主要有總線控制器和總線收發(fā)器。前者完成CAN總線協(xié)議中物理層和數(shù)據(jù)鏈路層中所有功能,后者提供總線驅(qū)動能力。USB即
4、"通用串行總線"是一種應(yīng)用在PC中的表型總線,由Intel、Microsoft、NEC等公司共同提出,他是一種新型的外接串聯(lián)口,提出該規(guī)格的廠商希望用USB取代現(xiàn)有的外接設(shè)備接口,它還具備連接單一化、軟件自動偵測以及熱插拔(即插即用)的功能,USB具有以下特點:1)數(shù)據(jù)傳輸速率高。USB高速:480Mb/s;USB全速:12Mb/s;USB低速:1.5Mb/s。2)數(shù)據(jù)傳輸可靠。USB事務(wù)處理包括錯誤檢測機制,可以確保數(shù)據(jù)無錯誤發(fā)送,在發(fā)生錯誤時,事務(wù)處理可以重新進行。3)同時掛接多個USB設(shè)備,每個USB總線支持127個
5、設(shè)備的連接。4)USB接口能為設(shè)備供電。當外界電源要求電壓為5V且電流小于500mA時,可以直接從USB總線獲取電源,這樣,USB設(shè)備無需專用電源線,從而降低了設(shè)備成本。5)支持熱拔。USB實現(xiàn)了真正的"即插即用"功能,設(shè)備連接后由USB自檢測,并且由軟件自動配置,完成后立刻就能使用,不需要用戶進行干涉。三、系統(tǒng)硬件設(shè)計系統(tǒng)硬件結(jié)構(gòu)主要包括主控制芯片,USB通信部分以及CAN通信部分??傮w結(jié)構(gòu)如下圖所示:主控制芯片選用Atmel公司的AT89C52。USB通信采用USB控制器PDIUSBD12及USB接口。CAN通信采
6、用CAN總線控制器SJA1000和CAN總線收發(fā)器82C250,在SJA1000和CAN總線收發(fā)器82C250之間使用了2個高速光電隔離器件6N137實現(xiàn)了總線與控制器的隔離,以避免干擾提高工作可靠性。(1)USB總線接口的設(shè)計在微控制器和USB接口的選擇上有2種方式,一種是采用具備USB通信功能的微處理器。隨著USB應(yīng)用的日益廣泛,Intel,Cypress,Cypress,Philips等芯片廠商都推出了具備USB通信接口的微處理器。其中有8x930A,8x931A,EZ_USB等。由于這些單片機具有USB接口,這些芯
7、片與過去的開發(fā)系統(tǒng)是不兼容的,需要購買新的開發(fā)系統(tǒng),投資較高。另一種是采用普通微處理器加上專用的USB通信芯片。現(xiàn)在的專用芯片中較流行的有NationalSemiconductor公司的USBN9602,ScanLogic公司的SL11,Philips的PDIUSBD12等。其中PDIUSBD12是一款性價比很高的USB接口器件,他通過并行接口與微處理器進行通信,這種接口方式使得設(shè)計者可以選擇自己熟悉的控制器進行開發(fā),簡化了開發(fā)難度,加快了系統(tǒng)的設(shè)計。所以本系統(tǒng)采用PDIUSBD12與Atmel的AT89C52連接的方式進
8、行開發(fā)。原理圖如圖1所示。圖1:USB總線接口設(shè)計(2)CAN總線接口的設(shè)計這部分由微處理器、CAN控制器和CAN收發(fā)器組成,微處理器負責(zé)將數(shù)據(jù)發(fā)送給CAN控制器,并經(jīng)由CAN控制器、光耦以及CAN收發(fā)器將數(shù)據(jù)發(fā)往CAN總線,原理圖如圖2所示。CAN總線控制器采用Philips公司的SJA1000,并輔