国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種can總線通信的方法及裝置的制造方法_3

      文檔序號:9551165閱讀:來源:國知局
      片。
      [0095] 由于中標(biāo)麒麟操作系統(tǒng)下UART總線的通信速率最高支持到115200bps,而CAN總 線最高速率可達(dá)lM/s,故CAN總線傳輸來的數(shù)據(jù)可能無法完全通過UART總線傳輸出去,這 樣會使得UART總線傳輸?shù)臄?shù)據(jù)發(fā)生錯(cuò)誤。解決該問題,可以設(shè)置CAN總線在收發(fā)數(shù)據(jù)時(shí), 保證幀與幀之間有一定的時(shí)間間隔,以確保每幀數(shù)據(jù)收發(fā)的正確性。另外,在一種可能的實(shí) 現(xiàn)方式中,在所述A1之前,還包括:設(shè)置UART的緩沖區(qū);
      [0096] 所述A1包括:將所述CAN總線接收的所述CAN協(xié)議幀添加到所述UART的緩沖區(qū) 中,從所述UART的緩沖區(qū)中獲取所述CAN協(xié)議幀,將獲取的CAN協(xié)議幀發(fā)送通過CAN總線 發(fā)送給所述第二芯片。
      [0097] 通過緩沖區(qū)將CAN總線接收的CAN協(xié)議幀緩存,從緩沖區(qū)中獲取數(shù)據(jù)進(jìn)行后續(xù)處 理,避免了由于傳輸速率不同而引發(fā)的數(shù)據(jù)傳輸錯(cuò)誤。
      [0098] 在一種可能的實(shí)現(xiàn)方式中,在所述A2中,所述通過所述第二芯片將所述CAN協(xié)議 幀轉(zhuǎn)換為UART總線數(shù)據(jù),包括:從所述CAN協(xié)議幀中提取數(shù)據(jù)位,將所述數(shù)據(jù)位轉(zhuǎn)換為所述 UATR總線數(shù)據(jù)。由于CAN協(xié)議幀中攜帶的數(shù)據(jù)存儲在數(shù)據(jù)位中,因此將數(shù)據(jù)位中的數(shù)據(jù)提 取出來進(jìn)行轉(zhuǎn)換即可。
      [0099] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對本 發(fā)明作進(jìn)一步地詳細(xì)描述。
      [0100] 在本發(fā)明實(shí)施例中,主機(jī)的系統(tǒng)為中標(biāo)麒麟操作系統(tǒng),該系統(tǒng)不支持CAN總線,支 持USB總線。
      [0101] 如圖4所示,本發(fā)明實(shí)施例提供了一種CAN總線通信的方法,該方法可以包括以下 步驟:
      [0102] 步驟401 :在主機(jī)的USB總線上掛載用于USB總線與UART總線轉(zhuǎn)換的第一芯片, 在所述主機(jī)中配置用于UART總線與CAN總線轉(zhuǎn)換的第二芯片,設(shè)置UART的緩沖區(qū)。
      [0103] 具體地,由于該系統(tǒng)的內(nèi)核為Linux2. 6. 25以上版本,系統(tǒng)中集成了cp210x的 驅(qū)動,能夠?qū)P2102芯片進(jìn)行驅(qū)動,第一芯片可以是:SILICONLABS的CP2102芯片;第 二芯片可以是:Nuvoton的NUC230LE3AE芯片,在NUC230LE3AE芯片中還包括:主控模塊和 TJA1040CAN收發(fā)器,主控模塊用于UART總線數(shù)據(jù)與CAN數(shù)據(jù)幀的轉(zhuǎn)換,TJA1040CAN收發(fā)器 用于CAN數(shù)據(jù)的接收和發(fā)送。
      [0104] 步驟402 :通過CAN總線接收外部發(fā)來的CAN協(xié)議幀,將所述CAN總線接收的所述 CAN協(xié)議幀添加到所述UART的緩沖區(qū)中,從所述UART的緩沖區(qū)中獲取所述CAN協(xié)議幀,將 獲取的CAN協(xié)議幀發(fā)送通過CAN總線發(fā)送給所述第二芯片。
      [0105] 步驟403 :通過所述第二芯片從所述CAN協(xié)議幀中提取數(shù)據(jù)位,將所述數(shù)據(jù)位轉(zhuǎn)換 為所述UATR總線數(shù)據(jù),通過UART總線將所述UART總線數(shù)據(jù)發(fā)送給所述第一芯片。
      [0106] 步驟404:通過所述第一芯片將所述UART總線數(shù)據(jù)轉(zhuǎn)換為USB總線數(shù)據(jù),在USB總 線上傳輸所述USB總線數(shù)據(jù)。
      [0107] 可以主機(jī)可以通過USB總線獲取上述的USB總線數(shù)據(jù),通過該實(shí)施例提供的方法, 用戶可以通過CAN總線向主機(jī)傳輸數(shù)據(jù),主機(jī)也可以將CAN總線接收的數(shù)據(jù)以USB總線數(shù) 據(jù)的形式獲取。
      [0108]參見圖5,本發(fā)明實(shí)施例提供了一種CAN總線通信的裝置,包括:
      [0109] 第一配置單元501,用于在主機(jī)的USB總線上掛載用于USB總線與UART總線轉(zhuǎn)換 的第一芯片,在所述主機(jī)中配置用于UART總線與CAN總線轉(zhuǎn)換的第二芯片;
      [0110] 第一USB總線傳輸單元502,用于通過USB總線將待傳輸數(shù)據(jù)發(fā)送給所述第一芯 片;
      [0111] 第一UART總線傳輸單元503,用于通過所述第一芯片將所述待傳輸數(shù)據(jù)轉(zhuǎn)換為 UART總線數(shù)據(jù),通過UART總線將所述UART總線數(shù)據(jù)發(fā)送給所述第二芯片;
      [0112] 第一CAN總線傳輸單元504,用于通過所述第二芯片將所述UART總線數(shù)據(jù)轉(zhuǎn)換為 CAN協(xié)議幀,將所述CAN協(xié)議幀通過所述CAN總線傳輸。
      [0113] 在一種可能的實(shí)現(xiàn)方式中,該裝置還包括:第一UART總線配置單元,用于識別所 述第一芯片,生成所述第一芯片對應(yīng)的/dev/ttyUSBO文件,接收第一配置命令,根據(jù)所述 第一配置命令,對所述/dev/ttyUSBO文件進(jìn)行修改,實(shí)現(xiàn)對所述UART總線的通信速率、流 控方式、數(shù)據(jù)位、停止位、校驗(yàn)位的配置。
      [0114] 在一種可能的實(shí)現(xiàn)方式中,該裝置還包括:第一CAN總線配置單元,用于接收第二 配置命令,根據(jù)所述第二配置命令,打開CAN總線中用于傳輸數(shù)據(jù)的CAN通道。
      [0115] 所述第一CAN總線傳輸單元504,在執(zhí)行所述將所述CAN協(xié)議幀通過所述CAN總線 傳輸時(shí),具體執(zhí)行:將所述CAN協(xié)議幀在CAN總線的打開的CAN通道上傳輸。
      [0116] 在一種可能的實(shí)現(xiàn)方式中,所述第一CAN總線傳輸單元504,在執(zhí)行所述通過所述 第二芯片將所述UART總線數(shù)據(jù)轉(zhuǎn)換為CAN協(xié)議幀時(shí),具體執(zhí)行:將待傳輸數(shù)據(jù)以8位為一 幀,在幀頭處添加幀識別碼、通道識別碼、幀類別及格式碼、幀ID,在幀尾添加對數(shù)據(jù)位的校 驗(yàn)和,生成所述CAN協(xié)議幀。
      [0117]參見圖6,本發(fā)明實(shí)施例提供了一種CAN總線通信的裝置,包括:
      [0118] 第二配置單元601,用于在主機(jī)的USB總線上掛載用于USB總線與UART總線轉(zhuǎn)換 的第一芯片,在所述主機(jī)中配置用于UART總線與CAN總線轉(zhuǎn)換的第二芯片;
      [0119] 第二CAN總線傳輸單元602,用于通過CAN總線接收外部發(fā)來的CAN協(xié)議幀,并通 過CAN總線將所述CAN協(xié)議幀發(fā)送給所述第二芯片;
      [0120] 第二UART總線傳輸單元603,用于通過所述第二芯片將所述CAN協(xié)議幀轉(zhuǎn)換為 UART總線數(shù)據(jù),通過UART總線將所述UART總線數(shù)據(jù)發(fā)送給所述第一芯片;
      [0121] 第二USB總線傳輸單元604,用于通過所述第一芯片將所述UART總線數(shù)據(jù)轉(zhuǎn)換為 USB總線數(shù)據(jù),在USB總線上傳輸所述USB總線數(shù)據(jù)。
      [0122] 在一種可能的實(shí)現(xiàn)方式中,該裝置,還包括:
      [0123]第二UART總線配置單元,用于識別所述第一芯片,生成所述第一芯片對應(yīng)的/dev/ttyUSBO文件,接收第一配置命令,根據(jù)所述第一配置命令,對所述/dev/ttyUSBO文件 進(jìn)行修改,實(shí)現(xiàn)對所述UART總線的通信速率、流控方式、數(shù)據(jù)位、停止位、校驗(yàn)位的配置。
      [0124] 在一種可能的實(shí)現(xiàn)方式中,該裝置,還包括:第二CAN總線配置單元,用于接收第 二配置命令,根據(jù)所述第二配置命令,打開CAN總線中用于傳輸數(shù)據(jù)的CAN通道;
      [0125]所述第二CAN總線傳輸單元602,用于通過CAN總線的所述CAN通道接收外部發(fā)來 的CAN協(xié)議幀,并通過CAN總線的CAN通道將所述CAN協(xié)議幀發(fā)送給所述第二芯片。
      [0126]在一種可能的實(shí)現(xiàn)方式中,該裝置還包括:設(shè)置單元,用于設(shè)置UART的緩沖區(qū);
      [0127]所述第二CAN總線傳輸單元602,用于將所述CAN總線接收的所述CAN協(xié)議幀添加 到所述UART的緩沖區(qū)中,從所述UART的緩沖區(qū)中獲取所述CAN協(xié)議幀,將獲取的CAN協(xié)議 幀發(fā)送通過CAN總線發(fā)送給所述第二芯片。
      [0128] 在一種可能的實(shí)現(xiàn)方式中,所述第二UART總線傳輸單元,在執(zhí)行所述通過所述第 二芯片將所述CAN協(xié)議幀轉(zhuǎn)換為UART總線數(shù)據(jù)時(shí),具體執(zhí)行:從所述CAN協(xié)議幀中提取數(shù) 據(jù)位,將所述數(shù)據(jù)位轉(zhuǎn)換為所述UATR總線數(shù)據(jù)。
      [0129] 上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施 例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
      [0130] 本發(fā)明實(shí)施例提供了一種CAN總線通信的方法及裝置,具有如下有益效果:
      [0131] 1、在本發(fā)明實(shí)施例提供的一種CAN總線通信的方法及裝置中,在主機(jī)上分別設(shè)置 第一芯片和第二芯片,通過第一芯片將待傳輸數(shù)據(jù)轉(zhuǎn)換為UART總線數(shù)據(jù),將UART總線數(shù)據(jù) 通過第二芯片轉(zhuǎn)換為CAN數(shù)據(jù)幀,將CAN數(shù)據(jù)幀在CAN總線中傳輸,實(shí)現(xiàn)CAN總線的數(shù)據(jù)通 信,該實(shí)施例提供的方法及裝置中
      當(dāng)前第3頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1