新聞中心

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

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

        作者: 時間:2013-03-15 來源:網絡 收藏

          2.2 SJA1000與接口電路設計

          控制器SJA1000芯片采用片外24MHz晶振,其CLKOUT引腳輸出工作頻率接入微處理器的XTAL1引腳。片選/CS端與單片機的P2.7引腳直接相連,因此SJA1000的尋址空間從地址0開始。AD0~AD7直接與的低8位數據/地址復用口P0口相連,MODE接高電平設置為Intel模式,中斷輸出信號/INT與微處理器的/INT0連接,使通信可以采用中斷和查詢兩種方式。TLP113的外接390Ω電阻為限流保護電阻,為避免當驅動器失效時出現過流導致控制器損壞。SJA1000與接口電路如圖2所示。


          2.3 總線物理層接口電路設計

          PCA82C250與CAN總線的接口部分采用一定的安全和抗干擾措施。CANH和CANL與地之間并聯了兩個30P的小電容,可以起到濾除總線的高頻干擾和一定的防電磁輻射的能力。另外在兩根CAN總線接入端與地之間分別反接一個保護二極管,當CAN總線有較高的負電壓時,通過二極管的短路可起到一定的過壓保護作用。PCA82C250的Rs腳上接有一個斜率電阻,電阻大小可根據總線通訊速度適當調整,一般在16K~140K之間。用光電隔離芯片TLP113將CAN控制器SJA1000和收發器PCA82C250隔離,以便有效地增加通訊距離和抗干擾能力。CAN總線物理層接口電路如圖3所示。


          3.基于的CAN總線與軟件設計

          主程序分為初始化和循環檢測兩個主要部分。初始化部分完成對看門狗電路及RS-232 串口和CAN總線的初始化并開啟INT0中斷和串口中斷。循環檢測部分通過調用CAN總線接收函數(CAN_Receive())和RS-232接收函數(RS232_Receive())檢測緩沖區內是否收到到數據,如果有數據接收則調用RS-232發送函數(RS232_Send())和CAN總線發送函數(CAN_Send())轉發數據。數據的發送和接收都是通過中斷來進行的。每次循環檢測結束通過調用rst_wdog函數使看門狗復位。此外,由于CAN總線的速率與RS-232接口的速率并不相同,因此還需設置片外的存儲器(RAM),用于轉換雙方的數據緩沖區。主程序流程圖如圖4所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 衢州市| 大宁县| 济宁市| 东丰县| 庆阳市| 大兴区| 巴彦淖尔市| 徐闻县| 麦盖提县| 怀来县| 长海县| 沁水县| 堆龙德庆县| 正宁县| 乡城县| 岳西县| 会理县| 广水市| 喀喇| 封开县| 玛曲县| 双城市| 娄底市| 凤城市| 兖州市| 祁连县| 满城县| 开原市| 漳州市| 会东县| 都江堰市| 通化县| 珲春市| 白河县| 彭阳县| 遵义县| 邛崃市| 海阳市| 昌图县| 静宁县| 美姑县|