新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > RS-232轉CAN通信適配卡設計

RS-232轉CAN通信適配卡設計

作者: 時間:2011-12-04 來源:網絡 收藏
1.3 A/D轉換模塊

本文引用地址:http://butianyuan.cn/article/172386.htm

  PIC16F877A單片機自帶有8路模擬通道,轉換精度為10位。本卡選擇RA0為模擬通道。板卡將A/D轉換后的數(shù)據通過總線上傳給上位機。

  1.4 數(shù)據流

  -的數(shù)據流圖見圖4。

  2 系統(tǒng)軟件

  軟件分為兩大塊:板卡底層軟件和PC機上串口操作軟件設計。板卡底層軟件設計主要是對PIC16F877A編程,用于把從PC機通過串口輸人給單片機的數(shù)據按照協(xié)議幀結構進行打包處理,并操作CAN控制器把數(shù)據發(fā)送到CAN總線;把從CAN總線上輸入的數(shù)據轉換成串行數(shù)據輸出給PC機:PC機上串口操作軟件設計主要是對串口的操作和通過串口收發(fā)數(shù)據。

  2.1單片機編程

  開發(fā)工具使用的是MPLAB集成開發(fā)環(huán)境(IDE),它是綜合的編輯器、項目管理器和設計平臺,適用于使用Microchip的PICmicro系列單片機進行嵌入式設計的應用開發(fā);編程語言用的是C語言,將HITECH 公司的PICC編譯器直接掛接在MPLAB-IDE集成開發(fā)平臺下,實現(xiàn)一體化的編譯連接和原代碼調試。

  CAN控制器SJA1000T片內有模式寄存器MOD、命令寄存器CMR、狀態(tài)寄存器SR、中斷寄存器IR、中斷使能寄存器IER、接收緩沖器RXB、發(fā)送緩沖器TXB、仲裁丟失捕捉寄存器ALC、錯誤代碼捕捉寄存器ECC、錯誤報警限額寄存器EWLR、錯誤計數(shù)寄存器ERR、驗收代碼寄存器ACR、驗收屏蔽寄存器AMR、總線時序寄存器BTR、輸出控制寄存器OCR和時鐘分頻寄存器CDR等,單片機就是通過讀寫這些寄存器來實現(xiàn)對SJA1000T的控制,從而實現(xiàn)CAN報文的接收和發(fā)送。文后給出CAN控制器SJA1000T初始化和接收子程序的流程圖。下面給出CAN初始化程序,其中WRCAN是自定義的一段對SJAIO00T寫數(shù)據的子程序。

  2.2 串口操作程序設計

  在各種開發(fā)工具中間,VC由于功能強大和靈活,所以本實驗系統(tǒng)使用VC作為開發(fā)工具。串口通訊目前流行的方法主要有3種:一是利用Microsoft提供的CMSCOMM控件進行通訊,通過插入ActiveX控件的方式實現(xiàn);二是利用WIN API函數(shù)進行編程,這種編程的難度較高,要掌握較多的API函數(shù);三是利用現(xiàn)在網絡上面提供的一些串口通訊控件進行編寫,比如CSerial類等。本程序采用WINAPI函數(shù)進行串口的開發(fā),程序在PC機上用來收發(fā)串口數(shù)據運行正確穩(wěn)定。



關鍵詞: 設計 適配 通信 CAN RS-232

評論


相關推薦

技術專區(qū)

關閉