新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的87C196CA單片機串行通訊的應用

        基于CAN總線的87C196CA單片機串行通訊的應用

        作者: 時間:2012-03-12 來源:網絡 收藏

        2. 3   收發器

        PCA82C250是協議控制器和物理傳輸線路之間的接口,是影響網絡性能的關鍵因素。它對提供差動發送能力,并對控制器提供差動接收能力,其最高傳輸速率可達1Mbit/s。其主要特點是芯片內部具有限流電路,可以防止輸出級對電源、地或負載短路;由于采用差動接收發方式,因此有較強的抗電磁干擾能力;具有低電流節電待機工作模式;該CAN收發器至少可以連接110個節點。利用PCA82C250還可以方便地在CAN控制器與驅動器之間建立光電隔離,以實現總線上各節點間的電氣隔離。

        3  軟件

        對于通過CAN 總線連接的之間的軟件編程需要定義一系列的控制字,并在兩個上進行配置。即首先進行上電初始化,定義CAN控制寄存器,定義位定時寄存器選擇CAN 的速率,定義信息體屏蔽寄存器選擇接收對象。其次對信息體進行初始化,分別定義兩個信息體工作模式、發送字節數、選擇CAN2.0A 或CAN2.0B 方式。其程序代碼:

        / *CAN 控制器初始化*/
        can_cON = 0x41 ; / *CAN 控制器CCE 位置1 ,
        則可以定義CAN 定器* /
        can_ btime0 = 0x41 ; /* 定義CAN 定時器為
        250 Kb/ s * /
        can_btime1 = 0x67 ;
        can_con = 01 ; / *允許對CAN 控制器進行軟
        件初始化* /
        can_sgmsk = 0x0 ; / * 定義標準CAN 通訊格
        式的屏蔽控制字,所有位都不濾紙*/
        can_msg1con0 = 0x55 ; / * 信息體1 控制器0
        初始化* /
        can_msg1con1 = 0x55 ; / * 信息體1 控制器1
        初始化* /
        can_msg1cfg = 0x88 ; / *定義信息體1 為發
        送,發送8 字節,標準CAN 格式* /
        can_msg1id = 0xc8c8c8c8 ; / * 信息體1 標識
        寄存器初始化標識符為c8c8c8c8 ;
        can_ msg1con0 = ox95 ; / * 信息體1 控制器
        0MSGVAL 位置1 ,標明信息體1 有效* /
        can_msg2con0 = 0x55 ; / * 信息體2 控制器0
        初始化* /
        can_msg2con1 = 0x55 ; / *信息體2 控制器1
        初始化* /
        can_msg2cfg = 0x80 ; / *定義信息體2 為接
        收,接收8 字節,標準CAN 格式* /
        can_msg2id = 0xc8c8c8c8 ; / *信息體2 標識
        寄存器初始化標識符為c8c8c8c8 */
        can_ msg2con0 = ox95 ; / * 信息體2 控制器
        0MSGVAL 位置1 ,標明信息體2 有效 */
        can_con = 0x02 ; / * CAN 控制器軟件初始化
        完成*/



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 博爱县| 寿宁县| 甘泉县| 淮南市| 西宁市| 上高县| 洞口县| 金湖县| 定南县| 芦溪县| 建瓯市| 台州市| 孟州市| 麻城市| 万宁市| 荣成市| 泌阳县| 白山市| 大理市| 新兴县| 克山县| 延川县| 宜春市| 和政县| 深圳市| 武强县| 慈利县| 淮安市| 隆昌县| 赤城县| 措美县| 陈巴尔虎旗| 广宗县| 高安市| 文山县| 康马县| 离岛区| 巴里| 湖州市| 渑池县| 蕉岭县|