• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線及其在UPS網絡監控系統中的應用

    CAN總線及其在UPS網絡監控系統中的應用

    作者: 時間:2012-06-09 來源:網絡 收藏

    鑒于本系統的要求,ups1、ups2、ups3及顯示監控模塊的控制芯片均采用ti公司生產的tms320f240dsp,can控制器采用philip公司生產的sja1000t。

    3.1 dsp與can總線控制器硬件接口

    dsp與can控制器sja1000t之間的接口電路如圖3所示。

    sja1000t的存儲空間映射在微控制器dsp的i/o空間,對sja1000存儲空間的尋址必須用指令in和out。在intel方式下讀寫sja1000時,地址和數據是分時傳送的,地址在前,數據在后。根據dsp對外設端口的邏輯時序及sja1000t要求的讀寫邏輯時序,除了dsp的基本讀寫引腳we、w/r外,我們還選用a14、a15、is為控制腳,控制sja1000地址空間和數據空間的選通,當a15=1、a14=0時為地址空間,選通ale和cs;當a15=1、a14=0時為數據空間,此時對于dsp來說,寫則選通sja1000t的wr和cs, 讀則選通sja1000t的rd/w和cs,從而完成了dsp與sja1000t之間的數據傳遞。

    另外,由于接收數據采用中斷方式,故在dsp上選用外部中斷xint1作為中斷源,而sja1000t是低有效,故通過一個上拉電阻接vcc。

    4 can通信網絡軟件設計

    單個can節點通信的功能主要是將本節點的數據信息傳送給can通信網絡其它節點,以及接收網絡上其它節點傳送來的信息。can總線單個節點的軟件設計主要包括三大部分:can節點初始化、信息的發送和信息的接收。設計時將can初始化、發送信息(數據和遠程幀)設計為子程序,發送信息采用查詢方式,接收信息采用中斷方式。

    (1) 初始化子程序

    sja1000的初始化只有在復位模式下才可以進行,初始化主要包括工作方式的設置、接收濾波方式的設置、接收屏蔽寄存器amr和接收代碼寄存器acr的設置、波特率參數設置和中斷允許寄存器ier的設置等。在完成sja1000的初始化設置以后,sja1000就可以回到工作狀態,進行正常的通信任務,其源程序如下:
    data_can .set 0c000h
    dress_can .set 8000h
    can_start:
    ldp #4
    splk #0,temp ;控制寄存器(mod)設置
    out temp,dress_can
    splk #1bh, temp ;復位模式
    out temp,data_can ;sja1000進行初始化
    splk #0, temp
    out temp,dress_can
    in temp,data_can
    bit temp,bit0
    bcnd can_reset,ntc
    splk #4,canflag ;設置驗收代碼寄存器
    out temp,dress_can
    splk #01h,canflag
    out temp,data_can
    splk #5, temp ;設置驗收屏蔽寄存器
    out temp,dress_can
    splk #000h, temp
    out temp,data_can
    splk #31, temp ;設置時鐘分頻寄存器(cdr)
    out temp,dress_can
    splk #48h, temp ;選擇basiccan模式,關
    ;閉時鐘(clkout)



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 聂拉木县| 酒泉市| 定日县| 温泉县| 武鸣县| 潞西市| 商南县| 濮阳市| 灵石县| 达拉特旗| 武邑县| 广德县| 漠河县| 信丰县| 庆安县| 拜城县| 兰溪市| 南城县| 五指山市| 桓台县| 扶绥县| 岳阳市| 周宁县| 汶上县| 隆林| 南宁市| 渝中区| 都江堰市| 蓝山县| 浦北县| 阳谷县| 延安市| 夏津县| 辽中县| 西峡县| 延长县| 平泉县| 莱州市| 衡东县| 柳州市| 彰武县|