新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機控制的CAN與RS-232轉換器的研究與設計

        基于單片機控制的CAN與RS-232轉換器的研究與設計

        作者: 時間:2013-03-15 來源:網絡 收藏
          1.概述

          (Controller Area Network)總線是德國BOSCH公司為解決現代汽車中眾多控制與測試之間的數據交換開發的一種串行數據通信協議,是一種多主方式的串行通信總線。總線是一種開放式、數字化、多點通信的控制系統局域網,具有通信速率高、傳輸時間短、傳輸距離遠、糾錯能力強、控制簡單、擴展能力強以及性價比高等特點,是目前國際上應用最廣泛的現場總線之一。

          基于總線的CAN控制器具有完成CAN總線通信協議所要求的全部必要功能,因此CAN控制器與其它微處理器的接口成為設計CAN總線系統的首要工作。實際中很多設備帶有RS-232接口,為了方便具有RS-232接口的設備與CAN總線的數據通信,本文完成了基于的CAN總線與電路設計和軟件設計,實現了CAN總線數據與RS-232接口設備的數據傳輸。

          2.基于的CAN總線與電路設計

          CAN總線與電路包括:主控制模塊、RS-232接口轉換電路和CAN控制模塊3個主要部分。

          主控制模塊的功能是處理CAN總線以及RS-232接口的數據通信和控制,本設計應用完成對轉換器各個接口的控制,實現CAN總線和RS-232接口兩種協議數據幀的轉換,使用帶有SPI總線接口的X25045實現硬件看門狗功能。主控模塊電路如圖1所示。

          RS-232接口電路由MAX232芯片構成,實現將單片機串口的TTL電平與RS-232電平的相互轉換,完成RS-232接口信息的輸入輸出傳輸。

          CAN控制器模塊,主要完成CAN協議的物理層和數據鏈路層協議的實現。其中物理接口采用PCA82C250芯片實現物理層的電平轉換和傳輸。CAN控制器使用SJA1000芯片,完成數據鏈路層功能,實現CAN總線信息的輸入輸出傳輸。

          是CAN總線與RS-232轉換器的控制器,提供以下標準功能:4k字節Flash閃速存儲器,1000次可擦寫周期,三級加密程序存儲器,128字節內部RAM,32個I/O口線,兩個16位定時/計數器,一個5向量中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,支持兩種軟件可選的節電工作模式??臻e方式停止CPU的工作,但允許RAM、定時/計數器、竄行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止所有部件工作直到下一個硬件復位。

          使用的晶振信號由SJA1000提供(SJA1000用24MHz的片外晶振),SJA1000的CLKOUT引腳接入MCU的XTAL1引腳。

          由于CAN總線速率與RS-232接口速率并不相同,因此本設計中增加了片外RAM芯片6116,用作轉換雙方的數據緩沖區。設計中使用P2.7接反向器連接6116的片選端,所以接口轉換電路中的片外RAM的起始地址實際上應為0X8000。



          2.1 AT89C51與RS-232轉換接口電路設計

          應用MAX232芯片構成RS-232的接口轉換電路,實現AT89C51串口的TTL電平與RS-232電平的相互轉換。其中R1out和T1in引腳接單片機的RXD引腳和TXD引腳,R1in和T1out作為RS-232接口輸出連接標準DB9接口的引腳2和引腳3。DB9接口引腳5接地。為了使MAX232芯片正常工作,還需要外接4個1μF的電容用于芯片升壓,以完成電平轉換。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金川县| 沙河市| 新疆| 罗江县| 宜昌市| 南汇区| 福泉市| 东港市| 桓仁| 手游| 江山市| 海宁市| 开平市| 通城县| 龙南县| 许昌市| 阳山县| 巢湖市| 乌拉特前旗| 台山市| 南陵县| 平定县| 江达县| 丰城市| 双辽市| 沙河市| 沅江市| 清徐县| 宜州市| 定州市| 资兴市| 会宁县| 九龙县| 逊克县| 剑阁县| 静宁县| 西城区| 宜兴市| 天长市| 巨野县| 临沂市|