欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種spi總線與can總線協(xié)議轉(zhuǎn)換電路及方法

文檔序號:9455924閱讀:4638來源:國知局
一種spi總線與can總線協(xié)議轉(zhuǎn)換電路及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路,還涉及一種SPI總線與CAN總線協(xié)議轉(zhuǎn)換方法,屬于總線轉(zhuǎn)換技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]隨著工業(yè)現(xiàn)代化的程度越來越高,現(xiàn)場總線技術(shù)在工業(yè)控制領(lǐng)域起著越來越重要的作用。然而,為了使工業(yè)控制組網(wǎng)變得更加靈活,同一個網(wǎng)絡(luò)中有時會需要多種不同的總線,使得不同總線協(xié)議之間的轉(zhuǎn)換成為工業(yè)控制領(lǐng)域中一項關(guān)鍵技術(shù)。而SPI總線是嵌入式系統(tǒng)應(yīng)用中非常廣泛的接口標(biāo)準(zhǔn),許多器件廠家都使用該標(biāo)準(zhǔn),主要原因是SPI總線使用處理器引腳少,傳輸速度快,同一 SPI總線上可掛接多個SPI接口等。在一些嵌入式單片微型計算機應(yīng)用系統(tǒng)中,在可用極少引腳的前提下,利用SPI總線與CAN總線轉(zhuǎn)換方法是一種既經(jīng)濟又方便的接口擴展方法。
[0003]目前,研究SPI總線與CAN總線的轉(zhuǎn)換方法有很多,但都是需要專用CPU進行SPI協(xié)議與CAN總線協(xié)議控制轉(zhuǎn)換,一般均采用多個芯片模塊化實現(xiàn),類似于工控機處理方式,存在電路體積大,成本尚,應(yīng)用不靈活的缺點。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路,解決現(xiàn)有技術(shù)中SPI總線與CAN總線轉(zhuǎn)換需要多個芯片模塊化組裝實現(xiàn),導(dǎo)致電路體積大、可靠性低、擴展不靈活等問題。
[0005]為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路,包括SPI模塊、CAN模塊、實現(xiàn)SPI數(shù)據(jù)與CAN總線數(shù)據(jù)透明轉(zhuǎn)換的協(xié)議轉(zhuǎn)換單元以及對SPI模塊與CAN模塊進行初始化管理的邏輯控制管理單元;
所述SPI模塊包括SPI移位控制單元、連接在SPI移位控制單元輸出端的發(fā)送FIFO和連接在SPI移位控制單元輸入端的接收FIFO,所述CAN模塊包括CAN邏輯控制單元、連接在CAN邏輯控制單元輸入端的發(fā)送緩沖器和連接在CAN邏輯控制單元輸出端的接收緩沖器;將SPI數(shù)據(jù)轉(zhuǎn)換為CAN總線數(shù)據(jù)時,協(xié)議轉(zhuǎn)換單元從SPI模塊的發(fā)送FIFO中讀出數(shù)據(jù),依據(jù)地址信息分別轉(zhuǎn)換為CAN總線幀信息、ID識別碼、數(shù)據(jù),并存入CAN模塊的發(fā)送緩沖器中,最終通過CAN邏輯控制單元從TX端口發(fā)送CAN報文信息;
將CAN總線數(shù)據(jù)轉(zhuǎn)換為SPI數(shù)據(jù)傳輸時,協(xié)議轉(zhuǎn)換單元從CAN模塊的接收緩沖器中讀出CAN總線數(shù)據(jù),并將CAN總線的幀信息、ID識別碼、數(shù)據(jù)依次存入SPI模塊的接收FIFO中,協(xié)議轉(zhuǎn)換單元對接收FIFO讀寫信號、地址、數(shù)據(jù)進行管理,依據(jù)SPI數(shù)據(jù)格式將CAN總線數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并在SPI模塊時鐘SCK、片選SCS信號有效時從串行數(shù)據(jù)輸出端口SDO發(fā)送數(shù)據(jù)。
[0006]本發(fā)明的另一目的在于提供一種SPI總線與CAN總線協(xié)議轉(zhuǎn)換方法,包括如下步驟:步驟一:通過SPI模塊對串行輸入數(shù)據(jù)進行解碼,根據(jù)相應(yīng)的地址、數(shù)據(jù)進行管理,配置CAN模塊寄存器,并對電路內(nèi)部SPI模塊的FIFO地址、數(shù)據(jù)、讀寫信號進行控制管理;步驟二:當(dāng)SPI模塊的SDI端口有串行數(shù)據(jù)輸入時,每位數(shù)據(jù)在串行時鐘SCK的上升沿被采樣,并進行串行移位轉(zhuǎn)換,將串行數(shù)據(jù)解碼成并行數(shù)據(jù),依據(jù)解碼的地址ADDR將需要傳輸?shù)臄?shù)據(jù)存入發(fā)送FIFO中,并通知CAN模塊有數(shù)據(jù)需要轉(zhuǎn)換傳輸;
步驟三:CAN模塊接收到指令后,從SPI模塊的發(fā)送FIFO中讀出數(shù)據(jù),并送入CAN模塊的發(fā)送緩沖器,依據(jù)CAN邏輯控制單元的CAN協(xié)議控制邏輯從TX端口發(fā)送CAN數(shù)據(jù);步驟四:當(dāng)CAN模塊的RX端口接收到CAN數(shù)據(jù)后,CAN邏輯控制單元首先將CAN數(shù)據(jù)解碼,依據(jù)CAN協(xié)議將CAN幀信息、ID識別碼、數(shù)據(jù)存入接收緩沖器,并通知SPI模塊有CAN數(shù)據(jù)需要轉(zhuǎn)換傳輸;SPI模塊接收到指令后,從CAN模塊的接收緩沖器讀出CAN數(shù)據(jù),并存入SPI模塊的接收FIFO中,依據(jù)SPI協(xié)議從串行數(shù)據(jù)輸出端口 SDO發(fā)送CAN數(shù)據(jù)。
[0007]所述SDI端口輸入的串行數(shù)據(jù)共有16位,其中8位數(shù)據(jù)DATA,8位地址ADDR。
[0008]步驟四中當(dāng)CAN模塊的RX端口接收到CAN數(shù)據(jù)后,通過內(nèi)部的驗收濾波器、位時序邏輯和位流處理器,將接收到的CAN數(shù)據(jù)進行轉(zhuǎn)換后存入CAN模塊的接收緩沖器中。
[0009]與現(xiàn)有技術(shù)相比,本發(fā)明所達到的有益效果是:
本發(fā)明提供的SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路是一個集SPI總線接口、CAN總線接口的專用單片集成電路,不需專用的CPU進行控制,按照SPI協(xié)議與CAN總線協(xié)議自動進行協(xié)議轉(zhuǎn)換,控制簡單,可靠性高;另外具有電路接口少的優(yōu)點,只含有SPI與CAN總線的標(biāo)準(zhǔn)接口,既可滿足工業(yè)控制中不同協(xié)議間的轉(zhuǎn)換,也可應(yīng)用于帶有SPI總線與CAN總線的接口擴展領(lǐng)域。
【附圖說明】
[0010]圖1是本發(fā)明提供的SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路。
[0011]圖2是SPI模塊傳輸數(shù)據(jù)格式。
【具體實施方式】
[0012]下面結(jié)合附圖對本發(fā)明作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護范圍。
[0013]如圖1所示,SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路包括邏輯控制管理單元、SPI模塊、CAN模塊和協(xié)議轉(zhuǎn)換單元。SPI模塊包括SPI移位控制單元、連接在SPI移位控制單元輸出端的發(fā)送FIFO和連接在SPI移位控制單元輸入端的接收FIFO。CAN模塊包括CAN邏輯控制單元、連接在CAN邏輯控制單元輸入端的發(fā)送緩沖器和連接在CAN邏輯控制單元輸出端的接收緩沖器。
[0014]下面對SPI總線與CAN總線協(xié)議轉(zhuǎn)換電路中各部分的工作原理作進一步詳細描述,具體如下:
(I)邏輯控制管理單元
邏輯控制管理單元主要對SPI模塊與CAN模塊進行初始化管理,通過SPI模塊對串行輸入數(shù)據(jù)進行解碼,根據(jù)相應(yīng)的地址、數(shù)據(jù)進行管理,配置CAN模塊寄存器,并對電路內(nèi)部SPI模塊的FIFO地址、數(shù)據(jù)、讀寫信號進行控制管理。
[0015](2) SPI 模塊
SPI模塊主要對SPI發(fā)送、接收數(shù)據(jù)進行編解碼移位控制,總共有四個端口:
SCS:片選信號輸入,低有效。
[0016]SCK:串行時鐘。
[0017]SD1:串行數(shù)據(jù)輸入。
[0018]SD0:串行數(shù)據(jù)輸出。
[0019]SDI輸入數(shù)據(jù)共有16位,其中8位數(shù)據(jù)DATA,8位地址ADDR,數(shù)據(jù)格式如圖2所示。當(dāng)SDI端口有串行數(shù)據(jù)輸入時,每位數(shù)據(jù)在SCK的上
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
金沙县| 长垣县| 安福县| 宁波市| 宁城县| 崇阳县| 玉田县| 历史| 双江| 涞水县| 奉化市| 渝北区| 都兰县| 乌拉特前旗| 综艺| 法库县| 吴江市| 梁山县| 大余县| 山东省| 明水县| 武强县| 盱眙县| 斗六市| 绵竹市| 上蔡县| 万全县| 宜宾市| 镇原县| 康平县| 延庆县| 夏邑县| 宜宾市| 永州市| 泸定县| 潢川县| 华蓥市| 陇川县| 扎赉特旗| 外汇| 老河口市|