a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP的CAN總線轉換器的設計

基于DSP的CAN總線轉換器的設計

——
作者:揚州大學信息工程學院電氣及自動化工程系 時間:2007-01-26 來源:《世界電子元器件》 收藏

rs232是pc機與通信應用中應用最廣泛的一種串行接口;rs485半雙工異步通信總線是在分布系統設計中廣泛使用的數據通信總線;而can總線是一種可用于遠程通信控制的、雙向、多主方式的串行現場總線,特別適合于工業設備測控單元的互聯。針對上述幾種比較通用的串行總線,實現總線之間協議轉換的適配器很多,如rs232與rs485之間、rs232與can之間、rs485與can之間的協議轉換器等。本文設計了一種可用于can總線、rs232、rs485等三種總線之間的轉換器,為多種異型總線之間的互聯提供了一種有效的解決方案。

本文引用地址:http://www.j9360.com/article/21464.htm


總線轉換器的功能

如圖1所示的總線轉換器的功能框圖,總線轉換器包括了三種通信網絡接口,分別為rs232、rs485和can總線接口,能夠完成以下幾種功能:


(1)rs232與rs485之間的通信轉換:帶有rs232接口的pc操作站、智能網絡節點可以通過該總線轉換器的rs485接口接入由其構成的rs485網絡,實現rs232站點與rs485網絡之間的數據通信。

(2)rs232與can之間的通信轉換:帶有rs232接口的pc操作站、智能網絡節點可以通過該總線轉換器的can接口接入到由其構成的can網絡,實現rs232站點與can總線網絡之間的數據通信。

(3)rs485與can之間的通信轉換:通過該總線轉換器,rs485網絡可以實現與can網絡之間的連接,完成網絡之間數據通信。


總線轉換器硬件設計

總 線轉換器的硬件原理圖如圖2所示。它主要由tms320lf2407a(cpu)及can總線接口、rs485接口、rs232接口和電源等幾個部分組成。

tms320lf2407a的can模塊是一個16位的外設模塊,它完全支持can2.0b協議。可外接philips公司的pca82c250t作為can控制器和物理總線間的接口,其中電阻r1,r2,r3及二極管d1(in5819)用來實現5v與3.3v之間的電平轉換電路。

tms320lf2407a的串行通信接口(sci)模塊是一個標準的通用異步接收/發送(uart)可編程串行通信接口。通過sci接口,我們采用了max3485實現ttl與rs485電平之間的轉換。max3485工作于半雙工方式下,將tms320lf2407a的iopf6引腳同時控制max3485的de和/re引腳,可實現發送和接收兩種控制狀態的轉換。

由 于tms320lf2407a只帶有一個sci接口,所以需擴展一個uart接口來實現rs232接口功能。由于總線轉換器的通信實時性要求較高,我們采用了擴展異步通信芯片的方法來實現擴展uart接口。異 步通信芯片tl16c550c可實現如下功能:在接收到外部器件或modem的數據時,完成串行到并行的轉換;在接收到cpu的數據時,完成并行到串行的變換,并進行串行發送。所以在tl16c550c的輸出口外接一個rs232電平轉換芯片max3232,即可實現rs232接口的擴展。當其xin、xout端外接1.8342mhz晶振時 ,將波特率因子寄存器設置為03h,dsp即可實現以38400bps的波特率與 rs232設備通信。同時將tl16c550c的/rxrdy和/txrdy接入dsp的兩個外 部中斷,使rs232通信工作于中斷方式,這樣可有效保證通信的實時性。


總線轉換器軟件設計

總線轉換器主要實現rs232、rs485和can總線之間的數據轉換與傳送。rs232和rs485只定義了物理層協議;而can的協議規范定義了其物理層和數據鏈路層。因此本設計中的重點是要定義和實現rs232、rs485和can總線之間的協議轉換。

通信協議

(1)can通信協議:由于can總線數據傳輸時每幀最多8個字節,所以當can通信時傳輸數據大于8時,必須將數據打包傳送。其命令幀和應答幀傳輸格式定義分別如圖3(a)和(b)所示。

