<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM Cortex3的低功耗無(wú)源USB-CAN透明傳輸的實(shí)

基于A(yíng)RM Cortex3的低功耗無(wú)源USB-CAN透明傳輸的實(shí)

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏

4.1.2 關(guān)于CAN控制器的配置程序設計

根據CAN2.0協(xié)議,報文的發(fā)送和接收需要進(jìn)行一系列配置,圖2為CAN報文發(fā)送接受配置流程圖。

基于A(yíng)RM Cortex3的低功耗無(wú)源USB-CAN透明傳輸的實(shí)現

4.2 USB通信相關(guān)

4.2.1 LM3S5956微處理器的USB控制器

LM3S5956微處理器的USB控制器支持USB Host/Device/OTG功能,可運行在全速和低速模式。它符合USB2.0標準,包含掛起和喚醒信號。它包含32個(gè)端點(diǎn),其中包含2個(gè)用于控制傳輸的專(zhuān)用連接端點(diǎn)(一個(gè)用于輸入,一個(gè)用于輸出),其他30個(gè)端點(diǎn)帶有可軟件動(dòng)態(tài)定義大小的FIFO并以支持多包隊列。FIFO支持DMA,可有效降低系統資源的占用。USB Device啟動(dòng)方式靈活,可軟件控制是否在啟動(dòng)時(shí)連接。USB控制器遵從OTG標準的會(huì )話(huà)請求協(xié)議(SRP)和主機協(xié)商協(xié)議(HNP)。

LM3S5956微處理器的芯片供應商TI公司提供了一套完整的USB開(kāi)發(fā)解決方案(USBLIB),極大地縮短了用戶(hù)的開(kāi)發(fā)周期,本項目將采用USBLIB中的USB虛擬串口方式進(jìn)行數據傳輸,這樣,上位機驅動(dòng)包的支持下,可以通過(guò)串口調試工具直接對USB的數據進(jìn)行讀寫(xiě)。在USB虛擬串口的方案中,USB通信模塊主要分為USB驅動(dòng)、USB虛擬串口應用層、用戶(hù)應用層三部分。

根據USB協(xié)議,本項目中的USB通信模塊屬于從USB設備,USB驅動(dòng)的設計主要包括以下函數的定義:返回從站地址函數、配置從站地址函數、USB控制器連接函數、USB控制器關(guān)閉函數、端點(diǎn)配置函數、數據應答函數、端點(diǎn)停止函數、端點(diǎn)啟動(dòng)函數、端點(diǎn)狀態(tài)清除函數、端點(diǎn)數據獲取函數、端點(diǎn)數據賦予函數、端點(diǎn)傳輸啟動(dòng)函數、端點(diǎn)狀態(tài)返回函數。

USB虛擬串口應用層介于用戶(hù)應用層和USB驅動(dòng)層之間,是目前最流行的USB應用層協(xié)議之一,其最大的特點(diǎn)就是可以模擬串口的數據傳輸方式,還可以保證實(shí)時(shí)性和準確性。適合傳輸較為簡(jiǎn)短的數據。而CAN報文的數據域最長(cháng)只有8個(gè)字節,所以USB虛擬串口協(xié)議非常適合轉發(fā)CAN報文數據。虛擬串口協(xié)議主要包括以下函數的定義:虛擬串口初始化函數、虛擬串口數據包讀取函數、虛擬串口數據包寫(xiě)入函數。

用戶(hù)應用層主要包括USB枚舉常量的定義、虛擬串口設備定義、發(fā)送和接收緩沖區定義、虛擬串口通信參數設置函數、虛擬串口通信參數獲取函數、設備控制中斷函數、數據接收中斷函數、數據發(fā)送中斷函數。

4.2.2 程序邏輯

在USB虛擬串口設備的軟件結構中,TI提供的USBlib庫已經(jīng)實(shí)現了大部分工作,只需要實(shí)現三個(gè)和USB設備相關(guān)的回調函數就可以了。這三個(gè)函數分別為:

USBControlHandler:處理和控制端口相關(guān)的事件

USBRxHandler:處理和接收端口相關(guān)的事件

USBTxHanler:處理和發(fā)送端口相關(guān)的事件

在控制端口處理函數中,主要處理設備連接、設備斷開(kāi)、掛起中斷、喚醒中斷等事件。

4.3 主程序設計

為保證數據透傳的實(shí)時(shí)性,雙向數據包均采用中斷的方式進(jìn)行轉發(fā),即在CAN接受中斷發(fā)生之后,立即將數據包轉發(fā)至USB發(fā)送緩沖區;在USB接收中斷發(fā)生以后,立即將數據包轉發(fā)至CAN發(fā)送緩沖區,保證了數據的實(shí)時(shí)性和完全透明傳輸。如圖3為CAN中斷服務(wù)函數。

基于A(yíng)RM Cortex3的低功耗無(wú)源USB-CAN透明傳輸的實(shí)現

4.4 開(kāi)發(fā)平臺與功能測試

本項目的軟件交叉編譯平臺為WINDOWS XP平臺下的MDK4.0編譯器,下載仿真器為JLINK V8。

按照圖4所示方式進(jìn)行連線(xiàn),在上位PC機安裝USB虛擬串口支持包之后,打開(kāi)串口調試助手,進(jìn)行相關(guān)串口參數配置之后,就可以很方便地進(jìn)行數據的雙向收發(fā)測試。

基于A(yíng)RM Cortex3的低功耗無(wú)源USB-CAN透明傳輸的實(shí)現

5 功能拓展與前瞻

從OSI網(wǎng)絡(luò )模型的角度來(lái)看,現場(chǎng)總線(xiàn)網(wǎng)絡(luò )一般只實(shí)現了第1層(物理層)、第2層(數據鏈路層)、第7層(應用層)。因為現場(chǎng)總線(xiàn)通常只包括一個(gè)網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡(luò )層),也不需要第5層(會(huì )話(huà)層),第6層(描述層)的作用。

CAN2.0協(xié)議只定義物理層和數據鏈路層,沒(méi)有規定應用層,本身并不完整,需要一個(gè)高層協(xié)議來(lái)定義CAN報文中的11/29位標識符、8字節數據的使用。而且,基于的工業(yè)自動(dòng)化應用中,越來(lái)越需要一個(gè)開(kāi)放的、標準化的高層協(xié)議:這個(gè)協(xié)議支持各種CAN廠(chǎng)商設備的互用性、互換性,能夠實(shí)現在CAN網(wǎng)絡(luò )中提供標準的、統一的系統通訊模式,提供設備功能描述方式,執行網(wǎng)絡(luò )管理功能。其中應用層可以為網(wǎng)絡(luò )中每一個(gè)有效設備都能夠提供一組有用的服務(wù)與協(xié)議。

本項目中的USB—CAN透明傳輸卡只實(shí)現了對于協(xié)議的物理層和數據鏈路層,為了實(shí)現更高層次的應用,可以考慮將流行歐洲的CAN總線(xiàn)應用層協(xié)議與USB—CAN透明傳輸協(xié)議軟件模塊進(jìn)行整合,開(kāi)發(fā)一個(gè)以PC作為上位機的主站,或者以USB設備為下位機的一個(gè)從站,如果能夠實(shí)現,將會(huì )極大地豐富本項目在工業(yè)場(chǎng)合的應用。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>