新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于P89C668單片機(jī)的CAN總線接口設(shè)計(jì)

        基于P89C668單片機(jī)的CAN總線接口設(shè)計(jì)

        作者: 時(shí)間:2012-03-14 來(lái)源:網(wǎng)絡(luò) 收藏

        負(fù)責(zé)對(duì)SJA1000 進(jìn)行初始化,通過(guò)控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收等通信任務(wù).

        SJA1000 的AD0~AD7連接到 的P0口;

        CS連接到的P1.1,P1.1 為0 時(shí)選中SJA1000,可控制SJA1000;

        SJA1000 的RD/E、WR、ALE/AS 分別連接到P89C668 的RD(P3.7)、WR(P3.6)、P1.0;

        SJA1000的(INT)連接到P89C668 的P3.2(INT0),這樣,P89C668 可以通過(guò)中斷方式訪問SJA1000;

        SJA1000的模式選擇引腳MODE 接高電平時(shí)選擇Intel 模式;

        為了保證時(shí)鐘同步,SJA1000 的CLKOUT 引腳使能,向P89C668 提供時(shí)鐘源.

        2 節(jié)點(diǎn)軟件

        實(shí)現(xiàn) 通信,要對(duì) 節(jié)點(diǎn)相應(yīng)的總線通信程序;在總線通信之前,必須進(jìn)行SJA1000 控制器初始化.在上電或復(fù)位后,通過(guò)運(yùn)行其自身復(fù)位程序初始化SJA1000.CAN總線通信程序大致由SJA1000 初始化、發(fā)送和接收三部分組成.以下分別對(duì)他們進(jìn)行簡(jiǎn)單的描述.

        2.1 SJA1000 初始化

        在上電后,CAN 控制器的RST 腳獲得一個(gè)復(fù)位脈沖,使之進(jìn)入復(fù)位模式.在開始對(duì)SJA1000 各個(gè)配置寄存器進(jìn)行設(shè)定之前,主控制器通過(guò)讀復(fù)位/請(qǐng)求標(biāo)識(shí)來(lái)檢測(cè)SJA1000是否進(jìn)入復(fù)位模式.為了避免微控制器的上電復(fù)位時(shí)間和SJA1000 的復(fù)位時(shí)間的偏差,微控制器要等待SJA1000 完成上電復(fù)位后才能對(duì)SJA1000 配置寄存器進(jìn)行配置,存有配置信息的寄存器只能在復(fù)位模式下才可進(jìn)行寫入.SJA1000 初始化程序在復(fù)位模式下,主控制器要配置下面的寄存器:

        (1)模式寄存器(僅在PeliCAN 模式下選擇應(yīng)用操作模式)
        接收過(guò)濾模式
        自檢測(cè)模式
        偵聽模式

        (2)時(shí)鐘分頻寄存器
        使用BasicCAN 或PeliCAN 模式
        CLKOUT 引腳是否可以使用
        CAN 輸入比較器是否被跳過(guò)
        TX1 輸出是否專門用于接收中斷輸出

        (3)總線定時(shí)寄存器
        定義總線的位速率
        定義位周期內(nèi)的采樣點(diǎn)位采樣點(diǎn)
        定義一個(gè)位周期的采樣數(shù)量

        (4)接收代碼和接收掩碼寄存器
        定義要接收消息的接收代碼
        定義與接收代碼相關(guān)位進(jìn)行比較的接收掩碼

        (5)輸出控制寄存器
        定義CAN 總線輸出引腳TX0 和TX1 的配置

        在將這些配置信息配置到SJA1000配置寄存器后,通過(guò)消除復(fù)位模式,請(qǐng)求使SJA1000進(jìn)入操作模式.一定要確保復(fù)位標(biāo)志真的被刪除,并且在沒有進(jìn)行CAN 總線通信前進(jìn)入操作模式,這可以通過(guò)讀該標(biāo)志來(lái)實(shí)現(xiàn). 當(dāng)硬件復(fù)位處于掛起狀態(tài),即CAN 控制器的RST 引腳為低電平時(shí),復(fù)位模式/請(qǐng)求標(biāo)志不能被清除.



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 柯坪县| 舒兰市| 大竹县| 长宁区| 冀州市| 天全县| 疏勒县| 黄冈市| 囊谦县| 平遥县| 镇赉县| 蓬溪县| 布尔津县| 梁山县| 谢通门县| 洛浦县| 东乌| 孙吴县| 高平市| 民和| 理塘县| 永定县| 灵丘县| 思茅市| 彭泽县| 石景山区| 香格里拉县| 扎兰屯市| 乐东| 镇江市| 宁南县| 永安市| 双柏县| 铁岭市| 洛浦县| 盘锦市| 茂名市| 青龙| 紫云| 城步| 伊金霍洛旗|