• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術 > 設計應用 > USB-CAN-RS232總線轉換電路設計及實現

    USB-CAN-RS232總線轉換電路設計及實現

    ——
    作者:西安科技大學 機械工程學院 吳志偉,丁鉑 時間:2007-02-01 來源:中電網 收藏
    1 引言 

    隨著電子設備的大量出現及針對各種控制系統的實際需求,各種通信網絡相繼產生。由于它們的總線結構,通信協議及傳輸特點各不相同,給不同設備之間的連接帶來很多麻煩,因而急需各種總線之間的轉換裝置。目前較流行的現場通信網絡有RS-232,RS422/485、HART、Profield、Dupline、和LonWorks等,本文闡述了一種裝置,電路設計簡單新穎,并并且攜帶方便,實用性很強。 

    2 各種總線的特點 

    2.1 (Controller Area Netwrok) 

    CAN是控制器局域網絡,屬于工業現場總線的范疇。與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、
    實時性和靈活性,具有較高的通信速率(最高達1Mb/s),較遠的通信距離(最遠達10km),良好的抗電磁干擾能力,而且采用總線仲裁技術,通信方式靈活,越來越受到人們的重視,它在汽車領域的應用最為廣泛,一些著名的汽車制造廠商如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都采用CAN總線實現汽車內部控制系統與各檢測和執行機構間的數據通信。

    2.2 (Universal Serial Bus) 

    即"通用串行總線"是一種應用在PC中的表型總線,由Intel、Microsoft、NEC等公司共同提出,他是一種新型的外接串聯口,提出該規格的廠商希望用USB取代現有的外接設備接口,它還具備連接單一化、軟件自動偵測以及熱插拔(即插即用)的功能,USB具有以下特點: 

    1)數據傳輸速率高。USB高速:480Mb/s;USB全速:12Mb/s;USB低速:1.5Mb/s。 

    2)數據傳輸可靠。USB事務處理包括錯誤檢測機制,可以確保數據無錯誤發送,在發生錯誤時,事務處理可以重新進行。 

    3)同時掛接多個USB設備,每個USB總線支持127個設備的連接。 

    4)USB接口能為設備供電。當外界電源要求電壓為5V且電流小于500mA時,可以直接從USB總線獲取電源,這樣,USB設備無需專用電源線,從而降低了設備成本。 

    5)支持熱拔。USB實現了真正的"即插即用"功能,設備連接后由USB自檢測,并且由軟件自動配置,完成后立刻就能使用,不需要用戶進行干涉。 

    3 器件特性 

    3.1 SJA1000型CAN總線控制器 

    SJA1000是Philips公司早期PCA82C200型CAN控制器的代替品,功能更強,具有如下特點: 

    完成兼容PCA82C200及其工作模式即BASICCAN模式; 
       
    具有擴展的接收緩沖器,64字節的FIFO結構; 
      
    支持CAN2.0B; 

    支持11位和29位識別碼; 

    位速率可達1Mbit/s; 

    時鐘頻率高達24M赫茲; 

    支持與不同微處理器的接口; 可編程的CAN輸出驅動配置; 

    工作溫度范圍寬(-40攝氏度~+125攝氏度)。 

    SJA1000的引腳排列如圖1所示,其內部主要由接口管理邏輯IML、信息緩沖器(含發送緩沖器TXB和接收緩沖器RXFIFO)、位流處理器BSP、接收過濾器ASP、位時序處理邏輯BTL、錯誤管理邏輯EML、內部振蕩器及復位電路等構成,IML接收來自CPU的命令,控制CAN寄存器的尋址并向控制提供中斷信息及狀態信息,CPU的控制經IML把要發送的數據寫入TXB,TXB中的數據由BSP處理后經BTL輸出到CAN BUS。BTL始終監視CAN BUS,當檢測到有效的信息頭"隱性電平-控制電平"的轉換時啟動接收過程,接收的信息首先要由位流處理器DSP處理,并由ASP過濾,只有當接收的信息的識別碼與ASP檢驗相符時,接收信息才最終被寫入RXB或RXFIFO中,RXFIFO最 多可以緩存64字節的數據,該數據可被CPU讀取,EML負責傳遞層中調制器的錯誤管制,它接收BSP的出錯報告,促使DSP和IML進行錯誤統計。 

    3.2 USBN9603型USB接口電路 

    USBN9603的引腳排列如圖2所示,它是標準的USB接口電路,符合USB1.0和USB1.1協議。USBN9603集成了3.3V的穩定電源、串行接口引擎SIE、多個USB端點緩沖FIFO、1個8位并行微處理器接口和1個時鐘源。

    SJA1000的引腳排列
    USBN9603的引腳排列

    USBN9603的性能如下:低電流,低功能,外接24M赫茲晶體振蕩器。 

    增強型的DMA機制支持數據快速自動傳輸;



    集成了64B的雙向FIFO存儲器; 

    外處理器接口模式可由軟件控制; 

    支持24M赫茲晶體振蕩器和內部48M赫茲時鐘產生電路; 

    時鐘頻率可由軟件控制; 

    8位并行接口有兩種可選模式,包括地址/數據復用型和非地址/數據復用型; 

    接收和發送端的緩沖為64B; 

    4 硬件設計 

    電路中使用的微處理器是ATMEL公司生產的AT89C51型單片機,硬件連接如圖3所示,USBN9603的CLKOUT與AT89C51的XTAL1相連,USBN9603的時鐘輸出為AT89C51提供時鐘輸入。AT89C51通過并行地址/數據復用的方式訪問USBN9603,AT89C51的P2.0通過74HC14反向后片選USBN9603,其地址為0x00-0x1FF。選用SJA1000作為CAN微控制器,SJA1000集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的幀處理,其地址為0x000-0x0FF。AT82C50作為CAN控制器和物理總線之間的接口,用于提供總線的差動發送能力和CAN控制器差動接收能力。通過AT82C50的引腳3可選擇3種不同的工作方式(高速、斜率控制和待機)。該引腳接地為高速方式,高速光耦隔離用6N137實現,其作用是防止串入信號的干擾。MAX232用來完成電平到微控制器接口電路的TTL電平轉換,同時還可進行一些總線端口的工作參數設置。

    硬件連接圖 

    5 軟件設計 

    在微控制器的控制下,各總線之間進行數據交換,微控制器先對各個總線工作參數進行初始化,設置好時鐘、寄存器、波特率、并選擇合適的中斷方式,對于SJA1000,主要指對控制寄存器CR、驗收碼寄存器ACR、驗收屏蔽寄存器AMR、時鐘分頻寄存器CDR、總線定時寄存器BTR0、總線定時器BRT1等的設置。USB的傳輸方式有4種:控制傳輸、塊傳輸、同步傳輸和中斷傳輸。本設計中使用了控制傳輸和塊傳輸。USBN9603的內部寄存器和FIFO緩沖區分別對每個端點進行控制,當接到主機法來的IN標記包時,發送端點應自動向上發送數據。如果沒有數據發送,則回應NAK(Negative Acknowledegment)握手包。其主程序流程如圖4所示。

    程序流程


    在設計軟件時,一定要正確選擇需要傳輸數據的2種總線,可以用軟件或硬件進行選擇。 

    6 結束語 

    這種3器可方便地實現不同端口設備之間的數據通信,USB-CAN的轉換速率可以達到1Mb/s。如果現場條件要求較高且適應性要求較強,可采用雙CPU、加數據緩沖區RAM等措施來完善電路。這樣無形中增加了硬件電路

    的復雜性和軟件設計的邏輯性。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 勃利县| 会东县| 昭通市| 石门县| 固始县| 磐石市| 额尔古纳市| 且末县| 深泽县| 右玉县| 荃湾区| 辉南县| 安塞县| 永德县| 永福县| 彰武县| 高清| 玉屏| 光泽县| 西峡县| 汤原县| 平塘县| 昌宁县| 晋城| 昆明市| 全椒县| 靖远县| 新龙县| 阳新县| 富顺县| 车致| 青铜峡市| 北流市| 普兰店市| 沙洋县| 通榆县| 崇文区| 海盐县| 武功县| 尤溪县| 普定县|