<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è) > 汽車(chē)電子 > 設計應用 > CAN總線(xiàn)與USB的轉接技術(shù)

CAN總線(xiàn)與USB的轉接技術(shù)

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

  3 控制部分

  控制部分使用接口控制芯片CH372來(lái)實(shí)現數據的接受和發(fā)送。CH372是一個(gè)USB的通用設備接口芯片,CH372在單片機端,具有8位數據和讀、寫(xiě)、片選控制線(xiàn)以及中斷輸出,因此可以方便地掛接到單片機/DSP/MCU等控制器的系統上;在計算機系統中,CH372的配套軟件提供了簡(jiǎn)潔易用的操作接口,因此,與本地端的單片機通訊就如同讀寫(xiě)文件一樣簡(jiǎn)單。

  CH372在計算機端提供有應用層接口,應用層接口是由CH372動(dòng)態(tài)鏈接庫DLL提供的面向功能應用的API,所有API在調用后都會(huì )有操作狀態(tài)返回,但不一定有應答數據。CH372動(dòng)態(tài)鏈接庫提供的API包括:設備管理API、數據傳輸API、中斷處理API等。

  在應用層設計中,筆者采用的是請求加應答的方式。該方式使用一個(gè)下傳的主動(dòng)請求和一個(gè)上傳的被動(dòng)應答進(jìn)行交互式雙向數據通訊,下傳與上傳一一對應,相互關(guān)聯(lián)。主動(dòng)請求是指由計算機應用層下傳給單片機的數據請求,被動(dòng)應答則是單片機收到數據請求后,上傳給計算機應用層的應答數據。所有的通訊都由計算機應用層發(fā)起,然后以接收到單片機的應答結束,其完整的過(guò)程包括如下步驟:

  (1) 計算機應用層按事先約定的格式將數據請求發(fā)送給CH372芯片;

  (2) CH372芯片以中斷方式通知單片機;

  (3) 單片機進(jìn)入中斷服務(wù)程序,以獲取CH372的中斷狀態(tài)并分析;

  (4) 如果是上傳,則釋放當前USB緩沖區,然后退出中斷程序;

  (5) 如果是下傳,則從數據下傳緩沖區中讀取數據塊;

  (6) 分析接收到的數據塊,準備應答數據,或者先退出中斷程序再處理;

  (7) 單片機將應答數據寫(xiě)入批量端點(diǎn)的上傳緩沖區,然后退出中斷程序;

  (8) CH372芯片將應答數據返回給計算機;

  (9) 計算機應用層接收到應答數據。

  在單片機端,CH372芯片占用兩個(gè)地址位,當A0引腳為高電平時(shí),系統選擇命令端口,此時(shí)可以寫(xiě)入命令;當A0引腳為低電平時(shí),選擇數據端口,此時(shí)可以讀寫(xiě)數據。單片機通過(guò)8位并口對CH372芯片進(jìn)行讀寫(xiě)時(shí),所有操作都是由一個(gè)命令碼、若干個(gè)輸人數據和若干個(gè)輸出數據組成。

但部分命令不需要輸入數據,而部分命令也可以沒(méi)有輸出數據。

  CH372芯片專(zhuān)門(mén)用于處理USB通訊。在接收到數據或發(fā)送完數據后,CH372將以中斷方式通知單片機進(jìn)行處理。單片機通過(guò)CH372接收和發(fā)送數據的流程圖如圖3所示。



評論


相關(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>