關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于SJA1000的CAN總線控制系統的設計與實現

        基于SJA1000的CAN總線控制系統的設計與實現

        作者: 時間:2010-03-30 來源:網絡 收藏


        (4)時將的CLOCKOUT的時鐘信號接至AT89C51的時鐘電路輸入端,來作為AT89C51的外部時鐘輸入,從而解決了時鐘同步問題:同時將中斷輸出信號/INT接至AT89C51的/INT0端,通過中斷方式與AT89C51進行通信。

        3系統軟件

        系統上電后首先對82C250和進行初始化。以確定工作主頻、波特率、輸出特性等,然后通過查詢方式獲取模數轉換采樣值,并把該值通過SJA1000傳送到上由上位PC機來進行顯示控制。而對來自上的信息則采用中斷方式處理,系統每接收到一幀信息,便產生一次中斷以觸發微處理器進入中斷模式,然后在中斷服務程序中讀取該幀信息并傳送到現場。SJA1000的初始化程序如下:

        MOV DPTR,#CR:控制寄存器CR的地址送DPTR
        MOVA,#01H
        MOVX@DPTR,A:進入復位模式
        MOV DPTR,#CDR
        MOVA,#00H
        MOVX@DPTR,A:選擇BASIC 模式、時鐘不輸出
        MOV A,#NODECODE
        MOVX @DPTR,A;節點號NODECODE寫入ACR
        MOVX DPTR,#AMR
        MOV A,#00H
        MOV @DPTR,A;AMR置為0,當且僅當RXID0=ACR時接收數據
        MOV DPTR,#BTR0;設定時序寄存器BTR0,系統采用12 MHz晶振
        MOV A,#85H;分頻后總線時鐘頻率為2MHz
        MOVX @DPTR,A;同步跳轉寬度為3tscl
        MOV DPTR,#BTR1;設定總線時序寄存器BTR1
        MOV A,#OB4H:位同步時間為1個tsc1,采樣開始位置TSEG1=5tsc1
        MOVX @DPTR,A;TSEG2=4tsc1,每一位時間10tsc1(200 kHz),每位采樣3次
        MOV DPTR,#OCR;設置輸出控制寄存器
        MOV A,#1AH:數據從TX0按正常輸出模式同極性輸出
        MOV @DPTR,A;TX1不用
        MOV DPTR,#CR;初始化完成,使控制器退出復位模式,進入工作模式工作。
        MOV A,#06H
        MOV @DPTR,A

        SJA1000在經過初始化后便開始接收或發送數據,其程序流程分別如圖2和圖3所示。



        4結束語

        該接口電路在經DP-51H單片機通訊仿真實驗儀的調試后,結果表明它能模擬通信功能,且其抗干擾性能優良,通信速率較高,電路也比較簡單,是開發與應用其它CAN總線產品的基礎。

        本文引用地址:http://www.104case.com/article/163182.htm

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 镇原县| 元谋县| 湘西| 明溪县| 藁城市| 东乌珠穆沁旗| 襄垣县| 镇江市| 平陆县| 南安市| 安阳县| 阳信县| 黑龙江省| 嘉定区| 常州市| 井研县| 西林县| 五河县| 栾城县| 信丰县| 临漳县| 巫山县| 务川| 扎兰屯市| 扶风县| 深水埗区| 洪江市| 宜君县| 高邑县| 句容市| 舞钢市| 赤水市| 富平县| 石嘴山市| 长丰县| 丰都县| 五指山市| 新蔡县| 增城市| 仲巴县| 昂仁县|