新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于STC89C51的CAN總線點(diǎn)對點(diǎn)通信模塊設(shè)計(jì)

        基于STC89C51的CAN總線點(diǎn)對點(diǎn)通信模塊設(shè)計(jì)

        作者: 時(shí)間:2010-08-11 來源:網(wǎng)絡(luò) 收藏

        3 系統(tǒng)軟件
        的軟件由MCU初始化、SJAl000初始化、SJAl000的接收發(fā)送和數(shù)據(jù)顯示等構(gòu)成。其系統(tǒng)軟件圖如圖5所示。


        3.1 SJAl000初始化軟件設(shè)計(jì)
        SJAl000的初始化程序設(shè)計(jì)主要是通過對SJAl000的寄存器寫入相應(yīng)的控制字,從而確定SJAl000的工作方式。在對SJAl000的寄存器寫入控制字時(shí),要在SJAl000的復(fù)位模式下采用軟件復(fù)位模式。其初始化流程圖如圖6所示。


        3.2 SJAl000數(shù)據(jù)發(fā)送軟件設(shè)計(jì)
        報(bào)文的發(fā)送通常是由控制器根據(jù)協(xié)議規(guī)范自動(dòng)完成的。首先由CPU將要發(fā)送的報(bào)文傳送到發(fā)送緩沖器中,并置位命令寄存器中的發(fā)送請求標(biāo)志。其發(fā)送流程圖如圖7所示。


        3.3 SJAl000接收數(shù)據(jù)軟件設(shè)計(jì)
        CPU以一定的周期讀取CAN控制器的狀態(tài)寄存器,從而檢查接收緩沖區(qū)的轉(zhuǎn)臺(tái)標(biāo)志,指示是否至少接收到一個(gè)報(bào)文。當(dāng)接收緩沖區(qū)狀態(tài)標(biāo)志指示為“空”時(shí),表示沒有接收到報(bào)文;在沒有新的檢查接收緩沖區(qū)狀態(tài)的要求前,CPU則繼續(xù)當(dāng)前的任務(wù)。

        數(shù)字通信相關(guān)文章:數(shù)字通信原理




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 杭锦后旗| 吐鲁番市| 永春县| 闻喜县| 崇礼县| 厦门市| 鄂温| 永州市| 东山县| 吉木萨尔县| 江城| 太湖县| 合作市| 大同县| 鸡东县| 杭锦旗| 潢川县| 宜章县| 漯河市| 苍南县| 法库县| 集安市| 化隆| 凌云县| 蓝山县| 台州市| 中西区| 德庆县| 营口市| 长宁县| 徐汇区| 青海省| 彭泽县| 察雅县| 高青县| 大悟县| 弥勒县| 佛教| 桐城市| 稻城县| 罗江县|