(2)rs232與rs485通信協議

rs232與rs485的命令幀和應答幀的數據格式分別如圖4(a)和(b)所示。

(3)有關地址、命令和應答狀態的說明

在上述協議格式中,源地址和目的地址定義相同,采用2個字節來實現地址劃分,其定義如下:字節1用來區分can網絡中設備號,而字節2代表總線轉換器下的rs485網絡中的設備地址(其中0ffh除外,若字節2為0ffh,則代表該總線轉換器下的rs232設備)。
在協議格式中,命令包含兩種:01h代表發送數據至其他設備,02h代表請求其他設備發送數據。應答狀態包含兩種:15h代表命令執行成功,19h代表命令執行失敗。

通信軟件流程設計

軟件設計采用模塊化設計,按照系統功能可劃分為:初始化部分、rs485接口對應的輪詢程序和485設備請求發送子程序、rs232接口對應的中斷服務程序、can接口對應的中斷服務程序、rs232、rs485和can接口分別對應的數據打包和處理程序以及故障處理程序等。下面就幾個關鍵部分加以敘述。

(1)總線轉換器的初始化部分

總線轉換器的初始化主要包括rs232、rs485和can接口及發送、接收緩沖區的相關參數設置。

對 于rs232接口,dsp需將兩個外部中斷xint1、xint2的優先級設置為高優先級模式;并設置tl16c550c的波特率因子寄存器。

對于rs485接口,將sci模塊設置為多處理器通訊模式;設置串行接口通信寄存器sciccr為地址位通訊數據格式,設置串行通信接口控制寄存器為禁止sci口發送和接收中斷,以及設置串行通信接口波特率選擇寄存器等。

對于can接口,主要包括配置位定時器從而設置通訊波特率和郵箱的初始化,其中將郵箱4設置為發送郵箱,郵箱1設置為接收郵箱。can郵箱中斷設置為低優先級模式。這樣總線轉換器在輪詢485從設備時,優先響應來自rs232接口的控制命令,其次是響應來自can接口的控制命令。

(2)rs485接口對應的輪詢程序和rs485設備請求發送子程序

如圖5所示,我們將總線轉換器設計為rs485網絡上的主設備,而掛在該接口上的其他rs485設備均為從設備。這樣485網絡上的通訊任務均由總線轉換器發起,通過總線轉換器不斷輪詢485網絡上的從設備,從而獲得從設備的狀態或信息。若從設備工作正常且不主動請求發送信息,則該從設備返回一個運行正常信息給總線轉換器。這時總線轉換器可以修改輪詢設備號,實現下一個從設備的輪詢。若從設備需要主動請求發送信息,則總線轉換器調用485設備請求發送子程序。對于rs485設備請求發送子程序設計的關鍵是要進行目的地址的判斷。若目的地址不是位于本總線轉換器內部 ,則需將數據打包處理后通過can接口發送出去;若目的地址位于本總線轉換器內,則將數據打包處理后通過485接口或232接口發送出去。限于篇幅,不再詳述。

(3)rs232接口對應的中斷服務子程序

rs232接口通常可以外接pc操作站、智能網絡節點等,因此將來自rs232接口的控制命令產生的中斷設置為高優先級。rs232接口對應的中斷服務子程序如圖6所示,當有來自pc操作站、智能網絡節點的rs232接口的控制命令時,總線轉換器將停止輪詢rs485從設備,并產生接收中斷,響應該命令。總線轉換器首先判斷目的地址,若目的地址不在本總線轉換器內部,則總線轉換器將命令地址打包處理后發送至can接口;然后根據命令字將數據信息發送至can接口或等待來自can接口的數據。若目的地址位于本總線轉換器內,則總線轉換器將命令地址發送至rs485接口;然后根據命令字將數據信息發送至rs485接口或等待來自rs485接口的數據。最后總線轉換器將應答或數據信息送至rs232接口。


(4)can接口對應的中斷服務子程序

can接口對應的中斷服務子程序與rs232接口對應的中斷服務子程序基本類似,限于篇幅,不再詳述。



關鍵詞:

評論


相關推薦

技術專區

關閉